package com.malk.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; /** * 氚云-金蝶-旺店通三系统集成配置类 * * 功能说明:配置金蝶云·星空、氚云、旺店通三大系统的连接信息 * * 配置项说明(在application.yml中使用h3tok3前缀): * - h3tok3.kingdee: 金蝶系统配置 * - h3tok3.h3yun: 氚云系统配置 * - h3tok3.wangdian: 旺店通系统配置 */ @Configuration @ConfigurationProperties(prefix = "h3tok3") public class H3tok3Config { /** 金蝶云·星空配置 */ private KingdeeConfig kingdee = new KingdeeConfig(); /** 氚云配置 */ private H3yunConfig h3yun = new H3yunConfig(); /** 旺店通配置 */ private WangdianConfig wangdian = new WangdianConfig(); // ==================== getter/setter ==================== public KingdeeConfig getKingdee() { return kingdee; } public void setKingdee(KingdeeConfig kingdee) { this.kingdee = kingdee; } public H3yunConfig getH3yun() { return h3yun; } public void setH3yun(H3yunConfig h3yun) { this.h3yun = h3yun; } public WangdianConfig getWangdian() { return wangdian; } public void setWangdian(WangdianConfig wangdian) { this.wangdian = wangdian; } /** * 金蝶云·星空配置类 * * 对接方式:API主动推送(氚云->金蝶)和事件订阅(金蝶->氚云) * * 认证流程(新的AccessToken认证方式): * 1. 调用 /api/getAppToken.do 获取 app_token * 2. 调用 /api/login.do 获取 access_token * 3. 在后续请求头中添加 AccessToken * * API地址:https://wuliustyle.test.kdgalaxy.com/kapi/v2/{接口名} */ public static class KingdeeConfig { /** 金蝶API服务器地址,如:https://wuliustyle.test.kdgalaxy.com */ private String host; /** API基础路径,如:/kapi/v2 */ private String basePath = "/kapi/v2"; /** 账套ID,用于登录认证 */ private String acctId; /** 用户名,用于登录认证 */ private String userName; /** 密码,用于登录认证 */ private String password; /** 应用ID(AppId),用于获取app_token */ private String appId; /** 应用密钥(AppSecret),用于获取app_token */ private String appSecret; /** 租户ID(tenantid),如:wuliustyle.test */ private String tenantId; /** 账户ID(accountId),如:2375638172857100288 */ private String accountId; /** x-acgw-identity:调用API的身份标识,第三方应用启用后自动颁发 */ private String acgwIdentity; // ==================== getter/setter ==================== public String getHost() { return host; } public void setHost(String host) { this.host = host; } public String getBasePath() { return basePath; } public void setBasePath(String basePath) { this.basePath = basePath; } public String getAcctId() { return acctId; } public void setAcctId(String acctId) { this.acctId = acctId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getAppId() { return appId; } public void setAppId(String appId) { this.appId = appId; } public String getAppSecret() { return appSecret; } public void setAppSecret(String appSecret) { this.appSecret = appSecret; } public String getTenantId() { return tenantId; } public void setTenantId(String tenantId) { this.tenantId = tenantId; } public String getAccountId() { return accountId; } public void setAccountId(String accountId) { this.accountId = accountId; } public String getAcgwIdentity() { return acgwIdentity; } public void setAcgwIdentity(String acgwIdentity) { this.acgwIdentity = acgwIdentity; } } /** * 氚云配置类 * * 对接方式:API调用(CreateBizObject/UpdateFormData等) * 认证方式:Header携带EngineCode和EngineSecret * API地址:https://www.h3yun.com/OpenApi/Invoke */ public static class H3yunConfig { /** 氚云API基础地址 */ private String baseUrl = "https://www.h3yun.com/OpenApi/Invoke"; /** 引擎编码,用于API认证 */ private String engineCode; /** 引擎密钥,用于API认证 */ private String engineSecret; // ==================== getter/setter ==================== public String getBaseUrl() { return baseUrl; } public void setBaseUrl(String baseUrl) { this.baseUrl = baseUrl; } public String getEngineCode() { return engineCode; } public void setEngineCode(String engineCode) { this.engineCode = engineCode; } public String getEngineSecret() { return engineSecret; } public void setEngineSecret(String engineSecret) { this.engineSecret = engineSecret; } } /** * 旺店通配置类 * * 对接方式:API调用(盘盈盘亏单等) * 认证方式:请求体包含appkey、sid、timestamp、sign(MD5签名) * API地址:https://api.wangdian.cn/openapi2/ */ public static class WangdianConfig { /** 旺店通API基础地址(openapi2,用于RestTemplate方式调用),由配置文件注入 */ private String baseUrl; /** 应用Key,用于API认证(openapi2) */ private String appkey; /** 店铺ID/卖家标识,用于API认证 */ private String sid; /** 应用密钥,用于生成签名(openapi2) */ private String secret; // ========== SDK(openapi v1.0)配置 ========== /** 旺店通ERP开放API服务器地址,SDK会在此基础上拼接 /openapi */ private String erpUrl = "http://wdt.wangdian.cn/"; /** 旺店通ERP开放API Key(openapi key) */ private String erpKey; /** 旺店通ERP开放API Secret,格式:secret:salt */ private String erpSecret; // ==================== getter/setter ==================== public String getBaseUrl() { return baseUrl; } public void setBaseUrl(String baseUrl) { this.baseUrl = baseUrl; } public String getAppkey() { return appkey; } public void setAppkey(String appkey) { this.appkey = appkey; } public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getSecret() { return secret; } public void setSecret(String secret) { this.secret = secret; } public String getErpUrl() { return erpUrl; } public void setErpUrl(String erpUrl) { this.erpUrl = erpUrl; } public String getErpKey() { return erpKey; } public void setErpKey(String erpKey) { this.erpKey = erpKey; } public String getErpSecret() { return erpSecret; } public void setErpSecret(String erpSecret) { this.erpSecret = erpSecret; } } }