Browse Source

Merge branch 'feat-20230828-newstoppackage' into temp-pre

lixuesong 1 year ago
parent
commit
a1990222bc

+ 2 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -2072,6 +2072,7 @@ public class WmScorePackageController {
 	@PostMapping("/stopWmScorePackage")
 	@Transactional(rollbackFor = Exception.class)
 	public R stopWmScorePackage(@RequestBody WmScorePackage wmScorePackage) {
+		log.info("终止积分包(大包)入参:{}", wmScorePackage);
 		if (StrUtil.isBlank(wmScorePackage.getId()) || !StrUtil.equalsAny(wmScorePackage.getEnableType(), "1", "2")) {
 			return R.failed("参数错误");
 		}
@@ -3079,6 +3080,7 @@ public class WmScorePackageController {
 	@SysLog("终止积分包(个人包)")
 	@GetMapping("/updateEnable")
 	public R terminatePackageForPersonal(WmScorePackage wmScorePackage) {
+		log.info("终止积分包(个人包)入参:{}", wmScorePackage);
 		if (!StrUtil.equalsAny(wmScorePackage.getEnableType(), "1", "2") || StrUtil.isBlank(wmScorePackage.getId())) {
 			return R.failed("参数错误");
 		}

+ 8 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/recharge/entity/SysDeptRechargeRecord.java

@@ -46,10 +46,10 @@ public class SysDeptRechargeRecord implements Serializable {
      */
     private Integer changeScore;
 
-    /**
-     * 充值金额(元)
-     */
-    private BigDecimal changeAmount;
+//    /**
+//     * 充值金额(元)
+//     */
+//    private BigDecimal changeAmount;
 
     /**
      * 操作类型
@@ -61,10 +61,10 @@ public class SysDeptRechargeRecord implements Serializable {
      */
     private Integer currentScore;
 
-    /**
-     * 充值后积分余额(元)
-     */
-    private BigDecimal currentBalance;
+//    /**
+//     * 充值后积分余额(元)
+//     */
+//    private BigDecimal currentBalance;
 
     /**
      * 积分包id

+ 19 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/recharge/service/impl/SysDeptRechargeRecordServiceImpl.java

@@ -16,9 +16,11 @@ import com.qunzhixinxi.hnqz.admin.enums.DeptLevelEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
+import com.qunzhixinxi.hnqz.admin.recharge.entity.SysDeptRecharge;
 import com.qunzhixinxi.hnqz.admin.recharge.entity.SysDeptRechargeRecord;
 import com.qunzhixinxi.hnqz.admin.recharge.enums.RechargeRecordPackageType;
 import com.qunzhixinxi.hnqz.admin.recharge.enums.RechargeRecordType;
+import com.qunzhixinxi.hnqz.admin.recharge.mapper.SysDeptRechargeMapper;
 import com.qunzhixinxi.hnqz.admin.recharge.mapper.SysDeptRechargeRecordMapper;
 import com.qunzhixinxi.hnqz.admin.recharge.service.SysDeptRechargeRecordService;
 import com.qunzhixinxi.hnqz.admin.recharge.vo.SysDeptRechargeRecordForDeptVO;
@@ -29,6 +31,8 @@ import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -55,6 +59,7 @@ public class SysDeptRechargeRecordServiceImpl extends ServiceImpl<SysDeptRecharg
     private final WmScorePackageMapper wmScorePackageMapper;
     private final SysUserService userService;
     private final WmScorePackageStatusMapper wmScorePackageStatusMapper;
+    private final SysDeptRechargeMapper deptRechargeMapper;
 
     /**
      * 充值、分配记录
@@ -76,6 +81,10 @@ public class SysDeptRechargeRecordServiceImpl extends ServiceImpl<SysDeptRecharg
 
         Page<SysDeptRechargeRecord> recordPage = this.page(new Page<>(page.getCurrent(), page.getSize()), queryWrapper);
 
+        // 查询余额信息
+        SysDeptRecharge deptRecharge = deptRechargeMapper.selectOne(Wrappers.<SysDeptRecharge>lambdaQuery()
+                .eq(SysDeptRecharge::getDeptId, deptId));
+
         if (CollUtil.isNotEmpty(recordPage.getRecords())) {
             // 查询企业
             Set<Integer> deptIds = recordPage.getRecords().stream().map(SysDeptRechargeRecord::getDeptId).collect(Collectors.toSet());
@@ -96,6 +105,16 @@ public class SysDeptRechargeRecordServiceImpl extends ServiceImpl<SysDeptRecharg
                     recordVO.setDeptLevelStr(Objects.requireNonNull(DeptLevelEnum.getEnumByVal(dept.getLevel())).getName());
                 }
                 recordVO.setCreaUserStr(userMap.get(record.getCreateUser()));
+
+                if (deptRecharge != null) {
+                    // 金额 = 积分 * (服务费率/100)
+                    BigDecimal changeAmount = deptRecharge.getServiceCharge().divide(new BigDecimal("100.00"))
+                            .multiply(BigDecimal.valueOf(record.getChangeScore())).setScale(2, RoundingMode.HALF_EVEN);
+                    recordVO.setChangeAmount(changeAmount);
+                    BigDecimal currentBalance = deptRecharge.getServiceCharge().divide(new BigDecimal("100.00"))
+                            .multiply(BigDecimal.valueOf(record.getCurrentScore())).setScale(2, RoundingMode.HALF_EVEN);
+                    recordVO.setCurrentBalance(currentBalance);
+                }
                 recordVOList.add(recordVO);
             });
 

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

@@ -181,8 +181,8 @@ public class SysDeptRechargeServiceImpl extends ServiceImpl<SysDeptRechargeMappe
         SysDeptRechargeRecord rechargeRecord = new SysDeptRechargeRecord();
         rechargeRecord.setRechargeId(deptRecharge.getId());
         rechargeRecord.setChangeScore(toRecharge.getRechargeScore());
-        rechargeRecord.setChangeAmount(toRecharge.getRechargeAmount());
-        rechargeRecord.setCurrentBalance(currentBalance);
+//        rechargeRecord.setChangeAmount(toRecharge.getRechargeAmount());
+//        rechargeRecord.setCurrentBalance(currentBalance);
         rechargeRecord.setCurrentScore(currentScore);
         rechargeRecord.setType(RechargeRecordType.RECHARGE);
         rechargeRecord.setDeptId(deptRecharge.getDeptId());

+ 5 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -3068,12 +3068,16 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			// 剩余回收
 			// 可分配积分值
 			int recoveryScore = scorePackage.getKfpjf();
+			if (recoveryScore <= 0) {
+				throw new RuntimeException("没有可回收的积分");
+			}
 
-			// 剩余收回: 更新积分包分值为已分配的积分
+			// 剩余收回: 更新积分包分值为已分配的积分, 更新可分配积分值为0
 			WmScorePackage updateEntity = new WmScorePackage();
 			updateEntity.setId(packageId);
 			updateEntity.setEnableType(terminatePackageType.getEnableType());
 			updateEntity.setScore(assignedScore);
+			updateEntity.setKfpjf(0);
 			updateEntity.setUpdateTime(now);
 			updateEntity.setUpdateUser(userId);
 			log.info("更新积分包参数:{}", updateEntity);