From d15481638e21ccc610f5e36577497cb6279839b9 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 30 四月 2024 09:51:58 +0800 Subject: [PATCH] 修改计划订单 --- CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs | 114 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 99 insertions(+), 15 deletions(-) diff --git a/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs b/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs index 0464b05..a4525c3 100644 --- a/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs +++ b/CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs @@ -35,6 +35,7 @@ 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; namespace CoreCms.Net.Services @@ -48,17 +49,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 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔========================================================== @@ -163,6 +167,8 @@ } if (userId > 0) { + //var user = await _unitOfWork.GetDbClient().Queryable<CoreCmsUser>().Where(x => x.id == userId).FirstAsync(); + where = where.And(p => p.userId == userId); } var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit); @@ -201,8 +207,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 +217,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; @@ -240,20 +255,24 @@ { _unitOfWork.RollbackTran(); jm.status = false; - jm.otherData = "鍙敤浣欓涓嶈兘涓鸿礋"; + jm.otherData = "璁㈠崟閲戦瓒呭嚭璁″垝閲戦"; + return jm; } + + var keYongAmount = oldorderAmount - 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,7 +324,15 @@ 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) { @@ -313,9 +340,30 @@ } 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; + } + else + { + + //鎵句笉鍒扮敤鎴峰氨娉ㄥ唽鐢ㄦ埛 + jm.code = 1; + jm.msg = order.shipMobile + "鑱旂郴鐢佃瘽涓嶆纭�"; + return jm; + + } + } order.createBy = userName; @@ -323,10 +371,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,8 +411,18 @@ 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; @@ -353,9 +430,16 @@ order.keYongAmount = 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 +458,7 @@ catch (Exception e) { _unitOfWork.RollbackTran(); - jm.code = 0; + jm.code = 1; jm.otherData = e.ToString(); } return jm; -- Gitblit v1.9.1