yonge 3 anni fa
parent
commit
fdfa2f63f8

+ 66 - 0
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/AdapayInit.java

@@ -0,0 +1,66 @@
+package com.ym.mec.thirdparty.adapay;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.huifu.adapay.Adapay;
+import com.huifu.adapay.model.MerConfig;
+import com.ym.mec.thirdparty.adapay.entity.AdapayMerConfig;
+import com.ym.mec.thirdparty.exception.ThirdpartyException;
+
+/**
+ * 系统初始化
+ */
+public class AdapayInit {
+
+	/**
+	 * debug 模式,开启后与详细的日志
+	 */
+	private boolean debug;
+
+	/**
+	 * prodMode 模式,默认为生产模式,false可以使用mock模式
+	 */
+	private boolean prodMode;
+
+	private static AdapayInit init;
+
+	private AdapayInit(boolean debug, boolean prodMode) {
+		this.debug = debug;
+		this.prodMode = prodMode;
+	}
+
+	public static AdapayInit getInstance(boolean debug, boolean prodMode) {
+		if (init == null) {
+			init = new AdapayInit(debug, prodMode);
+		}
+
+		return init;
+	}
+
+	public boolean initWithMerConfig(List<AdapayMerConfig> adapayMerConfigList) {
+		
+		Adapay.debug = debug;
+		Adapay.prodMode = prodMode;
+		
+		Map<String, MerConfig> configPathMap = new HashMap<String, MerConfig>();
+
+		for (AdapayMerConfig adapayMerConfig : adapayMerConfigList) {
+			MerConfig merConfig = new MerConfig();
+			merConfig.setApiKey(adapayMerConfig.getApiKey());
+			merConfig.setApiMockKey(adapayMerConfig.getMockApiKey());
+			merConfig.setRSAPrivateKey(adapayMerConfig.getRsaPrivateKey());
+			
+			configPathMap.put(adapayMerConfig.getMerCode(), merConfig);
+		}
+		
+		try {
+			Adapay.initWithMerConfigs(configPathMap);
+		} catch (Exception e) {
+			throw new ThirdpartyException("汇付商户配置初始化失败:{}", e, e.getMessage());
+		}
+
+		return true;
+	}
+}

+ 57 - 0
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/adapay/entity/AdapayMerConfig.java

@@ -0,0 +1,57 @@
+package com.ym.mec.thirdparty.adapay.entity;
+
+/**
+ * 商户配置信息
+ */
+public class AdapayMerConfig {
+	
+	private String merCode;
+
+	private String apiKey;
+
+	private String mockApiKey;
+
+	private String rsaPrivateKey;
+	
+	private String rsaPublicKey;
+
+	public String getApiKey() {
+		return apiKey;
+	}
+
+	public void setApiKey(String apiKey) {
+		this.apiKey = apiKey;
+	}
+
+	public String getMockApiKey() {
+		return mockApiKey;
+	}
+
+	public void setMockApiKey(String mockApiKey) {
+		this.mockApiKey = mockApiKey;
+	}
+
+	public String getRsaPrivateKey() {
+		return rsaPrivateKey;
+	}
+
+	public void setRsaPrivateKey(String rsaPrivateKey) {
+		this.rsaPrivateKey = rsaPrivateKey;
+	}
+
+	public String getRsaPublicKey() {
+		return rsaPublicKey;
+	}
+
+	public void setRsaPublicKey(String rsaPublicKey) {
+		this.rsaPublicKey = rsaPublicKey;
+	}
+
+	public String getMerCode() {
+		return merCode;
+	}
+
+	public void setMerCode(String merCode) {
+		this.merCode = merCode;
+	}
+}