This commit is contained in:
余宇波 2025-07-07 20:02:36 +08:00
parent 38140986e4
commit 2c7dc97d5f
14 changed files with 573 additions and 8 deletions

View File

@ -0,0 +1,207 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace MyCode.Project.Domain.Model
{
///<summary>
///
///</summary>
[SugarTable("JackOrdersItem")]
public partial class JackOrdersItem
{
public JackOrdersItem(){
}
/// <summary>
/// Desc:
/// Default:newid()
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true)]
public Guid Id {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="goodsNo")]
public string GoodsNo {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="specId")]
public string SpecId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shareOrderPlatDiscountFee")]
public decimal? ShareOrderPlatDiscountFee {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="goodsId")]
public string GoodsId {get;set;}
/// <summary>
/// Desc:销售总金额(数量×单价)
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="sellTotal")]
public decimal SellTotal {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="needProcessCount")]
public int? NeedProcessCount {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="shareOrderDiscountFee")]
public decimal? ShareOrderDiscountFee {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="subTradeId")]
public string SubTradeId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="goodsPlatDiscountFee")]
public int? GoodsPlatDiscountFee {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="baseUnitSellCount")]
public int? BaseUnitSellCount {get;set;}
/// <summary>
/// Desc:数量
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="sellCount")]
public int SellCount {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="outerId")]
public string OuterId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="isFit")]
public decimal? IsFit {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="taxFee")]
public decimal? TaxFee {get;set;}
/// <summary>
/// Desc:实付金额
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(ColumnName="divideSellTotal")]
public decimal DivideSellTotal {get;set;}
/// <summary>
/// Desc:条码,用这个匹配金蝶物料编码
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="barcode")]
public string Barcode {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="apiType")]
public int? ApiType {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="tradeId")]
public string TradeId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="skuImgUrl")]
public string SkuImgUrl {get;set;}
/// <summary>
/// Desc:
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
public DateTime? CreatedTime {get;set;}
/// <summary>
/// Desc:
/// Default:DateTime.Now
/// Nullable:True
/// </summary>
public DateTime? ModifiedTime {get;set;}
/// <summary>
/// Desc:商品明细id唯一商品明细的唯一标识。
/// Default:
/// Nullable:True
/// </summary>
public string SubTradeld {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
public Guid? JackOrdersId {get;set;}
}
}

View File

@ -78,9 +78,11 @@
<Compile Include="Message\Response\WorkProcess\WorkProcessResp.cs" />
<Compile Include="Model\ApiLog.cs" />
<Compile Include="Model\JackOrders.cs" />
<Compile Include="Model\JackOrdersItem.cs" />
<Compile Include="Model\SysWorkprocess.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Repositories\IApiLogRepository.cs" />
<Compile Include="Repositories\IJackOrdersItemRepository.cs" />
<Compile Include="Repositories\IJackOrdersRepository.cs" />
<Compile Include="Repositories\IRepository.cs" />
<Compile Include="Repositories\IRepository`.cs" />

View File

@ -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 IJackOrdersItemRepository : IRepository<JackOrdersItem>
{
}
}

View File

@ -0,0 +1,155 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Infrastructure.JackYun
{
/// <summary>
/// 商品明细数据实体类
/// </summary>
public class GoodsDetail
{
/// <summary>
/// 商品唯一编号
/// </summary>
public string GoodsNo { get; set; }
/// <summary>
/// 商品完整名称
/// </summary>
public string GoodsName { get; set; }
/// <summary>
/// 商品规格描述
/// </summary>
public string SpecName { get; set; }
/// <summary>
/// 商品条形码
/// </summary>
public string Barcode { get; set; }
/// <summary>
/// 销售数量
/// </summary>
public decimal SellCount { get; set; }
/// <summary>
/// 计量单位
/// </summary>
public string Unit { get; set; }
/// <summary>
/// 商品销售单价
/// </summary>
public decimal SellPrice { get; set; }
/// <summary>
/// 销售总金额(数量×单价)
/// </summary>
public decimal SellTotal { get; set; }
/// <summary>
/// 商品成本价格
/// </summary>
public decimal Cost { get; set; }
/// <summary>
/// 折扣总金额
/// </summary>
public decimal DiscountTotal { get; set; }
/// <summary>
/// 折扣点数(百分比)
/// </summary>
public int DiscountPoint { get; set; }
/// <summary>
/// 税费金额
/// </summary>
public decimal TaxFee { get; set; }
/// <summary>
/// 组合装标记标识商品是否为组合装0表示否。
/// </summary>
public int IsFit { get; set; }
/// <summary>
/// 赠品标记标识商品是否为赠品0表示否1表示是。
/// </summary>
public int IsGift { get; set; }
/// <summary>
/// 优惠:商品的优惠金额。
/// </summary>
public decimal DiscountFee { get; set; }
/// <summary>
/// 税率:商品的税率。
/// </summary>
public decimal TaxRate { get; set; }
/// <summary>
/// 预估体积(单个货品):单个货品的预估体积。
/// </summary>
public decimal EstimateGoodsVolume { get; set; }
/// <summary>
/// 是否预售货品标记标识商品是否预售0表示否1表示是。
/// </summary>
public int IsPresell { get; set; }
/// <summary>
/// 终端销售单价:商品的终端销售单价。
/// </summary>
public decimal CustomerPrice { get; set; }
/// <summary>
/// 终端销售金额:商品的终端销售总金额。
/// </summary>
public decimal CustomerTotal { get; set; }
/// <summary>
/// 交易编号:交易的唯一编号。
/// </summary>
public string TradeGoodsNo { get; set; }
/// <summary>
/// 交易名称:交易的商品名称。
/// </summary>
public string TradeGoodsName { get; set; }
/// <summary>
/// 交易规格:交易的商品规格。
/// </summary>
public string TradeGoodsSpec { get; set; }
/// <summary>
/// 交易单位:交易的商品单位。
/// </summary>
public string TradeGoodsUnit { get; set; }
/// <summary>
/// 网店子订单号:网店中的子订单号。
/// </summary>
public string SourceSubtradeNo { get; set; }
/// <summary>
/// 平台代码:交易所在平台的代码。
/// </summary>
public string PlatCode { get; set; }
/// <summary>
/// 平台商品id平台上的商品唯一标识。
/// </summary>
public string PlatGoodsId { get; set; }
/// <summary>
/// 商品明细id唯一商品明细的唯一标识。
/// </summary>
public string SubTradeld { get; set; }
}
}

View File

@ -46,7 +46,6 @@ namespace MyCode.Project.Infrastructure.JackYun
#endregion
#region http Post方法
/// <summary>
/// 请求开放平台的Post方法
/// </summary>

View File

@ -9,6 +9,11 @@ namespace MyCode.Project.Infrastructure.JackYun
public class GoodsDetailItem
{
/// <summary>
/// 商品明细id唯一商品明细的唯一标识。
/// </summary>
public string SubTradeld { get; set; }
/// <summary>
///
/// </summary>

View File

@ -266,6 +266,7 @@
<Compile Include="Imports\ImportResult.cs" />
<Compile Include="Imports\ImportSplitProperty.cs" />
<Compile Include="JackYun\EnumAttribute.cs" />
<Compile Include="JackYun\GoodsDetail.cs" />
<Compile Include="JackYun\JackyunResponse.cs" />
<Compile Include="JackYun\TradeFullinfogetResp.cs" />
<Compile Include="PayModels\ExtendedGateway.cs" />

View File

@ -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 JackOrdersItemRepository: Repository<JackOrdersItem>, IJackOrdersItemRepository
{
public JackOrdersItemRepository(MyCodeSqlSugarClient context) : base(context)
{ }
}
}

View File

@ -86,6 +86,7 @@
<Compile Include="Common\Repository`.cs" />
<Compile Include="Common\TransactionCallHandler.cs" />
<Compile Include="Common\TransactionCallHandlerAttribute.cs" />
<Compile Include="JackOrdersItemRepository.cs" />
<Compile Include="JackOrdersRepository.cs" />
<Compile Include="Lxm\LxmReportRepository.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />

View File

@ -1,4 +1,6 @@
using MyCode.Project.Infrastructure.JackYun;
using System.Collections.Generic;
using System;
namespace MyCode.Project.Services
{
@ -6,11 +8,19 @@ namespace MyCode.Project.Services
{
JackyunResponse Call(string method, string version, BaseRequestBizData bizData);
///// <summary>
///// 订单查询
///// </summary>
//string testTradeFullInfoGet();
/// <summary>
/// 订单查询
/// </summary>
string testTradeFullInfoGet();
/// <param name="now">截止日期</param>
/// <returns></returns>
/// <exception cref="BaseException"></exception>
List<TradesItem> testTradeFullInfoGet(DateTime now);
}
}

View File

@ -1,6 +1,7 @@
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Enumeration;
using MyCode.Project.Infrastructure.Exceptions;
using MyCode.Project.Infrastructure.JackYun;
using System;
using System.Collections.Generic;
@ -99,10 +100,77 @@ namespace MyCode.Project.Services.Implementation
}
#endregion
public void SetOrder(List<TradesItem> trades)
#region
/// <summary>
/// 订单查询
/// </summary>
/// <param name="now">截止日期</param>
/// <returns></returns>
/// <exception cref="BaseException"></exception>
public List<TradesItem> testTradeFullInfoGet(DateTime now )
{
int total = 1;
OrderTradeFullInfoGetRequestBizData requestBizData = new OrderTradeFullInfoGetRequestBizData();
//string value = "2025-06-15 00:00:00";// DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd HH:mm:ss") ;
//string value1 = "2025-06-20 00:00:00";//DateTime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss");
string value = now.Date.AddDays(-5).ToString("yyyy-MM-dd");
string value1 = now.Date.ToString("yyyy-MM-dd");
requestBizData.StartModified = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.EndModified = ""; //DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.TradeNo = "";
requestBizData.HasTotal = total;
requestBizData.PageSize = 200;
requestBizData.PageIndex = 0;
requestBizData.Fields = "goodsDetail.barcode,tradeNo,orderNo,shopName,companyName,warehouseName,logisticName,mainPostid,goodsDetail.goodsNo,flagNames,columnExt,sourceAfterNo,goodsDetail.outerId,pickUpCode,expense.expenseFee,expense.expenseItemName,billDate,goodsPlatDiscountFee,goodsDetail.shareOrderDiscountFee,goodsDetail.shareOrderPlatDiscountFee,customizeGoodsColumn9,goodsDetail.goodsId,goodsDetail.sellCount,goodsDetail.needProcessCount,goodsDetail.baseUnitSellCount,goodsDetail.assessmentCost,goodsDetail.compassSourceContentTypem,sourceTradeNo,shopId,warehouseId,scrollId";
requestBizData.StartCreated = "";// DateTime.ParseExact(value, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.EndCreated = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.StartAuditTime = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.EndAuditTime = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.StartConsignTime = value;// value;// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
requestBizData.EndConsignTime = value1;// value1;// DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
//requestBizData.TradeStatus = 1010;
//requestBizData.TradeType = 1;
requestBizData.SourceTradeNos = "";
requestBizData.ShopIds = null;// new long[] { 378761130654261100, 378761130654261100 };
string lggl = JsonHelper.ToJson(requestBizData);
LogHelper.Info(lggl);
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData);
string ll = JsonHelper.ToJson(response);
LogHelper.Info(ll);
List<TradesItem> trades = new List<TradesItem>();
if (response.code == "200")
{
var orderjson = JsonHelper.ToJson(response.result);
var list1 = JsonHelper.ToObject<TradeFullinfogetResp>(orderjson);
int pageIndex = 1;
while (list1.data.trades != null && list1.data.trades.Count > 0)
{
trades.AddRange(list1.data.trades);
requestBizData.PageIndex = pageIndex;
pageIndex++;
response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData);
if (response.code == "200")
{
orderjson = JsonHelper.ToJson(response.result);
list1 = JsonHelper.ToObject<TradeFullinfogetResp>(orderjson);
}
}
}
else
{
string msg = response.msg;
throw new BaseException(msg);
}
if (trades.Count > 0)
SetOrder(trades);
return trades;
}
#endregion
}

View File

@ -0,0 +1,54 @@
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 System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Services.Implementation
{
public class JackYunTaskService : ServiceBase //, IJackYunTaskService
{
private IJackYunService _jackYunService;
private IJackOrdersRepository _jackOrdersRepository;
private IJackOrdersItemRepository _jackOrdersItemRepository;
public JackYunTaskService(IJackOrdersRepository jackOrdersRepository
, IJackOrdersItemRepository jackOrdersItemRepository
,IJackYunService jackYunService)
{
_jackOrdersRepository = jackOrdersRepository;
_jackOrdersItemRepository = jackOrdersItemRepository;
_jackYunService = jackYunService;
}
public void TaskGetJackYunOrder(string now)
{
DateTime runTime = DateTime.Parse(now);
var list = _jackYunService.testTradeFullInfoGet(runTime);
SetOrder(list);
}
public void SetOrder(List<TradesItem> trades)
{
trades.ForEach(t =>
{
JackOrders jackOrders = new JackOrders();
jackOrders = AutoMapperHelper.AutoMappToSingle<JackOrders, TradesItem>(t);
jackOrders.Id = Guid.NewGuid();
var items = AutoMapperHelper.AutoMappToList<JackOrdersItem, GoodsDetailItem>(t.goodsDetail);
items.ForEach(k =>k.JackOrdersId = jackOrders.Id);
//还要去重才能保存
_jackOrdersRepository.Add(jackOrders);
_jackOrdersItemRepository.Add(items);
});
}
}
}

View File

@ -116,6 +116,7 @@
<Compile Include="Implementation\AnsyDataProcessService.cs" />
<Compile Include="Implementation\ApiLogService.cs" />
<Compile Include="Implementation\JackYunService.cs" />
<Compile Include="Implementation\JackYunTaskService.cs" />
<Compile Include="Implementation\ReportService.cs" />
<Compile Include="Implementation\QueueProcessService.cs" />
<Compile Include="Implementation\WebSocketService.cs" />

View File

@ -1,5 +1,8 @@
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using MyCode.Project.Services;
using System.Collections.Generic;
using System;
using System.Web.Http;
namespace MyCode.Project.WebApi.Controllers
@ -16,16 +19,31 @@ namespace MyCode.Project.WebApi.Controllers
}
//#region 订单查询
///// <summary>
///// 订单查询
///// </summary>
//[HttpGet]
//[AllowAnonymous]
//public string testTradeFullInfoGet()
//{
// return _jackYunService.testTradeFullInfoGet();
//}
//#endregion
#region
/// <summary>
/// 订单查询
/// 订单查询2
/// </summary>
[HttpGet]
[AllowAnonymous]
public string testTradeFullInfoGet()
public List<TradesItem> testTradeFullInfoGet(DateTime now)
{
return _jackYunService.testTradeFullInfoGet();
return _jackYunService.testTradeFullInfoGet(now);
}
#endregion