mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
update 订单退款明细
This commit is contained in:
@@ -122,6 +122,9 @@ public class OrderService {
|
||||
@Resource
|
||||
private IPileMerchantInfoService pileMerchantInfoService;
|
||||
|
||||
@Resource
|
||||
private IMemberWalletLogService memberWalletLogService;
|
||||
|
||||
@Resource
|
||||
private RedisCache redisCache;
|
||||
|
||||
@@ -293,69 +296,6 @@ public class OrderService {
|
||||
log.info("订单号:{}发送停机指令成功", dto.getOrderCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信支付回调
|
||||
*
|
||||
* @param request
|
||||
* @param body
|
||||
* @throws Exception
|
||||
*/
|
||||
// public void wechatPayCallback(HttpServletRequest request, WechatPayNotifyParameter body) throws Exception {
|
||||
// // 获取微信支付成功返回的信息
|
||||
// Map<String, Object> map = wechatPayService.wechatPayCallbackInfo(request, body);
|
||||
// String type = (String) map.get("type");
|
||||
// BigDecimal amount = (BigDecimal) map.get("amount"); // 微信给的amount单位是分
|
||||
// amount = amount.divide(new BigDecimal("100"), 2, BigDecimal.ROUND_HALF_UP); // 转换为元
|
||||
//
|
||||
// String orderCode = (String) map.get("orderCode");
|
||||
// String memberId = (String) map.get("memberId");
|
||||
// if (StringUtils.equals(type, ScenarioEnum.ORDER.getValue())) { // 1-订单支付
|
||||
// // 支付订单成功
|
||||
// // orderCode = (String) map.get("orderCode");
|
||||
// PayOrderSuccessCallbackDTO callbackDTO = PayOrderSuccessCallbackDTO.builder()
|
||||
// .orderCode(orderCode)
|
||||
// .payAmount(amount)
|
||||
// .payMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||
// .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
|
||||
// .build();
|
||||
// // 订单支付成功 支付回调
|
||||
// orderBasicInfoService.payOrderSuccessCallback(callbackDTO);
|
||||
//
|
||||
// // 记录订单支付流水
|
||||
// // OrderPayRecord orderPayRecord = OrderPayRecord.builder()
|
||||
// // .orderCode(orderCode)
|
||||
// // .payMode(OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())
|
||||
// // .payAmount(amount)
|
||||
// // .acquirer(AcquirerEnum.WECHAT_PAY.getValue())
|
||||
// // .createBy(null)
|
||||
// // .build();
|
||||
// // orderPayRecordService.batchInsert(Lists.newArrayList(orderPayRecord));
|
||||
// } else if (StringUtils.equals(type, ScenarioEnum.BALANCE.getValue())) { // 2-充值余额
|
||||
// // 充值余额成功
|
||||
// // memberId = (String) map.get("memberId");
|
||||
// UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
|
||||
// dto.setMemberId(memberId);
|
||||
// dto.setType(MemberWalletEnum.TYPE_IN.getValue());
|
||||
// dto.setSubType(MemberWalletEnum.SUBTYPE_TOP_UP.getValue());
|
||||
// dto.setUpdatePrincipalBalance(amount);
|
||||
// memberBasicInfoService.updateMemberBalance(dto);
|
||||
// }
|
||||
//
|
||||
// // 微信支付订单 记录会员交易流水
|
||||
// MemberTransactionRecord record = MemberTransactionRecord.builder()
|
||||
// .orderCode(orderCode)
|
||||
// .scenarioType(type)
|
||||
// .memberId(memberId)
|
||||
// .actionType(ActionTypeEnum.FORWARD.getValue())
|
||||
// .payMode(PayModeEnum.PAYMENT_OF_WECHATPAY.getValue())
|
||||
// .paymentInstitutions(PaymentInstitutionsEnum.WECHAT_PAY.getValue())
|
||||
// .amount(amount) // 单位元
|
||||
// .outTradeNo(String.valueOf(map.get("out_trade_no")))
|
||||
// .transactionId(String.valueOf(map.get("transaction_id")))
|
||||
// .build();
|
||||
// memberTransactionRecordService.insertSelective(record);
|
||||
// }
|
||||
|
||||
/**
|
||||
* 微信退款
|
||||
*
|
||||
@@ -458,86 +398,9 @@ public class OrderService {
|
||||
// 支付流水
|
||||
List<OrderDetailInfoVO.PayRecord> payRecords = orderPayRecordService.selectOrderPayInfoList(orderCode);
|
||||
vo.setPayRecordList(payRecords);
|
||||
/*List<OrderPayRecord> orderPayRecordList = orderPayRecordService.getOrderPayRecordList(orderCode);
|
||||
if (CollectionUtils.isNotEmpty(orderPayRecordList)) {
|
||||
List<OrderDetailInfoVO.PayRecord> payRecordList = Lists.newArrayList();
|
||||
for (OrderPayRecord orderPayRecord : orderPayRecordList) {
|
||||
OrderDetailInfoVO.PayRecord payInfo = new OrderDetailInfoVO.PayRecord();
|
||||
// 余额支付如果是由本金和赠送一起支付的,合并为一个
|
||||
BigDecimal bigDecimal = orderPayRecordList.stream()
|
||||
.map(OrderPayRecord::getPayAmount)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
payInfo.setPayAmount(bigDecimal.toString());
|
||||
payInfo.setPayStatus(orderBasicInfo.getPayStatus());
|
||||
payInfo.setPayTime(DateUtils.formatDateTime(orderBasicInfo.getPayTime()));
|
||||
if (orderPayRecord.getRefundAmount() != null) {
|
||||
payInfo.setRefundAmount(orderPayRecord.getRefundAmount().toString());
|
||||
}
|
||||
String payMode = orderPayRecord.getPayMode();
|
||||
if (StringUtils.equals(payMode, OrderPayRecordEnum.PRINCIPAL_BALANCE_PAYMENT.getValue())
|
||||
|| StringUtils.equals(payMode, OrderPayRecordEnum.GIFT_BALANCE_PAYMENT.getValue())) {
|
||||
// 使用余额支付
|
||||
payInfo.setPayMode(OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue());
|
||||
payInfo.setPayModeDesc(OrderPayModeEnum.PAYMENT_OF_BALANCE.getLabel());
|
||||
} else if (StringUtils.equals(payMode, OrderPayRecordEnum.WECHATPAY_PAYMENT.getValue())){
|
||||
// 使用微信支付
|
||||
payInfo.setPayMode(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue());
|
||||
payInfo.setPayModeDesc(OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getLabel());
|
||||
|
||||
// 判断是微信支付还是汇付支付
|
||||
MemberTransactionRecord record = memberTransactionRecordService.selectByOrderCode(orderCode, ActionTypeEnum.FORWARD.getValue());
|
||||
if (record != null) {
|
||||
String paymentInstitutions = record.getPaymentInstitutions();
|
||||
if (StringUtils.equals(paymentInstitutions, PaymentInstitutionsEnum.WECHAT_PAY.getValue())) {
|
||||
// 查微信支付回调记录
|
||||
WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderCode);
|
||||
if (wxpayCallbackRecord != null) {
|
||||
payInfo.setOutTradeNo(wxpayCallbackRecord.getOutTradeNo());
|
||||
payInfo.setTransactionId(wxpayCallbackRecord.getTransactionId());
|
||||
}
|
||||
} else if (StringUtils.equals(paymentInstitutions, PaymentInstitutionsEnum.ADAPAY.getValue())) {
|
||||
// 查询汇付支付回调
|
||||
AdapayCallbackRecord adapayCallbackRecord = adapayCallbackRecordService.selectByOrderCode(orderCode);
|
||||
if (adapayCallbackRecord != null) {
|
||||
payInfo.setOutTradeNo(adapayCallbackRecord.getPaymentId());
|
||||
payInfo.setTransactionId(adapayCallbackRecord.getOutTransId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查微信支付回调记录
|
||||
WxpayCallbackRecord wxpayCallbackRecord = wxpayCallbackRecordService.selectByOrderCode(orderCode);
|
||||
if (wxpayCallbackRecord != null) {
|
||||
payInfo.setOutTradeNo(wxpayCallbackRecord.getOutTradeNo());
|
||||
payInfo.setTransactionId(wxpayCallbackRecord.getTransactionId());
|
||||
}
|
||||
} else if (StringUtils.equals(payMode, OrderPayRecordEnum.WHITELIST_PAYMENT.getValue())){
|
||||
// 使用白名单支付
|
||||
payInfo.setPayMode(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getValue());
|
||||
payInfo.setPayModeDesc(OrderPayModeEnum.PAYMENT_OF_WHITELIST.getLabel());
|
||||
}
|
||||
payRecordList.add(payInfo);
|
||||
}
|
||||
vo.setPayRecordList(payRecordList);
|
||||
}*/
|
||||
|
||||
// 查询退款明细
|
||||
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = Lists.newArrayList();
|
||||
List<PaymentReverseResponse> paymentReverseResponses = orderBasicInfoService.queryOrderAdapayRefund(orderBasicInfo);
|
||||
if (CollectionUtils.isNotEmpty(paymentReverseResponses)) {
|
||||
OrderDetailInfoVO.OrderRefundInfo refundInfo;
|
||||
for (PaymentReverseResponse reverseResponse : paymentReverseResponses) {
|
||||
refundInfo = new OrderDetailInfoVO.OrderRefundInfo();
|
||||
refundInfo.setReverseId(reverseResponse.getId());
|
||||
refundInfo.setPaymentId(reverseResponse.getPayment_id());
|
||||
refundInfo.setReverseAmt(reverseResponse.getReverse_amt());
|
||||
LocalDateTime createdTime = DateUtils.timestampToDatetime(Long.parseLong(reverseResponse.getCreated_time()));
|
||||
refundInfo.setCreatedTime(DateUtils.formatDateTime(createdTime));
|
||||
LocalDateTime succeedTime = DateUtils.timestampToDatetime(Long.parseLong(reverseResponse.getSucceed_time()));
|
||||
refundInfo.setSucceedTime(DateUtils.formatDateTime(succeedTime));
|
||||
orderRefundInfoList.add(refundInfo);
|
||||
}
|
||||
}
|
||||
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = getOrderRefundInfoList(orderBasicInfo);
|
||||
vo.setOrderRefundInfoList(orderRefundInfoList);
|
||||
|
||||
// 查订单明细
|
||||
@@ -567,6 +430,36 @@ public class OrderService {
|
||||
return vo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取退款明细列表
|
||||
* @param orderBasicInfo
|
||||
* @return
|
||||
*/
|
||||
private List<OrderDetailInfoVO.OrderRefundInfo> getOrderRefundInfoList(OrderBasicInfo orderBasicInfo) {
|
||||
List<OrderDetailInfoVO.OrderRefundInfo> orderRefundInfoList = Lists.newArrayList();
|
||||
if (OrderPayModeEnum.PAYMENT_OF_BALANCE.getValue().equals(orderBasicInfo.getPayMode())) {
|
||||
// 查新member_wallet_log订单退款记录
|
||||
// memberWalletLogService.
|
||||
} else if (OrderPayModeEnum.PAYMENT_OF_WECHATPAY.getValue().equals(orderBasicInfo.getPayMode())) {
|
||||
List<PaymentReverseResponse> paymentReverseResponses = orderBasicInfoService.queryOrderAdapayRefund(orderBasicInfo);
|
||||
if (CollectionUtils.isNotEmpty(paymentReverseResponses)) {
|
||||
OrderDetailInfoVO.OrderRefundInfo refundInfo;
|
||||
for (PaymentReverseResponse reverseResponse : paymentReverseResponses) {
|
||||
refundInfo = new OrderDetailInfoVO.OrderRefundInfo();
|
||||
refundInfo.setReverseId(reverseResponse.getId());
|
||||
refundInfo.setPaymentId(reverseResponse.getPayment_id());
|
||||
refundInfo.setReverseAmt(reverseResponse.getReverse_amt());
|
||||
LocalDateTime createdTime = DateUtils.timestampToDatetime(Long.parseLong(reverseResponse.getCreated_time()));
|
||||
refundInfo.setCreatedTime(DateUtils.formatDateTime(createdTime));
|
||||
LocalDateTime succeedTime = DateUtils.timestampToDatetime(Long.parseLong(reverseResponse.getSucceed_time()));
|
||||
refundInfo.setSucceedTime(DateUtils.formatDateTime(succeedTime));
|
||||
orderRefundInfoList.add(refundInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
return orderRefundInfoList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信支付退款回调
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user