|
@@ -1399,72 +1399,74 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
if (ids.length <= 0) {
|
|
if (ids.length <= 0) {
|
|
return R.failed("缺少参数!");
|
|
return R.failed("缺少参数!");
|
|
}
|
|
}
|
|
|
|
+
|
|
LambdaUpdateWrapper<WmTask> updateWrapper = new LambdaUpdateWrapper();
|
|
LambdaUpdateWrapper<WmTask> updateWrapper = new LambdaUpdateWrapper();
|
|
updateWrapper.in(WmTask::getId, ids);
|
|
updateWrapper.in(WmTask::getId, ids);
|
|
- updateWrapper.set(WmTask::getTaskStatus, wmTask.getTaskStatus());
|
|
|
|
- this.update(updateWrapper);
|
|
|
|
- wmTask = this.getById(ids[0]);
|
|
|
|
- WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTask.getScorePackageId());
|
|
|
|
-
|
|
|
|
- if (wmTask.getTaskStatus().equals("4")) {//审核不通过
|
|
|
|
- //如果是批量审核,需要判断每一个接单人是否完成
|
|
|
|
- for (int i = 0; i < ids.length; i++) {
|
|
|
|
- WmTask wmTask1 = this.getById(ids[i]);
|
|
|
|
- WmScorePackageStatus scorePackageStatus = new WmScorePackageStatus();
|
|
|
|
- scorePackageStatus.setPackageId(wmScorePackage.getId());
|
|
|
|
- scorePackageStatus.setUserId(wmTask1.getTaskUserId());
|
|
|
|
- scorePackageStatus.setStatus("2");//接单审核通过
|
|
|
|
- List<WmScorePackageStatus> scorePackageStatusList = wmScorePackageStatusService.list(Wrappers.query(scorePackageStatus));
|
|
|
|
-
|
|
|
|
- if (null != scorePackageStatusList && scorePackageStatusList.size() > 0) {
|
|
|
|
- scorePackageStatus = scorePackageStatusList.get(0);
|
|
|
|
- wmScorePackageStatusService.updatePackageAndStatus(wmTask1, wmScorePackage, scorePackageStatus);
|
|
|
|
|
|
+ List<WmTask> wmTaskList = list(updateWrapper);
|
|
|
|
+
|
|
|
|
+ switch (wmTask.getTaskStatus()){
|
|
|
|
+ case "3": // 审核通过
|
|
|
|
+
|
|
|
|
+ // 获取用户积分系统上线
|
|
|
|
+ String value = sysPublicParamService.getSysPublicParamKeyToValue("USER_TASK_SUB_SCORE");
|
|
|
|
+ log.warn("系统当前限制积分上限:【{}】", value);
|
|
|
|
+ int limit = StringUtils.isEmpty(value) ? 30000 : Integer.parseInt(value);
|
|
|
|
+
|
|
|
|
+ List<WmTask> bathList = new ArrayList<>(wmTaskList.size());
|
|
|
|
+
|
|
|
|
+ Map<String, Map<LocalDate, List<WmTask>>> collect = wmTaskList.stream()
|
|
|
|
+ .collect(Collectors.groupingBy(WmTask::getTaskUserId, Collectors.groupingBy(task -> task.getCreateTime()
|
|
|
|
+ .toLocalDate())));
|
|
|
|
+ if (CollectionUtil.isNotEmpty(collect)){
|
|
|
|
+ for (Map.Entry<String,Map<LocalDate, List<WmTask>>> outer : collect.entrySet()){
|
|
|
|
+ String userId = outer.getKey();
|
|
|
|
+ Map<LocalDate, List<WmTask>> outerValue = outer.getValue();
|
|
|
|
+ for (Map.Entry<LocalDate, List<WmTask>> inner : outerValue.entrySet()){
|
|
|
|
+ LocalDate localDate = inner.getKey();
|
|
|
|
+ List<WmTask> taskList = inner.getValue();
|
|
|
|
+ int amount = baseMapper.newGetUserTaskSubScore(userId, LocalDateTime.of(localDate,LocalTime.MIN), LocalDateTime.of(localDate,LocalTime.MAX));
|
|
|
|
+ boolean flag = false;
|
|
|
|
+ for (WmTask t : taskList) {
|
|
|
|
+ if ((amount += t.getScore()) >= limit) {
|
|
|
|
+ if (flag) {
|
|
|
|
+ t.setScore(0);
|
|
|
|
+ }
|
|
|
|
+ flag = true;
|
|
|
|
+ }
|
|
|
|
+ t.setTaskStatus("3");
|
|
|
|
+ t.setUpdateTime(LocalDateTime.now());
|
|
|
|
+ }
|
|
|
|
+ bathList.addAll(taskList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+ updateBatchById(bathList);
|
|
|
|
+ break;
|
|
|
|
+ case "4": // 审核不通过
|
|
|
|
+ updateWrapper.set(WmTask::getTaskStatus, wmTask.getTaskStatus());
|
|
|
|
+ this.update(updateWrapper);
|
|
|
|
+
|
|
|
|
+ WmScorePackage wmScorePackage = wmScorePackageService.getById(wmTaskList.get(0).getScorePackageId());
|
|
|
|
+ wmTaskList.forEach(task -> {
|
|
|
|
+ WmScorePackageStatus scorePackageStatus = new WmScorePackageStatus();
|
|
|
|
+ scorePackageStatus.setPackageId(wmScorePackage.getId());
|
|
|
|
+ scorePackageStatus.setUserId(task.getTaskUserId());
|
|
|
|
+ scorePackageStatus.setStatus("2");//接单审核通过
|
|
|
|
+ List<WmScorePackageStatus> scorePackageStatusList = wmScorePackageStatusService.list(Wrappers.query(scorePackageStatus));
|
|
|
|
+
|
|
|
|
+ if (CollectionUtil.isNotEmpty(scorePackageStatusList)) {
|
|
|
|
+ scorePackageStatus = scorePackageStatusList.get(0);
|
|
|
|
+ wmScorePackageStatusService.updatePackageAndStatus(task, wmScorePackage, scorePackageStatus);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
|
|
//判断已审核的任务积分值,或者积分个数是否满了,如果满了,就将所有未审核的任务,更新成审核不通过
|
|
//判断已审核的任务积分值,或者积分个数是否满了,如果满了,就将所有未审核的任务,更新成审核不通过
|
|
//即,将real_flag=9更新成real_flag=1,将task_status=2更新成task_status=4
|
|
//即,将real_flag=9更新成real_flag=1,将task_status=2更新成task_status=4
|
|
- wmScorePackageStatusService.updateScorePackageStatus(wmTask.getScorePackageId());
|
|
|
|
-
|
|
|
|
- //if(null==taskList||taskList.size()<=0){//所有任务都已审核完毕
|
|
|
|
-// wmTask1.setScorePackageId(wmTask.getScorePackageId());
|
|
|
|
-// List<Map<String,String>> resMap=wmTaskMapper.PackageIsFinishByTask(wmTask1);
|
|
|
|
-// if(resMap!=null&&resMap.size()>=wmScorePackage.getUserNum()){
|
|
|
|
-// for (Map<String,String> map: resMap) {
|
|
|
|
-// if(!StringUtil.isEmpty(map.get("isFinish"))){
|
|
|
|
-// Integer res=Integer.valueOf(map.get("isFinish"));
|
|
|
|
-// if(res>0){
|
|
|
|
-// return R.ok();
|
|
|
|
-// }
|
|
|
|
-// }else {
|
|
|
|
-// return R.ok();
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// }
|
|
|
|
-//
|
|
|
|
-// //更新所有的任务
|
|
|
|
-// LambdaUpdateWrapper<WmTask> updateWrapper=new LambdaUpdateWrapper<>();
|
|
|
|
-// updateWrapper.eq(WmTask::getScorePackageId,wmTask.getScorePackageId());
|
|
|
|
-// updateWrapper.eq(WmTask::getRealFlag,"9");
|
|
|
|
-// updateWrapper.set(WmTask::getRealFlag,"1");
|
|
|
|
-// this.update(updateWrapper);
|
|
|
|
-// LambdaUpdateWrapper<WmTask> updateWrapper1=new LambdaUpdateWrapper<>();
|
|
|
|
-// updateWrapper1.eq(WmTask::getScorePackageId,wmTask.getScorePackageId());
|
|
|
|
-// updateWrapper1.eq(WmTask::getTaskStatus,"2");
|
|
|
|
-// updateWrapper1.set(WmTask::getTaskStatus,"4");
|
|
|
|
-// this.update(updateWrapper1);
|
|
|
|
-//
|
|
|
|
-// wmScorePackage.setPackageFinishStatus("1");//已完成
|
|
|
|
-// wmScorePackage.setScorePackageStatus("4");//已完成待结算
|
|
|
|
-// wmScorePackage.setTaskAddFlag("0");//已完成不可以做任务
|
|
|
|
-// wmScorePackage.setPackageFinishTime(LocalDateTime.now());
|
|
|
|
-// return R.ok(wmScorePackageService.updateById(wmScorePackage));
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
- //}
|
|
|
|
- //}
|
|
|
|
- //当有任务未审核完毕时,任务不能算完成
|
|
|
|
|
|
+ wmScorePackageStatusService.updateScorePackageStatus(wmTaskList.get(0).getScorePackageId());
|
|
|
|
+
|
|
return R.ok("审核成功");
|
|
return R.ok("审核成功");
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1624,6 +1626,17 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
|
|
return total >= (StringUtils.isEmpty(value) ? 30000 : Integer.parseInt(value));
|
|
return total >= (StringUtils.isEmpty(value) ? 30000 : Integer.parseInt(value));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean newCheckUserTaskSubScore(String userId, LocalDate createDate) {
|
|
|
|
+ LocalDateTime startTime = LocalDateTime.of(createDate, LocalTime.MIN);
|
|
|
|
+ LocalDateTime endTime = LocalDateTime.of(createDate, LocalTime.MAX);
|
|
|
|
+ int total = wmTaskMapper.newGetUserTaskSubScore(userId, startTime, endTime);
|
|
|
|
+ // 获取用户积分系统上线
|
|
|
|
+ String value = sysPublicParamService.getSysPublicParamKeyToValue("USER_TASK_SUB_SCORE");
|
|
|
|
+ log.warn("系统当前限制积分上限:【{}】", value);
|
|
|
|
+ return total >= (StringUtils.isEmpty(value) ? 30000 : Integer.parseInt(value));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public R getTaskInfo(String taskId) {
|
|
public R getTaskInfo(String taskId) {
|