mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-05-06 02:50:13 +08:00
余额退款逻辑优化
This commit is contained in:
@@ -1126,15 +1126,15 @@ public class OrderService {
|
||||
log.info("支付撤销成功 data:{}", JSON.toJSONString(data));
|
||||
JSONObject jsonObject = JSON.parseObject(data);
|
||||
JSONObject reason = jsonObject.getJSONObject("reason");
|
||||
if (ScenarioEnum.BALANCE.getValue().equals(reason.getString("scenarioType"))) {
|
||||
// 这笔支付订单原来是充值余额的,退款成功了,需要扣掉会员的本金金额
|
||||
UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
|
||||
dto.setMemberId(reason.getString("memberId"));
|
||||
dto.setUpdatePrincipalBalance(new BigDecimal(jsonObject.getString("reverse_amt"))); // 更新会员本金金额,单位元
|
||||
dto.setType(MemberWalletEnum.TYPE_OUT.getValue());
|
||||
dto.setSubType(MemberWalletEnum.SUBTYPE_USER_REFUND.getValue());
|
||||
memberBasicInfoService.updateMemberBalance(dto);
|
||||
}
|
||||
// if (ScenarioEnum.BALANCE.getValue().equals(reason.getString("scenarioType"))) {
|
||||
// // 这笔支付订单原来是充值余额的,退款成功了,需要扣掉会员的本金金额
|
||||
// UpdateMemberBalanceDTO dto = new UpdateMemberBalanceDTO();
|
||||
// dto.setMemberId(reason.getString("memberId"));
|
||||
// dto.setUpdatePrincipalBalance(new BigDecimal(jsonObject.getString("reverse_amt"))); // 更新会员本金金额,单位元
|
||||
// dto.setType(MemberWalletEnum.TYPE_OUT.getValue());
|
||||
// dto.setSubType(MemberWalletEnum.SUBTYPE_USER_REFUND.getValue());
|
||||
// memberBasicInfoService.updateMemberBalance(dto);
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -2380,6 +2380,14 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
throw new BusinessException(ReturnCodeEnum.CODE_REFUND_MEMBER_BALANCE_ERROR);
|
||||
}
|
||||
|
||||
// 扣余额
|
||||
UpdateMemberBalanceDTO updateMemberBalanceDTO = new UpdateMemberBalanceDTO();
|
||||
updateMemberBalanceDTO.setMemberId(dto.getMemberId());
|
||||
updateMemberBalanceDTO.setUpdatePrincipalBalance(refundAmount); // 更新会员本金金额,单位元
|
||||
updateMemberBalanceDTO.setType(MemberWalletEnum.TYPE_OUT.getValue());
|
||||
updateMemberBalanceDTO.setSubType(MemberWalletEnum.SUBTYPE_USER_REFUND.getValue());
|
||||
memberBasicInfoService.updateMemberBalance(updateMemberBalanceDTO);
|
||||
|
||||
// 查询用户充值余额订单 过滤掉已经退款的充值订单
|
||||
List<BalanceDeductionAmountVO> list = calculateTheBalanceDeductionAmount(dto.getMemberId(), refundAmount);
|
||||
for (BalanceDeductionAmountVO vo : list) {
|
||||
|
||||
Reference in New Issue
Block a user