update 订单详情接口

This commit is contained in:
Guoqs
2024-08-06 17:04:28 +08:00
parent 602a3868db
commit 155e67ef85
8 changed files with 86 additions and 8 deletions

View File

@@ -2,6 +2,7 @@ package com.jsowell.pile.service;
import com.jsowell.adapay.vo.PaymentInfo;
import com.jsowell.pile.domain.OrderPayRecord;
import com.jsowell.pile.vo.OrderPayRecordVO;
import com.jsowell.pile.vo.web.OrderDetailInfoVO;
import java.math.BigDecimal;
@@ -33,6 +34,8 @@ public interface OrderPayRecordService{
List<PaymentInfo> queryPaymentInfosByOrderCode(String orderCode);
List<OrderPayRecordVO> selectOrderPayRecordList(String orderCode);
List<OrderDetailInfoVO.PayRecord> selectOrderPayInfoList(String orderCode);
List<PaymentInfo> parseDeductionRecord(String deductionRecord);

View File

@@ -8,6 +8,7 @@ import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.core.text.Convert;
import com.jsowell.common.enums.adapay.AdapayPayChannelEnum;
import com.jsowell.common.enums.ykc.OrderPayModeEnum;
import com.jsowell.common.enums.ykc.OrderPayRecordEnum;
import com.jsowell.common.enums.ykc.PaymentInstitutionsEnum;
@@ -94,7 +95,9 @@ public class OrderPayRecordServiceImpl implements OrderPayRecordService {
/**
* 查询订单支付信息
* 加缓存
*/
@Override
public List<OrderPayRecordVO> selectOrderPayRecordList(String orderCode) {
// 缓存
String redisKey = CacheConstants.SELECT_ORDER_PAY_INFO_LIST + orderCode;
@@ -116,9 +119,54 @@ public class OrderPayRecordServiceImpl implements OrderPayRecordService {
}
for (OrderPayRecordVO orderPayRecordVO : resultList) {
orderPayRecordVO.setPayModeDesc(OrderPayRecordEnum.getPayModeDesc(orderPayRecordVO.getPayMode()));
orderPayRecordVO.setPayChannelDesc(AdapayPayChannelEnum.getLabelByValue(orderPayRecordVO.getPayChannel()));
// 支付方式1-本金余额支付2-赠送余额支付3-白名单支付4-微信支付5-支付宝支付)
String payMode = orderPayRecordVO.getPayMode();
if (StringUtils.equals(payMode, OrderPayRecordEnum.PRINCIPAL_BALANCE_PAYMENT.getValue())
|| StringUtils.equals(payMode, OrderPayRecordEnum.GIFT_BALANCE_PAYMENT.getValue())) {
// 使用余额支付
orderPayRecordVO.setPayMode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue());
String payModeDesc = null;
if (StringUtils.isNotBlank(OrderPayRecordEnum.getPayModeDesc(payMode))) {
payModeDesc = OrderPayRecordEnum.getPayModeDesc(payMode);
} else {
payModeDesc = OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue();
}
orderPayRecordVO.setPayModeDesc(payModeDesc);
} else if (StringUtils.equals(payMode, OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())) {
// 使用微信支付
orderPayRecordVO.setPayMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue());
orderPayRecordVO.setPayModeDesc(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getLabel());
// 判断是微信支付还是汇付支付
String paymentInstitutions = orderPayRecordVO.getAcquirer();
if (StringUtils.equals(paymentInstitutions, PaymentInstitutionsEnum.WECHAT_PAY.getValue())) {
// 查微信支付回调记录
WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderCode);
if (wxpayCallbackRecord != null) {
orderPayRecordVO.setOutTradeNo(wxpayCallbackRecord.getOutTradeNo());
orderPayRecordVO.setTransactionId(wxpayCallbackRecord.getTransactionId());
}
} else if (StringUtils.equals(paymentInstitutions, PaymentInstitutionsEnum.ADAPAY.getValue())) {
List<PaymentInfo> paymentInfos = parseDeductionRecord(orderPayRecordVO.getDeductionRecord());
// 查询汇付支付回调
// AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderCode);
AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByPaymentId(paymentInfos.get(0).getPaymentId());
if (adapayCallbackRecord != null) {
orderPayRecordVO.setOutTradeNo(adapayCallbackRecord.getPaymentId());
orderPayRecordVO.setTransactionId(adapayCallbackRecord.getOutTransId());
}
}
} else if (StringUtils.equals(payMode, OrderPayRecordEnum.WHITELIST_PAYMENT.getValue())) {
// 使用白名单支付
orderPayRecordVO.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
orderPayRecordVO.setPayModeDesc(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getLabel());
}
}
redisCache.setCacheList(redisKey, resultList);
redisCache.expire(redisKey, CacheConstants.cache_expire_time_1d);
return resultList;
}
@@ -172,8 +220,8 @@ public class OrderPayRecordServiceImpl implements OrderPayRecordService {
// 使用余额支付
payInfo.setPayMode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue());
String payModeDesc = null;
if (StringUtils.isNotBlank(OrderPayRecordEnum.getPayModeDescription(payMode))) {
payModeDesc = OrderPayRecordEnum.getPayModeDescription(payMode);
if (StringUtils.isNotBlank(OrderPayRecordEnum.getPayModeDesc(payMode))) {
payModeDesc = OrderPayRecordEnum.getPayModeDesc(payMode);
} else {
payModeDesc = OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue();
}

View File

@@ -10,9 +10,17 @@ public class OrderPayRecordVO {
private String payMode; // 支付方式1-本金余额支付2-赠送金余额支付3-白名单支付4-微信支付5-支付宝支付)
private String payModeDesc; // 支付方式描述
private String payTime; // 支付时间
private String paymentId; // 支付流水号
private String outTradeNo; // 微信商户订单号 real_time_monitor_data
private String transactionId; // 微信支付订单号
private String refundAmount; // 退款金额
private String payChannel; // 汇付定义的支付渠道
private String payChannelDesc; // 支付渠道描述
private String deductionRecord;
private String partyOrderId; // 第三方订单号(汇付生成的)
private String outTransId; // 微信/支付宝订单号
private String acquirer;
}

View File

@@ -1,6 +1,7 @@
package com.jsowell.pile.vo.web;
import com.jsowell.common.core.domain.ykc.RealTimeMonitorData;
import com.jsowell.pile.vo.OrderPayRecordVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.base.PileInfoVO;
@@ -30,7 +31,7 @@ public class OrderDetailInfoVO {
private PileInfoVO pileInfo;
// 支付信息
private List<PayRecord> payRecordList;
private List<OrderPayRecordVO> payRecordList;
private List<OrderRefundInfo> orderRefundInfoList;