|
@@ -2562,9 +2562,15 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
.ne(WmTask::getTaskStatus, TaskStatusEnum.FAIL_APPROVED.val())
|
|
|
.eq(WmTask::getRealFlag, "0"));
|
|
|
int totalCount = wmTaskList.stream().map(WmTask::getScore).reduce(0, Integer::sum);
|
|
|
- // 标记任务总积分 是否超过积分包的值
|
|
|
- boolean taskAddFlag = totalCount >= wmScorePackage.getScore();
|
|
|
- String taskAddFlagStr = taskAddFlag ? "0" : "1";
|
|
|
+ int approvedCount = wmTaskList.stream()
|
|
|
+ .filter(task -> TaskStatusEnum.APPROVED.val().equals(task.getTaskStatus()))
|
|
|
+ .map(WmTask::getScore).reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ // 标记任务总积分 是否超过积分包的值(标记小程序能不能做任务)
|
|
|
+ String totalTaskAddFlagStr = totalCount >= wmScorePackage.getScore() ? "0" : "1";
|
|
|
+ // 标记审核通过任务 是否超过积分包值(标记积分包状态)
|
|
|
+ String approvedTaskAddFlagStr = approvedCount >= wmScorePackage.getScore() ? "0" : "1";
|
|
|
+
|
|
|
// 查询领包记录
|
|
|
List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
.eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val())
|
|
@@ -2576,11 +2582,11 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
.eq(WmScorePackageStatus::getId, packageStatus.getId())
|
|
|
.eq(packageStatus.getUpdateTime() != null, WmScorePackageStatus::getUpdateTime, packageStatus.getUpdateTime())
|
|
|
.eq(packageStatus.getUpdateUser() != null, WmScorePackageStatus::getUpdateUser, packageStatus.getUpdateUser())
|
|
|
- .set(WmScorePackageStatus::getTaskAddFlag, taskAddFlagStr)
|
|
|
+ .set(WmScorePackageStatus::getTaskAddFlag, totalTaskAddFlagStr)
|
|
|
.set(WmScorePackageStatus::getUpdateTime, now)
|
|
|
.set(WmScorePackageStatus::getUpdateUser, operatorId);
|
|
|
log.info("pacakgeStatus更新参数:条件id={},updateTime={},updateUser={},更新项taskAddFlag={},updateTime={},updateUser={}",
|
|
|
- packageStatus.getId(), packageStatus.getUpdateTime(), packageStatus.getUpdateUser(), taskAddFlagStr, now, operatorId);
|
|
|
+ packageStatus.getId(), packageStatus.getUpdateTime(), packageStatus.getUpdateUser(), totalTaskAddFlagStr, now, operatorId);
|
|
|
boolean pacakgeStatusUpdate = wmScorePackageStatusService.update(updateWrapper);
|
|
|
if (!pacakgeStatusUpdate) {
|
|
|
throw new RuntimeException("操作失败,请重试");
|
|
@@ -2589,17 +2595,17 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
}
|
|
|
|
|
|
// STEP3:修改积分包状态
|
|
|
- String packageFinishStatus = totalCount >= wmScorePackage.getScore() ?
|
|
|
- PackageFinishStatusEnum.NOT_COMPLETE.val() : PackageFinishStatusEnum.COMPLETED.val();
|
|
|
+ String packageFinishStatus = approvedCount >= wmScorePackage.getScore() ?
|
|
|
+ PackageFinishStatusEnum.COMPLETED.val() : PackageFinishStatusEnum.NOT_COMPLETE.val();
|
|
|
LambdaUpdateWrapper<WmScorePackage> scorePackageUpdateWrapper = Wrappers.<WmScorePackage>lambdaUpdate()
|
|
|
.eq(WmScorePackage::getId, scorePackageId)
|
|
|
.eq(wmScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, wmScorePackage.getUpdateTime())
|
|
|
.eq(wmScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
.set(WmScorePackage::getPackageFinishStatus, packageFinishStatus)
|
|
|
- .set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
|
|
|
+ .set(WmScorePackage::getTaskAddFlag, approvedTaskAddFlagStr)
|
|
|
.set(WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
.set(WmScorePackage::getUpdateTime, now);
|
|
|
- if (taskAddFlag) {
|
|
|
+ if (approvedCount >= wmScorePackage.getScore()) {
|
|
|
// 积分包完成时间
|
|
|
scorePackageUpdateWrapper.set(WmScorePackage::getPackageFinishTime, now);
|
|
|
// 积分包状态:有关联积分包,则设置为‘已完成待审批’;没有关联积分包,则直接设置为‘已完成待结算’
|
|
@@ -2609,7 +2615,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
scorePackageUpdateWrapper.set(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val());
|
|
|
}
|
|
|
log.info("scorePackage更新参数:条件id={},updateTime={},updateUser={},更新项packageFinishStatus={},taskAddFlag={},updateTime={},updateUser={}",
|
|
|
- scorePackageId, wmScorePackage.getUpdateTime(), wmScorePackage.getUpdateUser(), packageFinishStatus, taskAddFlagStr, now, operatorId);
|
|
|
+ scorePackageId, wmScorePackage.getUpdateTime(), wmScorePackage.getUpdateUser(), packageFinishStatus, approvedTaskAddFlagStr, now, operatorId);
|
|
|
boolean packageUpdate = wmScorePackageService.update(scorePackageUpdateWrapper);
|
|
|
if (!packageUpdate) {
|
|
|
throw new RuntimeException("操作失败,请重试");
|
|
@@ -2705,9 +2711,15 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
.ne(WmTask::getTaskStatus, TaskStatusEnum.FAIL_APPROVED.val())
|
|
|
.eq(WmTask::getRealFlag, "0"));
|
|
|
int totalCount = wmTaskList.stream().map(WmTask::getScore).reduce(0, Integer::sum);
|
|
|
- // 标记任务总积分 是否超过积分包的值
|
|
|
- boolean taskAddFlag = totalCount >= wmScorePackage.getScore();
|
|
|
- String taskAddFlagStr = taskAddFlag ? "0" : "1";
|
|
|
+ int approvedCount = wmTaskList.stream()
|
|
|
+ .filter(task -> TaskStatusEnum.APPROVED.val().equals(task.getTaskStatus()))
|
|
|
+ .map(WmTask::getScore).reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ // 标记任务总积分 是否超过积分包的值(标记小程序能不能做任务)
|
|
|
+ String totalTaskAddFlagStr = totalCount >= wmScorePackage.getScore() ? "0" : "1";
|
|
|
+ // 标记审核通过任务 是否超过积分包值(标记积分包状态)
|
|
|
+ String approvedTaskAddFlagStr = approvedCount >= wmScorePackage.getScore() ? "0" : "1";
|
|
|
+
|
|
|
// 查询领包记录
|
|
|
List<WmScorePackageStatus> packageStatusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
.eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val())
|
|
@@ -2719,11 +2731,11 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
.eq(WmScorePackageStatus::getId, packageStatus.getId())
|
|
|
.eq(packageStatus.getUpdateTime() != null, WmScorePackageStatus::getUpdateTime, packageStatus.getUpdateTime())
|
|
|
.eq(packageStatus.getUpdateUser() != null, WmScorePackageStatus::getUpdateUser, packageStatus.getUpdateUser())
|
|
|
- .set(WmScorePackageStatus::getTaskAddFlag, taskAddFlagStr)
|
|
|
+ .set(WmScorePackageStatus::getTaskAddFlag, totalTaskAddFlagStr)
|
|
|
.set(WmScorePackageStatus::getUpdateTime, now)
|
|
|
.set(WmScorePackageStatus::getUpdateUser, operatorId);
|
|
|
log.info("pacakgeStatus更新参数:条件id={},updateTime={},updateUser={},更新项taskAddFlag={},updateTime={},updateUser={}",
|
|
|
- packageStatus.getId(), packageStatus.getUpdateTime(), packageStatus.getUpdateUser(), taskAddFlagStr, now, operatorId);
|
|
|
+ packageStatus.getId(), packageStatus.getUpdateTime(), packageStatus.getUpdateUser(), totalTaskAddFlagStr, now, operatorId);
|
|
|
boolean pacakgeStatusUpdate = wmScorePackageStatusService.update(updateWrapper);
|
|
|
if (!pacakgeStatusUpdate) {
|
|
|
throw new RuntimeException("操作失败,请重试");
|
|
@@ -2732,17 +2744,17 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
}
|
|
|
|
|
|
// STEP3:修改积分包状态
|
|
|
- String packageFinishStatus = totalCount >= wmScorePackage.getScore() ?
|
|
|
- PackageFinishStatusEnum.NOT_COMPLETE.val() : PackageFinishStatusEnum.COMPLETED.val();
|
|
|
+ String packageFinishStatus = approvedCount >= wmScorePackage.getScore() ?
|
|
|
+ PackageFinishStatusEnum.COMPLETED.val() : PackageFinishStatusEnum.NOT_COMPLETE.val();
|
|
|
LambdaUpdateWrapper<WmScorePackage> scorePackageUpdateWrapper = Wrappers.<WmScorePackage>lambdaUpdate()
|
|
|
.eq(WmScorePackage::getId, scorePackageId)
|
|
|
.eq(wmScorePackage.getUpdateTime() != null, WmScorePackage::getUpdateTime, wmScorePackage.getUpdateTime())
|
|
|
.eq(wmScorePackage.getUpdateUser() != null, WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
.set(WmScorePackage::getPackageFinishStatus, packageFinishStatus)
|
|
|
- .set(WmScorePackage::getTaskAddFlag, taskAddFlagStr)
|
|
|
+ .set(WmScorePackage::getTaskAddFlag, approvedTaskAddFlagStr)
|
|
|
.set(WmScorePackage::getUpdateUser, wmScorePackage.getUpdateUser())
|
|
|
.set(WmScorePackage::getUpdateTime, now);
|
|
|
- if (taskAddFlag) {
|
|
|
+ if (approvedCount >= wmScorePackage.getScore()) {
|
|
|
// 任务总积分超过积分包的值
|
|
|
// 积分包完成时间
|
|
|
scorePackageUpdateWrapper.set(WmScorePackage::getPackageFinishTime, now);
|
|
@@ -2754,7 +2766,7 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
|
scorePackageUpdateWrapper.set(WmScorePackage::getScorePackageStatus, ScorePackageStatusEnum.IN_PROGRESS.val());
|
|
|
}
|
|
|
log.info("scorePackage更新参数:条件id={},updateTime={},updateUser={},更新项packageFinishStatus={},taskAddFlag={},updateTime={},updateUser={}",
|
|
|
- scorePackageId, wmScorePackage.getUpdateTime(), wmScorePackage.getUpdateUser(), packageFinishStatus, taskAddFlagStr, now, operatorId);
|
|
|
+ scorePackageId, wmScorePackage.getUpdateTime(), wmScorePackage.getUpdateUser(), packageFinishStatus, totalTaskAddFlagStr, now, operatorId);
|
|
|
boolean packageUpdate = wmScorePackageService.update(scorePackageUpdateWrapper);
|
|
|
if (!packageUpdate) {
|
|
|
throw new RuntimeException("操作失败,请重试");
|