diff --git a/src/main/java/com/yunhai/familyactivity/service/impl/ActivityService.java b/src/main/java/com/yunhai/familyactivity/service/impl/ActivityService.java index b37dd30..e17f1ad 100644 --- a/src/main/java/com/yunhai/familyactivity/service/impl/ActivityService.java +++ b/src/main/java/com/yunhai/familyactivity/service/impl/ActivityService.java @@ -1201,11 +1201,15 @@ public class ActivityService implements IActivityService { activityReadRepository.save(read); } - /** confirm 模式:家长打开活动即自动确认(未回执 → 已确认) */ + /** confirm 模式:家长打开活动即自动确认(未回执 → 已确认)。 + * 仅报名截止时间内生效(活动处于「报名中」态):超过截止时间(转「已截止/已结束」)后打开只标已读,不再自动确认。 */ private void autoConfirmIfNeeded(Activity activity, Integer studentId) { if (!ReceiptModeEnum.CONFIRM.getCode().equalsIgnoreCase(activity.getReceiptMode())) { return; } + if (deriveStatus(activity, LocalDateTime.now()) != ActivityStatusEnum.SIGNUP) { + return; + } activitySignupRepository.findByActivityIdAndStudentId(activity.getId(), studentId) .ifPresent(record -> { if (SignupStatusEnum.NONE.getCode().equalsIgnoreCase(record.getStatus())) {