Browse Source

feat: 积分充值只记积分值

lixuesong 1 year ago
parent
commit
b4ffb7ef92

+ 5 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/recharge/entity/SysDeptRecharge.java

@@ -34,10 +34,11 @@ public class SysDeptRecharge implements Serializable {
      */
     private Integer score;
 
-    /**
-     * 余额(元)
-     */
-    private BigDecimal balance;
+//    /**
+//     * 余额(元)
+//     */
+//    @Deprecated
+//    private BigDecimal balance;
 
     /**
      * 权限

+ 8 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/recharge/service/impl/SysDeptRechargeServiceImpl.java

@@ -104,7 +104,11 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
             if (deptRecharge != null) {
                 deptRechargeVO.setId(deptRecharge.getId());
                 deptRechargeVO.setScore(deptRecharge.getScore());
-                deptRechargeVO.setBalance(deptRecharge.getBalance());
+
+                // 金额 = 积分 * (服务费率/100)
+                BigDecimal balance = deptRecharge.getServiceCharge().divide(new BigDecimal("100.00"))
+                        .multiply(BigDecimal.valueOf(deptRecharge.getScore())).setScale(2, RoundingMode.HALF_EVEN);
+                deptRechargeVO.setBalance(balance);
                 deptRechargeVO.setServiceCharge(deptRecharge.getServiceCharge());
                 deptRechargeVO.setOverdrawAmount(deptRecharge.getOverdrawAmount());
                 deptRechargeVO.setOverdrawScore(deptRecharge.getOverdrawScore());
@@ -157,14 +161,14 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
                 throw new RuntimeException("充值积分不正确");
             }
             // 计算更新金额
-            currentBalance  = toRecharge.getRechargeAmount().add(deptRecharge.getBalance());
+//            currentBalance  = toRecharge.getRechargeAmount().add(deptRecharge.getBalance());
             currentScore = rechargeScore.intValue() + deptRecharge.getScore();
             // 更新
             boolean update = this.update(Wrappers.<SysDeptRecharge>lambdaUpdate()
                     .eq(SysDeptRecharge::getId, deptRecharge.getId())
                     .eq(SysDeptRecharge::getVersion, deptRecharge.getVersion())
                     .set(SysDeptRecharge::getVersion, deptRecharge.getVersion() + 1)
-                    .set(SysDeptRecharge::getBalance, currentBalance)
+//                    .set(SysDeptRecharge::getBalance, currentBalance)
                     .set(SysDeptRecharge::getScore, currentScore)
                     .set(SysDeptRecharge::getUpdateTime, LocalDateTime.now())
                     .set(SysDeptRecharge::getUpdateUser, operator));
@@ -222,7 +226,7 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
             deptRecharge.setOverdrawAmount(overdrawAmount);
             deptRecharge.setPermissions(toConfig.getPermissions());
             deptRecharge.setScore(0);
-            deptRecharge.setBalance(BigDecimal.ZERO);
+//            deptRecharge.setBalance(BigDecimal.ZERO);
             deptRecharge.setCreateUser(operator);
             this.save(deptRecharge);
         } else {