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