Browse Source

fix: 任务审核-积分上限判断bug导致更新任务为0分(已去除判断,提交任务时已有积分上限判断)

lixuesong 1 year ago
parent
commit
3018ff6cd6

+ 40 - 35
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java

@@ -1669,41 +1669,46 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 			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 = amount > limit;
-							for (WmTask t : taskList) {
-								if ((amount += t.getScore()) >= limit) {
-									if (flag) {
-										t.setScore(0);
-									}
-									flag = true;
-								}
-								t.setTaskStatus("3");
-								t.setRealFlag("0");
-								t.setUpdateTime(LocalDateTime.now());
-							}
-							bathList.addAll(taskList);
-						}
-					}
-				}
-
-				updateBatchById(bathList);
+//				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 = amount > limit;
+//							for (WmTask t : taskList) {
+//								if ((amount += t.getScore()) >= limit) {
+//									if (flag) {
+//										t.setScore(0);
+//									}
+//									flag = true;
+//								}
+//								t.setTaskStatus("3");
+//								t.setRealFlag("0");
+//								t.setUpdateTime(LocalDateTime.now());
+//							}
+//							bathList.addAll(taskList);
+//						}
+//					}
+//				}
+//
+//				updateBatchById(bathList);
+
+				updateWrapper.set(WmTask::getTaskStatus, "3");
+				updateWrapper.set(WmTask::getRealFlag, "0");
+				updateWrapper.set(WmTask::getUpdateTime, LocalDateTime.now());
+				this.update(updateWrapper);
 				break;
 			case "4": // 审核不通过
 				updateWrapper.set(WmTask::getTaskStatus, wmTask.getTaskStatus());