Просмотр исходного кода

feat(backend): 移除新用户自动生成3条健康打卡任务机制(RepeatTaskGenerator 删内置[DIET]/[SLEEP]/[EXERCISE]生成)

Xiaogang Liao 1 неделя назад
Родитель
Сommit
5bf02d8b84

+ 0 - 70
cfc-backend/src/main/java/com/etotem/cfc/task/RepeatTaskGenerator.java

@@ -10,7 +10,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -25,7 +24,6 @@ import com.etotem.cfc.config.DatabaseInitializer;
  * - weekly: 每周生成(按模板 deadline 的星期几)
  * - monthly: 每月生成(按模板 deadline 的日)
  * 兼容旧版 repeat_type (none/daily/weekly):repeat_type=daily 等价 frequency=daily,weekly 等价 weekly
- * 额外:每日为能登录用户生成 3 条内置健康打卡任务([DIET]/[SLEEP]/[EXERCISE],is_daily_progress=1)
  */
 @Slf4j
 @Component
@@ -37,13 +35,6 @@ public class RepeatTaskGenerator {
     @Resource
     private FamilyMemberMapper familyMemberMapper;
 
-    /** 内置健康打卡任务模板定义(title 前缀约定与 TaskService.updateProgress 的 taskKey 匹配一致) */
-    private static final List<String[]> CHECKIN_TEMPLATES = Arrays.asList(
-            new String[]{"[DIET]饮食打卡", "diet"},
-            new String[]{"[SLEEP]睡眠打卡", "sleep"},
-            new String[]{"[EXERCISE]运动打卡", "exercise"}
-    );
-
     /**
      * 每小时第5分执行,按频率分派生成重复任务
      */
@@ -148,72 +139,11 @@ public class RepeatTaskGenerator {
             }
             log.info("每小时重复任务生成完成,处理{}个模板", hourlyTasks.size());
 
-            // 6. 内置健康打卡任务([DIET]/[SLEEP]/[EXERCISE])——每日为能登录用户生成
-            generateBuiltinCheckinTasks(today);
-
         } catch (Exception e) {
             log.error("生成重复任务失败", e);
         }
     }
 
-    /**
-     * 每日为所有能登录用户生成 3 条内置健康打卡任务(is_daily_progress=1)
-     * title 前缀约定:[DIET]/[SLEEP]/[EXERCISE],与 TaskService.updateProgress 的 taskKey 匹配一致
-     * 幂等:当天已有对应实例则跳过
-     */
-    private void generateBuiltinCheckinTasks(Date today) {
-        Date tomorrow = new Date(today.getTime() + 86400000L);
-        // 所有能登录用户(family_members.userId 非空)
-        List<FamilyMember> members = familyMemberMapper.selectList(
-                new LambdaQueryWrapper<FamilyMember>()
-                        .isNotNull(FamilyMember::getUserId)
-        );
-        int created = 0;
-        for (FamilyMember member : members) {
-            for (String[] tpl : CHECKIN_TEMPLATES) {
-                String title = tpl[0];
-                String actionType = tpl[1];
-                Long exists = taskMapper.selectCount(
-                        new LambdaQueryWrapper<Task>()
-                                .eq(Task::getFamilyMemberId, member.getId())
-                                .eq(Task::getTitle, title)
-                                .eq(Task::getIsDailyProgress, 1)
-                                .ge(Task::getCreatedAt, today)
-                                .lt(Task::getCreatedAt, tomorrow)
-                );
-                if (exists != null && exists > 0) {
-                    continue;
-                }
-                Task checkinTask = new Task();
-                checkinTask.setFamilyId(member.getFamilyId());
-                checkinTask.setFamilyMemberId(member.getId());
-                checkinTask.setCreatorId(member.getUserId());
-                checkinTask.setExecutorType("child");
-                checkinTask.setExecutorId(member.getId());
-                checkinTask.setMemberId(member.getId());
-                checkinTask.setTitle(title);
-                checkinTask.setDescription("每日健康打卡任务");
-                checkinTask.setPoints(5);
-                checkinTask.setCategory("健康打卡");
-                checkinTask.setStatus("pending");
-                checkinTask.setNeedReview(0);
-                checkinTask.setIsTemplate(0);
-                checkinTask.setIsDailyProgress(1);
-                checkinTask.setTargetValue(1);
-                checkinTask.setActionType(actionType);
-                checkinTask.setMemberOnly(0);
-                checkinTask.setSourceType("self");
-                checkinTask.setCreatedAt(new Date());
-                checkinTask.setUpdatedAt(new Date());
-                taskMapper.insert(checkinTask);
-                created++;
-            }
-        }
-        if (created > 0) {
-            log.info("内置健康打卡任务生成完成,新增{}条(覆盖{}个能登录用户)", created, members.size());
-        }
-    }
-
     /**
      * 隔天判定:模板创建时间到今天的间隔天数为偶数 → 今天生成
      */