更新一大堆代码
This commit is contained in:
@@ -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" />
|
||||
|
||||
Reference in New Issue
Block a user