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