|
@@ -415,15 +415,12 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
@Override
|
|
|
public String sendCard(TJoinpayMch mch, String cardPositive, String cardNegative, String staus) {
|
|
|
|
|
|
-// String url = "https://www.joinpay.com/allocFunds";
|
|
|
String url = "https://upload.joinpay.com/allocFunds";
|
|
|
|
|
|
if (StringUtils.isEmpty(mch.getAltMchNo())) {
|
|
|
return "找不到商家编号";
|
|
|
}
|
|
|
-// String card_positive = ImageToBase64ByLocal(cardPositive);
|
|
|
String card_positive = cardPositive;
|
|
|
-// String card_negative = ImageToBase64ByLocal(cardNegative);
|
|
|
String card_negative = cardNegative;
|
|
|
|
|
|
JSONObject requestData = new JSONObject(new LinkedHashMap());
|
|
@@ -447,13 +444,10 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
|
|
|
String sign = createMD5Sign(requestJson, JoinpayConstant.key);
|
|
|
requestJson.put("sign", sign.toUpperCase());
|
|
|
-// logger.info("请求参数:" + requestJson);
|
|
|
String back = null;
|
|
|
org.json.JSONObject jsonObject;
|
|
|
try {
|
|
|
-
|
|
|
jsonObject = HttpClientUtils.postJson(url, requestJson.toString());
|
|
|
-// logger.info("响应参数:" + jsonObject);
|
|
|
|
|
|
// 判断请求是否正确,受理成功
|
|
|
if (jsonObject.has("resp_code")) {
|
|
@@ -465,32 +459,17 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
// 处理data
|
|
|
if (jsonObject.has("data")) {
|
|
|
org.json.JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- String biz_code = data.getString("biz_code");
|
|
|
- if (biz_code.equals("B100000")) {
|
|
|
+ String bizCode = data.getString("biz_code");
|
|
|
+ if (JoinpayConstant.biz_code1.equals(bizCode)) {
|
|
|
String approve_status = "审核中";
|
|
|
mch.setApproveStatus(approve_status);
|
|
|
mch.setApproveNote("");
|
|
|
- mch.setStep("1");
|
|
|
- back = approve_status;
|
|
|
- }
|
|
|
- if (biz_code.equals("B100002")) {
|
|
|
- String approve_status = "上传失败";
|
|
|
- String approve_note = data.getString("biz_msg");
|
|
|
- mch.setApproveNote(approve_note);
|
|
|
- mch.setApproveStatus(approve_status);
|
|
|
- back = approve_status;
|
|
|
- }
|
|
|
- if (biz_code.equals("B101017")) {
|
|
|
- String approve_status = "上传失败";
|
|
|
- String approve_note = data.getString("biz_msg");
|
|
|
- mch.setApproveNote(approve_note);
|
|
|
- mch.setApproveStatus(approve_status);
|
|
|
back = approve_status;
|
|
|
- }
|
|
|
- String approve_note = data.getString("biz_msg");
|
|
|
- mch.setApproveNote(approve_note);
|
|
|
- if (StringUtils.isEmpty(back)) {
|
|
|
- back = approve_note;
|
|
|
+ mch.setStep("1");
|
|
|
+ } else {
|
|
|
+ String bizMsg = data.getString("biz_msg");
|
|
|
+ mch.setApproveNote(bizMsg);
|
|
|
+ back = bizMsg;
|
|
|
}
|
|
|
updateById(mch);
|
|
|
}
|
|
@@ -511,15 +490,12 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
@Override
|
|
|
public String sendCardBusiness(TJoinpayMch mch, String cardPositive, String cardNegative, String tradeLicence, String openAccountLicence, String staus) {
|
|
|
|
|
|
-// String url = "https://www.joinpay.com/allocFunds";
|
|
|
String url = "https://upload.joinpay.com/allocFunds";
|
|
|
|
|
|
if (StringUtils.isEmpty(mch.getAltMchNo())) {
|
|
|
return "找不到商家编号";
|
|
|
}
|
|
|
-// String card_positive = ImageToBase64ByLocal(cardPositive);
|
|
|
String card_positive = cardPositive;
|
|
|
-// String card_negative = ImageToBase64ByLocal(cardNegative);
|
|
|
String card_negative = cardNegative;
|
|
|
String trade_licence = tradeLicence;
|
|
|
String open_account_licence = openAccountLicence;
|
|
@@ -564,27 +540,17 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
// 处理data
|
|
|
if (jsonObject.has("data")) {
|
|
|
org.json.JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- String biz_code = data.getString("biz_code");
|
|
|
- if (biz_code.equals("B100000")) {
|
|
|
+ String bizCode = data.getString("biz_code");
|
|
|
+ if (JoinpayConstant.biz_code1.equals(bizCode)) {
|
|
|
String approve_status = "审核中";
|
|
|
mch.setApproveStatus(approve_status);
|
|
|
mch.setApproveNote("");
|
|
|
back = approve_status;
|
|
|
mch.setStep("1");
|
|
|
- }
|
|
|
- if (biz_code.equals("B100002")) {
|
|
|
- String approve_status = "上传失败";
|
|
|
- String approve_note = data.getString("biz_msg");
|
|
|
- mch.setApproveNote(approve_note);
|
|
|
- mch.setApproveStatus(approve_status);
|
|
|
- back = approve_status;
|
|
|
- }
|
|
|
- if (biz_code.equals("B101017")) {
|
|
|
- String approve_status = "上传失败";
|
|
|
- String approve_note = data.getString("biz_msg");
|
|
|
- mch.setApproveNote(approve_note);
|
|
|
- mch.setApproveStatus(approve_status);
|
|
|
- back = approve_status;
|
|
|
+ } else {
|
|
|
+ String bizMsg = data.getString("biz_msg");
|
|
|
+ mch.setApproveNote(bizMsg);
|
|
|
+ back = bizMsg;
|
|
|
}
|
|
|
updateById(mch);
|
|
|
}
|
|
@@ -620,7 +586,6 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
|
|
|
String sign = createMD5Sign(requestJson, JoinpayConstant.key);
|
|
|
requestJson.put("sign", sign.toUpperCase());
|
|
|
-// logger.info("请求参数:" + requestJson);
|
|
|
String back = null;
|
|
|
org.json.JSONObject jsonObject;
|
|
|
try {
|
|
@@ -637,18 +602,18 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
// 处理data
|
|
|
if (jsonObject.has("data")) {
|
|
|
org.json.JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- String biz_code = data.getString("biz_code");
|
|
|
- String approve_status = data.getString("approve_status");
|
|
|
- String approve_note = data.getString("approve_note");
|
|
|
- if (biz_code.equals("B100000")) {
|
|
|
- if (approve_status.equals("P1000")) {
|
|
|
+ String bizCode = data.getString("biz_code");
|
|
|
+ String approveStatus = data.getString("approve_status");
|
|
|
+ String approveNote = data.getString("approve_note");
|
|
|
+ if (JoinpayConstant.biz_code1.equals(bizCode)) {
|
|
|
+ if (JoinpayConstant.APPROVE_STATUS_P1000.equals(approveStatus)) {
|
|
|
mch.setApproveStatus("审核通过");
|
|
|
mch.setApproveNote("");
|
|
|
- back = approve_status;
|
|
|
- } else if (approve_status.equals("P2000")) {
|
|
|
+ back = approveStatus;
|
|
|
+ } else if (JoinpayConstant.APPROVE_STATUS_P2000.equals(approveStatus)) {
|
|
|
mch.setApproveStatus("审核不通过");
|
|
|
- mch.setApproveNote(approve_note);
|
|
|
- back = approve_status;
|
|
|
+ mch.setApproveNote(approveNote);
|
|
|
+ back = approveStatus;
|
|
|
}
|
|
|
}
|
|
|
updateById(mch);
|
|
@@ -932,8 +897,8 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
joinpayMch.setAltMchName(altMchName);
|
|
|
|
|
|
// 格式为16 位随机字符串:16 位随机字符串
|
|
|
-// String aeskey1 = getRandomString(16);
|
|
|
-// String aeskey2 = getRandomString(16);
|
|
|
+ String asekeyOne = getRandomString(16);
|
|
|
+ String aeskeyTwo = getRandomString(16);
|
|
|
|
|
|
requestData.put("login_name", loginName);
|
|
|
requestData.put("alt_mch_name", altMchName);
|
|
@@ -941,10 +906,8 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
requestData.put("busi_contact_name", joinpayMch.getBusiContactName());
|
|
|
requestData.put("busi_contact_mobile_no", joinpayMch.getBusiContactMobileNo());
|
|
|
requestData.put("phone_no", joinpayMch.getPhoneNo());
|
|
|
-// requestData.put("legal_person", AESUtil.encrypt(joinpayMch.getLegalPerson(), aeskey1, aeskey2));
|
|
|
-// requestData.put("id_card_no", AESUtil.encrypt(joinpayMch.getIdCardNo(), aeskey1, aeskey2));
|
|
|
- requestData.put("legal_person", joinpayMch.getLegalPerson());
|
|
|
- requestData.put("id_card_no", joinpayMch.getIdCardNo());
|
|
|
+ requestData.put("legal_person", AESUtil.encrypt(joinpayMch.getLegalPerson(), asekeyOne, aeskeyTwo));
|
|
|
+ requestData.put("id_card_no", AESUtil.encrypt(joinpayMch.getIdCardNo(), asekeyOne, aeskeyTwo));
|
|
|
requestData.put("id_card_expiry", joinpayMch.getIdCardExpiry());
|
|
|
// 企业必填:营业执照编号 / 营业执照有效期
|
|
|
if (JoinpayConstant.ALT_MERCHANT_TYPE_ENTERPRISE == altMerchantType) {
|
|
@@ -975,15 +938,13 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
// 个人用借记卡
|
|
|
requestData.put("bank_account_type", JoinpayConstant.BANK_ACCOUNT_TYPE_ONE);
|
|
|
}
|
|
|
-// requestData.put("bank_account_name", AESUtil.encrypt(joinpayMch.getBankAccountName(), aeskey1, aeskey2));
|
|
|
-// requestData.put("bank_account_no", AESUtil.encrypt(joinpayMch.getBankAccountNo(), aeskey1, aeskey2));
|
|
|
- requestData.put("bank_account_name", joinpayMch.getBankAccountName());
|
|
|
- requestData.put("bank_account_no", joinpayMch.getBankAccountNo());
|
|
|
+ requestData.put("bank_account_name", AESUtil.encrypt(joinpayMch.getBankAccountName(), asekeyOne, aeskeyTwo));
|
|
|
+ requestData.put("bank_account_no", AESUtil.encrypt(joinpayMch.getBankAccountNo(), asekeyOne, aeskeyTwo));
|
|
|
requestData.put("notify_url", JoinpayConstant.MERCHANT_URL);
|
|
|
|
|
|
JSONObject requestJson = new JSONObject(new TreeMap<String, Object>());
|
|
|
- requestJson.put("method", "altmch.create");
|
|
|
- requestJson.put("version", "1.1");
|
|
|
+ requestJson.put("method", "altmch.add");
|
|
|
+ requestJson.put("version", "2.0");
|
|
|
requestJson.put("data", requestData);
|
|
|
// 32位随机字符串
|
|
|
String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
|
|
@@ -993,11 +954,12 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
|
|
|
String sign = createMD5Sign(requestJson, JoinpayConstant.key);
|
|
|
requestJson.put("sign", sign.toUpperCase());
|
|
|
+ requestJson.put("aes_key", RSAUtil.encrypt(asekeyOne + ":" + aeskeyTwo, JoinpayConstant.publickey));
|
|
|
|
|
|
String result = "";
|
|
|
try {
|
|
|
org.json.JSONObject jsonObject = HttpClientUtils.postJson(url, requestJson.toString());
|
|
|
-
|
|
|
+ log.info("创建商户结果:{}", jsonObject);
|
|
|
String respCode = jsonObject.getString("resp_code");
|
|
|
String respMsg = jsonObject.getString("resp_msg");
|
|
|
joinpayMch.setRespCode(respCode);
|
|
@@ -1005,55 +967,141 @@ public class TJoinpayMchServiceImpl extends ServiceImpl<TJoinpayMchMapper, TJoin
|
|
|
// 受理成功
|
|
|
if (jsonObject.has("data")) {
|
|
|
org.json.JSONObject data = jsonObject.getJSONObject("data");
|
|
|
- if (data.has("biz_code")) {
|
|
|
- joinpayMch.setBizCode(data.getString("biz_code"));
|
|
|
- }
|
|
|
-
|
|
|
- if (data.has("alt_mch_no")) {
|
|
|
+ String bizCode = data.getString("biz_code");
|
|
|
+ joinpayMch.setBizCode(bizCode);
|
|
|
+ if (JoinpayConstant.biz_code1.equals(bizCode)) {
|
|
|
+ // 受理成功
|
|
|
joinpayMch.setAltMchNo(data.getString("alt_mch_no"));
|
|
|
+ String orderStatus = data.getString("order_status");
|
|
|
+ joinpayMch.setOrderStatus(orderStatus);
|
|
|
+ joinpayMch.setStatus("0"); // 认证中
|
|
|
+ result = bizCode;
|
|
|
+ } else {
|
|
|
+ // 受理失败
|
|
|
+ String bizMsg = data.getString("biz_msg");
|
|
|
+ joinpayMch.setBizMsg(data.getString("biz_msg"));
|
|
|
+ result = bizMsg;
|
|
|
}
|
|
|
-
|
|
|
- if (data.has("order_status")) {
|
|
|
- joinpayMch.setOrderStatus(data.getString("order_status"));
|
|
|
- }
|
|
|
+ updateById(joinpayMch);
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
return respMsg;
|
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public String newUpdateMch(TJoinpayMch joinpayMch) {
|
|
|
+
|
|
|
+ String url = "https://www.joinpay.com/allocFunds";
|
|
|
+
|
|
|
+ JSONObject requestData = new JSONObject(new LinkedHashMap());
|
|
|
+
|
|
|
+
|
|
|
+ // 格式为16 位随机字符串:16 位随机字符串
|
|
|
+ String aes_key1 = getRandomString(16);
|
|
|
+ String aes_key2 = getRandomString(16);
|
|
|
+
|
|
|
+ requestData.put("alt_mch_no", joinpayMch.getAltMchNo());
|
|
|
+ if (StringUtils.isNotEmpty(joinpayMch.getApproveStatus())) {
|
|
|
+ if (!joinpayMch.getApproveStatus().equals("审核通过")) {
|
|
|
+ requestData.put("legal_person", joinpayMch.getLegalPerson());
|
|
|
+ requestData.put("id_card_no", joinpayMch.getIdCardNo());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Integer altMerchantType = joinpayMch.getAltMerchantType();
|
|
|
+ if (JoinpayConstant.ALT_MERCHANT_TYPE_ENTERPRISE == altMerchantType) {
|
|
|
+ // 企业用对公账户
|
|
|
+ requestData.put("bank_account_type", JoinpayConstant.BANK_ACCOUNT_TYPE_FOUR);
|
|
|
+ joinpayMch.setBankAccountType(JoinpayConstant.BANK_ACCOUNT_TYPE_FOUR);
|
|
|
+ String bankAccountName = joinpayMch.getBankAccountName();
|
|
|
+ if (StringUtils.isNotEmpty(joinpayMch.getApproveStatus()) && !joinpayMch.getApproveStatus().equals("审核通过")) {
|
|
|
+ requestData.put("alt_mch_name", bankAccountName);
|
|
|
+ requestData.put("license_no", joinpayMch.getLicenseNo());
|
|
|
+ }
|
|
|
+ } else if (JoinpayConstant.ALT_MERCHANT_TYPE_PERSON == altMerchantType) {
|
|
|
+ // 个人用借记卡
|
|
|
+ requestData.put("bank_account_type", JoinpayConstant.bank_account_type1);
|
|
|
+ joinpayMch.setBankAccountType(JoinpayConstant.bank_account_type1);
|
|
|
+ }
|
|
|
+
|
|
|
+ requestData.put("bank_account_name", joinpayMch.getBankAccountName());
|
|
|
+ requestData.put("bank_account_no", joinpayMch.getBankAccountNo());
|
|
|
+ requestData.put("bank_channel_no", joinpayMch.getBankChannelNo());
|
|
|
+ if (joinpayMch.getSettMode() != null) {
|
|
|
+ requestData.put("sett_mode", joinpayMch.getSettMode());
|
|
|
+ } else {
|
|
|
+ // 由汇聚自动结算
|
|
|
+ requestData.put("sett_mode", JoinpayConstant.SETT_MODE_ONE);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 结算周期类型:自然日
|
|
|
+ requestData.put("sett_date_type", JoinpayConstant.SETT_DATE_DAY);
|
|
|
+ if (joinpayMch.getRiskDay() != null) {
|
|
|
+ requestData.put("risk_day", joinpayMch.getRiskDay());
|
|
|
+ } else {
|
|
|
+ // 结算周期:1
|
|
|
+ requestData.put("risk_day", 1);
|
|
|
+ }
|
|
|
+ // 回调URL
|
|
|
+ requestData.put("notify_url", JoinpayConstant.MERCHANT_URL);
|
|
|
+ JSONObject requestJson = new JSONObject(new TreeMap<String, Object>());
|
|
|
+ requestJson.put("method", "altmch.modify");
|
|
|
+ requestJson.put("version", "1.1");
|
|
|
+ requestJson.put("data", requestData);
|
|
|
+ // 32位随机字符串
|
|
|
+ String uuid = UUID.randomUUID().toString().trim().replaceAll("-", "");
|
|
|
+ requestJson.put("rand_str", uuid);
|
|
|
+ requestJson.put("sign_type", JoinpayConstant.sign_type_MD5);
|
|
|
+ requestJson.put("mch_no", JoinpayConstant.mch_no);
|
|
|
+
|
|
|
+ String sign = createMD5Sign(requestJson, JoinpayConstant.key);
|
|
|
+ requestJson.put("sign", sign.toUpperCase());
|
|
|
+ requestJson.put("aes_key", RSAUtil.encrypt(aes_key1 + ":" + aes_key2, JoinpayConstant.publickey));
|
|
|
+
|
|
|
+ String result = "";
|
|
|
+ try {
|
|
|
+ org.json.JSONObject jsonObject = HttpClientUtils.postJson(url, requestJson.toString());
|
|
|
+ log.info("修改商户结果:{}", jsonObject);
|
|
|
+ String respCode = jsonObject.getString("resp_code");
|
|
|
+ String respMsg = jsonObject.getString("resp_msg");
|
|
|
+ joinpayMch.setRespCode(respCode);
|
|
|
+ if (JoinpayConstant.resp_code1.equals(respCode)) {
|
|
|
+ // 受理成功
|
|
|
+ if (jsonObject.has("data")) {
|
|
|
+ org.json.JSONObject data = jsonObject.getJSONObject("data");
|
|
|
+ String bizCode = data.getString("biz_code");
|
|
|
+ joinpayMch.setBizCode(bizCode);
|
|
|
+ if (JoinpayConstant.biz_code1.equals(bizCode)) {
|
|
|
+ // 受理成功
|
|
|
+ joinpayMch.setAltMchNo(data.getString("alt_mch_no"));
|
|
|
+ String orderStatus = data.getString("order_status");
|
|
|
+ joinpayMch.setOrderStatus(orderStatus);
|
|
|
+ joinpayMch.setStatus("0"); // 认证中
|
|
|
+ result = bizCode;
|
|
|
+ } else {
|
|
|
+ // 受理失败
|
|
|
+ String bizMsg = data.getString("biz_msg");
|
|
|
+ joinpayMch.setBizMsg(data.getString("biz_msg"));
|
|
|
+ result = bizMsg;
|
|
|
+ }
|
|
|
+ updateById(joinpayMch);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ return respMsg;
|
|
|
|
|
|
- /**
|
|
|
- * 更新一下分销商户的 各种响应码 & login_name
|
|
|
- */
|
|
|
-// joinpayMch.setCreateDate(new Date());
|
|
|
-// joinpayMch.setModifyDate(new Date());
|
|
|
-// joinpayMch.setType("1");
|
|
|
-// if (StringUtils.isNotEmpty(joinpayMch.getAltMchNo())) {
|
|
|
-// save(joinpayMch);
|
|
|
-// }
|
|
|
-//
|
|
|
-// if (jsonObject.has("resp_code")) {
|
|
|
-// String resp_code = jsonObject.getString("resp_code");
|
|
|
-// mch.setRespCode(resp_code);
|
|
|
-// if (JoinpayConstant.resp_code2.equals(resp_code)) {
|
|
|
-// org.json.JSONObject data = jsonObject.getJSONObject("data");
|
|
|
-// if (data.has("biz_msg")) {
|
|
|
-// return data.getString("biz_msg");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-//
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
-// if (StringUtils.isNotEmpty(mch.getAltMchNo())) {
|
|
|
-// return Constant.correct_code;
|
|
|
-// } else {
|
|
|
-// return "注册失败";
|
|
|
-// }
|
|
|
- return "";
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
|