From 445d14becca6b5251814934343d7a6394ada6009 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期五, 17 十月 2025 16:55:19 +0800
Subject: [PATCH] no message
---
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