This commit is contained in:
2025-10-17 17:54:23 +08:00
parent f42519dd61
commit 316e78f4f2
6 changed files with 96 additions and 10 deletions

View File

@@ -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
/// </summary>
/// <param name="now"></param>
void TaskGetReturnChangeList(string now);
/// <summary>
/// 把吉客云退货订单存进本地数据库
/// </summary>
/// <param name="trades"></param>
void SetReturnOrder(List<TradesItem> trades);
}
}

View File

@@ -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), // 注意类型转换

View File

@@ -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<IJackYunTaskService>(this.MerchantId, "GetAndMergeJackYunOrder", "合并吉客云订单到新表", now, 1);
}
#endregion
#region SetReturnOrder(退)
/// <summary>
/// 把吉客云退货订单存进本地数据库
/// </summary>
/// <param name="trades"></param>
[TransactionCallHandler]
public void SetReturnOrder(List<TradesItem> 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<JackOrders> jackOrdersList = new List<JackOrders>();
List<ReturnChangeGoodsDetail> ordersItemList = new List<ReturnChangeGoodsDetail>();
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<JackOrders, TradesItem>(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
}
}