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
}
}