|
@@ -712,6 +712,12 @@ public List<Task> getTodayTasks(Long memberId, String dimensionCode) {
|
|
|
return buildIdempotentCompleteResult(task, memberId);
|
|
return buildIdempotentCompleteResult(task, memberId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // TC-C-02-E:超期任务提交必须被拒(deadline 守卫)——截止时间已过则不允许完成、不发奖。
|
|
|
|
|
+ // 不修改任务、不写积分流水,直接抛异常由上游转错误提示(杜绝"迟到扣分"式静默完成)。
|
|
|
|
|
+ if (task.getDeadline() != null && task.getDeadline().before(new Date())) {
|
|
|
|
|
+ throw new IllegalArgumentException("任务已过截止时间,无法提交完成");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// TASK-SYS-248: 前置任务校验——前置未完成则拒绝
|
|
// TASK-SYS-248: 前置任务校验——前置未完成则拒绝
|
|
|
if (task.getPrerequisiteTaskId() != null) {
|
|
if (task.getPrerequisiteTaskId() != null) {
|
|
|
Task prereq = taskMapper.selectById(task.getPrerequisiteTaskId());
|
|
Task prereq = taskMapper.selectById(task.getPrerequisiteTaskId());
|