first commit
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
using JSMachine.WMS.Infrastructure.Helper;
|
||||
using JSMachine.WMS.RPC.ErpRPC.Dto.In.BusinessDto;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace JSMachine.WMS.RPC.ErpRPC.Dto.In
|
||||
{
|
||||
/// <summary>
|
||||
/// 企望api请求参数封装类
|
||||
/// </summary>
|
||||
public class RequestParam<T> where T : BusinessParamBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 客户ID,默认为空
|
||||
/// </summary>
|
||||
public string CustNo { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 时间戳
|
||||
/// </summary>
|
||||
public string Timestamp { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
/// <summary>
|
||||
/// 值为md5(CustNo+CustSecret+Timetamp)加密后的32位结果(小写);CustNo、CustSecret的值默认为空,某些接口特殊需要的请开发前电话联系我司获取。
|
||||
/// </summary>
|
||||
public string EncryptStr { get; set; }
|
||||
/// <summary>
|
||||
/// 业务参数(json)
|
||||
/// </summary>
|
||||
public ActionParam<T> JsonParam { get; set; }
|
||||
|
||||
public RequestParam()
|
||||
{
|
||||
EncryptStr= Md5EncryptionHelper.MD5Encrypt32(CustNo + string.Empty + Timestamp, true);
|
||||
}
|
||||
|
||||
|
||||
private static PropertyInfo[] PropertyInfos = typeof(RequestParam<BusinessParamBase>).GetProperties();
|
||||
/// <summary>
|
||||
/// 创建请求参数
|
||||
/// </summary>
|
||||
/// <param name="actionID"></param>
|
||||
/// <param name="data"></param>
|
||||
/// <returns></returns>
|
||||
public static Dictionary<string, object> CreateParam(ActionID actionID, T data)
|
||||
{
|
||||
RequestParam<BusinessParamBase> requestParam = new()
|
||||
{
|
||||
JsonParam = new ActionParam<BusinessParamBase>()
|
||||
{
|
||||
ActionID = actionID.ToString(),
|
||||
Data = data
|
||||
}
|
||||
};
|
||||
|
||||
Dictionary<string, object> dic = new();
|
||||
PropertyInfos.ToList().ForEach(p =>
|
||||
{
|
||||
if (p.Name == "JsonParam")
|
||||
{
|
||||
dic.Add("params", JsonConvert.SerializeObject(p.GetValue(requestParam)));
|
||||
}
|
||||
else
|
||||
{
|
||||
dic.Add(p.Name, p.GetValue(requestParam));
|
||||
}
|
||||
});
|
||||
|
||||
return dic;
|
||||
}
|
||||
|
||||
public static string CreateJsonParam(ActionID actionID, T data)
|
||||
{
|
||||
var requestParam = new ActionParam<BusinessParamBase>()
|
||||
{
|
||||
ActionID = actionID.ToString(),
|
||||
Data = data
|
||||
};
|
||||
var result = JsonConvert.SerializeObject(requestParam);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user