|
|
@@ -13,15 +13,12 @@ import com.izouma.nineth.repo.MetaTaskToUserRepo;
|
|
|
import com.izouma.nineth.repo.MetaUserTaskProgressRepo;
|
|
|
import com.izouma.nineth.utils.JpaUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
-import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
|
-import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
@@ -97,20 +94,20 @@ public class MetaUserTaskProgressService {
|
|
|
}
|
|
|
}
|
|
|
// 单日签到任务
|
|
|
- if (metaTaskToUser.getTaskType().equals(MetaTaskType.SIGN_IN_SINGLE_DAY)) {
|
|
|
- if (StringUtils.isBlank(value)) {
|
|
|
- return MetaRestResult.returnError("单日签到任务未配置签到日期");
|
|
|
- }
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- LocalDateTime startTime = LocalDate.parse(value, formatter).atStartOfDay();
|
|
|
- if (!startTime.format(formatter).equals(LocalDateTime.now().format(formatter))) {
|
|
|
- return MetaRestResult.returnError("当前日期不允许签到");
|
|
|
- }
|
|
|
- List<MetaUserTaskProgress> metaUserTaskProgresses = metaUserTaskProgressRepo.findAllByMetaTaskToUserIdAndDel(metaTaskToUser.getId(), false);
|
|
|
- if (CollectionUtils.isNotEmpty(metaUserTaskProgresses)) {
|
|
|
- return MetaRestResult.returnError("该签到任务已经签到过,不允许重复签到");
|
|
|
- }
|
|
|
- }
|
|
|
+// if (metaTaskToUser.getTaskType().equals(MetaTaskType.SIGN_IN_SINGLE_DAY)) {
|
|
|
+// if (StringUtils.isBlank(value)) {
|
|
|
+// return MetaRestResult.returnError("单日签到任务未配置签到日期");
|
|
|
+// }
|
|
|
+// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+// LocalDateTime startTime = LocalDate.parse(value, formatter).atStartOfDay();
|
|
|
+// if (!startTime.format(formatter).equals(LocalDateTime.now().format(formatter))) {
|
|
|
+// return MetaRestResult.returnError("当前日期不允许签到");
|
|
|
+// }
|
|
|
+// List<MetaUserTaskProgress> metaUserTaskProgresses = metaUserTaskProgressRepo.findAllByMetaTaskToUserIdAndDel(metaTaskToUser.getId(), false);
|
|
|
+// if (CollectionUtils.isNotEmpty(metaUserTaskProgresses)) {
|
|
|
+// return MetaRestResult.returnError("该签到任务已经签到过,不允许重复签到");
|
|
|
+// }
|
|
|
+// }
|
|
|
// 在线时长任务 如记录存在则更新remark(每日在线时长) 如不存在则每日首次触发该任务
|
|
|
if (metaTaskToUser.getTaskType().equals(MetaTaskType.ON_LINE_TIME_DAILY)) {
|
|
|
MetaUserTaskProgress dbMetaUserTaskProgress = metaUserTaskProgressRepo.findByMetaTaskToUserIdAndDelAndCreatedAtAfter(metaTaskToUser.getId(), false, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0));
|
|
|
@@ -125,20 +122,20 @@ public class MetaUserTaskProgressService {
|
|
|
return MetaRestResult.returnSuccess(false);
|
|
|
}
|
|
|
// 连续签到任务 每天只允许签到一次。remark可为每天签到时间也可以为空,具体判定以记录创建时间为准
|
|
|
- if (metaTaskToUser.getTaskType().equals(MetaTaskType.SIGN_IN_CONTINUOUS)) {
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- LocalDateTime startTime = LocalDate.parse(value, formatter).atStartOfDay();
|
|
|
- if (startTime.isAfter(LocalDateTime.now())) {
|
|
|
- return MetaRestResult.returnError("未到开始日期");
|
|
|
- }
|
|
|
- MetaUserTaskProgress dbMetaUserTaskProgress = metaUserTaskProgressRepo.findByMetaTaskToUserIdAndDelAndCreatedAtAfter(metaTaskToUser.getId(), false, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0));
|
|
|
- if (Objects.nonNull(dbMetaUserTaskProgress)) {
|
|
|
- return MetaRestResult.returnError("当日已经存在签到记录,不可重复签到");
|
|
|
- }
|
|
|
- save(metaUserTaskProgress, metaTaskToUser);
|
|
|
- // 该类型任务不存在完成
|
|
|
- return MetaRestResult.returnSuccess(false);
|
|
|
- }
|
|
|
+// if (metaTaskToUser.getTaskType().equals(MetaTaskType.SIGN_IN_CONTINUOUS)) {
|
|
|
+// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+// LocalDateTime startTime = LocalDate.parse(value, formatter).atStartOfDay();
|
|
|
+// if (startTime.isAfter(LocalDateTime.now())) {
|
|
|
+// return MetaRestResult.returnError("未到开始日期");
|
|
|
+// }
|
|
|
+// MetaUserTaskProgress dbMetaUserTaskProgress = metaUserTaskProgressRepo.findByMetaTaskToUserIdAndDelAndCreatedAtAfter(metaTaskToUser.getId(), false, LocalDateTime.now().withHour(0).withMinute(0).withSecond(0));
|
|
|
+// if (Objects.nonNull(dbMetaUserTaskProgress)) {
|
|
|
+// return MetaRestResult.returnError("当日已经存在签到记录,不可重复签到");
|
|
|
+// }
|
|
|
+// save(metaUserTaskProgress, metaTaskToUser);
|
|
|
+// // 该类型任务不存在完成
|
|
|
+// return MetaRestResult.returnSuccess(false);
|
|
|
+// }
|
|
|
// 保存进度
|
|
|
save(metaUserTaskProgress, metaTaskToUser);
|
|
|
List<MetaUserTaskProgress> metaUserTaskProgresses = metaUserTaskProgressRepo.findAllByMetaTaskToUserIdAndDel(metaTaskToUser.getId(), false);
|
|
|
@@ -153,10 +150,10 @@ public class MetaUserTaskProgressService {
|
|
|
return MetaRestResult.returnSuccess(true);
|
|
|
}
|
|
|
return MetaRestResult.returnSuccess(false);
|
|
|
- case SIGN_IN_SINGLE_DAY:
|
|
|
- // 单日登陆任务签到成功后直接完成
|
|
|
- completeTask(metaTaskToUser);
|
|
|
- return MetaRestResult.returnSuccess(true);
|
|
|
+// case SIGN_IN_SINGLE_DAY:
|
|
|
+// // 单日登陆任务签到成功后直接完成
|
|
|
+// completeTask(metaTaskToUser);
|
|
|
+// return MetaRestResult.returnSuccess(true);
|
|
|
case ACCUMULATE:
|
|
|
if (metaUserTaskProgresses.size() >= Integer.parseInt(value)) {
|
|
|
completeTask(metaTaskToUser);
|