From cc170291673472d3cda8d7ea77f6bd3a3b5dbb83 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 09 九月 2024 14:06:09 +0800 Subject: [PATCH] 增加了一些统计修改 --- CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 260 insertions(+), 31 deletions(-) diff --git a/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs b/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs index 0464b05..08ba982 100644 --- a/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs +++ b/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs @@ -35,6 +35,8 @@ using CoreCms.Net.Model.Entities.baifenbingfa.Promote; using static SKIT.FlurlHttpClient.Wechat.Api.Models.ScanProductAddV2Request.Types.Product.Types; using NPOI.SS.Formula.Functions; +using CoreCms.Net.Model.FromBody; +using Essensoft.Paylink.Alipay.Domain; namespace CoreCms.Net.Services @@ -48,17 +50,20 @@ private readonly IUnitOfWork _unitOfWork; private readonly ICoreCmsPlanOrderItemRepository _itemDal; private readonly ICoreCmsUserServices _coreCmsUserServices; + private readonly ICoreCmsUserServices _userServices; public CoreCmsPlanOrderServices(IUnitOfWork unitOfWork, ICoreCmsPlanOrderRepository dal , ICoreCmsPlanOrderItemRepository itemDal - , ICoreCmsUserServices coreCmsUserServices) + , ICoreCmsUserServices coreCmsUserServices + , ICoreCmsUserServices userServices) { this._dal = dal; base.BaseDal = dal; _unitOfWork = unitOfWork; _itemDal = itemDal; _coreCmsUserServices = coreCmsUserServices; - } + _userServices =userServices; + } #region 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔========================================================== @@ -97,9 +102,72 @@ /// </summary> /// <param name="id"></param> /// <returns></returns> - public async Task<AdminUiCallBack> DeleteByIdAsync(object id) + public async Task<AdminUiCallBack> DeleteByIdAsync(object id,string userName) { - return await _dal.DeleteByIdAsync(id); + var jm = new AdminUiCallBack() ; + try + { + //寮�濮嬩簨鍔″鐞� + _unitOfWork.BeginTran(); + var order = await _dal.QueryByIdAsync(id); + + if (order.status == 2) //&& string.IsNullOrEmpty(houtai) + { + _unitOfWork.RollbackTran(); + jm.code = 1; + jm.msg = "璁㈠崟宸茬粡閿佸崟涓嶈兘閲嶅閿佸崟"; + return jm; + } + + order.upDataBy = userName; + order.upDataTime = DateTime.Now; + + + + + + + + //order.keYongAmount = order.oldOrderAmount - order.orderAmount; + + + + order.status = 2; + + //if (order.keYongAmount > 0) + //{ + // //淇敼鐢ㄦ埛浣欓 + + // var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, order.keYongAmount, "鐢ㄦ埛璁″垝璁㈠崟" + order.orderId + "娆鹃」缁撲綑"); + //} + + + + //} + + + //鏍¢獙鍚庡啀鍒涘缓璁㈠崟 + var jmss = await _dal.UpdateAsync(order); + + + + + + + _unitOfWork.CommitTran(); + + jm.code = 0; + jm.data = order; + jm.msg = "閿佸崟鎴愬姛"; + } + catch (Exception e) + { + _unitOfWork.RollbackTran(); + jm.code = 1; + jm.msg = e.ToString(); + } + return jm; + //return await _dal.DeleteByIdAsync(id); } /// <summary> @@ -107,9 +175,77 @@ /// </summary> /// <param name="ids"></param> /// <returns></returns> - public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids) + public async Task<AdminUiCallBack> DeleteByIdsAsync(string[] ids, string userName) { - return await _dal.DeleteByIdsAsync(ids); + var jm = new AdminUiCallBack(); + try + { + //寮�濮嬩簨鍔″鐞� + _unitOfWork.BeginTran(); + var orders = await _dal.QueryListByClauseAsync(p => ids.Contains(p.orderId), p => p.orderId, OrderByType.Asc, true); + + foreach (var order in orders) + { + if (order.status != 2) //&& string.IsNullOrEmpty(houtai) + { + order.upDataBy = userName; + order.upDataTime = DateTime.Now; + order.status = 2; + //鏍¢獙鍚庡啀鍒涘缓璁㈠崟 + var jmss = await _dal.UpdateAsync(order); + } + + + + + + + + + //order.keYongAmount = order.oldOrderAmount - order.orderAmount; + + + + + + //if (order.keYongAmount > 0) + //{ + // //淇敼鐢ㄦ埛浣欓 + + // var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, order.keYongAmount, "鐢ㄦ埛璁″垝璁㈠崟" + order.orderId + "娆鹃」缁撲綑"); + //} + + + + //} + + + + } + + + + + + + + + + + _unitOfWork.CommitTran(); + + jm.code = 0; + jm.data = orders; + jm.msg = "閿佸崟鎴愬姛"; + } + catch (Exception e) + { + _unitOfWork.RollbackTran(); + jm.code = 1; + jm.msg = e.ToString(); + } + return jm; + //return await _dal.DeleteByIdsAsync(ids); } #endregion @@ -139,10 +275,10 @@ /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param> /// <returns></returns> public async Task<IPageList<CoreCmsPlanOrder>> QueryPageAsync(Expression<Func<CoreCmsPlanOrder, bool>> predicate, - Expression<Func<CoreCmsPlanOrder, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, + Expression<Func<CoreCmsPlanOrder, object>> orderByExpression, OrderByType orderByType, OtherData otherData , int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false) { - return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock); + return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, otherData, pageIndex, pageSize, blUseNoLock); } #endregion @@ -151,7 +287,7 @@ /// 鑾峰彇璁″垝璁㈠崟鍒楄〃寰俊灏忕▼搴� /// </summary> /// <returns></returns> - public async Task<WebApiCallBack> GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5) + public async Task<WebApiCallBack> GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5, int money = 0) { var jm = new WebApiCallBack { status = true }; @@ -163,7 +299,13 @@ } if (userId > 0) { + //var user = await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.id == userId).FirstAsync(); + where = where.And(p => p.userId == userId); + } + if (money > 0) + { + where = where.And(p => p.keYongAmount > p.huaFeiAmount); } var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit); @@ -173,7 +315,7 @@ { //鑾峰彇鐩稿叧鐘舵�佹弿杩拌鏄庤浆鎹� order.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(order.status); - + order.keYongAmount = order.keYongAmount - order.huaFeiAmount; } } jm.data = new @@ -201,8 +343,9 @@ /// <param name="status">璁″垝璁㈠崟鐘舵��</param> /// <param name="itemIds">鏄庣粏id</param> /// <param name="itemNums">鏄庣粏鏁伴噺</param> + /// <param name="houtai">鏄惁鍚庡彴缂栬緫</param> /// <returns></returns> - public async Task<WebApiCallBack> ToUpdate(string orderId, int userId, string userName, int status, string itemIds, string itemNums) + public async Task<WebApiCallBack> ToUpdate(string orderId, int userId, string userName, int status, string itemIds, string itemNums, string houtai = "") { var jm = new WebApiCallBack() { methodDescription = "淇敼璁″垝璁㈠崟" }; try @@ -210,7 +353,15 @@ //寮�濮嬩簨鍔″鐞� _unitOfWork.BeginTran(); var order = await _dal.QueryByIdAsync(orderId); - + + var oldorderAmount = order.orderAmount; + if (order.status == 2 && string.IsNullOrEmpty(houtai)) + { + _unitOfWork.RollbackTran(); + jm.status = false; + jm.otherData = "璁㈠崟宸茬粡閿佸崟涓嶈兘淇敼"; + return jm; + } order.upDataBy = userName; order.upDataTime = DateTime.Now; @@ -234,28 +385,36 @@ } order.orderAmount = orderAmount; - order.keYongAmount = order.oldOrderAmount - order.orderAmount; + order.keYongAmount = order.oldOrderAmount - order.orderAmount ; - if (order.keYongAmount < 0) + if (order.keYongAmount < order.huaFeiAmount) { _unitOfWork.RollbackTran(); jm.status = false; - jm.otherData = "鍙敤浣欓涓嶈兘涓鸿礋"; + jm.otherData = "鍙敤浣欓涓嶈冻"; + return jm; } - if (status == 2) - { - order.status = 2; + //var keYongAmount = oldorderAmount - orderAmount; + //if (order.status == 1) + //{ + // keYongAmount = order.oldOrderAmount - order.orderAmount; + //} + //if (status == 2) + //{ + // order.status = 2; - if (order.keYongAmount > 0) - { - //淇敼鐢ㄦ埛浣欓 + // if (keYongAmount != 0) + // { + // //淇敼鐢ㄦ埛浣欓 - var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, order.keYongAmount, "鐢ㄦ埛璁″垝璁㈠崟娆鹃」缁撲綑"); - } + // var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, keYongAmount, "鐢ㄦ埛璁″垝璁㈠崟"+ order.orderId + "娆鹃」缁撲綑"); + // } + - } + + //} //鏍¢獙鍚庡啀鍒涘缓璁㈠崟 @@ -305,17 +464,50 @@ order.status = 1; order.shipMobile = jiHuaOrders[0].shipMobile; order.shipAddress = jiHuaOrders[0].shipAddress; - order.shipName = jiHuaOrders[0].shipName; ; + order.shipName = jiHuaOrders[0].shipName; + order.shouhuoAddress = jiHuaOrders[0].shouhuoAddress; + if (string.IsNullOrEmpty(order.shipMobile)) + { + //鎵句笉鍒扮敤鎴峰氨娉ㄥ唽鐢ㄦ埛 + jm.code = 1; + jm.msg = order.shipMobile + "鑱旂郴鐢佃瘽涓嶈兘涓虹┖"; + return jm; + } var user = await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.mobile == order.shipMobile && x.isDelete == false && x.status == 1).FirstAsync(); if (user != null) { order.userId = user.id; + user.isplanorder = "鏄�"; + var users = await _unitOfWork.GetDbClient().Updateable(user).ExecuteCommandAsync(); } else { - jm.code = 1; - jm.msg = order.shipMobile + "娌℃湁鎵惧埌鐢ㄦ埛"; - return jm; + + var data = new FMWxAccountCreate + { + mobile = order.shipMobile, + invitecode = 0, + sessionAuthId = "" + }; + + var jms = await _userServices.SmsLogin(data); + user = await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.mobile == order.shipMobile && x.isDelete == false && x.status == 1).FirstAsync(); + if (user != null) + { + order.userId = user.id; + user.isplanorder = "鏄�"; + var users = await _unitOfWork.GetDbClient().Updateable(user).ExecuteCommandAsync(); + } + else + { + + //鎵句笉鍒扮敤鎴峰氨娉ㄥ唽鐢ㄦ埛 + jm.code = 1; + jm.msg = order.shipMobile + "鑱旂郴鐢佃瘽涓嶆纭�"; + return jm; + + } + } order.createBy = userName; @@ -323,10 +515,29 @@ order.upDataBy = userName; order.upDataTime = DateTime.Now; order.isdelete = false; - + var shi = await _unitOfWork.GetDbClient().Queryable<CoreCmsArea>().Where(x => x.name == jiHuaOrders[0].shi).FirstAsync(); + if(shi == null) + { + jm.code = 1; + jm.msg = order.shipMobile + "娌℃湁鎵惧埌甯�"; + return jm; + } + var quxian = await _unitOfWork.GetDbClient().Queryable<CoreCmsArea>().Where(x => x.name == jiHuaOrders[0].quxian && x.parentId == shi.id).FirstAsync(); + if (shi == null) + { + jm.code = 1; + jm.msg = order.shipMobile + "娌℃湁鎵惧埌鍖哄幙"; + return jm; + } + order.shengId = 510000; + order.shi = jiHuaOrders[0].shi; + order.shiId = shi.id; + order.quxianId = quxian.id; + order.quxian = jiHuaOrders[0].quxian; + order.pianqu = jiHuaOrders[0].pianqu; decimal orderAmount = 0; @@ -344,18 +555,36 @@ item.upDataBy = userName; item.upDataTime = DateTime.Now; item.isdelete = false; + item.isOld = true; var jms = await _itemDal.InsertAsync(item); orderAmount += item.amount; + + + item.isOld = false; + jms = await _itemDal.InsertAsync(item); + if (jms.code == 1) + { + + return jms; + } } order.orderAmount = orderAmount; order.oldOrderAmount = orderAmount; order.keYongAmount = 0; + order.huaFeiAmount = 0; //鏍¢獙鍚庡啀鍒涘缓璁㈠崟 - var jmss = await _dal.InsertAsync(order); + var sss = await _unitOfWork.GetDbClient().Insertable<CoreCmsPlanOrder>(order).ExecuteCommandAsync(); + //var jmss = await _dal.InsertAsync(order); + + //if (jmss.code == 1) + //{ + + // return jmss; + //} @@ -374,7 +603,7 @@ catch (Exception e) { _unitOfWork.RollbackTran(); - jm.code = 0; + jm.code = 1; jm.otherData = e.ToString(); } return jm; -- Gitblit v1.9.1