mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
update 订单分账
This commit is contained in:
@@ -959,50 +959,65 @@ public class AdapayService {
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public PaymentConfirmResponse createPaymentConfirmRequest(String paymentId, AdapayMemberAccount adapayMemberAccount, BigDecimal confirmAmt, String orderCode, String wechatAppId) {
|
||||
// 调汇付的分账接口 确认交易
|
||||
Map<String, Object> confirmParams = Maps.newHashMap();
|
||||
// Adapay生成的支付对象id
|
||||
confirmParams.put("payment_id", paymentId);
|
||||
// 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
|
||||
// confirmParams.put("order_no", "PC" + System.currentTimeMillis());
|
||||
confirmParams.put("order_no", IdUtils.get16UUID("PC"));
|
||||
// 确认金额,必须大于0,保留两位小数点,如0.10、100.05等。必须小于等于原支付金额-已确认金额-已撤销金额。
|
||||
confirmParams.put("confirm_amt", AdapayUtil.formatAmount(confirmAmt));
|
||||
// 附加说明
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderCode", orderCode);
|
||||
jsonObject.put("adapayMemberId", adapayMemberAccount.getAdapayMemberId());
|
||||
confirmParams.put("description", jsonObject.toJSONString());
|
||||
// 分账对象信息 一次最多7个
|
||||
// // 调汇付的分账接口 确认交易
|
||||
// Map<String, Object> confirmParams = Maps.newHashMap();
|
||||
// // Adapay生成的支付对象id
|
||||
// confirmParams.put("payment_id", paymentId);
|
||||
// // 请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一
|
||||
// // confirmParams.put("order_no", "PC" + System.currentTimeMillis());
|
||||
// confirmParams.put("order_no", IdUtils.get16UUID("PC"));
|
||||
// // 确认金额,必须大于0,保留两位小数点,如0.10、100.05等。必须小于等于原支付金额-已确认金额-已撤销金额。
|
||||
// confirmParams.put("confirm_amt", AdapayUtil.formatAmount(confirmAmt));
|
||||
// // 附加说明
|
||||
// JSONObject jsonObject = new JSONObject();
|
||||
// jsonObject.put("orderCode", orderCode);
|
||||
// jsonObject.put("adapayMemberId", adapayMemberAccount.getAdapayMemberId());
|
||||
// confirmParams.put("description", jsonObject.toJSONString());
|
||||
// // 分账对象信息 一次最多7个
|
||||
// DivMember divMember = new DivMember();
|
||||
// divMember.setMemberId(adapayMemberAccount.getAdapayMemberId());
|
||||
// divMember.setAmount(AdapayUtil.formatAmount(confirmAmt));
|
||||
// divMember.setFeeFlag(Constants.Y);
|
||||
// confirmParams.put("div_members", Lists.newArrayList(divMember));
|
||||
// Map<String, Object> paymentConfirm = null;
|
||||
// try {
|
||||
// paymentConfirm = PaymentConfirm.create(confirmParams, wechatAppId);
|
||||
// } catch (BaseAdaPayException e) {
|
||||
// log.error("创建交易确认请求error", e);
|
||||
// }
|
||||
// String jsonString = JSON.toJSONString(paymentConfirm);
|
||||
// log.info("调分账接口param:{}, result:{}", JSON.toJSONString(confirmParams), jsonString);
|
||||
//
|
||||
// // 删除支付确认信息缓存
|
||||
// redisCache.deleteObject(CacheConstants.PAYMENT_CONFIRM_LIST + paymentId);
|
||||
// return JSONObject.parseObject(jsonString, PaymentConfirmResponse.class);
|
||||
|
||||
DivMember divMember = new DivMember();
|
||||
divMember.setMemberId(adapayMemberAccount.getAdapayMemberId());
|
||||
divMember.setAmount(AdapayUtil.formatAmount(confirmAmt));
|
||||
divMember.setFeeFlag(Constants.Y);
|
||||
confirmParams.put("div_members", Lists.newArrayList(divMember));
|
||||
Map<String, Object> paymentConfirm = null;
|
||||
try {
|
||||
paymentConfirm = PaymentConfirm.create(confirmParams, wechatAppId);
|
||||
} catch (BaseAdaPayException e) {
|
||||
log.error("创建交易确认请求error", e);
|
||||
}
|
||||
String jsonString = JSON.toJSONString(paymentConfirm);
|
||||
log.info("调分账接口param:{}, result:{}", JSON.toJSONString(confirmParams), jsonString);
|
||||
|
||||
// 删除支付确认信息缓存
|
||||
redisCache.deleteObject(CacheConstants.PAYMENT_CONFIRM_LIST + paymentId);
|
||||
return JSONObject.parseObject(jsonString, PaymentConfirmResponse.class);
|
||||
PaymentConfirmParam param = PaymentConfirmParam.builder()
|
||||
.paymentId(paymentId)
|
||||
.divMemberList(Lists.newArrayList(divMember))
|
||||
.confirmAmt(confirmAmt)
|
||||
.orderCode(orderCode)
|
||||
.wechatAppId(wechatAppId)
|
||||
.build();
|
||||
return createPaymentConfirmRequest(param);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建交易确认请求/创建分账请求
|
||||
* 这个方法只适用于多用户分账
|
||||
*
|
||||
* @param paymentId 支付对象id
|
||||
* @param adapayMemberAccounts 收到该账的汇付会员信息
|
||||
* @param confirmAmt 确认的金额
|
||||
* @param orderCode 订单编号
|
||||
*/
|
||||
public PaymentConfirmResponse createPaymentConfirmRequestMultiuser(String paymentId, List<DivMember> adapayMemberAccounts, BigDecimal confirmAmt, String orderCode, String wechatAppId) {
|
||||
public PaymentConfirmResponse createPaymentConfirmRequest(PaymentConfirmParam param) {
|
||||
String paymentId = param.getPaymentId(); // 支付对象id
|
||||
List<DivMember> adapayMemberAccounts = param.getDivMemberList(); // 收到该账的汇付会员信息
|
||||
BigDecimal confirmAmt = param.getConfirmAmt(); // 确认的金额
|
||||
String orderCode = param.getOrderCode(); // 订单编号
|
||||
String wechatAppId = param.getWechatAppId(); // appId
|
||||
|
||||
// 调汇付的分账接口 确认交易
|
||||
Map<String, Object> confirmParams = Maps.newHashMap();
|
||||
// Adapay生成的支付对象id
|
||||
@@ -1019,10 +1034,6 @@ public class AdapayService {
|
||||
jsonObject.put("adapayMemberIds", StringUtils.join(collect, ","));
|
||||
confirmParams.put("description", jsonObject.toJSONString());
|
||||
// 分账对象信息 一次最多7个
|
||||
// DivMember divMember = new DivMember();
|
||||
// divMember.setMember_id(adapayMemberAccount.getAdapayMemberId());
|
||||
// divMember.setAmount(AdapayUtil.formatAmount(confirmAmt));
|
||||
// divMember.setFee_flag(Constants.Y);
|
||||
if (adapayMemberAccounts.size() > 7) {
|
||||
throw new BusinessException("", "分账人数不能超过7人");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user