更新一大堆代码
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
namespace MyCode.Project.Domain.Message.Request.JackYun
|
||||
{
|
||||
public class ReturnChangeGetRequestBizData : BaseRequestBizData
|
||||
{
|
||||
/// <summary>
|
||||
/// 每页显示数据量
|
||||
/// </summary>
|
||||
public int? PageSize { get; set; } = 50;
|
||||
|
||||
/// <summary>
|
||||
/// 当前页码
|
||||
/// </summary>
|
||||
public int? PageIndex { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 最后修改时间(起始)
|
||||
/// </summary>
|
||||
public string StartModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最后修改时间(截止)
|
||||
/// </summary>
|
||||
public string EndModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退换单号,多个单号用逗号分隔
|
||||
/// </summary>
|
||||
public string ReturnChangeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号,多个单号用逗号分隔
|
||||
/// </summary>
|
||||
public string TradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间(起始)
|
||||
/// </summary>
|
||||
public string StartGmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间(结束)
|
||||
/// </summary>
|
||||
public string EndGmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核时间(起始)
|
||||
/// </summary>
|
||||
public string StartAuditDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核时间(结束)
|
||||
/// </summary>
|
||||
public string EndAuditDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间(起始)
|
||||
/// </summary>
|
||||
public string StartDeliveryDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间(结束)
|
||||
/// </summary>
|
||||
public string EndDeliveryDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算时间(起始)
|
||||
/// </summary>
|
||||
public string StartSettlementDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算时间(结束)
|
||||
/// </summary>
|
||||
public string EndSettlementDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 处理状态(1000:异常件待处理;1001:待审核;1002:待收货;1003:待结算;1004:已结算待收货;1005:已收货待结算;1007:已完成;1008:已取消;1009:已拒绝;1010:待支付;1014:待退货-待通知退货;1015:待退货-已通知退货;10081:已取消-被合并;10082:已取消-被拆分)
|
||||
/// </summary>
|
||||
public string ProcessStatusList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道
|
||||
/// </summary>
|
||||
public string ShopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库名称
|
||||
/// </summary>
|
||||
public string WarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库ID集合
|
||||
/// </summary>
|
||||
public List<string> WarehouseIdList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退换原因
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否获取总记录数(1:是;0:否)
|
||||
/// </summary>
|
||||
public int? HasTotal { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 网店订单号
|
||||
/// </summary>
|
||||
public string SourceTradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网店售后单号
|
||||
/// </summary>
|
||||
public string SourceTradeAfterNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否软删除
|
||||
/// </summary>
|
||||
public bool? Deleted { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 店铺ID集合
|
||||
/// </summary>
|
||||
public List<string> ShopIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否查询组合装子件信息(1:是;0:否)
|
||||
/// </summary>
|
||||
public string SelectSubParts { get; set; } = "1";
|
||||
|
||||
/// <summary>
|
||||
/// 是否同时返回未删除和回收站中的数据
|
||||
/// </summary>
|
||||
public bool? AllDeleteStatus { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 完成时间开始时间
|
||||
/// </summary>
|
||||
public string StartCompleteTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 完成时间结束时间
|
||||
/// </summary>
|
||||
public string EndCompleteTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否归档(0:未归档;1:已归档)
|
||||
/// </summary>
|
||||
public string QueryHistory { get; set; } = "0";
|
||||
|
||||
/// <summary>
|
||||
/// 销售平台
|
||||
/// </summary>
|
||||
public string PlatName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 申请时间开始时间
|
||||
/// </summary>
|
||||
public string ApplyTimeBegin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 申请时间结束时间
|
||||
/// </summary>
|
||||
public string ApplyTimeEnd { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
286
Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
Normal file
286
Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
Normal file
@@ -0,0 +1,286 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using SqlSugar;
|
||||
|
||||
namespace MyCode.Project.Domain.Model
|
||||
{
|
||||
///<summary>
|
||||
///退换货商品明细表(记录售后订单中的商品变更详情)
|
||||
///</summary>
|
||||
[SugarTable("ReturnChangeGoodsDetail")]
|
||||
public partial class ReturnChangeGoodsDetail
|
||||
{
|
||||
public ReturnChangeGoodsDetail(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键(GUID格式)
|
||||
/// Default:newid()
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true)]
|
||||
public Guid Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:售后订单ID(关联售后主表)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long TradeAfterId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:子订单ID(关联销售明细)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long SubTradeId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品基础信息ID(关联商品主表)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long GoodsId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品系统编号(唯一业务标识)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsNo {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品全称(显示名称)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:规格ID(关联规格表)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public long? SpecId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:规格组合名称(如:颜色:红;尺寸:XL)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SpecName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:计量单位(如:件、KG等)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Unit {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:销售单价(含税,单位:元)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? Price {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:原始销售数量(单位与Unit字段一致)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SellCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:售后原因详细描述
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ReasonDesc {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:申请退货数量(可含小数)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ReturnCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:实际退货金额(=退货数量*单价-退货优惠)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:补发商品数量
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SendCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:退货部分享受的优惠金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ReturnDiscounts {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:补发部分享受的优惠金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SendDiscounts {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:补发商品总金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SendFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:理论应退金额(未计算分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShouldReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:处理备注信息
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Remark {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品特性标记(1-7分别对应定制/虚拟/卡券/代销/预售/序列号/需安装)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? GoodsAttribute {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最后修改时间(格式:yyyy-MM-dd HH:mm:ss)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GmtModified {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:记录创建时间(格式:yyyy-MM-dd HH:mm)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GmtCreate {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品条码(国际标准条码)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Barcode {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:销售总金额(=单价*数量)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SellTotal {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:实际退货数量(仓库验收后)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? DeliveryCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:组合装标识(1=是组合装子商品)
|
||||
/// Default:0
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? IsFit {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:赠品标识(1=是赠品 0=正常商品)
|
||||
/// Default:0
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? IsGift {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后退货金额(含订单级优惠分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShareReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后补发金额(含订单级优惠分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShareSendFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最终应退金额(含所有优惠和运费分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShareShouldReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:货品批次信息(JSON格式存储)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsBatchInfoList {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:电商平台子订单编号(如淘宝子订单号)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SourceSubtradeNo {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:次品数量描述(如:5件破损)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string DefectiveAmount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:品牌名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string BrandName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品唯一序列号(用于高端商品追踪)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsSerial {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:平台商品ID(第三方平台商品编码)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string PlatGoodsId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public Guid? JackOrdersId {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -67,6 +67,7 @@
|
||||
<Compile Include="Message\Act\Common\RequestModel.cs" />
|
||||
<Compile Include="Message\Request\JackYun\CreateAndStockinGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\JackYun\CreateAndStockoutGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\JackYun\ReturnChangeGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\JackYun\OrderTradeFullInfoGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\KingDee\BillDelete.cs" />
|
||||
<Compile Include="Message\Request\KingDee\BillSave.cs" />
|
||||
@@ -98,6 +99,7 @@
|
||||
<Compile Include="Model\JackOrdersItem.cs" />
|
||||
<Compile Include="Model\PushKingDeeOrder.cs" />
|
||||
<Compile Include="Model\PushKingDeeOrderItem.cs" />
|
||||
<Compile Include="Model\ReturnChangeGoodsDetail.cs" />
|
||||
<Compile Include="Model\SysWorkprocess.cs" />
|
||||
<Compile Include="Model\WMStoJackyunInventoryMovementView1.cs" />
|
||||
<Compile Include="Model\YTKJTShopParameter.cs" />
|
||||
@@ -109,6 +111,7 @@
|
||||
<Compile Include="Repositories\IPushKingDeeOrderRepository.cs" />
|
||||
<Compile Include="Repositories\IRepository.cs" />
|
||||
<Compile Include="Repositories\IRepository`.cs" />
|
||||
<Compile Include="Repositories\IReturnChangeGoodsDetailRepository.cs" />
|
||||
<Compile Include="Repositories\ISysWorkprocessRepository.cs" />
|
||||
<Compile Include="Repositories\IWMStoJackyunInventoryMovementView1Repository.cs" />
|
||||
<Compile Include="Repositories\IYTKJTShopParameterRepository.cs" />
|
||||
|
||||
@@ -20,5 +20,11 @@ namespace MyCode.Project.Domain.Repositories
|
||||
/// <returns></returns>
|
||||
List<PushOrderListResp> GetPushOrder();
|
||||
|
||||
/// <summary>
|
||||
/// 获取合并后的吉客云订单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
List<PushOrderListResp> GetPushReturnOrder();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<ReturnChangeGoodsDetail>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -288,7 +288,12 @@ namespace MyCode.Project.Infrastructure.Enumeration
|
||||
/// 创建入库申请单并入库
|
||||
/// </summary>
|
||||
[Enum("创建入库申请单并入库", "erp.stock.createandstockin")]
|
||||
CREATEANDSTOCKIN,
|
||||
CREATEANDSTOCKIN,
|
||||
/// <summary>
|
||||
/// 分页查询退换补发单(新)
|
||||
/// </summary>
|
||||
[Enum("分页查询退换补发单(新)", "ass-business.returnchange.fullinfoget")]
|
||||
RETURNCHANGE,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,340 @@
|
||||
using MyCode.Project.Infrastructure.Common;
|
||||
using NPOI.POIFS.FileSystem;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Infrastructure.JackYun
|
||||
{
|
||||
/// <summary>
|
||||
/// http 接口类
|
||||
/// </summary>
|
||||
public class JackyunOpenHttpUtils
|
||||
{
|
||||
# region 变量
|
||||
|
||||
/// <summary>
|
||||
/// 并发控制锁对象
|
||||
/// </summary>
|
||||
private static readonly Object __LOCK__ = new Object();
|
||||
/// <summary>
|
||||
/// 在吉客云开放平台上申请的Appekey
|
||||
/// </summary>
|
||||
private const string APPKEY = "71030238";//"21578653";
|
||||
/// <summary>
|
||||
/// 在吉客云开放平台上申请的AppeSecret
|
||||
/// </summary>
|
||||
private const string APPSECRET = "0fbe36cc4308405cacadf516338be4c8";// "d6ea919cb75a44879fcdbea211066b9c";
|
||||
private const string customerJackyunUser = "887868"; //吉客云号
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
private const string Token = "c421527ef46ae6b3654fe73fef13c3e0";
|
||||
/// <summary>
|
||||
/// 吉客云开放平台网关
|
||||
/// </summary>
|
||||
private const string GATEWAY = "https://open.jackyun.com/open/openapi/do";
|
||||
//private const string GATEWAY = "http://localhost:9090/open/openapi/do";
|
||||
#endregion
|
||||
|
||||
#region 供外部调用的 请求开放平台的http Post方法
|
||||
/// <summary>
|
||||
/// 请求开放平台的Post方法
|
||||
/// </summary>
|
||||
/// <param name="method">方法名</param>
|
||||
/// <param name="version">版本号</param>
|
||||
/// <param name="bizData">业务参数信息</param>
|
||||
/// <returns></returns>
|
||||
public static string Post(string method, string version, BaseRequestBizData bizData)
|
||||
{
|
||||
// 构造请求参数(name1=value1&name2=value2格式)。
|
||||
var dic = new SortedDictionary<string, string>();
|
||||
dic.Add("method", method);
|
||||
dic.Add("appkey", APPKEY);
|
||||
dic.Add("version", version);
|
||||
dic.Add("contenttype", "json");
|
||||
dic.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
||||
//dic.Add("customerJackyunUser", customerJackyunUser);
|
||||
dic.Add("bizcontent", JsonHelper.ToJson(bizData));
|
||||
|
||||
// 构建待签名的字符串。
|
||||
StringBuilder sbSignData = new StringBuilder(APPSECRET);
|
||||
foreach (var entry in dic)
|
||||
{
|
||||
sbSignData.Append(entry.Key + entry.Value);
|
||||
}
|
||||
sbSignData.Append(APPSECRET);
|
||||
|
||||
string signStr = sbSignData.ToString().ToLower();
|
||||
// 生成签名。
|
||||
dic.Add("sign", MakeMD5(sbSignData.ToString().ToLower(), Encoding.UTF8));
|
||||
|
||||
//构造请求参数(name1=value1&name2=value2格式)
|
||||
StringBuilder sbPostData = new StringBuilder();
|
||||
foreach (var entry in dic)
|
||||
{
|
||||
sbPostData.Append("&").Append(entry.Key).Append("=").Append(entry.Value);
|
||||
}
|
||||
sbPostData.Append("&").Append("token").Append("=").Append(Token);
|
||||
string postDataStr = sbPostData.ToString().Substring(1);
|
||||
LogHelper.Info("postDataStr:"+postDataStr);
|
||||
return postData(GATEWAY, postDataStr);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region MD5方法
|
||||
|
||||
/// <summary>
|
||||
/// 生成MD5码。
|
||||
/// </summary>
|
||||
/// <param name="original">待生成字符串</param>
|
||||
/// <param name="encoding">编码格式</param>
|
||||
/// <returns></returns>
|
||||
public static string MakeMD5(string original, Encoding encoding)
|
||||
{
|
||||
var hashmd5 = new MD5CryptoServiceProvider();
|
||||
byte[] byteOriginal = hashmd5.ComputeHash(encoding.GetBytes(original));
|
||||
StringBuilder ciphertext = new StringBuilder(32);
|
||||
for (int i = 0; i < byteOriginal.Length; i++)
|
||||
{
|
||||
ciphertext.Append(byteOriginal[i].ToString("x").PadLeft(2, '0'));
|
||||
}
|
||||
|
||||
return ciphertext.ToString();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region http 相关方法
|
||||
|
||||
#region http post 请求方法
|
||||
|
||||
/// <summary>
|
||||
/// http post 请求方法。
|
||||
/// </summary>
|
||||
/// <param name="url">路径</param>
|
||||
/// <param name="data">发送的数据(name1=value1&name2=value2)格式</param>
|
||||
/// <returns>HTTP-Post返回结果</returns>
|
||||
public static string postData(string url, string data)
|
||||
{
|
||||
return postData(url, data, Encoding.UTF8, 300000);
|
||||
}
|
||||
|
||||
public static string postData(string url, string postData, Encoding encoding, int timeOut)
|
||||
{
|
||||
string method = "POST";
|
||||
return Request(url, postData, method, null, null, null, timeOut, null, encoding, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 通用请求。
|
||||
/// </summary>
|
||||
/// <param name="url">地址</param>
|
||||
/// <param name="postData">请求数据(当为GET时,自动追加到url中)</param>
|
||||
/// <param name="method">请求方式</param>
|
||||
/// <param name="accept">Accept 标识</param>
|
||||
/// <param name="contentType">ContentType标识</param>
|
||||
/// <param name="host">Host 标识</param>
|
||||
/// <param name="timeout">超时时间</param>
|
||||
/// <param name="headers">请求头部文件</param>
|
||||
/// <param name="spType">安全协议</param>
|
||||
/// <param name="en">字符编码</param>
|
||||
/// <returns>http请求结果</returns>
|
||||
public static string Request(string url, string postData, string method, string accept, string contentType, string host, int timeout, NameValueCollection headers, Encoding en, SecurityProtocolType? spType)
|
||||
{
|
||||
//字符编码。
|
||||
if (null == en)
|
||||
en = Encoding.UTF8;
|
||||
|
||||
//超时时间。
|
||||
if (timeout <= 0)
|
||||
timeout = 60000;
|
||||
|
||||
|
||||
//自动拼接GET请求的URL。
|
||||
if (method.ToUpper().Equals("GET") && !string.IsNullOrEmpty(postData))
|
||||
{
|
||||
if (url.IndexOf("?") > 0)
|
||||
url += "&" + postData;
|
||||
else
|
||||
url += "?" + postData;
|
||||
}
|
||||
|
||||
//创建请求。
|
||||
var request = CreateHttpWebRequest(url, method, accept, contentType, host, timeout, headers, en, spType);
|
||||
|
||||
//如果是非GET,加入POST数据流。
|
||||
if (!method.ToUpper().Equals("GET") && !string.IsNullOrEmpty(postData))
|
||||
WriteBytes(request, postData, en);
|
||||
|
||||
return ResponseString(request, en);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 创建HttpWebRequest对象
|
||||
|
||||
/// <summary>
|
||||
/// 创建HttpWebRequest对象。
|
||||
/// </summary>
|
||||
/// <param name="url">地址</param>
|
||||
/// <param name="method">请求方式(Post Get Put Delete)</param>
|
||||
/// <param name="accept">Accept 标识</param>
|
||||
/// <param name="contentType">ContentType 标识</param>
|
||||
/// <param name="host">Host 标识</param>
|
||||
/// <param name="timeout">超时时间</param>
|
||||
/// <param name="headers">请求头部参数</param>
|
||||
/// <param name="spType">安全协议标识</param>
|
||||
/// <returns>HttpWebRequest</returns>
|
||||
public static HttpWebRequest CreateHttpWebRequest(string url, string method, string accept, string contentType, string host, int timeout, NameValueCollection headers, Encoding en, SecurityProtocolType? spType)
|
||||
{
|
||||
var request = WebRequest.Create(url) as HttpWebRequest;
|
||||
|
||||
request.KeepAlive = false;
|
||||
request.AllowAutoRedirect = true;
|
||||
request.Timeout = timeout;
|
||||
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0";
|
||||
|
||||
//请求方式 默认为Post
|
||||
if (string.IsNullOrEmpty(method))
|
||||
method = "Post";
|
||||
request.Method = method;
|
||||
//Accept 标识 默认text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
|
||||
if (string.IsNullOrEmpty(accept))
|
||||
accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
|
||||
request.Accept = accept;
|
||||
//ContentType 标识 默认"application/x-www-form-urlencoded; charset=" + this.Encode.WebName
|
||||
if (string.IsNullOrEmpty(contentType))
|
||||
contentType = "application/x-www-form-urlencoded; charset=" + en.WebName;
|
||||
request.ContentType = contentType;
|
||||
///Host 标识
|
||||
if (!string.IsNullOrEmpty(host))
|
||||
request.Host = host;
|
||||
|
||||
//头部文件
|
||||
if (headers != null)
|
||||
{
|
||||
foreach (string item in headers.Keys)
|
||||
{
|
||||
//特殊处理,前端将Content-Type加到requestHeaders中,这里进行处理。
|
||||
if (string.Equals(item, "Content-Type", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
request.ContentType = headers[item];
|
||||
continue;
|
||||
}
|
||||
else if (string.Equals(item, "Host", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
request.Host = headers[item];
|
||||
continue;
|
||||
}
|
||||
else if (string.Equals(item, "ProtocolVersion", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
request.ProtocolVersion = string.Equals("Version10", headers[item], StringComparison.CurrentCultureIgnoreCase) ? HttpVersion.Version10 : HttpVersion.Version11;
|
||||
continue;
|
||||
}
|
||||
request.Headers[item] = headers[item];
|
||||
}
|
||||
}
|
||||
|
||||
//Https安全协议
|
||||
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
if (spType != null)
|
||||
ServicePointManager.SecurityProtocol = spType.Value;
|
||||
|
||||
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(delegate { return true; });
|
||||
request.Credentials = CredentialCache.DefaultCredentials;
|
||||
}
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 写入POST请求字节流
|
||||
|
||||
/// <summary>
|
||||
/// 写入POST请求字节流。
|
||||
/// </summary>
|
||||
/// <param name="request">http请求</param>
|
||||
/// <param name="senddate">请求参数</param>
|
||||
/// <param name="en">字符编码</param>
|
||||
private static void WriteBytes(HttpWebRequest request, string postData, Encoding en)
|
||||
{
|
||||
if (null == postData)
|
||||
return;
|
||||
|
||||
var buffer = en.GetBytes(postData);
|
||||
request.ContentLength = buffer.Length;
|
||||
using (var reqStream = request.GetRequestStream())
|
||||
{
|
||||
reqStream.Write(buffer, 0, buffer.Length);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 输出字符串
|
||||
|
||||
/// <summary>
|
||||
/// 输出字符串。
|
||||
/// </summary>
|
||||
/// <param name="request">HttpWebRequest</param>
|
||||
/// <param name="en">字符编码</param>
|
||||
/// <returns>输出字节流</returns>
|
||||
private static string ResponseString(HttpWebRequest request, Encoding en)
|
||||
{
|
||||
using (var res = GetResponse(request))
|
||||
{
|
||||
if (null == en || en == Encoding.UTF32)
|
||||
en = Encoding.GetEncoding(res.CharacterSet);
|
||||
|
||||
using (Stream resStream = res.GetResponseStream())
|
||||
{
|
||||
using (var sr = new StreamReader(resStream, en))
|
||||
{
|
||||
return sr.ReadToEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取网络资源
|
||||
|
||||
/// <summary>
|
||||
/// 获取网络资源的响应。
|
||||
/// </summary>
|
||||
/// <param name="request">http请求对象</param>
|
||||
/// <returns></returns>
|
||||
private static HttpWebResponse GetResponse(HttpWebRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
return (HttpWebResponse)request.GetResponse();
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
var res = (HttpWebResponse)ex.Response;
|
||||
if (res == null)
|
||||
throw;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -85,7 +85,7 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
}
|
||||
sbPostData.Append("&").Append("token").Append("=").Append(Token);
|
||||
string postDataStr = sbPostData.ToString().Substring(1);
|
||||
LogHelper.Info("postDataStr:"+postDataStr);
|
||||
LogHelper.Info("postDataStr:" + postDataStr);
|
||||
return postData(GATEWAY, postDataStr);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,796 @@
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Infrastructure.JackYun
|
||||
{
|
||||
|
||||
|
||||
public class ReturnChangeData
|
||||
{
|
||||
/// <summary>
|
||||
/// 退货订单
|
||||
/// </summary>
|
||||
public List<ReturnChangeListResp> returnChangeList { get; set; }
|
||||
/// <summary>
|
||||
/// 总数(Integer类型,长度4)
|
||||
/// </summary>
|
||||
public int TotalResults { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 每页显示数据量(Integer类型,长度4)
|
||||
/// </summary>
|
||||
public int PageSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前页码(Integer类型,长度4)
|
||||
/// </summary>
|
||||
public int PageIndex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 敏感数据标识(Boolean类型,长度10)
|
||||
/// </summary>
|
||||
public bool SensitiveData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总数(Integer类型,长度100)
|
||||
/// </summary>
|
||||
public int TotalRecords { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分页信息(Object类型,无长度)
|
||||
/// </summary>
|
||||
public PageInfo PageInfo { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 退换补发单结果集合
|
||||
/// </summary>
|
||||
public class ReturnChangeListResp
|
||||
{
|
||||
/// <summary>
|
||||
/// 售后单系统Id
|
||||
/// </summary>
|
||||
public long TradeAfterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后单编号
|
||||
/// </summary>
|
||||
public string ReturnChangeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后单来源(1:手工新建;4:纠纷单;5:Excel导入;6:门店;7:网店下载;8:错漏;9:异常件创建)
|
||||
/// </summary>
|
||||
public int TradeAfterFrom { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后单状态(1000:预入库待确认;1001:待审核;1002:待收货;1003:待结算;1004:已结算待收货;1005:已收货待结算;1007:已完成;1008:已取消;1009:已拒绝;1010:待支付;1014:待退货-待通知退货;1015:待退货-已通知退货;10081:已取消-被合并;10082:已取消-被拆分)
|
||||
/// </summary>
|
||||
public string TradeAfterStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统订单id
|
||||
/// </summary>
|
||||
public string TradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统订单号
|
||||
/// </summary>
|
||||
public string TradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网店订单号
|
||||
/// </summary>
|
||||
public string SourceTradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网点售后单号
|
||||
/// </summary>
|
||||
public string SourceTradeAfterNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库id
|
||||
/// </summary>
|
||||
public long WarehouseId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库编码
|
||||
/// </summary>
|
||||
public string WarehouseCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库名称
|
||||
/// </summary>
|
||||
public string WarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物流公司id
|
||||
/// </summary>
|
||||
public long LogisticId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物流名称
|
||||
/// </summary>
|
||||
public string LogisticName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货仓库id
|
||||
/// </summary>
|
||||
public long SendWarehouseId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货仓库名称
|
||||
/// </summary>
|
||||
public string SendWarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物流单号
|
||||
/// </summary>
|
||||
public string MainPostid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道id
|
||||
/// </summary>
|
||||
public long ShopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道
|
||||
/// </summary>
|
||||
public string ShopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道Code
|
||||
/// </summary>
|
||||
public string ShopCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 公司ID
|
||||
/// </summary>
|
||||
public long CompanyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 公司名称
|
||||
/// </summary>
|
||||
public string CompanyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原订单渠道id
|
||||
/// </summary>
|
||||
public long SourceShopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原订单渠道
|
||||
/// </summary>
|
||||
public string SourceShopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后原因描述
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 取消售后原因描述
|
||||
/// </summary>
|
||||
public string CancelReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拒绝售后原因描述
|
||||
/// </summary>
|
||||
public string RejectReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 问题描述
|
||||
/// </summary>
|
||||
public string ProbleamDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户备注
|
||||
/// </summary>
|
||||
public string CustomerRemark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客服备注
|
||||
/// </summary>
|
||||
public string ServiceRemark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核时间
|
||||
/// </summary>
|
||||
public string AuditTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间
|
||||
/// </summary>
|
||||
public string DeliveryTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货时间
|
||||
/// </summary>
|
||||
public string ConsignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品摘要
|
||||
/// </summary>
|
||||
public string Goodslist { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标记id
|
||||
/// </summary>
|
||||
public string FlagIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标记名称
|
||||
/// </summary>
|
||||
public string FlagNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 登记人id
|
||||
/// </summary>
|
||||
public long RegisterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 登记人
|
||||
/// </summary>
|
||||
public string Registrant { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 责任人code
|
||||
/// </summary>
|
||||
public long ResponsiblePersonCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 责任人描述
|
||||
/// </summary>
|
||||
public string ResponsiblePersonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 三方仓入库单号
|
||||
/// </summary>
|
||||
public string StockInNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货单号
|
||||
/// </summary>
|
||||
public string DeliveryNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货经办人
|
||||
/// </summary>
|
||||
public string DeliveryPerson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核人id
|
||||
/// </summary>
|
||||
public long AuditorId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核人
|
||||
/// </summary>
|
||||
public string Auditor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 源仓库id
|
||||
/// </summary>
|
||||
public long SourceWarehouseId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 源仓库名称
|
||||
/// </summary>
|
||||
public string SourceWarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单摘要
|
||||
/// </summary>
|
||||
public string TradeOrderSummary { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 冻结标记(1:冻结;0:未冻结)
|
||||
/// </summary>
|
||||
public int IsFreeze { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 冻结原因
|
||||
/// </summary>
|
||||
public string FreezeReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 建单时间
|
||||
/// </summary>
|
||||
public string GmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最后修改时间
|
||||
/// </summary>
|
||||
public string GmtModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原销售单状态
|
||||
/// </summary>
|
||||
public int SourceTradeStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货货品信息
|
||||
/// </summary>
|
||||
public List<JkyReturnChangeGoodsDetail> ReturnChangeGoodsDetail { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 售后类型(String类型,无长度)
|
||||
/// </summary>
|
||||
public string TradeAfterType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后类型说明(String类型,无长度)
|
||||
/// </summary>
|
||||
public string TradeAfterTypeExplain { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class PageInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 当前页码
|
||||
/// </summary>
|
||||
public int pageIndex { get; set; }
|
||||
/// <summary>
|
||||
/// 每页显示数据量
|
||||
/// </summary>
|
||||
public int pageSize { get; set; }
|
||||
/// <summary>
|
||||
/// 排序字段
|
||||
/// </summary>
|
||||
public string sortOrder { get; set; }
|
||||
/// <summary>
|
||||
/// 倒序或升序文本
|
||||
/// </summary>
|
||||
public string sortField { get; set; }
|
||||
/// <summary>
|
||||
/// 总数(
|
||||
/// </summary>
|
||||
public int total { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 货品信息
|
||||
/// </summary>
|
||||
public class JkyReturnChangeGoodsDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 售后订单id
|
||||
/// </summary>
|
||||
public long TradeAfterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品id
|
||||
/// </summary>
|
||||
public long SubTradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号id
|
||||
/// </summary>
|
||||
public long GoodsId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号
|
||||
/// </summary>
|
||||
public string GoodsNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品名称
|
||||
/// </summary>
|
||||
public string GoodsName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格id
|
||||
/// </summary>
|
||||
public long SpecId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格名称
|
||||
/// </summary>
|
||||
public string SpecName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售单数量
|
||||
/// </summary>
|
||||
public decimal SellCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后原因描述
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货数量
|
||||
/// </summary>
|
||||
public decimal ReturnCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货金额
|
||||
/// </summary>
|
||||
public decimal ReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货数量
|
||||
/// </summary>
|
||||
public decimal SendCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货优惠
|
||||
/// </summary>
|
||||
public decimal ReturnDiscounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货优惠
|
||||
/// </summary>
|
||||
public decimal SendDiscounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货金额
|
||||
/// </summary>
|
||||
public decimal SendFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 应退金额
|
||||
/// </summary>
|
||||
public decimal ShouldReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品业务特性(1:定制生产(转生产后发货);2:虚拟物品/服务(无仓储作业);3:卡券(结算冲抵);4:代销(转供应商发货);5:预售品(转预售单);6:序列号管理(单品跟踪);7:需上门安装(发货后转工单))
|
||||
/// </summary>
|
||||
public int GoodsAttribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改时间
|
||||
/// </summary>
|
||||
public string GmtModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退换单创建时间
|
||||
/// </summary>
|
||||
public string GmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 条码
|
||||
/// </summary>
|
||||
public string Barcode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// </summary>
|
||||
public decimal SellTotal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 实退数量
|
||||
/// </summary>
|
||||
public decimal DeliveryCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组合装标记(1:是组合装;0:不是组合装)
|
||||
/// </summary>
|
||||
public int IsFit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 赠品标记(1:是赠品;0:不是赠品)
|
||||
/// </summary>
|
||||
public int IsGift { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分摊后退货金额
|
||||
/// </summary>
|
||||
public decimal ShareReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分摊后发货金额
|
||||
/// </summary>
|
||||
public decimal ShareSendFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分摊后应退金额
|
||||
/// </summary>
|
||||
public decimal ShareShouldReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品批次信息
|
||||
/// </summary>
|
||||
public List<GoodsBatchInfo> GoodsBatchInfoList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网店子订单编号
|
||||
/// </summary>
|
||||
public string SourceSubtradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 次品数量
|
||||
/// </summary>
|
||||
public string DefectiveAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 品牌
|
||||
/// </summary>
|
||||
public string BrandName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 唯一码
|
||||
/// </summary>
|
||||
public string GoodsSerial { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 平台商品ID
|
||||
/// </summary>
|
||||
public string PlatGoodsId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 货品批次信息
|
||||
/// </summary>
|
||||
public class GoodsBatchInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 批次号
|
||||
/// </summary>
|
||||
public string BatchNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次数量
|
||||
/// </summary>
|
||||
public decimal BatchAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 生产日期
|
||||
/// </summary>
|
||||
public string ProductionDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 到期日期
|
||||
/// </summary>
|
||||
public string ExpirationDate { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 售后订单主表
|
||||
/// </summary>
|
||||
public class TradeAfter
|
||||
{
|
||||
/// <summary>
|
||||
/// 售后订单ID
|
||||
/// </summary>
|
||||
public long TradeAfterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品信息列表
|
||||
/// </summary>
|
||||
public List<TradeAfterGoods> GoodsInfoList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算信息
|
||||
/// </summary>
|
||||
public ReturnChangePay PaymentInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收件人信息
|
||||
/// </summary>
|
||||
public ReturnChangeReceiver ReceiverInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 补发销售单号列表
|
||||
/// </summary>
|
||||
public List<string> SendTradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货销售单号列表
|
||||
/// </summary>
|
||||
public List<string> ReturnTradeNo { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 售后订单货品信息
|
||||
/// </summary>
|
||||
public class TradeAfterGoods
|
||||
{
|
||||
/// <summary>
|
||||
/// 货品ID
|
||||
/// </summary>
|
||||
public long SubTradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号ID
|
||||
/// </summary>
|
||||
public long GoodsId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号
|
||||
/// </summary>
|
||||
public string GoodsNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品名称
|
||||
/// </summary>
|
||||
public string GoodsName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格ID
|
||||
/// </summary>
|
||||
public long SpecId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格名称
|
||||
/// </summary>
|
||||
public string SpecName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售单数量
|
||||
/// </summary>
|
||||
public decimal SellCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后原因描述
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货数量
|
||||
/// </summary>
|
||||
public decimal ReturnCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货金额
|
||||
/// </summary>
|
||||
public decimal ReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货数量
|
||||
/// </summary>
|
||||
public decimal SendCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货金额
|
||||
/// </summary>
|
||||
public decimal SendFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 应退金额
|
||||
/// </summary>
|
||||
public decimal ShouldReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品批次信息列表
|
||||
/// </summary>
|
||||
public List<GoodsBatchInfo> GoodsBatchInfoList { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 结算信息
|
||||
/// </summary>
|
||||
public class ReturnChangePay
|
||||
{
|
||||
/// <summary>
|
||||
/// 退货金额
|
||||
/// </summary>
|
||||
public decimal ReturnAccounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货金额
|
||||
/// </summary>
|
||||
public decimal SendAccounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 应退合计
|
||||
/// </summary>
|
||||
public decimal ReturnTotal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算币种
|
||||
/// </summary>
|
||||
public string SettlementCurrency { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算币种code
|
||||
/// </summary>
|
||||
public string SettlementCurrencyCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款状态(0:未付款;1:部分付款;2:已付款)
|
||||
/// </summary>
|
||||
public int PayStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款金额
|
||||
/// </summary>
|
||||
public decimal PayAccounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款时间
|
||||
/// </summary>
|
||||
public string PayTime { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 收件人信息
|
||||
/// </summary>
|
||||
public class ReturnChangeReceiver
|
||||
{
|
||||
/// <summary>
|
||||
/// 客户名称
|
||||
/// </summary>
|
||||
public string CustomerName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户账户
|
||||
/// </summary>
|
||||
public string CustomerAccount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮编
|
||||
/// </summary>
|
||||
public string Zip { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 国家
|
||||
/// </summary>
|
||||
public string Country { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 省
|
||||
/// </summary>
|
||||
public string State { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 城市
|
||||
/// </summary>
|
||||
public string City { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 区县
|
||||
/// </summary>
|
||||
public string District { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 街道
|
||||
/// </summary>
|
||||
public string Town { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -193,9 +193,15 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// </summary>
|
||||
public int apiType { get; set; }
|
||||
/// <summary>
|
||||
/// 货品详情
|
||||
/// 销售货品详情
|
||||
/// </summary>
|
||||
public List<GoodsDetailItem> goodsDetail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货货品信息
|
||||
/// </summary>
|
||||
public List<JkyReturnChangeGoodsDetail> ReturnChangeGoodsDetail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统编码
|
||||
/// </summary>
|
||||
@@ -247,7 +253,7 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
public string scrollId { get; set; }
|
||||
}
|
||||
|
||||
public class TradeFullinfogetResp
|
||||
public class TradeFullinfogetResp<T>
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
@@ -256,7 +262,7 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public TradeFullinfogetData data { get; set; }
|
||||
public T data { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
@@ -267,6 +267,7 @@
|
||||
<Compile Include="JackYun\EnumAttribute.cs" />
|
||||
<Compile Include="JackYun\GoodsDetail.cs" />
|
||||
<Compile Include="JackYun\JackyunResponse.cs" />
|
||||
<Compile Include="JackYun\ReturnChangeListResp.cs" />
|
||||
<Compile Include="JackYun\TradeFullinfogetResp.cs" />
|
||||
<Compile Include="PayModels\ExtendedGateway.cs" />
|
||||
<Compile Include="PayModels\FuiouBarcodepay.cs" />
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace MyCode.Project.Repositories
|
||||
FROM [JackOrders] a WITH (NOLOCK)
|
||||
LEFT JOIN [dbo].[JackOrdersItem] b WITH (NOLOCK)
|
||||
ON a.id = b.JackOrdersId
|
||||
WHERE a.status = 0
|
||||
WHERE a.status = 0 and TradeType in (1,7) and sellCount <> 0
|
||||
GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo], [goodsId], [barcode] ,[warehouseId], [TradeType],Unit";
|
||||
var list = this.SelectList<PushOrderListResp>(sql);
|
||||
return list;
|
||||
@@ -43,5 +43,31 @@ GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [s
|
||||
#endregion
|
||||
|
||||
|
||||
#region GetPushOrder(获取合并后的吉客云订单)
|
||||
/// <summary>
|
||||
/// 获取合并后的吉客云订单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<PushOrderListResp> GetPushReturnOrder()
|
||||
{
|
||||
string sql = $@"
|
||||
SELECT [shopCode], [shopName], [shopId], [warehouseName], [warehouseCode],
|
||||
[status], CONVERT(NVARCHAR(30),[consignTime],23) [consignTime],
|
||||
[goodsNo], [goodsId],SUM([sellTotal]*-1) [sellTotal],
|
||||
SUM([returnCount]*-1) [sellCount], SUM([ShareShouldReturnFee]*-1) AS [divideSellTotal],
|
||||
[barcode], [TradeType] ,[warehouseId],Unit
|
||||
FROM [JackOrders] a WITH (NOLOCK)
|
||||
LEFT JOIN [dbo].[ReturnChangeGoodsDetail] b WITH (NOLOCK)
|
||||
ON a.id = b.JackOrdersId
|
||||
WHERE a.status = 0 and [TradeType]=8 and returnCount <> 0
|
||||
GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo],
|
||||
[goodsId], [barcode] ,[warehouseId], [TradeType],Unit
|
||||
ORDER BY [shopCode],[consignTime] desc,[TradeType]
|
||||
";
|
||||
var list = this.SelectList<PushOrderListResp>(sql);
|
||||
return list;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -91,6 +91,7 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="PushKingDeeOrderItemRepository.cs" />
|
||||
<Compile Include="PushKingDeeOrderRepository.cs" />
|
||||
<Compile Include="ReturnChangeGoodsDetailRepository.cs" />
|
||||
<Compile Include="SysWorkprocessRepository.cs" />
|
||||
<Compile Include="WMStoJackyunInventoryMovementView1Repository.cs" />
|
||||
<Compile Include="YTKJTShopParameterRepository.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<ReturnChangeGoodsDetail>, IReturnChangeGoodsDetailRepository
|
||||
{
|
||||
public ReturnChangeGoodsDetailRepository(MyCodeSqlSugarClient context) : base(context)
|
||||
{ }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
<!-- 在第三方系统登录授权页面点击“生成测试链接”按钮后即可查看 -->
|
||||
|
||||
<add key="X-KDApi-AcctID" value="65229a397eb2e2" />
|
||||
<add key="X-KDApi-AcctID" value="66d918bdc00906" />
|
||||
|
||||
<!-- 第三方系统登录授权的 集成用户名称 -->
|
||||
|
||||
@@ -39,15 +39,15 @@
|
||||
|
||||
<!-- 若第三方系统登录授权已勾选“允许全部用户登录”,则无以上限制 -->
|
||||
|
||||
<add key="X-KDApi-UserName" value="demo" />
|
||||
<add key="X-KDApi-UserName" value="黄志荣" />
|
||||
|
||||
<!-- 第三方系统登录授权的 应用ID -->
|
||||
|
||||
<add key="X-KDApi-AppID" value="325373_Q7eD7+GKTkCWRUzEQ/XD1+ytTK692smv" />
|
||||
<add key="X-KDApi-AppID" value="400925_wYdO4+jLQMDf091IQYTB48WNRjSaXKLu" />
|
||||
|
||||
<!-- 第三方系统登录授权的 应用密钥 -->
|
||||
|
||||
<add key="X-KDApi-AppSec" value="e0258153efb04c2a911a4ac20639e31a" />
|
||||
<add key="X-KDApi-AppSec" value="41dfa53b0e634b72b01e303d14fa6e35" />
|
||||
|
||||
<!-- 账套语系,默认2052 -->
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
<!-- 服务Url地址(私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾)-->
|
||||
|
||||
<add key="X-KDApi-ServerUrl" value="http://127.0.0.1/k3Cloud/" />
|
||||
<add key="X-KDApi-ServerUrl" value="http://192.168.116.83/k3Cloud/" />
|
||||
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<!--当前环境,1:生产环境 0:开发环境-->
|
||||
<add key="Env" value="0" />
|
||||
<!--因公司IP时常变化,先用13跳转-->
|
||||
<add key="RedisAddress" value="" />
|
||||
<add key="RedisAddress" value="19VhOco9ayRaH41syZnWYn2S46x3FcKIjYKgr6K3L/tu7vmlJvhB0CKrIBfMVl1Y" />
|
||||
<!--缓存前缀-->
|
||||
<add key="CachePrefix" value="lxm-report:dev:" />
|
||||
<!--jwtkey-->
|
||||
|
||||
@@ -22,5 +22,13 @@ namespace MyCode.Project.Services
|
||||
/// <exception cref="BaseException"></exception>
|
||||
List<TradesItem> testTradeFullInfoGet(DateTime now);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 退货查询
|
||||
/// </summary>
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
List<TradesItem> GetReturnChangeList(DateTime now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MyCode.Project.Domain.Message.Response.Common;
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using MyCode.Project.Repositories.Common;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -18,5 +19,25 @@ namespace MyCode.Project.Services
|
||||
/// <returns></returns>
|
||||
|
||||
string GetAndMergeJackYunOrder(string now);
|
||||
|
||||
/// <summary>
|
||||
/// 调度运行抓吉客云退货订单
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
void TaskGetReturnChangeList(string now);
|
||||
|
||||
/// <summary>
|
||||
/// 把吉客云退货订单存进本地数据库
|
||||
/// </summary>
|
||||
/// <param name="trades"></param>
|
||||
|
||||
void SetReturnOrder(List<TradesItem> trades);
|
||||
|
||||
/// <summary>
|
||||
/// 合并吉客云退货订单到新表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
|
||||
string GetAndMergeJackReturnYunOrder(string now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
|
||||
}
|
||||
|
||||
DateTime startTime = DateTime.Parse("2025-09-01");
|
||||
DateTime startTime = DateTime.Parse("2025-08-01");
|
||||
/// <summary>
|
||||
/// 请求开放平台服务
|
||||
/// </summary>
|
||||
@@ -85,7 +85,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
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.TradeStatus = 1010;
|
||||
requestBizData.TradeType = 1;
|
||||
requestBizData.SourceTradeNos = "";
|
||||
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
|
||||
@@ -106,7 +106,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
if (response.code == "200")
|
||||
{
|
||||
var orderjson = JsonHelper.ToJson(response.result);
|
||||
var list1 = JsonHelper.ToObject<TradeFullinfogetResp>(orderjson);
|
||||
var list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
||||
|
||||
|
||||
int pageIndex = 1;
|
||||
@@ -122,7 +122,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
if (response.code == "200")
|
||||
{
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp>(orderjson);
|
||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -139,7 +139,131 @@ namespace MyCode.Project.Services.Implementation
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 退货查询
|
||||
/// <summary>
|
||||
/// 退货查询
|
||||
/// </summary>
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
public List<TradesItem> GetReturnChangeList(DateTime now)
|
||||
{
|
||||
|
||||
int total = 1;
|
||||
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
|
||||
ReturnChangeGetRequestBizData requestBizData = new ReturnChangeGetRequestBizData();
|
||||
//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.StartDeliveryDate = value;
|
||||
requestBizData.EndDeliveryDate = value1;
|
||||
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.StartModified = null;// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
//requestBizData.TradeStatus = 1010;
|
||||
|
||||
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
|
||||
List<int> TradeTypeList = new List<int>();
|
||||
TradeTypeList.Add(1005);
|
||||
List<TradesItem> reslut = new List<TradesItem>();
|
||||
List<ReturnChangeListResp> trades = new List<ReturnChangeListResp>();
|
||||
TradeTypeList.ForEach(ty =>
|
||||
{
|
||||
requestBizData.ProcessStatusList = "";
|
||||
string lggl = JsonHelper.ToJson(requestBizData);
|
||||
LogHelper.Info(lggl);
|
||||
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.RETURNCHANGE).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<ReturnChangeData>>(orderjson);
|
||||
|
||||
|
||||
int pageIndex = 1;
|
||||
int TotalResults = list1.data.TotalResults;
|
||||
while (requestBizData.PageIndex* requestBizData.PageSize< TotalResults)
|
||||
{
|
||||
//list1.data.returnChangeList.ForEach(h => h.TradeType = ty);
|
||||
|
||||
trades.AddRange(list1.data.returnChangeList);
|
||||
requestBizData.PageIndex = pageIndex;
|
||||
pageIndex++;
|
||||
Thread.Sleep(100);
|
||||
response = Call(EnumAttribute.GetAttribute(ApiEnum.RETURNCHANGE).Value, "1.0", requestBizData);
|
||||
if (response.code == "200")
|
||||
{
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp<ReturnChangeData>>(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();
|
||||
//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.TradeAfterId.ToString(),
|
||||
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.DeliveryTime) ? (DateTime?)DateTime.Parse(rc.DeliveryTime) : null,
|
||||
payTime = null, // 可根据需要设置
|
||||
tradeStatus = int.Parse(rc.TradeAfterStatus), // 注意类型转换
|
||||
warehouseId = rc.WarehouseId.ToString(),
|
||||
shopTypeCode = "",
|
||||
apiType = -114, // 默认值
|
||||
ReturnChangeGoodsDetail = rc.ReturnChangeGoodsDetail
|
||||
}).ToList();
|
||||
|
||||
|
||||
return reslut;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
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 MyCode.Project.Repositories.Common;
|
||||
using MyCode.Project.Services.IServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
@@ -24,6 +20,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
private IPushKingDeeOrderRepository _pushKingDeeOrderRepository;
|
||||
private IPushKingDeeOrderItemRepository _pushKingDeeOrderItemRepository;
|
||||
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
||||
private IReturnChangeGoodsDetailRepository _ReturnChangeGoodsDetailRepository;
|
||||
|
||||
private IWorkProcessService _workProcessService;
|
||||
|
||||
public JackYunTaskService(IJackOrdersRepository jackOrdersRepository
|
||||
@@ -31,6 +29,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
, IPushKingDeeOrderRepository pushKingDeeOrderRepository
|
||||
, IPushKingDeeOrderItemRepository pushKingDeeOrderItemRepository
|
||||
, IYTKJTShopParameterRepository yTKJTShopParameterRepository
|
||||
, IReturnChangeGoodsDetailRepository returnChangeGoodsDetailRepository
|
||||
, IJackYunService jackYunService,
|
||||
IWorkProcessService workProcessService)
|
||||
{
|
||||
@@ -39,6 +38,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
_pushKingDeeOrderItemRepository = pushKingDeeOrderItemRepository;
|
||||
_jackOrdersRepository = jackOrdersRepository;
|
||||
_jackOrdersItemRepository = jackOrdersItemRepository;
|
||||
_ReturnChangeGoodsDetailRepository = returnChangeGoodsDetailRepository;
|
||||
_jackYunService = jackYunService;
|
||||
_workProcessService = workProcessService;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
list.ForEach(sheet =>
|
||||
{
|
||||
if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId
|
||||
&& t.ConsignTime.Value.ToString("yyyy-MM-dd")==sheet.ConsignTime).Count() > 0)
|
||||
&& t.ConsignTime.Value.ToString("yyyy-MM-dd")==sheet.ConsignTime && t.TradeType != 8).Count() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -178,7 +178,146 @@ namespace MyCode.Project.Services.Implementation
|
||||
|
||||
return JsonHelper.ToJson(list);
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
#region TaskGetReturnChangeList(调度运行抓吉客云退货订单)
|
||||
/// <summary>
|
||||
/// 调度运行抓吉客云退货订单
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
public void TaskGetReturnChangeList(string now)
|
||||
{
|
||||
DateTime runTime = DateTime.Parse(now);
|
||||
var list = _jackYunService.GetReturnChangeList(runTime);
|
||||
SetReturnOrder(list);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetAndMergeJackReturnYunOrder", "合并吉客云退货订单到新表", now, 1);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region SetReturnOrder(把吉客云退货订单存进本地数据库)
|
||||
/// <summary>
|
||||
/// 把吉客云退货订单存进本地数据库
|
||||
/// </summary>
|
||||
/// <param name="trades"></param>
|
||||
[TransactionCallHandler]
|
||||
public void SetReturnOrder(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<ReturnChangeGoodsDetail> ordersItemList = new List<ReturnChangeGoodsDetail>();
|
||||
var shopConfig = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
var shopCodeList = shopConfig.Select(t => t.FSHOPCODE).ToList();
|
||||
|
||||
|
||||
trades.ForEach(t =>
|
||||
{
|
||||
if (shopCodeList.Contains(t.shopCode))
|
||||
{
|
||||
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.ReturnChangeGoodsDetail != null)
|
||||
{
|
||||
var items = AutoMapperHelper.AutoMappToList< ReturnChangeGoodsDetail, JkyReturnChangeGoodsDetail>(t.ReturnChangeGoodsDetail);
|
||||
items.ForEach(k =>
|
||||
{
|
||||
k.JackOrdersId = jackOrders.Id;
|
||||
});
|
||||
jackOrdersList.Add(jackOrders);
|
||||
ordersItemList.AddRange(items);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (jackOrdersList.Count > 0)
|
||||
{
|
||||
_jackOrdersRepository.Add(jackOrdersList);
|
||||
_ReturnChangeGoodsDetailRepository.Add(ordersItemList);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region GetAndMergeJackReturnYunOrder(合并吉客云退货订单到新表)
|
||||
/// <summary>
|
||||
/// 合并吉客云退货订单到新表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[TransactionCallHandler]
|
||||
public string GetAndMergeJackReturnYunOrder(string now)
|
||||
{
|
||||
var list = _jackOrdersItemRepository.GetPushReturnOrder();
|
||||
List<string> mesg = new List<string>();
|
||||
|
||||
var shopParemList = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
List<PushKingDeeOrderItem> pushKingDeeOrderItems = new List<PushKingDeeOrderItem>();
|
||||
List<PushKingDeeOrder> pushKingDeeOrders = new List<PushKingDeeOrder>();
|
||||
list.ForEach(sheet =>
|
||||
{
|
||||
if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId
|
||||
&& t.ConsignTime.Value.ToString("yyyy-MM-dd") == sheet.ConsignTime && t.TradeType==8).Count() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PushKingDeeOrder pushKingDeeOrder = new PushKingDeeOrder();
|
||||
pushKingDeeOrder = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrder, PushOrderListResp>(sheet);
|
||||
pushKingDeeOrder.Id = Guid.NewGuid();
|
||||
pushKingDeeOrder.CreateTime = DateTime.Now;
|
||||
pushKingDeeOrder.UpdateTime = DateTime.Now;
|
||||
pushKingDeeOrders.Add(pushKingDeeOrder);
|
||||
|
||||
var tempList = list.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId && sheet.ConsignTime == t.ConsignTime).ToList();
|
||||
tempList.ForEach(item =>
|
||||
{
|
||||
PushKingDeeOrderItem pushKingDeeOrderItem = new PushKingDeeOrderItem();
|
||||
pushKingDeeOrderItem = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrderItem, PushOrderListResp>(item);
|
||||
pushKingDeeOrderItem.PushKingDeeOrderId = pushKingDeeOrder.Id;
|
||||
pushKingDeeOrderItem.Id = Guid.NewGuid();
|
||||
pushKingDeeOrderItems.Add(pushKingDeeOrderItem);
|
||||
});
|
||||
//var shopParem = shopParemList.Where(h => h.FSHOPCODE == sheet.ShopId.Value.ToString()&& h.FWAREHOUSE.Value.ToString()==sheet.WarehouseId ).FirstOrDefault();
|
||||
//if (shopParem != null)
|
||||
//{
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// mesg.Add($@"店铺{sheet.ShopName}没有配置店铺参数或者配置的仓库不是 {sheet.WarehouseCode}");
|
||||
//}
|
||||
});
|
||||
if (pushKingDeeOrders.Count > 0)
|
||||
{
|
||||
var oldList = _jackOrdersRepository.Queryable().Where(t => t.Status == 0).ToList();
|
||||
oldList.ForEach(t =>
|
||||
{
|
||||
if (pushKingDeeOrders.Count(h => h.ShopId == t.ShopId && t.WarehouseId == h.WarehouseId) > 0)
|
||||
{
|
||||
t.Status = 1;
|
||||
t.UpdateTime = DateTime.Now;
|
||||
}
|
||||
});
|
||||
oldList = oldList.Where(t => t.Status == 1).ToList();
|
||||
_jackOrdersRepository.Update(oldList);
|
||||
_pushKingDeeOrderRepository.Add(pushKingDeeOrders);
|
||||
_pushKingDeeOrderItemRepository.Add(pushKingDeeOrderItems);
|
||||
}
|
||||
pushKingDeeOrders.ForEach(t =>
|
||||
{
|
||||
_workProcessService.Add<IOrderPushService>(this.MerchantId, "PushOrderToKingDee", "推送退货订单到云星空或者WMS", t.Id, 1);
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
|
||||
return JsonHelper.ToJson(list);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,8 +143,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
CustomerId = param.FCANGKUHUOZHU, // 货主ID
|
||||
Sku = n.Barcode,
|
||||
Barcode = n.Barcode,
|
||||
OrderQty = n.SellCount,
|
||||
OrderPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10),
|
||||
OrderQty =Math.Abs( n.SellCount),
|
||||
OrderPrice = Math.Abs( Math.Round(n.DivideSellTotal /(n.SellCount), 10)),
|
||||
ItemId = n.GoodsNo, // 商品
|
||||
LocationId = param.FWAREHOUSECODE,
|
||||
CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
|
||||
@@ -44,6 +44,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
DateTime now = DateTime.Now.Date;
|
||||
_workProcessService.Add<IWMSService>(this.MerchantId, "GetList", "抓取WMS订单到本地数据库", now.AddDays(-3).ToString("yyyy-MM-dd"), 1);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "TaskGetJackYunOrder", "调度运行抓吉客云销售订单", now.ToString("yyyy-MM-dd"), 1);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "TaskGetReturnChangeList", "调度运行抓吉客云退货订单", now.ToString("yyyy-MM-dd"), 1);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ using MyCode.Project.Services.Implementation;
|
||||
using MyCode.Project.Services.IServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace MyCode.Project.WebApi.Controllers
|
||||
@@ -54,6 +55,19 @@ namespace MyCode.Project.WebApi.Controllers
|
||||
#endregion
|
||||
|
||||
|
||||
#region 调度运行抓吉客云退货订单
|
||||
|
||||
/// <summary>
|
||||
/// 调度运行抓吉客云退货订单
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public void TaskGetReturnChangeList(string now)
|
||||
{
|
||||
_jackYunTaskService.TaskGetReturnChangeList(now);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 抓WMS订单
|
||||
/// <summary>
|
||||
/// 抓WMS订单
|
||||
@@ -78,6 +92,46 @@ namespace MyCode.Project.WebApi.Controllers
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 合并吉客云退货订单到新表
|
||||
/// <summary>
|
||||
/// 合并吉客云退货订单到新表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public string GetAndMergeJackReturnYunOrder(string now)
|
||||
{
|
||||
return _jackYunTaskService.GetAndMergeJackReturnYunOrder(now);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 替换或添加URL中的端口号(支持指定协议)
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <param name="newPort"></param>
|
||||
/// <param name="protocol"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public string ReplaceOrAddPortAdvanced(string input, string newPort, string protocol = "http")
|
||||
{
|
||||
// 构建协议特定的模式
|
||||
string protocolPattern = string.IsNullOrEmpty(protocol) ? @"(https?|ftp)://" : $"{protocol}://";
|
||||
|
||||
// 匹配已有端口号
|
||||
string patternWithPort = $@"({protocolPattern}[^/]+?):\d+";
|
||||
// 匹配没有端口号
|
||||
string patternWithoutPort = $@"({protocolPattern}[^/:/]+)(?=/|$)";
|
||||
|
||||
// 先尝试替换已有端口号
|
||||
string result = Regex.Replace(input, patternWithPort, $"$1:{newPort}");
|
||||
|
||||
// 如果没有端口号被替换,尝试添加端口号
|
||||
if (result == input)
|
||||
result = Regex.Replace(input, patternWithoutPort, $"$1:{newPort}");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//#region 订单查询
|
||||
|
||||
|
||||
263
Reportapi/MyCode.Project.WebApi/Web - 副本.config
Normal file
263
Reportapi/MyCode.Project.WebApi/Web - 副本.config
Normal file
@@ -0,0 +1,263 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
For more information on how to configure your ASP.NET application, please visit
|
||||
https://go.microsoft.com/fwlink/?LinkId=301879
|
||||
-->
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
|
||||
</configSections>
|
||||
<system.webServer>
|
||||
<httpProtocol>
|
||||
<customHeaders>
|
||||
<add name="Access-Control-Allow-Origin" value="*" />
|
||||
<add name="Access-Control-Allow-Methods" value="*" />
|
||||
<add name="Access-Control-Allow-Headers" value="Content-type,Authorization,*" />
|
||||
<add name="Access-Control-Request-Headers" value="*" />
|
||||
<add name="Access-Control-Request-Method" value="*" />
|
||||
<add name="Access-Control-Allow-Credentials" value="*" />
|
||||
<add name="Access-Control-Max-Age" value="1728000" />
|
||||
</customHeaders>
|
||||
</httpProtocol>
|
||||
</system.webServer>
|
||||
<connectionStrings>
|
||||
<!-- 数据库测试-->
|
||||
|
||||
<!--<add name="WMSConn" connectionString="Data Source=192.168.221.155; Initial Catalog=ESB_DTC; User ID=app_k3;Password=Postman2025k3; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
<add name="YunTongConn" connectionString="Data Source=192.168.116.209; Initial Catalog=K3ZMFS_0905; User ID=sa;Password=Ac661978!; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" 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=yuntong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
|
||||
<add name="YunTongConn" connectionString="Data Source=172.100.1.148; Initial Catalog=AIS20221018145647; User ID=sa;Password=YT3059**!@#; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
<add name="WMSConn" connectionString="Data Source=172.16.18.87; Initial Catalog=ESB_DTC; User ID=app_k3;Password=Postman2025k3; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
|
||||
|
||||
<!--测试MYSQL内网-->
|
||||
<!--<add name="MasterConn" connectionString="" providerName="MySql.Data.MySqlClient" />-->
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
<!-- 当前使用的 账套ID(即数据中心id) -->
|
||||
<!-- 第三方系统登录授权的账套ID(即open.kingdee.com网站的第三方系统登录授权中的数据中心标识)-->
|
||||
<!-- 在第三方系统登录授权页面点击“生成测试链接”按钮后即可查看 -->
|
||||
<add key="X-KDApi-AcctID" value="66d918bdc00906" />
|
||||
<!-- 第三方系统登录授权的 集成用户名称 -->
|
||||
<!-- 补丁版本为PT-146894 [7.7.0.202111]及后续的版本,则为指定用户登录列表中任一用户 -->
|
||||
<!-- 若第三方系统登录授权已勾选“允许全部用户登录”,则无以上限制 -->
|
||||
<add key="X-KDApi-UserName" value="黄志荣" />
|
||||
<!-- 第三方系统登录授权的 应用ID -->
|
||||
<add key="X-KDApi-AppID" value="400925_wYdO4+jLQMDf091IQYTB48WNRjSaXKLu" />
|
||||
<!-- 第三方系统登录授权的 应用密钥 -->
|
||||
<add key="X-KDApi-AppSec" value="41dfa53b0e634b72b01e303d14fa6e35" />
|
||||
<!-- 账套语系,默认2052 -->
|
||||
<add key="X-KDApi-LCID" value="2052" />
|
||||
<!-- 组织编码,启用多组织时配置对应的组织编码才有效 -->
|
||||
<!--<add key="X-KDApi-OrgNum" value="*****"/>-->
|
||||
<!-- 服务Url地址(私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾)-->
|
||||
<add key="X-KDApi-ServerUrl" value="http://192.168.116.83/k3Cloud/" />
|
||||
|
||||
<!--解决swagger出错问题-->
|
||||
<add key="aspnet:UseHostHeaderForRequestUrl" value="true" />
|
||||
<!--当前环境,1:生产环境 0:开发环境-->
|
||||
<add key="Env" value="0" />
|
||||
<!--因公司IP时常变化,先用13跳转-->
|
||||
<add key="RedisAddress" value="" />
|
||||
<!--缓存前缀-->
|
||||
<add key="CachePrefix" value="" />
|
||||
<!--jwtkey-->
|
||||
<add key="JwtKey" value="t9Hu5zhiFWunJR1+XDrUM6Jp2aAvTjOa/XoxOrZ7bbI=" />
|
||||
<!--是否输出Sql命令0:不输出 1:输出-->
|
||||
<add key="OutputSql" value="0" />
|
||||
<!--是否输出请求日志-->
|
||||
<add key="OutputRequstLog" value="1" />
|
||||
<!--本地上传的存放路径-->
|
||||
<add key="UploadFolder" value="D:\" />
|
||||
<!--取消owin启动-->
|
||||
<add key="owin:AutomaticAppStartup" value="false" />
|
||||
<!--钉钉通知机器人-->
|
||||
<add key="DingDingApiUrl" value="" />
|
||||
<!--区域层增加的前缀路径-->
|
||||
<add key="AreaUrlPrePath" value="" />
|
||||
<!--生产环境D:\publish\lxm-report-api\App_File\-->
|
||||
<!--服务器文件保存的路径,这里调度用,如果是webapi则不需要用这个-->
|
||||
<add key="AppFilePath" value="D:\publish\LxmReportApi\api\App_File\" />
|
||||
<!--<add key="AppFilePath" value="D:\App_File\" />-->
|
||||
<add key="WebSocketUrl" value="ws://127.0.0.1:9798/" />
|
||||
</appSettings>
|
||||
<!--
|
||||
有关 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。
|
||||
|
||||
可在 <httpRuntime> 标记上设置以下特性。
|
||||
<system.Web>
|
||||
<httpRuntime targetFramework="4.5" />
|
||||
</system.Web>
|
||||
-->
|
||||
<system.web>
|
||||
<authentication mode="None" />
|
||||
<compilation debug="true" targetFramework="4.8" />
|
||||
<httpRuntime targetFramework="4.6.1" />
|
||||
<customErrors mode="Off" />
|
||||
</system.web>
|
||||
<log4net>
|
||||
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<!--日志路径-->
|
||||
<param name="File" value="App_Log\Error\" />
|
||||
<!--是否是向文件中追加日志-->
|
||||
<param name="AppendToFile" value="true" />
|
||||
<!--log保留天数-->
|
||||
<param name="MaxSizeRollBackups" value="30" />
|
||||
<!--日志文件名是否是固定不变的-->
|
||||
<param name="StaticLogFileName" value="false" />
|
||||
<!--日志文件名格式为:2008-08-31.log-->
|
||||
<param name="DatePattern" value="yyyy-MM-dd".log"" />
|
||||
<!--日志根据日期滚动-->
|
||||
<param name="RollingStyle" value="Date" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n %logger" />
|
||||
</layout>
|
||||
<filter type="log4net.Filter.LevelRangeFilter">
|
||||
<levelMin value="ERROR" />
|
||||
<levelMax value="ERROR" />
|
||||
<filter type="log4net.Filter.DenyAllFilter" />
|
||||
</filter>
|
||||
</appender>
|
||||
<appender name="InfoLogFileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<!--日志路径-->
|
||||
<param name="File" value="App_Log\Info\" />
|
||||
<!--是否是向文件中追加日志-->
|
||||
<param name="AppendToFile" value="true" />
|
||||
<!--log保留天数-->
|
||||
<param name="MaxSizeRollBackups" value="30" />
|
||||
<!--日志文件名是否是固定不变的-->
|
||||
<param name="StaticLogFileName" value="false" />
|
||||
<!--日志文件名格式为:2008-08-31.log-->
|
||||
<param name="DatePattern" value="yyyy-MM-dd".log"" />
|
||||
<!--日志根据日期滚动-->
|
||||
<param name="RollingStyle" value="Date" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n %logger" />
|
||||
</layout>
|
||||
<filter type="log4net.Filter.LevelRangeFilter">
|
||||
<levelMin value="INFO" />
|
||||
<levelMax value="INFO" />
|
||||
<filter type="log4net.Filter.DenyAllFilter" />
|
||||
</filter>
|
||||
</appender>
|
||||
<!-- MySQL Appender -->
|
||||
<!--<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
|
||||
<bufferSize value="1" />
|
||||
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
|
||||
<connectionString value="Server=;port=3306;Database=;Uid=;Pwd=;charset=utf8mb4" />
|
||||
<commandText value="INSERT INTO api_log (level,message,api_type,create_time) VALUES (?log_level,?message,4, ?log_date)" />
|
||||
|
||||
<parameter>
|
||||
<parameterName value="?log_date" />
|
||||
<dbType value="DateTime" />
|
||||
<layout type="log4net.Layout.RawTimeStampLayout" />
|
||||
</parameter>
|
||||
|
||||
<parameter>
|
||||
<parameterName value="?log_level" />
|
||||
<dbType value="String" />
|
||||
<size value="50" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%level" />
|
||||
</layout>
|
||||
</parameter>
|
||||
|
||||
<parameter>
|
||||
<parameterName value="?message" />
|
||||
<dbType value="String" />
|
||||
<size value="4000" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%message" />
|
||||
</layout>
|
||||
</parameter>
|
||||
<filter type="log4net.Filter.LevelMatchFilter">
|
||||
<levelToMatch value="DEBUG" />
|
||||
</filter>
|
||||
<filter type="log4net.Filter.DenyAllFilter" />
|
||||
</appender>-->
|
||||
<root>
|
||||
<!--(高) OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL (低)-->
|
||||
<level value="ALL" />
|
||||
<appender-ref ref="InfoLogFileAppender" />
|
||||
<appender-ref ref="RollingLogFileAppender" />
|
||||
<appender-ref ref="AdoNetAppender" />
|
||||
</root>
|
||||
</log4net>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Common.Logging.Core" publicKeyToken="af08829b84f0328e" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<system.codedom>
|
||||
<compilers>
|
||||
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
|
||||
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
|
||||
</compilers>
|
||||
</system.codedom>
|
||||
</configuration>
|
||||
@@ -22,9 +22,11 @@
|
||||
</system.webServer>
|
||||
<connectionStrings>
|
||||
<!-- 数据库测试-->
|
||||
<add name="WMSConn" connectionString="Data Source=172.16.18.87; Initial Catalog=ESB_DTC; User ID=app_k3;Password=Postman2025k3; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" 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内网-->
|
||||
<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=yuntong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
|
||||
<!--测试MYSQL内网-->
|
||||
<!--<add name="MasterConn" connectionString="" providerName="MySql.Data.MySqlClient" />-->
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
@@ -33,15 +35,15 @@
|
||||
<!-- 当前使用的 账套ID(即数据中心id) -->
|
||||
<!-- 第三方系统登录授权的账套ID(即open.kingdee.com网站的第三方系统登录授权中的数据中心标识)-->
|
||||
<!-- 在第三方系统登录授权页面点击“生成测试链接”按钮后即可查看 -->
|
||||
<add key="X-KDApi-AcctID" value="65229a397eb2e2" />
|
||||
<add key="X-KDApi-AcctID" value="654dcb96b00765" />
|
||||
<!-- 第三方系统登录授权的 集成用户名称 -->
|
||||
<!-- 补丁版本为PT-146894 [7.7.0.202111]及后续的版本,则为指定用户登录列表中任一用户 -->
|
||||
<!-- 若第三方系统登录授权已勾选“允许全部用户登录”,则无以上限制 -->
|
||||
<add key="X-KDApi-UserName" value="demo" />
|
||||
<add key="X-KDApi-UserName" value="API" />
|
||||
<!-- 第三方系统登录授权的 应用ID -->
|
||||
<add key="X-KDApi-AppID" value="325373_Q7eD7+GKTkCWRUzEQ/XD1+ytTK692smv" />
|
||||
<add key="X-KDApi-AppID" value="401100_Te8pSzHvRuHfQ/TuWfXsSY8GQKR/QoMo" />
|
||||
<!-- 第三方系统登录授权的 应用密钥 -->
|
||||
<add key="X-KDApi-AppSec" value="e0258153efb04c2a911a4ac20639e31a" />
|
||||
<add key="X-KDApi-AppSec" value="74b800916ed64ff081734856c9301d13" />
|
||||
<!-- 账套语系,默认2052 -->
|
||||
<add key="X-KDApi-LCID" value="2052" />
|
||||
<!-- 组织编码,启用多组织时配置对应的组织编码才有效 -->
|
||||
|
||||
Reference in New Issue
Block a user