mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-10-15 22:30:27 +00:00
feat 多卡支付适配
This commit is contained in:
@@ -17,6 +17,9 @@ public interface PayWayExtraCode {
|
|||||||
/** 单张储值卡 */
|
/** 单张储值卡 */
|
||||||
String VOUCHER_NO = "voucher_no";
|
String VOUCHER_NO = "voucher_no";
|
||||||
|
|
||||||
|
/** 多张储值卡 */
|
||||||
|
String VOUCHER_NO_LIST = "voucher_no_list";
|
||||||
|
|
||||||
/** 钱包ID */
|
/** 钱包ID */
|
||||||
String WALLET_ID = "wallet_id";
|
String WALLET_ID = "wallet_id";
|
||||||
|
|
||||||
|
@@ -21,7 +21,7 @@ import cn.bootx.platform.daxpay.param.cashier.CashierCombinationPayParam;
|
|||||||
import cn.bootx.platform.daxpay.param.cashier.CashierSinglePayParam;
|
import cn.bootx.platform.daxpay.param.cashier.CashierSinglePayParam;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayParam;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
||||||
import cn.bootx.platform.daxpay.util.PayWaylUtil;
|
import cn.bootx.platform.daxpay.util.PayWayUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.ijpay.core.enums.SignType;
|
import com.ijpay.core.enums.SignType;
|
||||||
@@ -75,11 +75,12 @@ public class CashierService {
|
|||||||
.setAmount(param.getAmount());
|
.setAmount(param.getAmount());
|
||||||
|
|
||||||
// 处理附加参数
|
// 处理附加参数
|
||||||
HashMap<String, String> map = new HashMap<>(1);
|
HashMap<String, Object> map = new HashMap<>(1);
|
||||||
map.put(PayWayExtraCode.AUTH_CODE, param.getAuthCode());
|
map.put(PayWayExtraCode.AUTH_CODE, param.getAuthCode());
|
||||||
map.put(PayWayExtraCode.OPEN_ID, param.getOpenId());
|
map.put(PayWayExtraCode.OPEN_ID, param.getOpenId());
|
||||||
map.put(PayWayExtraCode.VOUCHER_NO, param.getVoucherNo());
|
map.put(PayWayExtraCode.VOUCHER_NO, param.getVoucherNo());
|
||||||
String extraParamsJson = PayWaylUtil.buildExtraParamsJson(param.getPayChannel(), map);
|
map.put(PayWayExtraCode.VOUCHER_NO_LIST, param.getVoucherNoList());
|
||||||
|
String extraParamsJson = PayWayUtil.buildExtraParamsJson(param.getPayChannel(), map);
|
||||||
payWayParam.setExtraParamsJson(extraParamsJson);
|
payWayParam.setExtraParamsJson(extraParamsJson);
|
||||||
|
|
||||||
PayParam payParam = new PayParam()
|
PayParam payParam = new PayParam()
|
||||||
|
@@ -11,7 +11,7 @@ import cn.bootx.platform.daxpay.dto.pay.AsyncPayInfo;
|
|||||||
import cn.bootx.platform.daxpay.exception.payment.PayFailureException;
|
import cn.bootx.platform.daxpay.exception.payment.PayFailureException;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
||||||
import cn.bootx.platform.daxpay.param.channel.alipay.AliPayParam;
|
import cn.bootx.platform.daxpay.param.channel.alipay.AliPayParam;
|
||||||
import cn.bootx.platform.daxpay.util.PayWaylUtil;
|
import cn.bootx.platform.daxpay.util.PayWayUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.Method;
|
import cn.hutool.http.Method;
|
||||||
import com.alipay.api.AlipayApiException;
|
import com.alipay.api.AlipayApiException;
|
||||||
@@ -106,8 +106,8 @@ public class AliPayService {
|
|||||||
model.setOutTradeNo(String.valueOf(payment.getId()));
|
model.setOutTradeNo(String.valueOf(payment.getId()));
|
||||||
model.setTotalAmount(amount.toPlainString());
|
model.setTotalAmount(amount.toPlainString());
|
||||||
// 过期时间
|
// 过期时间
|
||||||
model.setTimeoutExpress(PayWaylUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
model.setTimeoutExpress(PayWayUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
||||||
payment.setExpiredTime(PayWaylUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
payment.setExpiredTime(PayWayUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
||||||
model.setProductCode(AliPayCode.QUICK_WAP_PAY);
|
model.setProductCode(AliPayCode.QUICK_WAP_PAY);
|
||||||
model.setQuitUrl(aliPayParam.getReturnUrl());
|
model.setQuitUrl(aliPayParam.getReturnUrl());
|
||||||
|
|
||||||
@@ -137,8 +137,8 @@ public class AliPayService {
|
|||||||
model.setProductCode(QUICK_MSECURITY_PAY);
|
model.setProductCode(QUICK_MSECURITY_PAY);
|
||||||
model.setOutTradeNo(String.valueOf(payment.getId()));
|
model.setOutTradeNo(String.valueOf(payment.getId()));
|
||||||
// 过期时间
|
// 过期时间
|
||||||
model.setTimeoutExpress(PayWaylUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
model.setTimeoutExpress(PayWayUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
||||||
payment.setExpiredTime(PayWaylUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
payment.setExpiredTime(PayWayUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
||||||
model.setTotalAmount(amount.toPlainString());
|
model.setTotalAmount(amount.toPlainString());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -161,8 +161,8 @@ public class AliPayService {
|
|||||||
model.setSubject(payment.getTitle());
|
model.setSubject(payment.getTitle());
|
||||||
model.setOutTradeNo(String.valueOf(payment.getId()));
|
model.setOutTradeNo(String.valueOf(payment.getId()));
|
||||||
// 过期时间
|
// 过期时间
|
||||||
model.setTimeoutExpress(PayWaylUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
model.setTimeoutExpress(PayWayUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
||||||
payment.setExpiredTime(PayWaylUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
payment.setExpiredTime(PayWayUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
||||||
model.setTotalAmount(amount.toPlainString());
|
model.setTotalAmount(amount.toPlainString());
|
||||||
// 目前仅支持FAST_INSTANT_TRADE_PAY
|
// 目前仅支持FAST_INSTANT_TRADE_PAY
|
||||||
model.setProductCode(AliPayCode.FAST_INSTANT_TRADE_PAY);
|
model.setProductCode(AliPayCode.FAST_INSTANT_TRADE_PAY);
|
||||||
@@ -192,8 +192,8 @@ public class AliPayService {
|
|||||||
model.setTotalAmount(amount.toPlainString());
|
model.setTotalAmount(amount.toPlainString());
|
||||||
|
|
||||||
// 过期时间
|
// 过期时间
|
||||||
model.setTimeoutExpress(PayWaylUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
model.setTimeoutExpress(PayWayUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
||||||
payment.setExpiredTime(PayWaylUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
payment.setExpiredTime(PayWayUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
AlipayTradePrecreateResponse response = AliPayApi.tradePrecreatePayToResponse(model,
|
AlipayTradePrecreateResponse response = AliPayApi.tradePrecreatePayToResponse(model,
|
||||||
@@ -219,8 +219,8 @@ public class AliPayService {
|
|||||||
model.setAuthCode(aliPayParam.getAuthCode());
|
model.setAuthCode(aliPayParam.getAuthCode());
|
||||||
|
|
||||||
// 过期时间
|
// 过期时间
|
||||||
model.setTimeoutExpress(PayWaylUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
model.setTimeoutExpress(PayWayUtil.getAliExpiredTime(alipayConfig.getExpireTime()));
|
||||||
payment.setExpiredTime(PayWaylUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
payment.setExpiredTime(PayWayUtil.getPaymentExpiredTime(alipayConfig.getExpireTime()));
|
||||||
model.setTotalAmount(amount.toPlainString());
|
model.setTotalAmount(amount.toPlainString());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@@ -15,7 +15,7 @@ import cn.bootx.platform.daxpay.dto.pay.AsyncPayInfo;
|
|||||||
import cn.bootx.platform.daxpay.exception.payment.PayFailureException;
|
import cn.bootx.platform.daxpay.exception.payment.PayFailureException;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
||||||
import cn.bootx.platform.daxpay.param.channel.wechat.WeChatPayParam;
|
import cn.bootx.platform.daxpay.param.channel.wechat.WeChatPayParam;
|
||||||
import cn.bootx.platform.daxpay.util.PayWaylUtil;
|
import cn.bootx.platform.daxpay.util.PayWayUtil;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.net.NetUtil;
|
import cn.hutool.core.net.NetUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
@@ -224,14 +224,14 @@ public class WeChatPayService {
|
|||||||
private UnifiedOrderModel.UnifiedOrderModelBuilder buildParams(String amount, Payment payment,
|
private UnifiedOrderModel.UnifiedOrderModelBuilder buildParams(String amount, Payment payment,
|
||||||
WeChatPayConfig weChatPayConfig, String tradeType) {
|
WeChatPayConfig weChatPayConfig, String tradeType) {
|
||||||
// 过期时间
|
// 过期时间
|
||||||
payment.setExpiredTime(PayWaylUtil.getPaymentExpiredTime(weChatPayConfig.getExpireTime()));
|
payment.setExpiredTime(PayWayUtil.getPaymentExpiredTime(weChatPayConfig.getExpireTime()));
|
||||||
return UnifiedOrderModel.builder()
|
return UnifiedOrderModel.builder()
|
||||||
.appid(weChatPayConfig.getWxAppId())
|
.appid(weChatPayConfig.getWxAppId())
|
||||||
.mch_id(weChatPayConfig.getWxMchId())
|
.mch_id(weChatPayConfig.getWxMchId())
|
||||||
.nonce_str(WxPayKit.generateStr())
|
.nonce_str(WxPayKit.generateStr())
|
||||||
.time_start(LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN))
|
.time_start(LocalDateTimeUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN))
|
||||||
// 反正v2版本的超时时间无效
|
// 反正v2版本的超时时间无效
|
||||||
.time_expire(PayWaylUtil.getWxExpiredTime(weChatPayConfig.getExpireTime()))
|
.time_expire(PayWayUtil.getWxExpiredTime(weChatPayConfig.getExpireTime()))
|
||||||
.body(payment.getTitle())
|
.body(payment.getTitle())
|
||||||
.out_trade_no(String.valueOf(payment.getId()))
|
.out_trade_no(String.valueOf(payment.getId()))
|
||||||
.total_fee(amount)
|
.total_fee(amount)
|
||||||
|
@@ -24,7 +24,7 @@ import cn.bootx.platform.daxpay.exception.payment.PayUnsupportedMethodException;
|
|||||||
import cn.bootx.platform.daxpay.mq.PayEventSender;
|
import cn.bootx.platform.daxpay.mq.PayEventSender;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayParam;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
||||||
import cn.bootx.platform.daxpay.util.PayWaylUtil;
|
import cn.bootx.platform.daxpay.util.PayWayUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -68,7 +68,7 @@ public class PayService {
|
|||||||
// 检验参数
|
// 检验参数
|
||||||
ValidationUtil.validateParam(payParam);
|
ValidationUtil.validateParam(payParam);
|
||||||
// 异步支付方式检查
|
// 异步支付方式检查
|
||||||
PayWaylUtil.validationAsyncPayMode(payParam);
|
PayWayUtil.validationAsyncPayMode(payParam);
|
||||||
// 商户和应用信息检测
|
// 商户和应用信息检测
|
||||||
this.checkMchAndApp(payParam);
|
this.checkMchAndApp(payParam);
|
||||||
// 获取并校验支付状态
|
// 获取并校验支付状态
|
||||||
@@ -94,7 +94,7 @@ public class PayService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 1. 价格检测
|
// 1. 价格检测
|
||||||
PayWaylUtil.validationAmount(payParam.getPayWayList());
|
PayWayUtil.validationAmount(payParam.getPayWayList());
|
||||||
|
|
||||||
// 2. 创建支付记录
|
// 2. 创建支付记录
|
||||||
payment = this.createPayment(payParam);
|
payment = this.createPayment(payParam);
|
||||||
@@ -139,7 +139,7 @@ public class PayService {
|
|||||||
// 发起支付成功进行的执行方法
|
// 发起支付成功进行的执行方法
|
||||||
strategyList.forEach(AbsPayStrategy::doSuccessHandler);
|
strategyList.forEach(AbsPayStrategy::doSuccessHandler);
|
||||||
// 所有支付方式都是同步时进行Payment处理
|
// 所有支付方式都是同步时进行Payment处理
|
||||||
if (PayWaylUtil.isNotSync(payParam.getPayWayList())) {
|
if (PayWayUtil.isNotSync(payParam.getPayWayList())) {
|
||||||
// 修改payment支付状态为成功
|
// 修改payment支付状态为成功
|
||||||
paymentObj.setPayStatus(TRADE_SUCCESS);
|
paymentObj.setPayStatus(TRADE_SUCCESS);
|
||||||
paymentObj.setPayTime(LocalDateTime.now());
|
paymentObj.setPayTime(LocalDateTime.now());
|
||||||
|
@@ -59,7 +59,7 @@ public class PayExpiredTimeService {
|
|||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// // 3 拿到异步支付方法, 与支付网关进行同步
|
// // 3 拿到异步支付方法, 与支付网关进行同步
|
||||||
// PayWayParam asyncPayMode = PayWaylUtil.getAsyncPayModeParam(payParam);
|
// PayWayParam asyncPayMode = PayWayUtil.getAsyncPayModeParam(payParam);
|
||||||
// AbsPayStrategy syncPayStrategy = PayStrategyFactory.create(asyncPayMode);
|
// AbsPayStrategy syncPayStrategy = PayStrategyFactory.create(asyncPayMode);
|
||||||
// syncPayStrategy.initPayParam(payment, payParam);
|
// syncPayStrategy.initPayParam(payment, payParam);
|
||||||
// PaySyncResult paySyncResult = syncPayStrategy.doSyncPayStatusHandler();
|
// PaySyncResult paySyncResult = syncPayStrategy.doSyncPayStatusHandler();
|
||||||
|
@@ -17,7 +17,7 @@ import cn.bootx.platform.daxpay.exception.payment.PayUnsupportedMethodException;
|
|||||||
import cn.bootx.platform.daxpay.mq.PayEventSender;
|
import cn.bootx.platform.daxpay.mq.PayEventSender;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayParam;
|
||||||
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
import cn.bootx.platform.daxpay.param.pay.PayWayParam;
|
||||||
import cn.bootx.platform.daxpay.util.PayWaylUtil;
|
import cn.bootx.platform.daxpay.util.PayWayUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -101,7 +101,7 @@ public class PaySyncService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 拿到对应的支付方式
|
// 拿到对应的支付方式
|
||||||
PayWayParam asyncPayMode = PayWaylUtil.getAsyncPayModeParam(payParam);
|
PayWayParam asyncPayMode = PayWayUtil.getAsyncPayModeParam(payParam);
|
||||||
AbsPayStrategy syncPayStrategy = PayStrategyFactory.create(asyncPayMode);
|
AbsPayStrategy syncPayStrategy = PayStrategyFactory.create(asyncPayMode);
|
||||||
|
|
||||||
// 对同步结果处理
|
// 对同步结果处理
|
||||||
|
@@ -5,6 +5,7 @@ import lombok.Data;
|
|||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结算台发起支付参数
|
* 结算台发起支付参数
|
||||||
@@ -47,6 +48,9 @@ public class CashierSinglePayParam {
|
|||||||
@Schema(description = "储值卡")
|
@Schema(description = "储值卡")
|
||||||
private String voucherNo;
|
private String voucherNo;
|
||||||
|
|
||||||
|
@Schema(description = "储值卡")
|
||||||
|
private List<String> voucherNoList;
|
||||||
|
|
||||||
@Schema(description = "钱包ID")
|
@Schema(description = "钱包ID")
|
||||||
private String walletId;
|
private String walletId;
|
||||||
|
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
package cn.bootx.platform.daxpay.util;
|
package cn.bootx.platform.daxpay.util;
|
||||||
|
|
||||||
import cn.bootx.platform.common.core.util.BigDecimalUtil;
|
import cn.bootx.platform.common.core.util.BigDecimalUtil;
|
||||||
|
import cn.bootx.platform.common.core.util.CollUtil;
|
||||||
import cn.bootx.platform.common.core.util.LocalDateTimeUtil;
|
import cn.bootx.platform.common.core.util.LocalDateTimeUtil;
|
||||||
import cn.bootx.platform.daxpay.code.pay.PayChannelEnum;
|
import cn.bootx.platform.daxpay.code.pay.PayChannelEnum;
|
||||||
import cn.bootx.platform.daxpay.code.pay.PayWayExtraCode;
|
import cn.bootx.platform.daxpay.code.pay.PayWayExtraCode;
|
||||||
@@ -13,6 +14,7 @@ import cn.bootx.platform.daxpay.param.channel.alipay.AliPayParam;
|
|||||||
import cn.bootx.platform.daxpay.param.channel.voucher.VoucherPayParam;
|
import cn.bootx.platform.daxpay.param.channel.voucher.VoucherPayParam;
|
||||||
import cn.bootx.platform.daxpay.param.channel.wechat.WeChatPayParam;
|
import cn.bootx.platform.daxpay.param.channel.wechat.WeChatPayParam;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
@@ -31,7 +33,7 @@ import java.util.Map;
|
|||||||
* @since 2022/7/12
|
* @since 2022/7/12
|
||||||
*/
|
*/
|
||||||
@UtilityClass
|
@UtilityClass
|
||||||
public class PayWaylUtil {
|
public class PayWayUtil {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取支付宝的过期时间
|
* 获取支付宝的过期时间
|
||||||
@@ -80,31 +82,42 @@ public class PayWaylUtil {
|
|||||||
* @param payChannel 支付通道编码
|
* @param payChannel 支付通道编码
|
||||||
* @param map 支付方式扩展字段信息 key 为 PayModelExtraCode中定义的
|
* @param map 支付方式扩展字段信息 key 为 PayModelExtraCode中定义的
|
||||||
*/
|
*/
|
||||||
public String buildExtraParamsJson(String payChannel, Map<String, String> map) {
|
public String buildExtraParamsJson(String payChannel, Map<String, Object> map) {
|
||||||
PayChannelEnum payChannelEnum = PayChannelEnum.findByCode(payChannel);
|
PayChannelEnum payChannelEnum = PayChannelEnum.findByCode(payChannel);
|
||||||
switch (payChannelEnum) {
|
switch (payChannelEnum) {
|
||||||
case ALI: {
|
case ALI: {
|
||||||
return JSONUtil.toJsonStr(new AliPayParam().setAuthCode(map.get(PayWayExtraCode.AUTH_CODE))
|
return JSONUtil.toJsonStr(new AliPayParam().setAuthCode(MapUtil.getStr(map,PayWayExtraCode.AUTH_CODE))
|
||||||
.setReturnUrl(map.get(PayWayExtraCode.RETURN_URL)));
|
.setReturnUrl(MapUtil.getStr(map,PayWayExtraCode.RETURN_URL)));
|
||||||
}
|
}
|
||||||
case WECHAT: {
|
case WECHAT: {
|
||||||
return JSONUtil.toJsonStr(new WeChatPayParam().setOpenId(map.get(PayWayExtraCode.OPEN_ID))
|
return JSONUtil.toJsonStr(new WeChatPayParam().setOpenId(MapUtil.getStr(map,PayWayExtraCode.OPEN_ID))
|
||||||
.setAuthCode(map.get(PayWayExtraCode.AUTH_CODE)));
|
.setAuthCode(MapUtil.getStr(map,PayWayExtraCode.AUTH_CODE)));
|
||||||
}
|
}
|
||||||
case VOUCHER: {
|
case VOUCHER: {
|
||||||
String voucherNo = map.get(PayWayExtraCode.VOUCHER_NO);
|
String voucherNo = MapUtil.getStr(map,PayWayExtraCode.VOUCHER_NO);
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
List<String> voucherNos = MapUtil.get(map,PayWayExtraCode.VOUCHER_NO_LIST,List.class);
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
if (StrUtil.isNotBlank(voucherNo)) {
|
if (CollUtil.isNotEmpty(voucherNos)){
|
||||||
|
list.addAll(voucherNos);
|
||||||
|
}
|
||||||
|
else if (StrUtil.isNotBlank(voucherNo)) {
|
||||||
list.add(voucherNo);
|
list.add(voucherNo);
|
||||||
}
|
}
|
||||||
return JSONUtil.toJsonStr(new VoucherPayParam().setCardNoList(list));
|
return JSONUtil.toJsonStr(new VoucherPayParam().setCardNoList(list));
|
||||||
}
|
}
|
||||||
case WALLET: {
|
case WALLET: {
|
||||||
String walletId = map.get(PayWayExtraCode.WALLET_ID);
|
String walletId = MapUtil.getStr(map,PayWayExtraCode.WALLET_ID);
|
||||||
String userId = map.get(PayWayExtraCode.USER_ID);
|
String userId = MapUtil.getStr(map,PayWayExtraCode.USER_ID);
|
||||||
WalletPayParam walletPayParam = new WalletPayParam()
|
WalletPayParam walletPayParam = new WalletPayParam();
|
||||||
.setWalletId(Long.valueOf(walletId))
|
|
||||||
.setUserId(Long.valueOf(userId));
|
if (StrUtil.isNotBlank(walletId)){
|
||||||
|
walletPayParam.setWalletId(Long.valueOf(walletId));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(userId)){
|
||||||
|
walletPayParam.setUserId(Long.valueOf(userId));
|
||||||
|
}
|
||||||
return JSONUtil.toJsonStr(walletPayParam);
|
return JSONUtil.toJsonStr(walletPayParam);
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
Reference in New Issue
Block a user