147 lines
7.8 KiB
C#
147 lines
7.8 KiB
C#
using MyCode.Project.Domain.Message.Request.JackYun;
|
|
using MyCode.Project.Domain.Repositories;
|
|
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;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
|
|
namespace MyCode.Project.Services.Implementation
|
|
{
|
|
public class JackYunService : ServiceBase, IJackYunService
|
|
{
|
|
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
|
public JackYunService(IYTKJTShopParameterRepository yTKJTShopParameterRepository)
|
|
{
|
|
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
|
|
}
|
|
|
|
DateTime startTime = DateTime.Parse("2025-08-01");
|
|
/// <summary>
|
|
/// 请求开放平台服务
|
|
/// </summary>
|
|
/// <param name="method">开放接口方法名</param>
|
|
/// <param name="version">开放接口版本号(null表示默认)</param>
|
|
/// <param name="bizData">请求业务数据</param>
|
|
/// <returns>OpenResponse返回对象</returns>
|
|
public JackyunResponse Call(string method, string version, BaseRequestBizData bizData)
|
|
{
|
|
//接口返回值
|
|
JackyunResponse response = null;
|
|
//返回值字符串
|
|
string strResponse = null;
|
|
try
|
|
{
|
|
//请求吉客云开放接口。
|
|
strResponse = JackyunOpenHttpUtils.Post(method, version, bizData);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
response = new JackyunResponse();
|
|
response.onFail(ex.Message, "CLIENT_EXCEPTION");
|
|
return response;
|
|
}
|
|
|
|
return JsonHelper.ToObject<JackyunResponse>(strResponse);
|
|
}
|
|
|
|
#region 订单查询
|
|
/// <summary>
|
|
/// 订单查询
|
|
/// </summary>
|
|
/// <param name="now">截止日期</param>
|
|
/// <returns></returns>
|
|
/// <exception cref="BaseException"></exception>
|
|
public List<TradesItem> testTradeFullInfoGet(DateTime now)
|
|
{
|
|
|
|
int total = 1;
|
|
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
|
|
|
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(-7).ToString("yyyy-MM-dd");
|
|
string value1 = now.Date.ToString("yyyy-MM-dd");
|
|
if (now.Date.AddDays(-7) < startTime)
|
|
{
|
|
value = startTime.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 = "TradeType,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.shareFavourableAfterFee,goodsDetail.shareOrderPlatDiscountFee,customizeGoodsColumn9,goodsDetail.goodsId,goodsDetail.sellCount,goodsDetail.needProcessCount,goodsDetail.baseUnitSellCount,goodsDetail.assessmentCost,goodsDetail.compassSourceContentTypem,sourceTradeNo,shopId,warehouseId,scrollId,goodsDetail.unit";
|
|
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 };
|
|
List<int> TradeTypeList = new List<int>();
|
|
TradeTypeList.Add(1);
|
|
TradeTypeList.Add(7);
|
|
TradeTypeList.Add(8);
|
|
List<TradesItem> trades = new List<TradesItem>();
|
|
TradeTypeList.ForEach(ty =>
|
|
{
|
|
requestBizData.TradeType = ty;
|
|
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);
|
|
|
|
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)
|
|
{
|
|
list1.data.trades.ForEach(h => h.TradeType = ty);
|
|
|
|
trades.AddRange(list1.data.trades);
|
|
requestBizData.PageIndex = pageIndex;
|
|
pageIndex++;
|
|
Thread.Sleep(100);
|
|
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);
|
|
}
|
|
});
|
|
var shocodes = shopConfigs.Select(t => t.FSHOPCODE).ToList();
|
|
trades = trades.Where(t => shocodes.Contains(t.shopCode)).ToList();
|
|
return trades;
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|