This commit is contained in:
2025-07-07 09:35:11 +08:00
parent a9021bbc4c
commit e1e5a82566
10 changed files with 557 additions and 114 deletions

View File

@@ -0,0 +1,284 @@

using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Infrastructure.Enumeration
{
/// <summary>
/// API 接口枚举
/// </summary>
public enum ApiEnum
{
/// <summary>
/// 调拨单创建
/// </summary>
[Enum("调拨单创建", "erp.allocate.create")]
ALLOCATECREATE,
/// <summary>
/// 调拨单创建
/// </summary>
[Enum("调拨单查询", "erp.allocate.get")]
ALLOCATEGET,
/// <summary>
/// 卡券列表
/// </summary>
[Enum("卡券列表", "crm.cardTicket.list")]
CARDTICKETLIST,
/// <summary>
/// 查询客户持有卡券
/// </summary>
[Enum("查询客户持有卡券", "crm.cardTicket.instancesOfCustomer")]
CARDTICKETQUERY,
/// <summary>
/// 激活卡券
/// </summary>
[Enum("激活卡券", "crm.cardTicket.receive")]
CARDTICKETRECEIVE,
/// <summary>
/// 卡券核销
/// </summary>
[Enum("卡券核销", "crm.cardTicket.writeOff")]
CARDTICKETWRITEOFF,
/// <summary>
/// 客户档案新增
/// </summary>
[Enum("客户档案新增", "crm.customer.add")]
CUSTOMERADD,
/// <summary>
/// 客户档案修改
/// </summary>
[Enum("客户档案修改", "crm.customer.edit")]
CUSTOMEREDIT,
/// <summary>
/// 客户档案列表
/// </summary>
[Enum("客户档案列表", "crm.customer.list")]
CUSTOMERLIST,
/// <summary>
/// 预存余额充值
/// </summary>
[Enum("预存余额充值", "crm.customer.storageUpdate")]
STORAGEUPDATE,
/// <summary>
/// 开票结果查询
/// </summary>
[Enum("开票结果查询", "eis.invoice.result")]
EISINVOICERESULT,
/// <summary>
/// 发票通知
/// </summary>
[Enum("发票通知", "eis.invoice.sendnotify")]
EISSENDNOTIFY,
/// <summary>
/// 添加抬头信息
/// </summary>
[Enum("添加抬头信息", "eis.member.add")]
EISMEMBERADD,
/// <summary>
/// 验证授权信息
/// </summary>
[Enum("验证授权信息", "eis.member.authtest")]
EISMEMBERAUTHTEST,
/// <summary>
/// 修改授权信息
/// </summary>
[Enum("修改授权信息", "eis.member.authupdate")]
EISAUTHUPDATE,
/// <summary>
/// 删除发票抬头
/// </summary>
[Enum("删除发票抬头", "eis.member.del")]
EISMEMBERDEL,
/// <summary>
/// 编辑用户抬头信息
/// </summary>
[Enum("编辑用户抬头信息", "eis.member.update")]
EISMEMBERUPDATE,
/// <summary>
/// 更新发票通知参数
/// </summary>
[Enum("更新发票通知参数", "eis.member.updatenotify")]
EISUPDATENOTIFY,
/// <summary>
/// 京东云仓后台验证信息获取接口
/// </summary>
[Enum("京东云仓后台验证信息获取接口", "login-service.jdwms.login")]
JDWMSLOGIN,
/// <summary>
/// 角色同步
/// </summary>
[Enum("角色同步", "jd-wms.role.sync")]
JDWMSROLESYNC,
/// <summary>
/// 账户同步
/// </summary>
[Enum("账户同步", "jd-wms.user.sync")]
JDWMSUSERSYNC,
/// <summary>
/// 物流公司查询
/// </summary>
[Enum("物流公司查询", "erp.logistic.get")]
LOGISTICGET,
/// <summary>
/// 取消发货单
/// </summary>
[Enum("取消发货单", "wms.order.basecancel")]
ORDERBASECANCEL,
/// <summary>
/// 创建发货单
/// </summary>
[Enum("创建发货单", "wms-ods.order.basecreate")]
ORDERBASECREATE,
/// <summary>
/// 打包登记
/// </summary>
[Enum("打包登记", "wms.order.pack")]
ORDERPICK,
/// <summary>
/// 推送订单
/// </summary>
[Enum("推送订单", "omsapi-download.order.push")]
ORDERPUSH,
/// <summary>
/// 二次分拣
/// </summary>
[Enum("二次分拣", "wms.order.sortinglist")]
ORDERSORTLIST,
/// <summary>
/// 订单查询
/// </summary>
[Enum("订单查询", "oms.trade.fullinfoget")]
TRADEFULLINFOGET,
/// <summary>
/// 称重登记
/// </summary>
[Enum("称重登记", "wms.order.weighing")]
ORDERWEIGH,
/// <summary>
/// 采购单创建
/// </summary>
[Enum("采购单创建", "erp.purch.create")]
PURCHORDERCREATE,
/// <summary>
/// 采购单查询
/// </summary>
[Enum("采购单查询", "erp.purch.get")]
PURCHQUERY,
/// <summary>
/// 采购退货单创建
/// </summary>
[Enum("采购退货单创建", "erp.purchreturn.create")]
PURCHRETURNORDERCREATE,
/// <summary>
/// 采购退货单查询
/// </summary>
[Enum("采购退货单查询", "erp.purchreturn.get")]
PURCHRETURNQUERY,
/// <summary>
/// 销售渠道查询
/// </summary>
[Enum("销售渠道查询", "erp.sales.get")]
SALESGET,
/// <summary>
/// 盘点单创建
/// </summary>
[Enum("盘点单创建", "wms.stocktake.create")]
STOCKTAKECREATE,
/// <summary>
/// 盘点单查询
/// </summary>
[Enum("盘点单查询", "wms.stocktake.get")]
STOCKTAKEGET,
/// <summary>
/// 商品查询
/// </summary>
[Enum("商品查询", "erp.storage.goodslist")]
STORAGEGOODSLIST,
/// <summary>
/// 添加辅助条码
/// </summary>
[Enum("添加辅助条码", "erp.goods.assistbarcodecreate")]
GOODSASSISTBARCODECREATE,
/// <summary>
/// 入库单查询
/// </summary>
[Enum("入库单查询", "erp.storage.goodsdocin")]
GOODSDOCIN,
/// <summary>
/// 出库单查询
/// </summary>
[Enum("出库单查询", "erp.storage.goodsdocout")]
GOODSDOCOUT,
/// <summary>
/// 货品插入
/// </summary>
[Enum("货品插入", "erp.goods.importbatch")]
GOODSIMPORTBATCH,
/// <summary>
/// 创建入库申请单(保存,提交审核)
/// </summary>
[Enum("创建入库申请单(保存,提交审核)", "erp.storage.stockincreatedeli")]
STOCKINCREATEDELI,
/// <summary>
/// 辅助条码查询
/// </summary>
[Enum("辅助条码查询", "erp.storage.assistbarcode")]
GOODSASSISTBARCODEGET,
/// <summary>
/// 供应商创建
/// </summary>
[Enum("供应商创建", "erp.vend.create")]
VENDCREATE,
/// <summary>
/// 供应商查询
/// </summary>
[Enum("供应商查询", "erp.vend.get")]
VENDGET,
/// <summary>
/// 仓库创建
/// </summary>
[Enum("仓库创建", "erp.warehouse.create")]
WAREHOUSECREATE,
/// <summary>
/// 仓库查询
/// </summary>
[Enum("仓库查询", "erp.warehouse.get")]
WAREHOUSEGET,
/// <summary>
/// 接收发货单确认
/// </summary>
[Enum("接收发货单确认", "wms.whalehouse.acceptconfirm")]
WHALEHOUSEACCEPTCONFIRM,
/// <summary>
/// 发货确认
/// </summary>
[Enum("发货确认", "wms-wps.whalehouse.confirmBatch")]
WHALEHOUSECONFIRMBATCH,
/// <summary>
/// 生成移库单
/// </summary>
[Enum("生成移库单", "wms.whalehouse.createallot")]
WHALEHOUSECREATEALLOT,
/// <summary>
/// 生成盘点单
/// </summary>
[Enum("生成盘点单", "wms.whalehouse.createinventory")]
WHALEHOUSECREATEINVENTORY,
/// <summary>
/// 获取发货单
/// </summary>
[Enum("获取发货单", "wms.whalehouse.getdeliveryorder")]
WHALEHOUSEGETDELIVERYORDER,
/// <summary>
/// 查询入库单
/// </summary>
[Enum("查询入库单", "wms.whalehouse.queryentryorder")]
WHALEHOUSEQUERYORDER,
/// <summary>
/// 添加销售渠道
/// </summary>
[Enum("添加销售渠道", "erp.salechannel.create")]
SALESCHANNELCREATE,
}
}

View File

@@ -0,0 +1,111 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Infrastructure.JackYun
{
/// <summary>
/// 枚举属性。
/// </summary>
[AttributeUsage(AttributeTargets.Field)]
public class EnumAttribute : Attribute
{
#region
/// <summary>
/// 构造器。
/// </summary>
/// <param name="text">枚举名</param>
/// <param name="value">枚举值</param>
public EnumAttribute(string text, string value) : this(text, value, null) { }
/// <summary>
/// 构造器。
/// </summary>
/// <param name="text">枚举名</param>
/// <param name="value">枚举值</param>
/// <param name="colorText">颜色值</param>
public EnumAttribute(string text, string value, string colorText)
{
this.Text = text;
this.Value = value;
this.ColorText = colorText;
}
#endregion
#region
/// <summary>
/// 并发控制锁对象。
/// </summary>
private static readonly object __LOCK__ = new object();
/// <summary>
/// 属性缓存对象。
/// </summary>
private static Dictionary<string, Dictionary<string, EnumAttribute>> cachedObj = new Dictionary<string, Dictionary<string, EnumAttribute>>();
#endregion
#region
/// <summary>
/// 获取或设置 枚举名。
/// </summary>
public string Text { get; set; }
/// <summary>
/// 获取或设置 枚举值。
/// </summary>
public string Value { get; set; }
/// <summary>
/// 获取或设置 颜色值。
/// </summary>
public string ColorText { get; set; }
#endregion
#region
/// <summary>
/// 获取指定对象的枚举属性。
/// </summary>
/// <param name="obj">源对象</param>
/// <returns></returns>
public static EnumAttribute GetAttribute(object obj)
{
//设置对象缓存键。
var cacheKey1 = obj.GetType().FullName;
//从缓存中获取。
if (cachedObj.ContainsKey(cacheKey1))
return cachedObj[cacheKey1].ContainsKey(obj.ToString()) ? cachedObj[cacheKey1][obj.ToString()] : null;
//动态反射获取。
lock (__LOCK__)
{
var dic = new Dictionary<string, EnumAttribute>();
foreach (var fi in obj.GetType().GetFields())
{
object[] eds = fi.GetCustomAttributes(typeof(EnumAttribute), false);
if (eds.Length == 1)
{
if (!dic.ContainsKey(fi.Name))
dic.Add(fi.Name, (EnumAttribute)eds[0]);
}
}
if (!cachedObj.ContainsKey(cacheKey1))
cachedObj.Add(cacheKey1, dic);
return dic.ContainsKey(obj.ToString()) ? dic[obj.ToString()] : null;
}
}
#endregion
}
}

View File

@@ -1,4 +1,5 @@
using MyCode.Project.Infrastructure.Common;
using NPOI.POIFS.FileSystem;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
@@ -25,15 +26,22 @@ namespace MyCode.Project.Infrastructure.JackYun
/// <summary>
/// 在吉客云开放平台上申请的Appekey
/// </summary>
private const string APPKEY = "187657";
private const string APPKEY = "71030238";
/// <summary>
/// 在吉客云开放平台上申请的AppeSecret
/// </summary>
private const string APPSECRET = "f0d1483f1f2e49cea3dfd48c8d7e3c23";
private const string APPSECRET = "0fbe36cc4308405cacadf516338be4c8";
/// <summary>
///
/// </summary>
private const string Token = "c5cd87bb574483e8dd6acbf72f577fe0";
/// <summary>
/// 吉客云开放平台网关
/// </summary>
private const string GATEWAY = "http://192.168.88.157:9090/open/openapi/do";
private const string GATEWAY = "https://open.jackyun.com/open/openapi/do";
//private const string GATEWAY = "http://localhost:9090/open/openapi/do";
#endregion
@@ -75,8 +83,9 @@ namespace MyCode.Project.Infrastructure.JackYun
{
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);
}

View File

@@ -231,6 +231,7 @@
<Compile Include="Constant\CacheKey.cs" />
<Compile Include="Constant\BfyConst.cs" />
<Compile Include="Constant\Const.cs" />
<Compile Include="Enumeration\ApiEnum.cs" />
<Compile Include="Enumeration\LoginRoleType.cs" />
<Compile Include="Enumeration\ReportType.cs" />
<Compile Include="Enumeration\SystemType.cs" />
@@ -263,6 +264,7 @@
<Compile Include="Imports\ImportAct.cs" />
<Compile Include="Imports\ImportResult.cs" />
<Compile Include="Imports\ImportSplitProperty.cs" />
<Compile Include="JackYun\EnumAttribute.cs" />
<Compile Include="JackYun\JackyunResponse.cs" />
<Compile Include="PayModels\ExtendedGateway.cs" />
<Compile Include="PayModels\FuiouBarcodepay.cs" />