From 316e78f4f299fe5ba209eff78f5f66be26aaf476 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Fri, 17 Oct 2025 17:54:23 +0800 Subject: [PATCH] 11 --- .../JackYun/ReturnChangeListResp.cs | 4 +- .../JackYun/TradeFullinfogetResp.cs | 2 +- .../JackOrdersItemRepository.cs | 28 ++++++++- .../IServices/IJackYunTaskService.cs | 8 +++ .../Implementation/JackYunService.cs | 2 +- .../Implementation/JackYunTaskService.cs | 62 +++++++++++++++++-- 6 files changed, 96 insertions(+), 10 deletions(-) diff --git a/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs b/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs index 7e13354..f3c24b1 100644 --- a/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs +++ b/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs @@ -315,7 +315,7 @@ namespace MyCode.Project.Infrastructure.JackYun /// /// 退货货品信息 /// - public List ReturnChangeGoodsDetail { get; set; } + public List ReturnChangeGoodsDetail { get; set; } @@ -364,7 +364,7 @@ namespace MyCode.Project.Infrastructure.JackYun /// /// 货品信息 /// - public class ReturnChangeGoodsDetail + public class JkyReturnChangeGoodsDetail { /// /// 售后订单id diff --git a/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs b/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs index ea5f928..9d3f385 100644 --- a/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs +++ b/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs @@ -200,7 +200,7 @@ namespace MyCode.Project.Infrastructure.JackYun /// /// 退货货品信息 /// - public List ReturnChangeGoodsDetail { get; set; } + public List ReturnChangeGoodsDetail { get; set; } /// /// 系统编码 diff --git a/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs b/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs index 7e6fef7..96fdcee 100644 --- a/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs +++ b/Reportapi/MyCode.Project.Repositories/JackOrdersItemRepository.cs @@ -35,7 +35,7 @@ namespace MyCode.Project.Repositories FROM [JackOrders] a WITH (NOLOCK) LEFT JOIN [dbo].[JackOrdersItem] b WITH (NOLOCK) ON a.id = b.JackOrdersId -WHERE a.status = 0 +WHERE a.status = 0 and TradeType in (1,7) GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo], [goodsId], [barcode] ,[warehouseId], [TradeType],Unit"; var list = this.SelectList(sql); return list; @@ -43,5 +43,31 @@ GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [s #endregion + #region GetPushOrder(获取合并后的吉客云订单) + /// + /// 获取合并后的吉客云订单 + /// + /// + public List GetPushReturnOrder() + { + string sql = $@" + SELECT [shopCode], [shopName], [shopId], [warehouseName], [warehouseCode], + [status], CONVERT(NVARCHAR(30),[consignTime],23) [consignTime], + [goodsNo], [goodsId],SUM([sellTotal]*-1) [sellTotal], + SUM([sellCount]*-1) [sellCount], SUM([ShareShouldReturnFee]*-1) AS [divideSellTotal], + [barcode], [TradeType] ,[warehouseId],Unit +FROM [JackOrders] a WITH (NOLOCK) + LEFT JOIN [dbo].[ReturnChangeGoodsDetail] b WITH (NOLOCK) + ON a.id = b.JackOrdersId +WHERE a.status = 0 and [TradeType]=8 +GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo], +[goodsId], [barcode] ,[warehouseId], [TradeType],Unit +ORDER BY [shopCode],[consignTime] desc,[TradeType] +"; + var list = this.SelectList(sql); + return list; + } + #endregion + } } \ No newline at end of file diff --git a/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs b/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs index ad2d490..8cd7bcf 100644 --- a/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs +++ b/Reportapi/MyCode.Project.Services/IServices/IJackYunTaskService.cs @@ -1,4 +1,5 @@ using MyCode.Project.Domain.Message.Response.Common; +using MyCode.Project.Infrastructure.JackYun; using MyCode.Project.Repositories.Common; using System.Collections.Generic; @@ -24,5 +25,12 @@ namespace MyCode.Project.Services /// /// void TaskGetReturnChangeList(string now); + + /// + /// 把吉客云退货订单存进本地数据库 + /// + /// + + void SetReturnOrder(List trades); } } diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs index b5d4413..e69ce1b 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs @@ -250,7 +250,7 @@ namespace MyCode.Project.Services.Implementation warehouseCode = rc.WarehouseCode, logisticName = rc.LogisticName, shopId = rc.ShopId.ToString(), - TradeType = 8, // 假设这是售后发货类型 + TradeType = 8, // 假设这是售后退货类型 consignTime = !string.IsNullOrWhiteSpace(rc.ConsignTime) ? (DateTime?)DateTime.Parse(rc.ConsignTime) : null, payTime = null, // 可根据需要设置 tradeStatus = int.Parse(rc.TradeAfterStatus), // 注意类型转换 diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs index 043454e..fc71405 100644 --- a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs +++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs @@ -1,18 +1,14 @@ using MyCode.Project.Domain.Message.Response.JackYun; -using MyCode.Project.Domain.Message.Response.JackYun; using MyCode.Project.Domain.Model; using MyCode.Project.Domain.Repositories; using MyCode.Project.Infrastructure.Common; using MyCode.Project.Infrastructure.JackYun; -using MyCode.Project.Repositories; using MyCode.Project.Repositories.Common; using MyCode.Project.Services.IServices; using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading; -using System.Threading.Tasks; namespace MyCode.Project.Services.Implementation { @@ -24,6 +20,8 @@ namespace MyCode.Project.Services.Implementation private IPushKingDeeOrderRepository _pushKingDeeOrderRepository; private IPushKingDeeOrderItemRepository _pushKingDeeOrderItemRepository; private IYTKJTShopParameterRepository _yTKJTShopParameterRepository; + private IReturnChangeGoodsDetailRepository _ReturnChangeGoodsDetailRepository; + private IWorkProcessService _workProcessService; public JackYunTaskService(IJackOrdersRepository jackOrdersRepository @@ -31,6 +29,7 @@ namespace MyCode.Project.Services.Implementation , IPushKingDeeOrderRepository pushKingDeeOrderRepository , IPushKingDeeOrderItemRepository pushKingDeeOrderItemRepository , IYTKJTShopParameterRepository yTKJTShopParameterRepository + , IReturnChangeGoodsDetailRepository returnChangeGoodsDetailRepository , IJackYunService jackYunService, IWorkProcessService workProcessService) { @@ -39,6 +38,7 @@ namespace MyCode.Project.Services.Implementation _pushKingDeeOrderItemRepository = pushKingDeeOrderItemRepository; _jackOrdersRepository = jackOrdersRepository; _jackOrdersItemRepository = jackOrdersItemRepository; + _ReturnChangeGoodsDetailRepository = returnChangeGoodsDetailRepository; _jackYunService = jackYunService; _workProcessService = workProcessService; } @@ -190,9 +190,61 @@ namespace MyCode.Project.Services.Implementation { DateTime runTime = DateTime.Parse(now); var list = _jackYunService.GetReturnChangeList(runTime); - SetOrder(list); + SetReturnOrder(list); //_workProcessService.Add(this.MerchantId, "GetAndMergeJackYunOrder", "合并吉客云订单到新表", now, 1); } #endregion + + + #region SetReturnOrder(把吉客云退货订单存进本地数据库) + /// + /// 把吉客云退货订单存进本地数据库 + /// + /// + [TransactionCallHandler] + public void SetReturnOrder(List trades) + { + var ids = trades.Select(t => t.tradeId).Distinct().ToList(); + ids = _jackOrdersRepository.Queryable().Where(t => ids.Contains(t.TradeId)).Select(t => t.TradeId).Distinct().ToList(); + if (ids.Count > 0) + trades = trades.Where(t => !ids.Contains(t.tradeId)).ToList(); + List jackOrdersList = new List(); + List ordersItemList = new List(); + var shopConfig = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList(); + var shopCodeList = shopConfig.Select(t => t.FSHOPCODE).ToList(); + + + trades.ForEach(t => + { + if (shopCodeList.Contains(t.shopCode)) + { + JackOrders jackOrders = new JackOrders(); + jackOrders = AutoMapperHelper.AutoMappToSingle(t); + jackOrders.Id = Guid.NewGuid(); + jackOrders.Status = 0; + jackOrders.UpdateTime = DateTime.Now; + jackOrders.CreateTime = DateTime.Now; + if (t.ReturnChangeGoodsDetail != null) + { + var items = AutoMapperHelper.AutoMappToList< ReturnChangeGoodsDetail, JkyReturnChangeGoodsDetail>(t.ReturnChangeGoodsDetail); + items.ForEach(k => + { + k.JackOrdersId = jackOrders.Id; + }); + jackOrdersList.Add(jackOrders); + ordersItemList.AddRange(items); + } + } + + }); + + if (jackOrdersList.Count > 0) + { + _jackOrdersRepository.Add(jackOrdersList); + _ReturnChangeGoodsDetailRepository.Add(ordersItemList); + } + + } + #endregion } }