From f42519dd617aea8e6024490bcca3726d68ede98f Mon Sep 17 00:00:00 2001
From: yuyubo <1870149533@qq.com>
Date: Thu, 16 Oct 2025 19:32:10 +0800
Subject: [PATCH] 1
---
.../Model/ReturnChangeGoodsDetail.cs | 286 ++++++++++++++++++
.../MyCode.Project.Domain.csproj | 2 +
.../IReturnChangeGoodsDetailRepository.cs | 18 ++
.../JackYun/ReturnChangeListResp.cs | 4 +-
.../JackYun/TradeFullinfogetResp.cs | 8 +-
.../MyCode.Project.Repositories.csproj | 1 +
.../ReturnChangeGoodsDetailRepository.cs | 26 ++
.../Implementation/JackYunService.cs | 50 ++-
.../Implementation/JackYunTaskService.cs | 2 +-
9 files changed, 387 insertions(+), 10 deletions(-)
create mode 100644 Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
create mode 100644 Reportapi/MyCode.Project.Domain/Repositories/IReturnChangeGoodsDetailRepository.cs
create mode 100644 Reportapi/MyCode.Project.Repositories/ReturnChangeGoodsDetailRepository.cs
diff --git a/Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs b/Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
new file mode 100644
index 0000000..15071e1
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
@@ -0,0 +1,286 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace MyCode.Project.Domain.Model
+{
+ ///
+ ///退换货商品明细表(记录售后订单中的商品变更详情)
+ ///
+ [SugarTable("ReturnChangeGoodsDetail")]
+ public partial class ReturnChangeGoodsDetail
+ {
+ public ReturnChangeGoodsDetail(){
+
+
+ }
+ ///
+ /// Desc:主键(GUID格式)
+ /// Default:newid()
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true)]
+ public Guid Id {get;set;}
+
+ ///
+ /// Desc:售后订单ID(关联售后主表)
+ /// Default:
+ /// Nullable:False
+ ///
+ public long TradeAfterId {get;set;}
+
+ ///
+ /// Desc:子订单ID(关联销售明细)
+ /// Default:
+ /// Nullable:False
+ ///
+ public long SubTradeId {get;set;}
+
+ ///
+ /// Desc:商品基础信息ID(关联商品主表)
+ /// Default:
+ /// Nullable:False
+ ///
+ public long GoodsId {get;set;}
+
+ ///
+ /// Desc:商品系统编号(唯一业务标识)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string GoodsNo {get;set;}
+
+ ///
+ /// Desc:商品全称(显示名称)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string GoodsName {get;set;}
+
+ ///
+ /// Desc:规格ID(关联规格表)
+ /// Default:
+ /// Nullable:True
+ ///
+ public long? SpecId {get;set;}
+
+ ///
+ /// Desc:规格组合名称(如:颜色:红;尺寸:XL)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SpecName {get;set;}
+
+ ///
+ /// Desc:计量单位(如:件、KG等)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string Unit {get;set;}
+
+ ///
+ /// Desc:销售单价(含税,单位:元)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? Price {get;set;}
+
+ ///
+ /// Desc:原始销售数量(单位与Unit字段一致)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? SellCount {get;set;}
+
+ ///
+ /// Desc:售后原因详细描述
+ /// Default:
+ /// Nullable:True
+ ///
+ public string ReasonDesc {get;set;}
+
+ ///
+ /// Desc:申请退货数量(可含小数)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ReturnCount {get;set;}
+
+ ///
+ /// Desc:实际退货金额(=退货数量*单价-退货优惠)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ReturnFee {get;set;}
+
+ ///
+ /// Desc:补发商品数量
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? SendCount {get;set;}
+
+ ///
+ /// Desc:退货部分享受的优惠金额
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ReturnDiscounts {get;set;}
+
+ ///
+ /// Desc:补发部分享受的优惠金额
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? SendDiscounts {get;set;}
+
+ ///
+ /// Desc:补发商品总金额
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? SendFee {get;set;}
+
+ ///
+ /// Desc:理论应退金额(未计算分摊)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ShouldReturnFee {get;set;}
+
+ ///
+ /// Desc:处理备注信息
+ /// Default:
+ /// Nullable:True
+ ///
+ public string Remark {get;set;}
+
+ ///
+ /// Desc:商品特性标记(1-7分别对应定制/虚拟/卡券/代销/预售/序列号/需安装)
+ /// Default:
+ /// Nullable:True
+ ///
+ public int? GoodsAttribute {get;set;}
+
+ ///
+ /// Desc:最后修改时间(格式:yyyy-MM-dd HH:mm:ss)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string GmtModified {get;set;}
+
+ ///
+ /// Desc:记录创建时间(格式:yyyy-MM-dd HH:mm)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string GmtCreate {get;set;}
+
+ ///
+ /// Desc:商品条码(国际标准条码)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string Barcode {get;set;}
+
+ ///
+ /// Desc:销售总金额(=单价*数量)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? SellTotal {get;set;}
+
+ ///
+ /// Desc:实际退货数量(仓库验收后)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? DeliveryCount {get;set;}
+
+ ///
+ /// Desc:组合装标识(1=是组合装子商品)
+ /// Default:0
+ /// Nullable:True
+ ///
+ public int? IsFit {get;set;}
+
+ ///
+ /// Desc:赠品标识(1=是赠品 0=正常商品)
+ /// Default:0
+ /// Nullable:True
+ ///
+ public int? IsGift {get;set;}
+
+ ///
+ /// Desc:分摊后退货金额(含订单级优惠分摊)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ShareReturnFee {get;set;}
+
+ ///
+ /// Desc:分摊后补发金额(含订单级优惠分摊)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ShareSendFee {get;set;}
+
+ ///
+ /// Desc:最终应退金额(含所有优惠和运费分摊)
+ /// Default:
+ /// Nullable:True
+ ///
+ public decimal? ShareShouldReturnFee {get;set;}
+
+ ///
+ /// Desc:货品批次信息(JSON格式存储)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string GoodsBatchInfoList {get;set;}
+
+ ///
+ /// Desc:电商平台子订单编号(如淘宝子订单号)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SourceSubtradeNo {get;set;}
+
+ ///
+ /// Desc:次品数量描述(如:5件破损)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string DefectiveAmount {get;set;}
+
+ ///
+ /// Desc:品牌名称
+ /// Default:
+ /// Nullable:True
+ ///
+ public string BrandName {get;set;}
+
+ ///
+ /// Desc:商品唯一序列号(用于高端商品追踪)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string GoodsSerial {get;set;}
+
+ ///
+ /// Desc:平台商品ID(第三方平台商品编码)
+ /// Default:
+ /// Nullable:True
+ ///
+ public string PlatGoodsId {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public Guid? JackOrdersId {get;set;}
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
index 49fff2e..8583e2d 100644
--- a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
+++ b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
@@ -99,6 +99,7 @@
+
@@ -110,6 +111,7 @@
+
diff --git a/Reportapi/MyCode.Project.Domain/Repositories/IReturnChangeGoodsDetailRepository.cs b/Reportapi/MyCode.Project.Domain/Repositories/IReturnChangeGoodsDetailRepository.cs
new file mode 100644
index 0000000..b8c821a
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/Repositories/IReturnChangeGoodsDetailRepository.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Infrastructure;
+using MyCode.Project.Domain;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Domain.Message;
+
+namespace MyCode.Project.Domain.Repositories
+{
+ public interface IReturnChangeGoodsDetailRepository : IRepository
+ {
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs b/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs
index e527951..7e13354 100644
--- a/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs
+++ b/Reportapi/MyCode.Project.Infrastructure/JackYun/ReturnChangeListResp.cs
@@ -75,7 +75,7 @@ namespace MyCode.Project.Infrastructure.JackYun
///
/// 系统订单id
///
- public long TradeId { get; set; }
+ public string TradeId { get; set; }
///
/// 系统订单号
@@ -313,7 +313,7 @@ namespace MyCode.Project.Infrastructure.JackYun
public int SourceTradeStatus { get; set; }
///
- /// 货品信息
+ /// 退货货品信息
///
public List ReturnChangeGoodsDetail { get; set; }
diff --git a/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs b/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs
index 1f0bc10..ea5f928 100644
--- a/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs
+++ b/Reportapi/MyCode.Project.Infrastructure/JackYun/TradeFullinfogetResp.cs
@@ -193,9 +193,15 @@ namespace MyCode.Project.Infrastructure.JackYun
///
public int apiType { get; set; }
///
- /// 货品详情
+ /// 销售货品详情
///
public List goodsDetail { get; set; }
+
+ ///
+ /// 退货货品信息
+ ///
+ public List ReturnChangeGoodsDetail { get; set; }
+
///
/// 系统编码
///
diff --git a/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj b/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
index d76f62e..2738eef 100644
--- a/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
+++ b/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
@@ -91,6 +91,7 @@
+
diff --git a/Reportapi/MyCode.Project.Repositories/ReturnChangeGoodsDetailRepository.cs b/Reportapi/MyCode.Project.Repositories/ReturnChangeGoodsDetailRepository.cs
new file mode 100644
index 0000000..cfe50b2
--- /dev/null
+++ b/Reportapi/MyCode.Project.Repositories/ReturnChangeGoodsDetailRepository.cs
@@ -0,0 +1,26 @@
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Domain.Message;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Repositories;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Search;
+
+namespace MyCode.Project.Repositories
+{
+ public class ReturnChangeGoodsDetailRepository: Repository, IReturnChangeGoodsDetailRepository
+ {
+ public ReturnChangeGoodsDetailRepository(MyCodeSqlSugarClient context) : base(context)
+ { }
+
+
+
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs
index 7546a99..b5d4413 100644
--- a/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs
+++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunService.cs
@@ -179,8 +179,8 @@ namespace MyCode.Project.Services.Implementation
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
List TradeTypeList = new List();
TradeTypeList.Add(1005);
-
- List trades = new List();
+ List reslut = new List();
+ List trades = new List();
TradeTypeList.ForEach(ty =>
{
requestBizData.ProcessStatusList = ty.ToString();
@@ -200,9 +200,9 @@ namespace MyCode.Project.Services.Implementation
int TotalResults = list1.data.TotalResults;
while (requestBizData.PageIndex* requestBizData.PageSize< TotalResults)
{
- //list1.data.trades.ForEach(h => h.TradeType = ty);
+ //list1.data.returnChangeList.ForEach(h => h.TradeType = ty);
- //trades.AddRange(list1.data.trades);
+ trades.AddRange(list1.data.returnChangeList);
requestBizData.PageIndex = pageIndex;
pageIndex++;
Thread.Sleep(100);
@@ -222,8 +222,46 @@ namespace MyCode.Project.Services.Implementation
}
});
var shocodes = shopConfigs.Select(t => t.FSHOPCODE).ToList();
- trades = trades.Where(t => shocodes.Contains(t.shopCode)).ToList();
- return trades;
+ trades = trades.Where(t => shocodes.Contains(t.ShopCode)).ToList();
+ //reslut = trades.Select(t => new TradesItem { tradeId = t.TradeId, couponFee = 0, realFee = 0, shopCode = t.ShopCode ,orderNo=t.ReturnChangeNo, tradeNo =t.TradeNo
+ //,isDelete=0, mainPostid=t.MainPostid,
+ // companyName=t.CompanyName,
+ // flagNames=t.FlagNames,
+ // shopName=t.ShopName,
+ // warehouseName=t.WarehouseName
+ //}).ToList();
+
+
+
+ reslut = trades.Select(rc => new TradesItem
+ {
+ tradeId = rc.TradeId,
+ couponFee = 0,
+ realFee = 0,
+ shopCode = rc.ShopCode,
+ orderNo = rc.ReturnChangeNo,
+ tradeNo = rc.TradeNo,
+ isDelete = 0,
+ mainPostid = rc.MainPostid,
+ companyName = rc.CompanyName,
+ flagNames = rc.FlagNames,
+ shopName = rc.ShopName,
+ warehouseName = rc.WarehouseName,
+ warehouseCode = rc.WarehouseCode,
+ logisticName = rc.LogisticName,
+ shopId = rc.ShopId.ToString(),
+ TradeType = 8, // 假设这是售后发货类型
+ consignTime = !string.IsNullOrWhiteSpace(rc.ConsignTime) ? (DateTime?)DateTime.Parse(rc.ConsignTime) : null,
+ payTime = null, // 可根据需要设置
+ tradeStatus = int.Parse(rc.TradeAfterStatus), // 注意类型转换
+ warehouseId = rc.WarehouseId.ToString(),
+ shopTypeCode = "",
+ apiType = -114, // 默认值
+ ReturnChangeGoodsDetail = rc.ReturnChangeGoodsDetail
+ }).ToList();
+
+
+ return reslut;
}
#endregion
}
diff --git a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs
index f5610d7..043454e 100644
--- a/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs
+++ b/Reportapi/MyCode.Project.Services/Implementation/JackYunTaskService.cs
@@ -190,7 +190,7 @@ namespace MyCode.Project.Services.Implementation
{
DateTime runTime = DateTime.Parse(now);
var list = _jackYunService.GetReturnChangeList(runTime);
- //SetOrder(list);
+ SetOrder(list);
//_workProcessService.Add(this.MerchantId, "GetAndMergeJackYunOrder", "合并吉客云订单到新表", now, 1);
}
#endregion