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:
@@ -42,6 +42,7 @@ import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
|
||||
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
|
||||
import com.jsowell.pile.util.MerchantUtils;
|
||||
import com.jsowell.pile.util.UserUtils;
|
||||
import com.jsowell.pile.vo.OrderPayRecordVO;
|
||||
import com.jsowell.pile.vo.base.*;
|
||||
import com.jsowell.pile.vo.base.PileInfoVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.*;
|
||||
@@ -484,7 +485,9 @@ public class OrderService {
|
||||
|
||||
// 支付流水对应页面支付信息
|
||||
List<OrderDetailInfoVO.PayRecord> payRecords = orderPayRecordService.selectOrderPayInfoList(orderCode);
|
||||
vo.setPayRecordList(payRecords);
|
||||
List<OrderPayRecordVO> payRecordList = orderPayRecordService.selectOrderPayRecordList(orderCode);
|
||||
|
||||
vo.setPayRecordList(payRecordList);
|
||||
|
||||
// 查询退款明细
|
||||
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo);
|
||||
|
||||
@@ -48,4 +48,14 @@ public enum AdapayPayChannelEnum {
|
||||
this.value = value;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
// 添加一个根据 value 查找 label 的方法
|
||||
public static String getLabelByValue(String value) {
|
||||
for (AdapayPayChannelEnum channel : AdapayPayChannelEnum.values()) {
|
||||
if (channel.getValue().equals(value)) {
|
||||
return channel.getLabel();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public enum OrderPayRecordEnum {
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public static String getPayModeDescription(String value) {
|
||||
public static String getPayModeDesc(String value) {
|
||||
for (OrderPayRecordEnum orderPayModeEnum : OrderPayRecordEnum.values()) {
|
||||
if (orderPayModeEnum.getValue().equals(value)) {
|
||||
return orderPayModeEnum.getLabel();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -436,9 +436,14 @@
|
||||
t1.order_code as orderCode,
|
||||
t1.pay_amount as payAmount,
|
||||
t1.pay_mode as payMode,
|
||||
ifnull() as payTime,
|
||||
ifnull(t2.create_time, t1.create_time) as payTime,
|
||||
t1.acquirer as acquirer,
|
||||
t1.deduction_record as deductionRecord,
|
||||
t1.refund_amount as refundAmount,
|
||||
t2.pay_channel as payChannel
|
||||
t2.pay_channel as payChannel,
|
||||
t1.payment_id as paymentId,
|
||||
t2.party_order_id as partyOrderId,
|
||||
t2.out_trans_id as outTransId
|
||||
from order_pay_record t1
|
||||
left join adapay_callback_record t2 on t2.payment_id = t1.payment_id
|
||||
where t1.order_code = #{orderCode,jdbcType=VARCHAR}
|
||||
|
||||
Reference in New Issue
Block a user