From 80aa425c4ca51f7c0224a6245968cdd08940321b Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期四, 13 六月 2024 10:17:30 +0800
Subject: [PATCH] 修改校园代理 完成

---
 CoreCms.Net.Services/Bill/CoreCmsBillDeliveryServices.cs |   62 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 7 deletions(-)

diff --git a/CoreCms.Net.Services/Bill/CoreCmsBillDeliveryServices.cs b/CoreCms.Net.Services/Bill/CoreCmsBillDeliveryServices.cs
index 6077e7e..af7246c 100644
--- a/CoreCms.Net.Services/Bill/CoreCmsBillDeliveryServices.cs
+++ b/CoreCms.Net.Services/Bill/CoreCmsBillDeliveryServices.cs
@@ -12,22 +12,27 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Threading.Tasks;
+using CoreCms.Net.Auth.HttpContextUser;
 using CoreCms.Net.Caching.AutoMate.RedisCache;
 using CoreCms.Net.Configuration;
+using CoreCms.Net.DTO;
 using CoreCms.Net.IRepository;
 using CoreCms.Net.IRepository.UnitOfWork;
 using CoreCms.Net.IServices;
 using CoreCms.Net.Loging;
 using CoreCms.Net.Model.Entities;
+using CoreCms.Net.Model.Entities.baifenbingfa.DistributionSendOder;
 using CoreCms.Net.Model.ViewModels.Api;
 using CoreCms.Net.Model.ViewModels.DTO;
 using CoreCms.Net.Model.ViewModels.UI;
 using CoreCms.Net.Utility.Helper;
+using Essensoft.Paylink.Alipay.Domain;
 using Flurl.Http;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Hosting;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressDeliveryOpenMessageGetDeliveryListResponse.Types;
 
 
 namespace CoreCms.Net.Services
@@ -45,7 +50,9 @@
         private readonly IUnitOfWork _unitOfWork;
         private readonly IServiceProvider _serviceProvider;
         private readonly IRedisOperationRepository _redisOperationRepository;
+        private readonly ICoreCmsDistributionRepository _coreCmsDistributionRepository;
 
+        private readonly IHttpContextUser _user;
 
 
         public CoreCmsBillDeliveryServices(
@@ -55,7 +62,10 @@
             , ICoreCmsStoreServices storeServices
             , ICoreCmsBillDeliveryItemServices billDeliveryItemServices
             , ICoreCmsOrderLogServices orderLogServices
-            , ICoreCmsSettingServices settingServices, IRedisOperationRepository redisOperationRepository)
+            , ICoreCmsSettingServices settingServices
+            , IRedisOperationRepository redisOperationRepository,
+                ICoreCmsDistributionRepository coreCmsDistributionRepository
+            , IHttpContextUser user)
         {
             this._dal = dal;
             base.BaseDal = dal;
@@ -66,6 +76,9 @@
             _orderLogServices = orderLogServices;
             _settingServices = settingServices;
             _redisOperationRepository = redisOperationRepository;
+            _coreCmsDistributionRepository = coreCmsDistributionRepository;
+            _user = user;
+
         }
 
 
@@ -83,12 +96,17 @@
         /// <param name="shipAddress">鏀惰揣鍦板潃</param>
         /// <param name="memo">鍙戣揣鎻忚堪</param>
         /// <param name="deliveryCompanyId">绗笁鏂瑰鎺ョ墿娴佺紪鐮�</param>
+        /// <param name="sendDistributionID">閫佽揣渚涘簲鍟咺D</param>
         /// <returns></returns>
-        public async Task<WebApiCallBack> BatchShip(string[] orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "", string deliveryCompanyId = "")
+        public async Task<WebApiCallBack> BatchShip(string[] orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "", string deliveryCompanyId = "", int? sendDistributionID = null)
         {
             using var container = _serviceProvider.CreateScope();
             var jm = new WebApiCallBack();
-
+            if(sendDistributionID > 0)
+            {
+                jm.msg = "缁忛攢鍟嗗彂璐т笉鏀寔鎵归噺鍙戣揣";
+                return jm;
+            }
             var orderService = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
             var stockServices = container.ServiceProvider.GetService<ICoreCmsStockServices>();
             //鑾峰彇璁㈠崟璇︽儏
@@ -180,7 +198,7 @@
             }
             if (tNum < 1)
             {
-                jm.msg = "璇疯嚦灏戝彂鐢熶竴浠跺晢鍝�!";
+                jm.msg = "璇疯嚦灏戝彂涓�浠跺晢鍝�!";
                 return jm;
             }
             //浜嬪姟澶勭悊寮�濮�
@@ -231,12 +249,13 @@
         /// <param name="shipAddress">鏀惰揣鍦板潃</param>
         /// <param name="memo">鍙戣揣鎻忚堪</param>
         /// <param name="deliveryCompanyId">绗笁鏂瑰鎺ョ墿娴佺紪鐮�</param>
+        /// <param name="sendDistributionID">缁忛攢鍟嗛�佽揣ID</param>
         /// <returns></returns>
-        public async Task<WebApiCallBack> Ship(string orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "", string deliveryCompanyId = "")
+        public async Task<WebApiCallBack> Ship(string orderId, string logiCode, string logiNo, Dictionary<int, int> items, int storeId = 0, string shipName = "", string shipMobile = "", int shipAreaId = 0, string shipAddress = "", string memo = "", string deliveryCompanyId = "",int? sendDistributionID=null)
         {
             using var container = _serviceProvider.CreateScope();
             var jm = new WebApiCallBack();
-
+            
             var orderService = container.ServiceProvider.GetService<ICoreCmsOrderServices>();
             //鑾峰彇璁㈠崟璇︽儏
             var dInfoResult = await orderService.GetOrderShipInfo(orderId);
@@ -288,7 +307,33 @@
             billDelivery.memo = memo;
             billDelivery.createTime = DateTime.Now;
             billDelivery.thirdPartylogiCode = deliveryCompanyId;
+         
+            if(sendDistributionID>0)
+            {
+              var a=  _coreCmsDistributionRepository.QueryById(sendDistributionID);
+                if(a==null)
+                {
+                    jm.msg = "缁忛攢鍟嗕笉瀛樺湪";
+                    return jm;
+                }
+                billDelivery.sendDistributionUserID= a.userId;  
+                billDelivery.sendDistributionID = sendDistributionID;
+                billDelivery.sendDistributionAccept = sendDistributionAcceptType.NoAccted;
+                var mQ = new DistributionSendOder
+                {
+                   
+                    sendDistributionAccept = sendDistributionAcceptType.NoAccted,
+                    distributionID = (int)sendDistributionID,
+                    sendMangerID = _user.ID,
+                    deliveryID = billDelivery.deliveryId,
+                     sendTime = DateTime.Now, 
+                      userID= a.userId
 
+
+                };
+                //璁板綍鎿嶄綔璁板綍
+                await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.AddDistributionSendOderMQ, JsonConvert.SerializeObject(mQ));
+            }
             //璁剧疆鍙戣揣鏄庣粏
             var bdRel = new List<CoreCmsBillDeliveryItem>();
 
@@ -335,7 +380,10 @@
 
 
             //鎻掑叆鍙戣揣鍗曚富浣撹〃
-            await _dal.InsertAsync(billDelivery);
+         await _dal.InsertAsync(billDelivery);
+           
+       
+            
 
             //鎻掑叆鍙戣揣鍗曟槑缁嗚〃
             await _billDeliveryItemServices.InsertAsync(bdRel);

--
Gitblit v1.9.1