|
@@ -1179,8 +1179,8 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
json.put("mbOrderId", orderRelation.getMbOrderId());
|
|
|
json.put("time", time);
|
|
|
json.put("splitBillDetail", parameters);
|
|
|
- json.put("notifyUrl", notifyUrl);
|
|
|
- log.info("回调接口>>>" + notifyUrl);
|
|
|
+ json.put("notifyUrl", callUrl);
|
|
|
+ log.info("回调接口>>>" + callUrl);
|
|
|
String sign = PayUtil.getPaySign(json, PayUtil.merKey);
|
|
|
json.put("sign", sign);
|
|
|
String data = PayUtil.privateKeyEncrypt(json, PayUtil.merKey);
|
|
@@ -1450,4 +1450,139 @@ public class PayOrderServiceImpl implements PayOrderService {
|
|
|
}
|
|
|
return "SUCCESS";
|
|
|
}
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 手动临时分账异步通知回调
|
|
|
+// *
|
|
|
+// * @param data
|
|
|
+// */
|
|
|
+// @Override
|
|
|
+// public String tempSplittingCallback(String data) {
|
|
|
+// try {
|
|
|
+// log.info("******************** 临时手动分账异步通知回调 start *******************");
|
|
|
+// // 公钥解密
|
|
|
+// JSONObject json = PayUtil.publicKeyDecrypt(data, PayUtil.publicKey);
|
|
|
+// log.info("公钥解密>>>>>>" + json);
|
|
|
+// // 公钥验签
|
|
|
+// String signaa = json.getString("sign");
|
|
|
+// json.remove("sign");
|
|
|
+// String signbb = PayUtil.getPaySign(json, PayUtil.publicKey);
|
|
|
+// if (!signaa.equals(signbb)) {
|
|
|
+// return "验签失败";
|
|
|
+// }
|
|
|
+// String mbOrderId = json.getString("mbOrderId");
|
|
|
+// String status = json.getString("status");
|
|
|
+// log.info("【临时手动分账回调】>>>>>>>>>>分账状态:" + status);
|
|
|
+// if ("FAILED".equals(status)) {
|
|
|
+// return "分账失败";
|
|
|
+// }
|
|
|
+// // 修改收款分账状态
|
|
|
+// payOrderMapper.updateBySplitStatus(mbOrderId);
|
|
|
+// } catch (Exception e) {
|
|
|
+// log.error("【临时手动分账回调】>>>>>>>>>>分账异步通知异常", e);
|
|
|
+// return "分账失败";
|
|
|
+// }
|
|
|
+// return "SUCCESS";
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 临时手动分账
|
|
|
+// *
|
|
|
+// * 订单:14814
|
|
|
+// *
|
|
|
+// * ¥730.00 分账给 20001793 (米花分账号) 公账-专票 10033578851 (易宝商户号)
|
|
|
+// * ¥740.00 分账给 20001924 (米花分账号) 私账-无票 10033806951 (易宝商户号)
|
|
|
+// */
|
|
|
+// @Override
|
|
|
+// public String temporarySplitting(){
|
|
|
+// log.info("【临时手动分账】订单Id:14814");
|
|
|
+// // 订单信息
|
|
|
+// List<SplitAccountPo> splitBillDetail = new ArrayList<>();
|
|
|
+// double splitAmount0 = 1470.00d;
|
|
|
+// double splitAmount1 = 730.00d;
|
|
|
+// double splitAmount2 = 740.00d;
|
|
|
+// // 手续费
|
|
|
+// double procedureFee = MathUtil.mul(splitAmount0, 0.0038, 4).doubleValue();
|
|
|
+// if (MathUtil.compare(splitAmount0, 0) == 0) {
|
|
|
+// procedureFee = 0.01;
|
|
|
+// }
|
|
|
+// splitAmount1 = MathUtil.sub(splitAmount1, procedureFee).doubleValue();
|
|
|
+//
|
|
|
+// SplitAccountPo splitAccount1 = new SplitAccountPo();
|
|
|
+// splitAccount1.setOrderId(14814);
|
|
|
+// splitAccount1.setSplitAccount(splitAmount1);
|
|
|
+// splitAccount1.setProductType(3);
|
|
|
+// splitAccount1.setType(1);
|
|
|
+// splitAccount1.setSubUserNo(PayUtil.publicAccountNo);
|
|
|
+// splitBillDetail.add(splitAccount1);
|
|
|
+//
|
|
|
+// SplitAccountPo splitAccount2 = new SplitAccountPo();
|
|
|
+// splitAccount2.setOrderId(14814);
|
|
|
+// splitAccount2.setSplitAccount(splitAmount2);
|
|
|
+// splitAccount2.setProductType(1);
|
|
|
+// splitAccount2.setType(2);
|
|
|
+// splitAccount2.setSubUserNo(PayUtil.privateAccountNo);
|
|
|
+// splitBillDetail.add(splitAccount2);
|
|
|
+//
|
|
|
+// List<Map<String, String>> maps = new ArrayList<>();
|
|
|
+// //公账-专票总金额,私账-无票总金额,公账-普票总金额
|
|
|
+// double totalAmount1 = 0.00d;
|
|
|
+// double totalAmount2 = 0.00d;
|
|
|
+// double totalAmount3 = 0.00d;
|
|
|
+// for (SplitAccountPo account : splitBillDetail) {
|
|
|
+// if (1 == account.getType()) {
|
|
|
+// totalAmount1 = MathUtil.add(totalAmount1, account.getSplitAccount()).doubleValue();
|
|
|
+// } else if (2 == account.getType()) {
|
|
|
+// totalAmount2 = MathUtil.add(totalAmount2, account.getSplitAccount()).doubleValue();
|
|
|
+// } else if (3 == account.getType()) {
|
|
|
+// totalAmount3 = MathUtil.add(totalAmount3, account.getSplitAccount()).doubleValue();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// addMaps(maps, totalAmount1, PayUtil.publicAccountNo);
|
|
|
+// addMaps(maps, totalAmount2, PayUtil.privateAccountNo);
|
|
|
+// addMaps(maps, totalAmount3, PayUtil.commonInvoiceNo);
|
|
|
+// String parameters = JSON.toJSONString(maps);
|
|
|
+// log.info("【临时手动分账】>>>>>>>>>>分账参数: " + parameters);
|
|
|
+//
|
|
|
+// //第三方分账接口
|
|
|
+// JSONObject result = null;
|
|
|
+// try {
|
|
|
+// // 时间戳
|
|
|
+// long time = System.currentTimeMillis() / 1000;
|
|
|
+// JSONObject json = new JSONObject();
|
|
|
+// json.put("merAccount", PayUtil.merAccount);
|
|
|
+// json.put("orderId", "X162807235471784T1628072439");
|
|
|
+// json.put("requestNo", "X162807235471784T1628072439");
|
|
|
+// json.put("mbOrderId", "gpnpac79061628072439679010001720");
|
|
|
+// json.put("time", time);
|
|
|
+// json.put("splitBillDetail", parameters);
|
|
|
+// json.put("notifyUrl", "https://core.caimei365.com/order/pay/temp/split/callback");
|
|
|
+// log.info("回调接口>>>https://core.caimei365.com/order/pay/temp/split/callback");
|
|
|
+// String sign = PayUtil.getPaySign(json, PayUtil.merKey);
|
|
|
+// json.put("sign", sign);
|
|
|
+// String data = PayUtil.privateKeyEncrypt(json, PayUtil.merKey);
|
|
|
+// result = PayUtil.httpGet("https://platform.mhxxkj.com/paygateway/mbpay/splitOrder/v1", PayUtil.merAccount, data);
|
|
|
+// } catch (Exception e) {
|
|
|
+// log.error("【临时手动分账】>>>>>>>>>>错误信息", e);
|
|
|
+// }
|
|
|
+// if (result != null) {
|
|
|
+// String code = result.getString("code");
|
|
|
+// if (!"000000".equals(code)) {
|
|
|
+// String msg = result.getString("msg");
|
|
|
+// log.info("【临时手动分账】>>>>>>>>>>第三方延迟分账失败>>>>>>>msg:" + msg);
|
|
|
+// } else {
|
|
|
+// for (SplitAccountPo splitAccount : splitBillDetail) {
|
|
|
+// splitAccount.setMbOrderId("gpnpac79061628072439679010001720");
|
|
|
+// splitAccount.setOrderRequestNo("X162807235471784T1628072439");
|
|
|
+// splitAccount.setPayStatus(1);
|
|
|
+// // 保存分账详情
|
|
|
+// payOrderMapper.insertSplitAccount(splitAccount);
|
|
|
+// log.info("【临时手动分账】>>>>>>>>>>id:"+splitAccount.getId());
|
|
|
+// }
|
|
|
+// log.info("【临时手动分账】>>>>>>>>>>此订单分账结束");
|
|
|
+// }
|
|
|
+// }
|
|
|
+// return "临时手动分账";
|
|
|
+// };
|
|
|
+
|
|
|
}
|