This commit is contained in:
2025-07-08 20:10:02 +08:00
parent 2c7dc97d5f
commit a9193e1f3f
10 changed files with 151 additions and 61 deletions

View File

@@ -26,7 +26,7 @@ namespace MyCode.Project.Domain.Model
/// <summary> /// <summary>
/// Desc:销售单id(吉客云内码) /// Desc:销售单id(吉客云内码)
/// Default: /// Default:
/// Nullable:False /// Nullable:True
/// </summary> /// </summary>
[SugarColumn(ColumnName="tradeId")] [SugarColumn(ColumnName="tradeId")]
public string TradeId {get;set;} public string TradeId {get;set;}
@@ -50,7 +50,7 @@ namespace MyCode.Project.Domain.Model
/// <summary> /// <summary>
/// Desc:店铺编码 /// Desc:店铺编码
/// Default: /// Default:
/// Nullable:False /// Nullable:True
/// </summary> /// </summary>
[SugarColumn(ColumnName="shopCode")] [SugarColumn(ColumnName="shopCode")]
public string ShopCode {get;set;} public string ShopCode {get;set;}
@@ -58,7 +58,7 @@ namespace MyCode.Project.Domain.Model
/// <summary> /// <summary>
/// Desc:发货单单号 /// Desc:发货单单号
/// Default: /// Default:
/// Nullable:False /// Nullable:True
/// </summary> /// </summary>
[SugarColumn(ColumnName="orderNo")] [SugarColumn(ColumnName="orderNo")]
public string OrderNo {get;set;} public string OrderNo {get;set;}
@@ -66,7 +66,7 @@ namespace MyCode.Project.Domain.Model
/// <summary> /// <summary>
/// Desc:订单编号 /// Desc:订单编号
/// Default: /// Default:
/// Nullable:False /// Nullable:True
/// </summary> /// </summary>
[SugarColumn(ColumnName="tradeNo")] [SugarColumn(ColumnName="tradeNo")]
public string TradeNo {get;set;} public string TradeNo {get;set;}
@@ -191,5 +191,37 @@ namespace MyCode.Project.Domain.Model
[SugarColumn(ColumnName="updateTime")] [SugarColumn(ColumnName="updateTime")]
public DateTime? UpdateTime {get;set;} public DateTime? UpdateTime {get;set;}
/// <summary>
/// Desc:0=未处理 1=已合并 2=已推送
/// Default:0
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="status")]
public int? Status {get;set;}
/// <summary>
/// Desc:支付时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="payTime")]
public DateTime? PayTime {get;set;}
/// <summary>
/// Desc:发货时间
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="consignTime")]
public DateTime? ConsignTime {get;set;}
/// <summary>
/// Desc:销售单状态1010待审核1020审核中1030预售1050待复核2000备货等待2010备货等待等补货2020服务等待2030备货等待等生产2040采购等待3010虚拟发货4110待发货待递交4111待发货递交中4112待发货已递交4113待发货-递交失败4121待发货-取消中4122待发货已取消4123待发货取消失败4130待发货部分发货4040代销发货待递交4041代销发货已递交5010已取消5020已取消被合并5030已取消被拆分6000发货在途9090已完成
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="tradeStatus")]
public int? TradeStatus {get;set;}
} }
} }

View File

@@ -167,14 +167,6 @@ namespace MyCode.Project.Domain.Model
[SugarColumn(ColumnName="tradeId")] [SugarColumn(ColumnName="tradeId")]
public string TradeId {get;set;} public string TradeId {get;set;}
/// <summary>
/// Desc:
/// Default:
/// Nullable:True
/// </summary>
[SugarColumn(ColumnName="skuImgUrl")]
public string SkuImgUrl {get;set;}
/// <summary> /// <summary>
/// Desc: /// Desc:
/// Default:DateTime.Now /// Default:DateTime.Now

View File

@@ -26,18 +26,18 @@ namespace MyCode.Project.Infrastructure.JackYun
/// <summary> /// <summary>
/// 在吉客云开放平台上申请的Appekey /// 在吉客云开放平台上申请的Appekey
/// </summary> /// </summary>
private const string APPKEY = "71030238"; private const string APPKEY = "21578653";
/// <summary> /// <summary>
/// 在吉客云开放平台上申请的AppeSecret /// 在吉客云开放平台上申请的AppeSecret
/// </summary> /// </summary>
private const string APPSECRET = "0fbe36cc4308405cacadf516338be4c8"; private const string APPSECRET = "d6ea919cb75a44879fcdbea211066b9c";
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
private const string Token = "c5cd87bb574483e8dd6acbf72f577fe0"; private const string Token = "";
/// <summary> /// <summary>
/// 吉客云开放平台网关 /// 吉客云开放平台网关
/// </summary> /// </summary>

View File

@@ -1,4 +1,5 @@
using System; using SqlSugar;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@@ -94,6 +95,10 @@ namespace MyCode.Project.Infrastructure.JackYun
public class TradesItem public class TradesItem
{ {
/// <summary>
/// 销售单状态 6000发货在途9090已完成
/// </summary>
public int tradeStatus { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@@ -158,10 +163,7 @@ namespace MyCode.Project.Infrastructure.JackYun
/// ///
/// </summary> /// </summary>
public string warehouseId { get; set; } public string warehouseId { get; set; }
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@@ -179,9 +181,24 @@ namespace MyCode.Project.Infrastructure.JackYun
/// </summary> /// </summary>
public List<GoodsDetailItem> goodsDetail { get; set; } public List<GoodsDetailItem> goodsDetail { get; set; }
/// <summary> /// <summary>
/// /// 系统编码
/// </summary> /// </summary>
public string tradeId { get; set; } public string tradeId { get; set; }
/// <summary>
/// Desc:支付时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? payTime { get; set; }
/// <summary>
/// Desc:发货时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? consignTime { get; set; }
} }
public class TradeFullinfogetData public class TradeFullinfogetData

View File

@@ -3,12 +3,12 @@ using System.Collections.Generic;
namespace MyCode.Project.Services namespace MyCode.Project.Services
{ {
public interface IJackYunService public interface IJackYunTaskService
{ {
/// <summary> /// <summary>
/// 订单查询 /// 调度运行抓吉客云销售订单
/// </summary> /// </summary>
/// <param name="now"></param>
string testTradeFullInfoGet(); void TaskGetJackYunOrder(string now);
} }
} }

View File

@@ -5,11 +5,13 @@ using MyCode.Project.Infrastructure.Exceptions;
using MyCode.Project.Infrastructure.JackYun; using MyCode.Project.Infrastructure.JackYun;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading;
namespace MyCode.Project.Services.Implementation namespace MyCode.Project.Services.Implementation
{ {
public class JackYunService : ServiceBase , IJackYunService public class JackYunService : ServiceBase , IJackYunService
{ {
DateTime startTime = DateTime.Parse("2025-06-01");
/// <summary> /// <summary>
/// 请求开放平台服务 /// 请求开放平台服务
/// </summary> /// </summary>
@@ -94,8 +96,7 @@ namespace MyCode.Project.Services.Implementation
} }
} }
} }
if (trades.Count > 0)
SetOrder(trades);
return ll; return ll;
} }
@@ -110,11 +111,13 @@ namespace MyCode.Project.Services.Implementation
/// <exception cref="BaseException"></exception> /// <exception cref="BaseException"></exception>
public List<TradesItem> testTradeFullInfoGet(DateTime now ) public List<TradesItem> testTradeFullInfoGet(DateTime now )
{ {
if (now < startTime)
now = startTime;
int total = 1; int total = 1;
OrderTradeFullInfoGetRequestBizData requestBizData = new OrderTradeFullInfoGetRequestBizData(); 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 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 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 value = now.Date.AddDays(-1).ToString("yyyy-MM-dd");
string value1 = now.Date.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.StartModified = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
@@ -123,8 +126,8 @@ namespace MyCode.Project.Services.Implementation
requestBizData.HasTotal = total; requestBizData.HasTotal = total;
requestBizData.PageSize = 200; requestBizData.PageSize = 200;
requestBizData.PageIndex = 0; 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.Fields = "tradeStatus,consignTime,payTime,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.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.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.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.EndAuditTime = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
@@ -151,6 +154,7 @@ namespace MyCode.Project.Services.Implementation
trades.AddRange(list1.data.trades); trades.AddRange(list1.data.trades);
requestBizData.PageIndex = pageIndex; requestBizData.PageIndex = pageIndex;
pageIndex++; pageIndex++;
Thread.Sleep(100);
response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData); response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData);
if (response.code == "200") if (response.code == "200")
{ {
@@ -164,8 +168,7 @@ namespace MyCode.Project.Services.Implementation
string msg = response.msg; string msg = response.msg;
throw new BaseException(msg); throw new BaseException(msg);
} }
if (trades.Count > 0)
SetOrder(trades);
return trades; return trades;
} }

View File

@@ -3,6 +3,7 @@ using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common; using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun; using MyCode.Project.Infrastructure.JackYun;
using MyCode.Project.Repositories; using MyCode.Project.Repositories;
using MyCode.Project.Repositories.Common;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -11,7 +12,7 @@ using System.Threading.Tasks;
namespace MyCode.Project.Services.Implementation namespace MyCode.Project.Services.Implementation
{ {
public class JackYunTaskService : ServiceBase //, IJackYunTaskService public class JackYunTaskService : ServiceBase , IJackYunTaskService
{ {
private IJackYunService _jackYunService; private IJackYunService _jackYunService;
private IJackOrdersRepository _jackOrdersRepository; private IJackOrdersRepository _jackOrdersRepository;
@@ -26,29 +27,60 @@ namespace MyCode.Project.Services.Implementation
_jackYunService = jackYunService; _jackYunService = jackYunService;
} }
#region TaskGetJackYunOrder()
/// <summary>
/// 调度运行抓吉客云销售订单
/// </summary>
/// <param name="now"></param>
public void TaskGetJackYunOrder(string now) public void TaskGetJackYunOrder(string now)
{ {
DateTime runTime = DateTime.Parse(now); DateTime runTime = DateTime.Parse(now);
var list = _jackYunService.testTradeFullInfoGet(runTime); var list = _jackYunService.testTradeFullInfoGet(runTime);
SetOrder(list); SetOrder(list);
} }
#endregion
#region SetOrder()
/// <summary>
/// 把吉客云订单存进本地数据库
/// </summary>
/// <param name="trades"></param>
[TransactionCallHandler]
public void SetOrder(List<TradesItem> trades) public void SetOrder(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<JackOrdersItem> ordersItemList = new List<JackOrdersItem>();
trades.ForEach(t => trades.ForEach(t =>
{
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.goodsDetail != null)
{
var items = AutoMapperHelper.AutoMappToList<JackOrdersItem, GoodsDetailItem>(t.goodsDetail);
items.ForEach(k =>
{
k.JackOrdersId = jackOrders.Id;
});
jackOrdersList.Add(jackOrders);
ordersItemList.AddRange(items);
}
});
if (jackOrdersList.Count > 0)
{ {
JackOrders jackOrders = new JackOrders(); _jackOrdersRepository.Add(jackOrdersList);
jackOrders = AutoMapperHelper.AutoMappToSingle<JackOrders, TradesItem>(t); _jackOrdersItemRepository.Add(ordersItemList);
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);
});
} }
#endregion
} }
} }

View File

@@ -122,6 +122,7 @@
<Compile Include="Implementation\WebSocketService.cs" /> <Compile Include="Implementation\WebSocketService.cs" />
<Compile Include="Implementation\WorkProcessService.cs" /> <Compile Include="Implementation\WorkProcessService.cs" />
<Compile Include="IServices\IAnsyDataProcessService.cs" /> <Compile Include="IServices\IAnsyDataProcessService.cs" />
<Compile Include="IServices\IJackYunTaskService.cs" />
<Compile Include="IServices\IJackYunService.cs" /> <Compile Include="IServices\IJackYunService.cs" />
<Compile Include="IServices\IApiLogService.cs" /> <Compile Include="IServices\IApiLogService.cs" />
<Compile Include="IServices\IQueueProcessService.cs" /> <Compile Include="IServices\IQueueProcessService.cs" />

View File

@@ -12,12 +12,25 @@ namespace MyCode.Project.WebApi.Controllers
/// </summary> /// </summary>
public class TestController : BaseAPIController public class TestController : BaseAPIController
{ {
private IJackYunService _jackYunService;
public TestController(IJackYunService jackYunService ) private IJackYunTaskService _jackYunTaskService;
public TestController(IJackYunTaskService jackYunTaskService)
{ {
_jackYunService = jackYunService; _jackYunTaskService = jackYunTaskService;
} }
#region
/// <summary>
/// 调度运行抓吉客云销售订单
/// </summary>
[HttpGet]
[AllowAnonymous]
public void TaskGetJackYunOrder(string now)
{
_jackYunTaskService.TaskGetJackYunOrder(now);
}
#endregion
//#region 订单查询 //#region 订单查询
@@ -34,18 +47,18 @@ namespace MyCode.Project.WebApi.Controllers
#region //#region 订单查
/// <summary> ///// <summary>
/// 订单查询2 ///// 订单查询2
/// </summary> ///// </summary>
[HttpGet] //[HttpGet]
[AllowAnonymous] //[AllowAnonymous]
public List<TradesItem> testTradeFullInfoGet(DateTime now) //public List<TradesItem> testTradeFullInfoGet(DateTime now)
{ //{
return _jackYunService.testTradeFullInfoGet(now); // return _jackYunService.testTradeFullInfoGet(now);
} //}
#endregion //#endregion
//#region AESEncrypt(AES加密) //#region AESEncrypt(AES加密)
///// <summary> ///// <summary>

View File

@@ -25,8 +25,8 @@
<connectionStrings> <connectionStrings>
<!-- 数据库测试--> <!-- 数据库测试-->
<add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=xietong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" /> <add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=YunTong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
<add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=xietong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" /> <add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=YunTong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
<!--测试MYSQL内网--> <!--测试MYSQL内网-->