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-06-01"); /// /// 请求开放平台服务 /// /// 开放接口方法名 /// 开放接口版本号(null表示默认) /// 请求业务数据 /// OpenResponse返回对象 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(strResponse); } #region 订单查询 /// /// 订单查询 /// /// 截止日期 /// /// public List testTradeFullInfoGet(DateTime now) { if (now < startTime) now = startTime; 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"); 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.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 = shopConfigs.Select(t => t.FSHOPCODE).ToList(); // new long[] { 378761130654261100, 378761130654261100 }; List TradeTypeList = new List(); TradeTypeList.Add(1); TradeTypeList.Add(7); TradeTypeList.Add(8); List trades = new List(); 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(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(orderjson); } } } else { string msg = response.msg; throw new BaseException(msg); } }); return trades; } #endregion } }