|
|
@@ -134,33 +134,40 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountMapper, UserA
|
|
|
// 更新账户余额
|
|
|
userAccount.setBalance(finalBalance);
|
|
|
}
|
|
|
- else if (SystemConstants.REDEEM_CHANGE_TYPE_ADD.equals(changeType)) {
|
|
|
- // 增加兑换余额
|
|
|
- finalBalance = userAccount.getRedeemBalance().subtract(changeAmount);
|
|
|
- // 减去账户余额
|
|
|
- userAccount.setRedeemBalance(finalBalance);
|
|
|
- }
|
|
|
+// else if (SystemConstants.REDEEM_CHANGE_TYPE_ADD.equals(changeType)) {
|
|
|
+// // 增加兑换余额
|
|
|
+// finalBalance = userAccount.getRedeemBalance().subtract(changeAmount);
|
|
|
+// // 减去账户余额
|
|
|
+// userAccount.setRedeemBalance(finalBalance);
|
|
|
+// }
|
|
|
//退款
|
|
|
- else if (SystemConstants.ACCOUNT_REFUND.equals(changeType)) {
|
|
|
- // 清空账户余额,兑换余额不可退
|
|
|
- finalBalance = BigDecimal.ZERO;
|
|
|
+// else if (SystemConstants.ACCOUNT_REFUND.equals(changeType)) {
|
|
|
+// // 清空账户余额,兑换余额不可退
|
|
|
+// finalBalance = BigDecimal.ZERO;
|
|
|
+// userAccount.setBalance(finalBalance);
|
|
|
+// }
|
|
|
+
|
|
|
+ if (SystemConstants.CHANGE_TYPE_REDUCE.equals(changeType)){
|
|
|
+ // 减少余额
|
|
|
+ finalBalance = userAccount.getBalance().subtract(changeAmount);
|
|
|
+ // 减去账户余额
|
|
|
userAccount.setBalance(finalBalance);
|
|
|
}
|
|
|
- else{
|
|
|
- // 减少余额,优先减少兑换余额,不够的再减抵用余额
|
|
|
- if (userAccount.getRedeemBalance().compareTo(changeAmount) >= 0) {
|
|
|
- // 兑换余额充足,直接减少
|
|
|
- finalBalance = userAccount.getBalance().subtract(changeAmount);
|
|
|
- // 减去账户余额
|
|
|
- userAccount.setRedeemBalance(finalBalance);
|
|
|
- } else {
|
|
|
- // 账户余额不足,先减去兑换余额,不够的再减抵用余额
|
|
|
- BigDecimal subtract = changeAmount.subtract(userAccount.getRedeemBalance());
|
|
|
- finalBalance = userAccount.getBalance().subtract(subtract);
|
|
|
- userAccount.setRedeemBalance(BigDecimal.ZERO);
|
|
|
- userAccount.setBalance(finalBalance);
|
|
|
- }
|
|
|
- }
|
|
|
+// else{
|
|
|
+// // 减少余额,优先减少兑换余额,不够的再减抵用余额
|
|
|
+// if (userAccount.getRedeemBalance().compareTo(BigDecimal.ZERO) > 0 && userAccount.getRedeemBalance().compareTo(changeAmount) >= 0) {
|
|
|
+// // 兑换余额充足,直接减少
|
|
|
+// finalBalance = userAccount.getBalance().subtract(changeAmount);
|
|
|
+// // 减去账户余额
|
|
|
+// userAccount.setRedeemBalance(finalBalance);
|
|
|
+// } else {
|
|
|
+// // 账户余额不足,先减去兑换余额,不够的再减抵用余额
|
|
|
+// BigDecimal subtract = changeAmount.subtract(userAccount.getRedeemBalance());
|
|
|
+// finalBalance = userAccount.getBalance().subtract(subtract);
|
|
|
+// userAccount.setRedeemBalance(BigDecimal.ZERO);
|
|
|
+// userAccount.setBalance(finalBalance);
|
|
|
+// }
|
|
|
+// }
|
|
|
this.updateById(userAccount);
|
|
|
|
|
|
// 保存变动日志
|