|
@@ -2062,7 +2062,7 @@ public class WmScorePackageController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 终止
|
|
|
+ * 终止积分包(大包)
|
|
|
*
|
|
|
* @param wmScorePackage
|
|
|
* @return
|
|
@@ -2071,106 +2071,12 @@ public class WmScorePackageController {
|
|
|
@PostMapping("/stopWmScorePackage")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public R stopWmScorePackage(@RequestBody WmScorePackage wmScorePackage) {
|
|
|
- if (StringUtils.isEmpty(wmScorePackage.getId())) {
|
|
|
- return R.failed("参数异常");
|
|
|
- }
|
|
|
- wmScorePackage = wmScorePackageService.getById(wmScorePackage.getId());
|
|
|
-
|
|
|
- if (wmScorePackage.getScore() <= 0) {
|
|
|
- return R.failed("积分包分值必须大于0");
|
|
|
- }
|
|
|
-
|
|
|
- WmScorePackage query = new WmScorePackage();
|
|
|
- query.setRelationScoreId(wmScorePackage.getId());
|
|
|
- query.setDelFlag("0");
|
|
|
- List<WmScorePackage> rePacks = wmScorePackageService.list(Wrappers.query(query).lambda().
|
|
|
- in(WmScorePackage::getTypeid, "0", "1", "2"));
|
|
|
-
|
|
|
- if (CollectionUtils.isNotEmpty(rePacks)) {
|
|
|
- for (WmScorePackage rePack : rePacks) {
|
|
|
- if ("0".equals(rePack.getEnableFlag())) {
|
|
|
- return R.failed("积分包已被分派,请联系下属CSO终止关联积分包");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- WmScorePackage updateEntity = new WmScorePackage();
|
|
|
-
|
|
|
- updateEntity.setId(wmScorePackage.getId());
|
|
|
- updateEntity.setPackageFinishStatus("2");
|
|
|
- updateEntity.setEnableType("1");
|
|
|
- updateEntity.setEnableFlag("1");
|
|
|
- updateEntity.setScorePackageStatus("6");
|
|
|
- wmScorePackageService.updateById(updateEntity);
|
|
|
-
|
|
|
- // 暂定为 回收可分配积分值
|
|
|
- int recoveryScore = wmScorePackage.getKfpjf();
|
|
|
- Integer userId = SecurityUtils.getUser().getId();
|
|
|
- Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
- // 如果是通过积分充值的积分发的包,则回收积分
|
|
|
- SysDeptRechargeRecord rechargeRecord = sysDeptRechargeRecordMapper.selectOne(Wrappers.<SysDeptRechargeRecord>lambdaQuery()
|
|
|
- .eq(SysDeptRechargeRecord::getPackageId, wmScorePackage.getId())
|
|
|
- .in(SysDeptRechargeRecord::getType, RechargeRecordType.SEND_PACKAGE_DEPT, RechargeRecordType.SEND_PACKAGE_PERSONAL));
|
|
|
- if (rechargeRecord != null) {
|
|
|
- log.info("终止积分包,更新积分配置信息");
|
|
|
- SysDeptRecharge deptRecharge = sysDeptRechargeMapper.selectById(rechargeRecord.getRechargeId());
|
|
|
- int currentScore = deptRecharge.getScore() + recoveryScore;
|
|
|
- // 更新企业配置的积分信息
|
|
|
- int update = sysDeptRechargeMapper.update(null, Wrappers.<SysDeptRecharge>lambdaUpdate()
|
|
|
- .eq(SysDeptRecharge::getId, rechargeRecord.getRechargeId())
|
|
|
- .eq(SysDeptRecharge::getVersion, deptRecharge.getVersion())
|
|
|
- .set(SysDeptRecharge::getScore, currentScore)
|
|
|
- .set(SysDeptRecharge::getVersion, deptRecharge.getVersion() + 1)
|
|
|
- .set(SysDeptRecharge::getUpdateUser, userId)
|
|
|
- .set(SysDeptRecharge::getUpdateTime, LocalDateTime.now()));
|
|
|
- if (update <= 0) {
|
|
|
- throw new RuntimeException("更新失败");
|
|
|
- }
|
|
|
- // 新增积分记录
|
|
|
- SysDeptRechargeRecord newRechargeRecord = new SysDeptRechargeRecord();
|
|
|
- newRechargeRecord.setRechargeId(deptRecharge.getId());
|
|
|
- newRechargeRecord.setChangeScore(recoveryScore);
|
|
|
- newRechargeRecord.setCurrentScore(currentScore);
|
|
|
- newRechargeRecord.setType(RechargeRecordType.RECOVERY);
|
|
|
- newRechargeRecord.setDeptId(deptRecharge.getDeptId());
|
|
|
- newRechargeRecord.setRelationDeptId(rechargeRecord.getRelationDeptId());
|
|
|
- newRechargeRecord.setPackageId(wmScorePackage.getId());
|
|
|
- newRechargeRecord.setCreateUser(userId);
|
|
|
- sysDeptRechargeRecordMapper.insert(newRechargeRecord);
|
|
|
- } else {
|
|
|
- // 数据历史处理:如果是源头包,则回收积分包到积分充值余额
|
|
|
- boolean relatedScoreId = StrUtil.isNotBlank(wmScorePackage.getRelationScoreId()) && Integer.parseInt(wmScorePackage.getRelationScoreId()) > 0;
|
|
|
- if (!relatedScoreId) {
|
|
|
- log.info("终止积分包,更新积分配置信息(历史积分包处理)");
|
|
|
- SysDeptRecharge deptRecharge = sysDeptRechargeMapper.selectOne(Wrappers.<SysDeptRecharge>lambdaQuery()
|
|
|
- .eq(SysDeptRecharge::getDeptId, deptId));
|
|
|
- int currentScore = deptRecharge.getScore() + recoveryScore;
|
|
|
- // 更新企业配置的积分信息
|
|
|
- int update = sysDeptRechargeMapper.update(null, Wrappers.<SysDeptRecharge>lambdaUpdate()
|
|
|
- .eq(SysDeptRecharge::getId, deptRecharge.getId())
|
|
|
- .eq(SysDeptRecharge::getVersion, deptRecharge.getVersion())
|
|
|
- .set(SysDeptRecharge::getScore, currentScore)
|
|
|
- .set(SysDeptRecharge::getVersion, deptRecharge.getVersion() + 1)
|
|
|
- .set(SysDeptRecharge::getUpdateUser, userId)
|
|
|
- .set(SysDeptRecharge::getUpdateTime, LocalDateTime.now()));
|
|
|
- if (update <= 0) {
|
|
|
- throw new RuntimeException("更新失败");
|
|
|
- }
|
|
|
- // 新增积分记录
|
|
|
- SysDeptRechargeRecord newRechargeRecord = new SysDeptRechargeRecord();
|
|
|
- newRechargeRecord.setRechargeId(deptRecharge.getId());
|
|
|
- newRechargeRecord.setChangeScore(recoveryScore);
|
|
|
- newRechargeRecord.setCurrentScore(currentScore);
|
|
|
- newRechargeRecord.setType(RechargeRecordType.RECOVERY);
|
|
|
- newRechargeRecord.setDeptId(deptRecharge.getDeptId());
|
|
|
- newRechargeRecord.setPackageId(wmScorePackage.getId());
|
|
|
- newRechargeRecord.setCreateUser(userId);
|
|
|
- sysDeptRechargeRecordMapper.insert(newRechargeRecord);
|
|
|
- }
|
|
|
-
|
|
|
+ if (StrUtil.isBlank(wmScorePackage.getId()) || StrUtil.isBlank(wmScorePackage.getEnableType())) {
|
|
|
+ return R.failed("必填参数为空");
|
|
|
}
|
|
|
|
|
|
- return R.ok();
|
|
|
+ return R.ok(wmScorePackageService.terminatePackageForDept(wmScorePackage.getId(),
|
|
|
+ UpmsType.TerminatePackageType.getByEnableType(wmScorePackage.getEnableType())));
|
|
|
}
|
|
|
|
|
|
|
|
@@ -3165,14 +3071,22 @@ public class WmScorePackageController {
|
|
|
@ApiOperation(value = "终止积分包", notes = "终止积分包")
|
|
|
@SysLog("终止积分包(个人包)")
|
|
|
@GetMapping("/updateEnable")
|
|
|
- public R updateEnable(WmScorePackage wmScorePackage) {
|
|
|
+ public R terminatePackageForPersonal(WmScorePackage wmScorePackage) {
|
|
|
if (StrUtil.isBlank(wmScorePackage.getEnableType()) || StrUtil.isBlank(wmScorePackage.getId())) {
|
|
|
return R.failed("必填参数为空");
|
|
|
}
|
|
|
|
|
|
- return R.ok(wmScorePackageService.terminatePackageForPersonal(wmScorePackage.getId(),
|
|
|
- UpmsType.TerminatePackageType.getByEnableType(wmScorePackage.getEnableType())));
|
|
|
-// return wmScorePackageService.updateEnable(wmScorePackage);
|
|
|
+ // 查询积分包
|
|
|
+ WmScorePackage scorePackage = wmScorePackageService.getById(wmScorePackage.getId());
|
|
|
+
|
|
|
+ // 只有个人承接/多人承接积分包走这个逻辑, 其他的包走原有逻辑
|
|
|
+ if (PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(scorePackage.getPackageType1())
|
|
|
+ || PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(scorePackage.getPackageType1())) {
|
|
|
+ return R.ok(wmScorePackageService.terminatePackageForPersonal(wmScorePackage.getId(),
|
|
|
+ UpmsType.TerminatePackageType.getByEnableType(wmScorePackage.getEnableType())));
|
|
|
+ }
|
|
|
+
|
|
|
+ return wmScorePackageService.updateEnable(scorePackage);
|
|
|
}
|
|
|
|
|
|
/**
|