but was: <5001> at com.etotem.cfc.controller.StatsControllerTest.familyCompletion_NoFamily(StatsControllerTest.java:145) ]]> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:38:59.648 DEBUG 13764 --- [eduler_Worker-7] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:38:59.649 DEBUG 13764 --- [eduler_Worker-7] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:38:59.650 INFO 13764 --- [eduler_Worker-7] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:00.046 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.046 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.046 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.046 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.047 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.047 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.048 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.048 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.048 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.048 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.048 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.048 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.049 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.050 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.050 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.050 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.050 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.051 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.052 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.052 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.052 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.052 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.053 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.053 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.053 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.053 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.054 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.054 DEBUG 13764 --- [cfc-scheduler-4] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.054 DEBUG 13764 --- [cfc-scheduler-4] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.055 DEBUG 13764 --- [cfc-scheduler-1] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.055 DEBUG 13764 --- [cfc-scheduler-1] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.056 DEBUG 13764 --- [cfc-scheduler-4] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.056 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.056 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.057 DEBUG 13764 --- [cfc-scheduler-1] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.057 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.058 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.058 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.060 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.062 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.063 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.063 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.063 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.063 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.063 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.064 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.064 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.065 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.065 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.066 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.066 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.066 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.066 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.067 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.067 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.067 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.067 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.067 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.067 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.068 DEBUG 13764 --- [cfc-scheduler-4] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.069 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.068 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.069 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.069 DEBUG 13764 --- [cfc-scheduler-4] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.070 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.070 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.070 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.071 DEBUG 13764 --- [cfc-scheduler-4] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.071 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.072 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.072 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.072 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.072 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.073 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.073 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.073 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.073 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.074 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.074 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.075 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.075 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.075 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.077 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.078 DEBUG 13764 --- [cfc-scheduler-2] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.079 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.080 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.080 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,user_id,channels,timing_mode,offset_minutes,enabled,created_at,completion_praise_enabled,completion_praise_channels,updated_at FROM task_reminder_config 2026-11-04 22:39:00.080 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : ==> Parameters: 2026-11-04 22:39:00.080 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.080 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:00.081 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.081 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Preparing: SELECT id,family_id,family_member_id,creator_id,executor_type,executor_id,child_id AS memberId,title,description,points,deadline,repeat_type,category,need_review,review_by_category,review_type,status,completed_at,bonus_rule,points_expire_days,template_id,is_template,task_type,frequency,max_frequency,complete_types,duration,earliest_start,latest_end,accept_deadline,minigame_code,source_type,source_id,is_daily_progress,target_value,member_only,prerequisite_task_id,is_flow_task,successor_task_ids,action_type,action_config,require_input,start_required,start_count,min_duration_seconds,dimension_code,parent_task_id,dimension_weights,created_at,updated_at FROM tasks WHERE (is_template = ? AND executor_type = ? AND status = ? AND deadline >= ? AND deadline < ?) ORDER BY deadline ASC LIMIT 200 2026-11-04 22:39:00.082 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.082 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : ==> Parameters: 0(Integer), parent(String), pending(String), 2026-11-04 00:00:00.0(Timestamp), 2026-11-05 00:00:00.0(Timestamp) 2026-11-04 22:39:00.083 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.083 DEBUG 13764 --- [cfc-scheduler-3] c.e.cfc.mapper.TaskMapper.selectList : <== Total: 0 2026-11-04 22:39:00.351 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.351 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.35(Timestamp) 2026-11-04 22:39:00.352 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.352 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.351(Timestamp) 2026-11-04 22:39:00.352 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:00.353 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:00.353 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.354 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.35(Timestamp) 2026-11-04 22:39:00.355 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:00.356 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.356 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.35(Timestamp) 2026-11-04 22:39:00.357 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:00.357 INFO 13764 --- [cfc-scheduler-4] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:00.524 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.524 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.522(Timestamp) 2026-11-04 22:39:00.528 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:00.529 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.529 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.522(Timestamp) 2026-11-04 22:39:00.531 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.532 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.531(Timestamp) 2026-11-04 22:39:00.532 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:00.533 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:00.534 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:00.522(Timestamp) 2026-11-04 22:39:00.534 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:00.535 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:00.535 INFO 13764 --- [cfc-scheduler-4] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:00.583 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:00.584 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:00.583(Timestamp), 2026-11-04 22:39:00.583(Timestamp), 20(Integer) 2026-11-04 22:39:00.585 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:00.812 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:00.813 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:00.811(Timestamp), 2026-11-04 22:39:00.811(Timestamp), 20(Integer) 2026-11-04 22:39:00.815 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:02.764 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:02.765 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:02.763(Timestamp) 2026-11-04 22:39:02.766 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:02.766 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:02.765(Timestamp) 2026-11-04 22:39:02.766 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:02.767 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:02.768 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:02.763(Timestamp) 2026-11-04 22:39:02.768 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:02.769 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:02.770 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:02.770 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:02.763(Timestamp) 2026-11-04 22:39:02.771 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:02.771 INFO 13764 --- [cfc-scheduler-1] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:02.903 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:02.903 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:02.902(Timestamp), 2026-11-04 22:39:02.902(Timestamp), 20(Integer) 2026-11-04 22:39:02.905 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:04.392 INFO 13764 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode 2026-11-04 22:39:04.394 INFO 13764 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode. 2026-11-04 22:39:04.403 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:04.405 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:04.405 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:04.406 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:04.406 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:04.668 INFO 13764 --- [eduler_Worker-7] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:04.669 DEBUG 13764 --- [eduler_Worker-7] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:04.670 DEBUG 13764 --- [eduler_Worker-7] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:04.671 DEBUG 13764 --- [eduler_Worker-7] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:04.671 INFO 13764 --- [eduler_Worker-7] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:04.852 INFO 13764 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 456 ms. Found 0 Redis repository interfaces. 2026-11-04 22:39:06.162 INFO 13764 --- [ main] com.zaxxer.hikari.HikariDataSource : CfcHikariPool - Starting... 2026-11-04 22:39:06.170 INFO 13764 --- [ main] com.zaxxer.hikari.HikariDataSource : CfcHikariPool - Start completed. 2026-11-04 22:39:06.471 INFO 13764 --- [eduler_Worker-9] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:06.472 DEBUG 13764 --- [eduler_Worker-9] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:06.473 DEBUG 13764 --- [eduler_Worker-9] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:06.474 DEBUG 13764 --- [eduler_Worker-9] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:06.474 INFO 13764 --- [eduler_Worker-9] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 _ _ |_ _ _|_. ___ _ | _ | | |\/|_)(_| | |_\ |_)||_|_\ / | 3.5.3.1 2026-11-04 22:39:07.647 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:07.648 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:07.649 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:07.650 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:07.650 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:07.691 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.691 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.689(Timestamp) 2026-11-04 22:39:07.692 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.692 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:07.693 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.691(Timestamp) 2026-11-04 22:39:07.693 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.693 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.689(Timestamp) 2026-11-04 22:39:07.694 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:07.694 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:07.695 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.695 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.689(Timestamp) 2026-11-04 22:39:07.696 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:07.697 INFO 13764 --- [cfc-scheduler-1] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:07.736 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:07.737 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:07.735(Timestamp), 2026-11-04 22:39:07.735(Timestamp), 20(Integer) 2026-11-04 22:39:07.738 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:07.887 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:07.888 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:07.887(Timestamp), 2026-11-04 22:39:07.887(Timestamp), 20(Integer) 2026-11-04 22:39:07.888 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.888 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.887(Timestamp) 2026-11-04 22:39:07.889 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:07.889 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:07.890 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.890 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.890 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.887(Timestamp) 2026-11-04 22:39:07.890 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.889(Timestamp) 2026-11-04 22:39:07.891 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:07.891 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:07.892 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:07.893 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:07.887(Timestamp) 2026-11-04 22:39:07.894 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:07.894 INFO 13764 --- [cfc-scheduler-3] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:08.815 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:08.816 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:08.816 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:08.817 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:08.818 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:08.875 WARN 13764 --- [ main] com.etotem.cfc.service.WechatService : wechat.test-mode=true in non-production profile (dev) 2026-11-04 22:39:09.484 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:09.485 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:09.483(Timestamp) 2026-11-04 22:39:09.486 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:09.486 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:09.486 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:09.485(Timestamp) 2026-11-04 22:39:09.487 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:09.487 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:09.483(Timestamp) 2026-11-04 22:39:09.488 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:09.488 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:09.490 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:09.490 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:09.483(Timestamp) 2026-11-04 22:39:09.491 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:09.491 INFO 13764 --- [cfc-scheduler-1] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:09.790 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:09.791 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:09.79(Timestamp), 2026-11-04 22:39:09.79(Timestamp), 20(Integer) 2026-11-04 22:39:09.793 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:10.868 INFO 13764 --- [duler_Worker-10] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:10.870 DEBUG 13764 --- [duler_Worker-10] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:10.870 DEBUG 13764 --- [duler_Worker-10] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:10.871 DEBUG 13764 --- [duler_Worker-10] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:10.871 INFO 13764 --- [duler_Worker-10] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:14.275 INFO 13764 --- [ main] com.etotem.cfc.service.PaymentService : 微信支付使用测试模式,跳过私钥加载 2026-11-04 22:39:14.582 INFO 13764 --- [eduler_Worker-8] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:14.584 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:14.584 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:14.585 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:14.585 INFO 13764 --- [eduler_Worker-8] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:15.637 INFO 13764 --- [ main] com.etotem.cfc.service.AiGateway : AiGateway 已启用: baseUrl=https://ai.etotem.com.cn, connectTimeout=15000ms, readTimeout=300000ms 2026-11-04 22:39:19.028 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:19.030 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:19.030 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:19.031 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:19.031 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:19.447 INFO 13764 --- [eduler_Worker-4] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:19.449 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:19.449 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:19.450 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:19.450 INFO 13764 --- [eduler_Worker-4] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:19.724 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:19.724 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:19.722(Timestamp) 2026-11-04 22:39:19.726 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:19.727 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:19.727 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:19.722(Timestamp) 2026-11-04 22:39:19.728 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:19.729 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:19.729 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:19.722(Timestamp) 2026-11-04 22:39:19.730 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:19.730 INFO 13764 --- [cfc-scheduler-1] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:19.731 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:19.732 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:19.73(Timestamp) 2026-11-04 22:39:19.733 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:20.162 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:20.164 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:20.164 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:20.165 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:20.165 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:20.267 INFO 13764 --- [eduler_Worker-4] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:20.268 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:20.268 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:20.269 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:20.270 INFO 13764 --- [eduler_Worker-4] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:21.499 INFO 13764 --- [ main] c.e.c.s.impl.JdCloudStorageService : JdCloudStorageService init: endpoint=s3.cn-north-1.jdcloud-oss.com, bucket=cfc, region=cn-north-1 2026-11-04 22:39:21.501 INFO 13764 --- [ main] c.etotem.cfc.service.FileStorageService : FileStorageService init: allowedTypes=[image/jpeg, image/png, image/gif, image/webp, application/pdf, audio/mpeg, audio/wav] 2026-11-04 22:39:23.085 INFO 13764 --- [ main] c.e.cfc.service.KnowledgeBaseV3Service : KB v3 loaded: 28 kbRoot keys, 87 bacteria, 24 indicators, 224 foods 2026-11-04 22:39:23.124 DEBUG 13764 --- [ main] c.e.c.m.K.selectList : ==> Preparing: SELECT id,module_key,module_name,content,version,created_at,updated_at FROM knowledge_base_section 2026-11-04 22:39:23.124 DEBUG 13764 --- [ main] c.e.c.m.K.selectList : ==> Parameters: 2026-11-04 22:39:23.130 DEBUG 13764 --- [ main] c.e.c.m.K.selectList : <== Total: 12 2026-11-04 22:39:23.134 INFO 13764 --- [ main] c.e.c.s.UnifiedKnowledgeBaseService : 统一知识库加载完成: 12 模块, 版本=2.0, 食物226 菌属87 指标139 营养素30 疾病14 2026-11-04 22:39:23.566 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:23.567 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:23.566(Timestamp), 2026-11-04 22:39:23.566(Timestamp), 20(Integer) 2026-11-04 22:39:23.569 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:23.584 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:23.586 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:23.586 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:23.587 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:23.587 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:24.255 INFO 13764 --- [eduler_Worker-6] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:24.257 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:24.257 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:24.258 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:24.258 INFO 13764 --- [eduler_Worker-6] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:24.424 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:24.426 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:24.427 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:24.428 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:24.428 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:25.673 INFO 13764 --- [eduler_Worker-4] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:25.674 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:25.674 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:25.676 DEBUG 13764 --- [eduler_Worker-4] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:25.676 INFO 13764 --- [eduler_Worker-4] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:26.297 INFO 13764 --- [eduler_Worker-6] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:26.298 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:26.298 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:26.300 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:26.300 INFO 13764 --- [eduler_Worker-6] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:26.615 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:26.615 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:26.613(Timestamp) 2026-11-04 22:39:26.616 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:26.617 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:26.617 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:26.617 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:26.613(Timestamp) 2026-11-04 22:39:26.617 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:26.616(Timestamp) 2026-11-04 22:39:26.619 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:26.619 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:26.619 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:26.620 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:26.613(Timestamp) 2026-11-04 22:39:26.621 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:26.621 INFO 13764 --- [cfc-scheduler-2] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:26.922 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:26.922 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:26.921(Timestamp), 2026-11-04 22:39:26.921(Timestamp), 20(Integer) 2026-11-04 22:39:26.924 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:28.401 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:28.401 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:28.401 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:28.399(Timestamp) 2026-11-04 22:39:28.401 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:28.4(Timestamp) 2026-11-04 22:39:28.403 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:28.403 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:28.403 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:28.404 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:28.399(Timestamp) 2026-11-04 22:39:28.405 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:28.405 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:28.406 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:28.399(Timestamp) 2026-11-04 22:39:28.407 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:28.407 INFO 13764 --- [cfc-scheduler-1] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:28.938 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:28.938 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:28.937(Timestamp), 2026-11-04 22:39:28.937(Timestamp), 20(Integer) 2026-11-04 22:39:28.940 DEBUG 13764 --- [cfc-scheduler-2] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:29.593 INFO 13764 --- [eduler_Worker-8] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:29.594 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:29.594 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:29.596 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:29.596 INFO 13764 --- [eduler_Worker-8] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:30.499 INFO 13764 --- [ main] c.e.c.s.CognitiveTrainingConfigService : 已加载 cognitive-recommendations.yml,共 6 个维度配置 2026-11-04 22:39:30.778 INFO 13764 --- [ main] com.etotem.cfc.kb.BacteriaFoodMapping : 已加载菌属-食材映射表: 22 种菌属, 2份北京菌群检测报告(移植前/后) + 公开科学文献 数据来源 2026-11-04 22:39:33.497 INFO 13764 --- [ main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.simpl.RAMJobStore : RAMJobStore initialized. 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 2026-11-04 22:39:33.499 INFO 13764 --- [ main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@52a99e81 2026-11-04 22:39:33.936 WARN 13764 --- [ main] .s.s.UserDetailsServiceAutoConfiguration : Using generated security password: f294ca08-b1ce-47e3-ab3c-a67391a3b15d This generated password is for development use only. Your security configuration must be updated before running your application in production. 2026-11-04 22:39:34.267 INFO 13764 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@6d16de4e, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4e767bcb, org.springframework.security.web.context.SecurityContextPersistenceFilter@80f68b0, org.springframework.security.web.header.HeaderWriterFilter@6fccd66e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4555a3dd, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@4c2362bf, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@1d8e83e6, org.springframework.security.web.session.SessionManagementFilter@4f27ea19, org.springframework.security.web.access.ExceptionTranslationFilter@1b3ac5a1, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@70df2a7b] 2026-11-04 22:39:34.438 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:34.440 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:34.440 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:34.441 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:34.441 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:34.650 INFO 13764 --- [eduler_Worker-8] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:34.651 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:34.651 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:34.652 DEBUG 13764 --- [eduler_Worker-8] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:34.653 INFO 13764 --- [eduler_Worker-8] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:36.498 INFO 13764 --- [duler_Worker-10] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:36.499 DEBUG 13764 --- [duler_Worker-10] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:36.500 DEBUG 13764 --- [duler_Worker-10] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:36.500 DEBUG 13764 --- [duler_Worker-10] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:36.501 INFO 13764 --- [duler_Worker-10] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:37.646 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:37.648 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:37.648 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:37.649 DEBUG 13764 --- [eduler_Worker-2] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:37.649 INFO 13764 --- [eduler_Worker-2] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:38.233 INFO 13764 --- [ main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now 2026-11-04 22:39:38.234 INFO 13764 --- [ main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. 2026-11-04 22:39:38.251 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:38.257 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:38.257 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:38.262 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:38.262 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:38.264 INFO 13764 --- [ main] c.e.cfc.controller.StatsControllerTest : Started StatsControllerTest in 38.993 seconds (JVM running for 1465.134) 2026-11-04 22:39:38.267 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 开始初始化数据库... 2026-11-04 22:39:38.268 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 数据库检查完成 2026-11-04 22:39:38.285 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 从 schema.sql 加载了 379 个建表语句 2026-11-04 22:39:38.311 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 创建表失败: StatementCallback; bad SQL grammar [CREATE TABLE IF NOT EXISTS growth_records ( id BIGINT AUTO_INCREMENT PRIMARY KEY, child_id BIGINT NOT NULL COMMENT '孩子ID', family_member_id BIGINT COMMENT '家庭成员ID', family_member_age INT COMMENT '家庭成员年龄(月)', parent_id BIGINT NOT NULL COMMENT '家长用户ID', family_member_id BIGINT COMMENT '关联家庭成员ID', family_member_age INT COMMENT '成员年龄快照', assessment_id BIGINT COMMENT '关联的测评结果ID', record_title VARCHAR(200) COMMENT '档案标题', child_age INT COMMENT '孩子当时年龄(月)', height VARCHAR(20) COMMENT '身高', weight VARCHAR(20) COMMENT '体重', school VARCHAR(100) COMMENT '学校名称', grade INT COMMENT '年级(数字)', academicPerformance VARCHAR(200) COMMENT '成绩/学业表现', schoolProvince VARCHAR(50) COMMENT '学校所在省', schoolCity VARCHAR(50) COMMENT '学校所在市', schoolDistrict VARCHAR(50) COMMENT '学校所在区', schoolStreet VARCHAR(100) COMMENT '学校所在街道', assessment_summary TEXT COMMENT '测评摘要', overall_score INT COMMENT '综合得分', growth_suggestions TEXT COMMENT '成长建议', task_recommendations TEXT COMMENT '任务推荐(JSON)', status VARCHAR(20) DEFAULT 'pending' COMMENT '状态: pending/completed', external_sync TINYINT DEFAULT 0 COMMENT '是否来自外部系统同步', external_source VARCHAR(100) COMMENT '外部系统来源', source_type VARCHAR(20) DEFAULT 'manual' COMMENT '来源类型: manual/platform_purchase/self_upload/supplement', source_file_url VARCHAR(500) COMMENT '原始报告文件URL', order_id BIGINT COMMENT '关联订单ID', report_date DATETIME COMMENT '测评/报告日期', parent_record_id BIGINT COMMENT '关联的原始档案ID(补充档案专用)', is_latest TINYINT(1) DEFAULT 1 COMMENT '是否同组最新记录', dedup_hash VARCHAR(64) COMMENT '去重哈希值(SHA256)', parsed_data TEXT COMMENT '上传报告的解析结果(JSON)', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_child_id (child_id), INDEX idx_parent_id (parent_id), INDEX idx_status (status), UNIQUE INDEX uk_growth_dedup_hash (dedup_hash) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'family_member_id' 2026-11-04 22:39:38.326 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:38.327 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:38.325(Timestamp) 2026-11-04 22:39:38.331 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:38.339 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:38.340 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:38.322(Timestamp) 2026-11-04 22:39:38.341 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:38.342 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:38.343 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:38.322(Timestamp) 2026-11-04 22:39:38.344 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:38.345 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:38.345 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:38.322(Timestamp) 2026-11-04 22:39:38.347 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:38.347 INFO 13764 --- [cfc-scheduler-3] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:38.594 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 创建表失败: StatementCallback; bad SQL grammar [CREATE TABLE IF NOT EXISTS nutrition_age_dosage ( id BIGINT AUTO_INCREMENT PRIMARY KEY, age_min_months INT NOT NULL COMMENT '产品适用的最小月龄', age_max_months INT NOT NULL COMMENT '产品适用的最大月龄', ingredient_name VARCHAR(100) NOT NULL COMMENT '成分名称', strain VARCHAR(100) DEFAULT NULL COMMENT '菌株号', amount_per_serving DECIMAL(10,2) DEFAULT NULL COMMENT '每份含量', unit VARCHAR(20) DEFAULT NULL COMMENT '单位', daily_value VARCHAR(50) DEFAULT NULL COMMENT '每日参考值%', purpose VARCHAR(200) DEFAULT NULL COMMENT '功效说明', create_time DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX idx_product (product_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='营养产品按年龄分组的剂量建议';]; nested exception is java.sql.SQLSyntaxErrorException: Key column 'product_id' doesn't exist in table 2026-11-04 22:39:38.693 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 数据表检查完成 2026-11-04 22:39:38.820 INFO 13764 --- [eduler_Worker-3] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:38.821 DEBUG 13764 --- [eduler_Worker-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:38.821 DEBUG 13764 --- [eduler_Worker-3] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:38.822 DEBUG 13764 --- [eduler_Worker-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:38.822 INFO 13764 --- [eduler_Worker-3] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:40.155 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修正管理员角色为admin 2026-11-04 22:39:40.156 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建streets表 2026-11-04 22:39:40.173 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建teacher_messages表 2026-11-04 22:39:40.222 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改rewards.child_id字段允许NULL 2026-11-04 22:39:40.255 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改admins.status字段类型 2026-11-04 22:39:40.256 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建user_operation_logs表 2026-11-04 22:39:40.297 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改tasks.child_id允许NULL 2026-11-04 22:39:40.337 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改tasks.deadline允许NULL 2026-11-04 22:39:40.349 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建trial_memberships表 2026-11-04 22:39:40.359 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建guide_application_records表 2026-11-04 22:39:40.361 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : category列已存在,跳过 2026-11-04 22:39:40.362 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建invite_card表 2026-11-04 22:39:40.363 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建wishes表 2026-11-04 22:39:40.365 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 个人信息补充字段已存在,跳过 2026-11-04 22:39:40.366 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 浠艾福俱乐部服务商字段已存在,跳过 2026-11-04 22:39:40.369 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_skus表 2026-11-04 22:39:40.394 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : SysConfig 种子数据已加载 2026-11-04 22:39:40.396 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : Product 种子数据已加载 2026-11-04 22:39:40.398 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : Activity 种子数据已加载 2026-11-04 22:39:40.403 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 方案规则种子数据已加载: 模板包 focus=38, keep=39 2026-11-04 22:39:40.404 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 报告类型 gut_flora 已存在,跳过 2026-11-04 22:39:40.405 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : Article 种子数据已加载 2026-11-04 22:39:40.407 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 补充 Product 种子数据已加载 2026-11-04 22:39:40.408 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : content_sections 表已创建 2026-11-04 22:39:40.413 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : ContentSection 种子数据已加载 2026-11-04 22:39:40.416 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 佣金字段已存在,跳过 2026-11-04 22:39:40.417 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : profit_rate列已存在,跳过 2026-11-04 22:39:40.418 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建commission_records表 2026-11-04 22:39:40.419 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建withdrawal_requests表 2026-11-04 22:39:40.421 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 会员字段已存在,跳过 2026-11-04 22:39:40.422 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : commission_records扩展字段已存在,跳过 2026-11-04 22:39:40.423 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建member_upgrade_records表 2026-11-04 22:39:40.424 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建article_categories表 2026-11-04 22:39:40.425 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建articles表 2026-11-04 22:39:40.426 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : articles表字段已完整,跳过迁移 2026-11-04 22:39:40.427 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : articles表知识中心字段已完整,跳过迁移 2026-11-04 22:39:40.428 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建article_tags表 2026-11-04 22:39:40.430 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建energy_dimension表 2026-11-04 22:39:40.431 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建energy_source_config表 2026-11-04 22:39:40.432 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建cart_items表 2026-11-04 22:39:40.433 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建shop_categories表 2026-11-04 22:39:40.434 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建distribution_systems表 2026-11-04 22:39:40.435 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建distribution_relations表 2026-11-04 22:39:40.436 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建after_sales_requests表 2026-11-04 22:39:40.437 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建shop_discount_rules表 2026-11-04 22:39:40.445 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建energy_log表 2026-11-04 22:39:40.446 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建energy_balance表 2026-11-04 22:39:40.448 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 health_report_survey 表 2026-11-04 22:39:40.449 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 health_gut_flora 表 2026-11-04 22:39:40.450 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 health_disease_risk 表 2026-11-04 22:39:40.514 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : dan_assessment_results 认知维度字段已存在,跳过 2026-11-04 22:39:40.516 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : dan_assessment_results EMI 维度字段已存在,跳过 2026-11-04 22:39:40.517 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : dan_assessment_results EMI 心理子维度字段已存在,跳过 2026-11-04 22:39:40.519 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : dan_assessment_results 大五人格维度字段已存在,跳过 2026-11-04 22:39:40.521 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_member_attributes 表已为 v1.2 结构,跳过 2026-11-04 22:39:40.522 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : users 表 show_to_family 列已存在,跳过 2026-11-04 22:39:40.523 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : tasks 表 family_member_id 列已存在,跳过 2026-11-04 22:39:40.525 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 表 role_override 列已存在,跳过 2026-11-04 22:39:40.526 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 表 id_card 列已存在,跳过 2026-11-04 22:39:40.537 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.role_override 已存在,跳过 2026-11-04 22:39:40.539 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.require_registration 已存在,跳过 2026-11-04 22:39:40.540 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.require_checkin_review 已存在,跳过 2026-11-04 22:39:40.541 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.energy_penalty_unregistered 已存在,跳过 2026-11-04 22:39:40.542 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.require_review 已存在,跳过 2026-11-04 22:39:40.543 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.approved_count 已存在,跳过 2026-11-04 22:39:40.544 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.signed_count 已存在,跳过 2026-11-04 22:39:40.583 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 修正 activities 报名/签到审核字段失败: StatementCallback; bad SQL grammar [UPDATE activities a SET a.approved_count = (SELECT cnt FROM (SELECT COUNT(*) AS cnt FROM activity_registrations r WHERE r.activity_id = a.id AND r.status = 'approved') t)]; nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'a.id' in 'where clause' 2026-11-04 22:39:40.584 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.trust_score 已存在,跳过 2026-11-04 22:39:40.585 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.intimacy_score 已存在,跳过 2026-11-04 22:39:40.586 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.communication_score 已存在,跳过 2026-11-04 22:39:40.587 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.last_interaction_at 已存在,跳过 2026-11-04 22:39:40.589 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 cart 表 2026-11-04 22:39:40.590 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : activities表visible_scope列已存在,跳过 2026-11-04 22:39:40.591 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : articles表article_type列已存在,跳过 2026-11-04 22:39:40.593 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : articles表word_count列已存在,跳过 2026-11-04 22:39:40.594 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : article_reading_records表task_id列已存在,跳过 2026-11-04 22:39:40.595 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : tasks表source_type列已存在,跳过 2026-11-04 22:39:40.597 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : tasks表source_id列已存在,跳过 2026-11-04 22:39:40.598 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : activities表checkin_points列已存在,跳过 2026-11-04 22:39:40.599 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_invitations表 2026-11-04 22:39:40.600 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 nutrition_indicator_mapping 表 2026-11-04 22:39:40.601 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 nutrition_deficiency_record 表 2026-11-04 22:39:40.602 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : nutrition_indicator_mapping 种子数据已存在 (15条), 跳过 2026-11-04 22:39:40.603 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 emotion_checkin 情绪打卡表 2026-11-04 22:39:40.626 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 bazi_reading_template 表 2026-11-04 22:39:40.627 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 numsoul_config 表 2026-11-04 22:39:40.629 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 user_address 表 2026-11-04 22:39:40.630 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : member_price列已存在,跳过 2026-11-04 22:39:40.631 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建member_discount_configs表 2026-11-04 22:39:40.632 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建/确认 food_recommend_idx 表 2026-11-04 22:39:40.633 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建/确认 food_recommend_idx_log 表 2026-11-04 22:39:40.638 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_challenge.target_mode 已存在,跳过 2026-11-04 22:39:40.639 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_challenge.target_value 已存在,跳过 2026-11-04 22:39:40.640 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_challenge.respond_deadline 已存在,跳过 2026-11-04 22:39:40.641 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_report_edit_logs表 2026-11-04 22:39:40.642 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.plan_json 已存在,跳过 2026-11-04 22:39:40.644 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.status 已存在,跳过 2026-11-04 22:39:40.645 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.reviewed_by 已存在,跳过 2026-11-04 22:39:40.645 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.reviewed_at 已存在,跳过 2026-11-04 22:39:40.646 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.review_comment 已存在,跳过 2026-11-04 22:39:40.647 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.teacher_id 已存在,跳过 2026-11-04 22:39:40.648 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.updated_at 已存在,跳过 2026-11-04 22:39:40.695 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改finance_checkins.child_id字段允许NULL 2026-11-04 22:39:40.696 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 finance_checkins.type 已存在,跳过 2026-11-04 22:39:40.697 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建energy_daily_limit表 2026-11-04 22:39:40.727 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入energy_daily_limit默认数据 2026-11-04 22:39:40.728 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 diet_preferences.must_eat 已存在,跳过 2026-11-04 22:39:40.730 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 file_record.file_type 已存在,跳过 2026-11-04 22:39:40.731 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 file_record.description 已存在,跳过 2026-11-04 22:39:40.731 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 数据库迁移完成 2026-11-04 22:39:40.858 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:40.859 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:40.859 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:40.860 DEBUG 13764 --- [eduler_Worker-1] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:40.861 INFO 13764 --- [eduler_Worker-1] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:41.612 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移252: indicator_definitions 种子数据已加载 (27条) 2026-11-04 22:39:41.612 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 数据库迁移完成 2026-11-04 22:39:41.613 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : health_norm_reference 常模数据已存在 (98条), 跳过 2026-11-04 22:39:41.614 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : articles表审核字段已存在,跳过 2026-11-04 22:39:41.656 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改activities.description为TEXT类型 2026-11-04 22:39:41.689 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改tasks.description为TEXT类型 2026-11-04 22:39:41.731 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改wishes.description为TEXT类型 2026-11-04 22:39:41.771 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改wishes.reject_reason为TEXT类型 2026-11-04 22:39:41.804 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改wishes.cancel_reason为TEXT类型 2026-11-04 22:39:41.846 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改reward_wishlists.description为TEXT类型 2026-11-04 22:39:41.880 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改products.description为TEXT类型 2026-11-04 22:39:41.913 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改products.reject_reason为TEXT类型 2026-11-04 22:39:41.962 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改product_orders.remark为TEXT类型 2026-11-04 22:39:41.988 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改articles.summary为TEXT类型 2026-11-04 22:39:42.030 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改activities.audit_reason为TEXT类型 2026-11-04 22:39:42.071 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改guide_applications.reject_reason为TEXT类型 2026-11-04 22:39:42.122 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改guide_application_records.remark为TEXT类型 2026-11-04 22:39:42.179 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改follow_up.description为TEXT类型 2026-11-04 22:39:42.221 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改follow_up.teacher_review为TEXT类型 2026-11-04 22:39:42.263 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改energy_log.description为TEXT类型 2026-11-04 22:39:42.307 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改sys_config.description为TEXT类型 2026-11-04 22:39:42.318 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:42.318 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:42.318 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:42.317(Timestamp), 2026-11-04 22:39:42.317(Timestamp), 20(Integer) 2026-11-04 22:39:42.318 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:42.317(Timestamp) 2026-11-04 22:39:42.321 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:42.321 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:42.321 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:42.322 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:42.317(Timestamp) 2026-11-04 22:39:42.322 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:42.322 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:42.321(Timestamp) 2026-11-04 22:39:42.323 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:42.324 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:42.325 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:42.325 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:42.317(Timestamp) 2026-11-04 22:39:42.326 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:42.326 INFO 13764 --- [cfc-scheduler-4] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:42.354 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改points_log.description为TEXT类型 2026-11-04 22:39:42.390 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改insurance_policies.remark为TEXT类型 2026-11-04 22:39:42.441 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改health_reports.remark为TEXT类型 2026-11-04 22:39:42.488 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改guide_service_logs.notes为TEXT类型 2026-11-04 22:39:42.531 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改guide_packages.description为TEXT类型 2026-11-04 22:39:42.581 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改guide_package_templates.description为TEXT类型 2026-11-04 22:39:42.624 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改service_types.description为TEXT类型 2026-11-04 22:39:42.665 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改commission_records.remark为TEXT类型 2026-11-04 22:39:42.698 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改zodiac_pairing.description为TEXT类型 2026-11-04 22:39:42.731 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改zodiac_pairing.advice为TEXT类型 2026-11-04 22:39:42.766 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改blood_type_pairing.description为TEXT类型 2026-11-04 22:39:42.807 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改blood_type_pairing.advice为TEXT类型 2026-11-04 22:39:42.847 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改life_number_relationship.description为TEXT类型 2026-11-04 22:39:42.889 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改life_number_relationship.advice为TEXT类型 2026-11-04 22:39:42.931 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改finance_checkins.note为TEXT类型 2026-11-04 22:39:42.981 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改assessment_appointments.remark为TEXT类型 2026-11-04 22:39:43.014 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改withdrawal_requests.remark为TEXT类型 2026-11-04 22:39:43.016 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 content_sections.description 已存在,跳过 2026-11-04 22:39:43.038 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改education_systems.description为TEXT类型 2026-11-04 22:39:43.081 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改product_dimension_config.remark为TEXT类型 2026-11-04 22:39:43.115 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改indicator_values.remark为TEXT类型 2026-11-04 22:39:43.156 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改tongue_records.overall_assessment为TEXT类型 2026-11-04 22:39:43.191 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改system_config.description为TEXT类型 2026-11-04 22:39:43.247 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改system_config.config_value为TEXT类型 2026-11-04 22:39:43.274 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改supply_system.description为TEXT类型 2026-11-04 22:39:43.307 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改supply_settlement.remark为TEXT类型 2026-11-04 22:39:43.341 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改growth_task.description为TEXT类型 2026-11-04 22:39:43.366 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改distribution_systems.description为TEXT类型 2026-11-04 22:39:43.413 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改mini_games.description为TEXT类型 2026-11-04 22:39:43.475 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改blood_type_config.description为TEXT类型 2026-11-04 22:39:43.476 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_disease_risk.related_bacteria 已存在,跳过 2026-11-04 22:39:43.477 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.gut_status_level 已存在,跳过 2026-11-04 22:39:43.479 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.prerequisite_task_id 已存在,跳过 2026-11-04 22:39:43.480 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.action_type 已存在,跳过 2026-11-04 22:39:43.482 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.action_config 已存在,跳过 2026-11-04 22:39:43.483 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.require_input 已存在,跳过 2026-11-04 22:39:43.484 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.start_required 已存在,跳过 2026-11-04 22:39:43.486 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.start_count 已存在,跳过 2026-11-04 22:39:43.487 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.min_duration_seconds 已存在,跳过 2026-11-04 22:39:43.488 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建task_executions表 2026-11-04 22:39:43.490 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 focus_sessions.task_id 已存在,跳过 2026-11-04 22:39:43.491 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : mind/action/wealth 常模数据已存在 (80条), 跳过 2026-11-04 22:39:43.492 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建member_subscription表 2026-11-04 22:39:43.493 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建member_subscription_order表 2026-11-04 22:39:43.494 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建subscription_benefit_log表 2026-11-04 22:39:43.496 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建promotion_tier表 2026-11-04 22:39:43.497 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建promotion_tier_change_log表 2026-11-04 22:39:43.498 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建referral_tree表 2026-11-04 22:39:43.499 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_ppoint表 2026-11-04 22:39:43.500 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建assessment_products表 2026-11-04 22:39:43.501 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建assessment_quotas表 2026-11-04 22:39:43.502 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建assessment_executions表 2026-11-04 22:39:43.503 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.source 已存在,跳过 2026-11-04 22:39:43.504 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建growth_guidances表 2026-11-04 22:39:43.505 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建assessment_plan_rules表 2026-11-04 22:39:43.506 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.source 已存在,跳过 2026-11-04 22:39:43.507 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.source_result_id 已存在,跳过 2026-11-04 22:39:43.508 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.remark 已存在,跳过 2026-11-04 22:39:43.509 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.reviewed_by 已存在,跳过 2026-11-04 22:39:43.510 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.reviewed_at 已存在,跳过 2026-11-04 22:39:43.511 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.review_comment 已存在,跳过 2026-11-04 22:39:43.512 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.confirmed_by 已存在,跳过 2026-11-04 22:39:43.513 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.confirmed_at 已存在,跳过 2026-11-04 22:39:43.514 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.activated_at 已存在,跳过 2026-11-04 22:39:43.515 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_access_logs表 2026-11-04 22:39:43.516 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建five_dimension_scores表 2026-11-04 22:39:43.517 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建promotion_tier_config表 2026-11-04 22:39:43.519 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 添加user_coupon_id列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE package_orders ADD COLUMN user_coupon_id BIGINT COMMENT '使用的用户优惠券ID']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'user_coupon_id' 2026-11-04 22:39:43.520 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_invitations.max_use_count 已存在,跳过 2026-11-04 22:39:43.521 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_invitations.used_count 已存在,跳过 2026-11-04 22:39:43.523 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建teacher_family_binding_requests表 2026-11-04 22:39:43.524 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建chat_conversations表 2026-11-04 22:39:43.525 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建chat_messages表 2026-11-04 22:39:43.527 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建schema_versions表 2026-11-04 22:39:43.528 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.structured_analysis 已存在,跳过 2026-11-04 22:39:43.529 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建pending_refund表 2026-11-04 22:39:43.530 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.consignee_id 已存在,跳过 2026-11-04 22:39:43.531 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 pending_refund.order_type 已存在,跳过 2026-11-04 22:39:43.532 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 pending_refund.order_no 已存在,跳过 2026-11-04 22:39:43.534 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.dimension 已存在,跳过 2026-11-04 22:39:43.535 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.report_file_id 已存在,跳过 2026-11-04 22:39:43.536 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.draft_status 已存在,跳过 2026-11-04 22:39:43.538 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.dimension_weights 已存在,跳过 2026-11-04 22:39:43.539 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.dimension_weights 已存在,跳过 2026-11-04 22:39:43.540 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.dimension_weights 已存在,跳过 2026-11-04 22:39:43.543 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建dimension_weights表 2026-11-04 22:39:43.545 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 cart.sku_id 已存在,跳过 2026-11-04 22:39:43.546 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 cart.spec_option_ids 已存在,跳过 2026-11-04 22:39:43.547 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.purchase_info 已存在,跳过 2026-11-04 22:39:43.548 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.content_type 已存在,跳过 2026-11-04 22:39:43.549 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.difficulty_level 已存在,跳过 2026-11-04 22:39:43.550 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.dimension_ids 已存在,跳过 2026-11-04 22:39:43.551 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.dimension_weights 已存在,跳过 2026-11-04 22:39:43.552 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.dimension_weights 已存在,跳过 2026-11-04 22:39:43.553 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.dimension_weights 已存在,跳过 2026-11-04 22:39:43.554 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建social_circle表 2026-11-04 22:39:43.555 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建social_circle_member表 2026-11-04 22:39:43.557 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建review_orders表 2026-11-04 22:39:43.600 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已扩展growth_task.type为支持AI_GENERATED 2026-11-04 22:39:43.601 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_task.dimension 已存在,跳过 2026-11-04 22:39:43.603 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_task.source_conversation_id 已存在,跳过 2026-11-04 22:39:43.603 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移97: growth_task 表扩展完成 2026-11-04 22:39:43.649 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已扩展health_gut_flora.level字段长度 2026-11-04 22:39:43.649 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移 98: health_gut_flora 表扩展完成 2026-11-04 22:39:43.683 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已扩展 health_gut_flora.population_level 字段长度至 VARCHAR(100) 2026-11-04 22:39:43.973 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:43.973 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:43.971(Timestamp) 2026-11-04 22:39:43.974 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:43.974 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:43.973(Timestamp) 2026-11-04 22:39:43.974 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:43.976 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:43.976 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:43.971(Timestamp) 2026-11-04 22:39:43.999 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:43.999 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:44.000 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:44.000 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:43.971(Timestamp) 2026-11-04 22:39:44.000 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:44.001 INFO 13764 --- [cfc-scheduler-3] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:44.517 INFO 13764 --- [eduler_Worker-9] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:44.519 DEBUG 13764 --- [eduler_Worker-9] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:44.519 DEBUG 13764 --- [eduler_Worker-9] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:44.520 DEBUG 13764 --- [eduler_Worker-9] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:44.521 INFO 13764 --- [eduler_Worker-9] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:44.583 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已扩展 health_gut_flora.detection_rate 字段长度至 VARCHAR(100) 2026-11-04 22:39:44.583 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移 100: health_gut_flora 表扩展完成 2026-11-04 22:39:44.626 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改users.role为VARCHAR(20) 2026-11-04 22:39:44.628 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 assessment_appointments.assessor_id 已存在,跳过 2026-11-04 22:39:44.630 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_executions.appointment_id 已存在,跳过 2026-11-04 22:39:44.630 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移100: 已添加assessor_id和appointment_id字段 2026-11-04 22:39:44.631 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建micro_actions表 2026-11-04 22:39:44.658 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已初始化12个微行动 2026-11-04 22:39:44.660 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建micro_action_records表 2026-11-04 22:39:44.661 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建daily_feedback表 2026-11-04 22:39:44.663 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_alerts表 2026-11-04 22:39:44.664 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_level表 2026-11-04 22:39:44.665 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_timeline_event表 2026-11-04 22:39:44.666 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_challenge表 2026-11-04 22:39:44.668 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_challenge_progress表 2026-11-04 22:39:44.669 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_interaction表 2026-11-04 22:39:44.670 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_circle表 2026-11-04 22:39:44.672 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_circle_member表 2026-11-04 22:39:44.673 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建circle_challenge表 2026-11-04 22:39:44.674 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_commission表 2026-11-04 22:39:44.676 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建promotion_binding表 2026-11-04 22:39:44.677 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建activity_feedback表 2026-11-04 22:39:44.678 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.feedback_dimensions 已存在,跳过 2026-11-04 22:39:44.680 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.family_member_id 已存在,跳过 2026-11-04 22:39:44.681 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.family_member_age 已存在,跳过 2026-11-04 22:39:44.682 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建emotion_checkin表 2026-11-04 22:39:44.683 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建emotion_alert表 2026-11-04 22:39:44.684 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建membership_levels表 2026-11-04 22:39:44.708 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入membership_levels种子数据 2026-11-04 22:39:44.710 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_memberships表 2026-11-04 22:39:44.711 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建share_events表 2026-11-04 22:39:44.713 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建share_reads表 2026-11-04 22:39:44.713 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建food_recommend_idx表 2026-11-04 22:39:44.715 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建points_exchange_products表 2026-11-04 22:39:44.716 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建points_exchange_records表 2026-11-04 22:39:44.717 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.mood_weather 已存在,跳过 2026-11-04 22:39:44.718 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.emotion_tags 已存在,跳过 2026-11-04 22:39:44.719 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.energy_awarded 已存在,跳过 2026-11-04 22:39:44.721 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.mood_score 已存在,跳过 2026-11-04 22:39:44.722 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.stress_level 已存在,跳过 2026-11-04 22:39:44.723 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.arousal_level 已存在,跳过 2026-11-04 22:39:44.724 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.sleep_hours 已存在,跳过 2026-11-04 22:39:44.725 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 emotion_checkin.sleep_quality 已存在,跳过 2026-11-04 22:39:44.768 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改emotion_checkin.user_id为可空 2026-11-04 22:39:44.817 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改emotion_checkin.emotion_type为VARCHAR 2026-11-04 22:39:44.819 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_fortune.fortune_level_text 已存在,跳过 2026-11-04 22:39:44.820 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_fortune.fortune_description 已存在,跳过 2026-11-04 22:39:44.821 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_fortune.mood_emoji 已存在,跳过 2026-11-04 22:39:44.822 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_fortune.mood_text 已存在,跳过 2026-11-04 22:39:44.823 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_fortune.weekly_tip 已存在,跳过 2026-11-04 22:39:44.824 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 membership_levels.price_quarterly 已存在,跳过 2026-11-04 22:39:44.825 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.target_type 已存在,跳过 2026-11-04 22:39:44.827 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.share_channel 已存在,跳过 2026-11-04 22:39:44.828 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.share_title 已存在,跳过 2026-11-04 22:39:44.830 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.share_url 已存在,跳过 2026-11-04 22:39:44.831 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.read_count 已存在,跳过 2026-11-04 22:39:44.833 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.reward_points 已存在,跳过 2026-11-04 22:39:44.834 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.status 已存在,跳过 2026-11-04 22:39:44.835 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.expires_at 已存在,跳过 2026-11-04 22:39:44.836 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_events.updated_at 已存在,跳过 2026-11-04 22:39:44.837 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_reads.read_duration 已存在,跳过 2026-11-04 22:39:44.838 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 share_reads.read_at 已存在,跳过 2026-11-04 22:39:44.839 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 points_exchange_records.family_member_id 已存在,跳过 2026-11-04 22:39:44.843 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.sort_order 已存在,跳过 2026-11-04 22:39:44.845 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.recommendation_tags 已存在,跳过 2026-11-04 22:39:44.847 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.is_recommended 已存在,跳过 2026-11-04 22:39:44.849 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.repurchase_interval_days 已存在,跳过 2026-11-04 22:39:44.850 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建category_ppoint表 2026-11-04 22:39:44.851 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建commission_dist_log表 2026-11-04 22:39:44.853 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 payment_orders.period 已存在,跳过 2026-11-04 22:39:44.884 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改payment_orders.payment_type列长度为VARCHAR(20) 2026-11-04 22:39:44.885 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.dimension_code 已存在,跳过 2026-11-04 22:39:44.887 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.dimension_weights 已存在,跳过 2026-11-04 22:39:44.888 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.family_scope 已存在,跳过 2026-11-04 22:39:44.890 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.family_scope 已存在,跳过 2026-11-04 22:39:44.894 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.registration_deadline 已存在,跳过 2026-11-04 22:39:44.896 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.child_fee 已存在,跳过 2026-11-04 22:39:44.897 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.child_member_fee 已存在,跳过 2026-11-04 22:39:44.898 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.parent_fee 已存在,跳过 2026-11-04 22:39:44.899 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.parent_member_fee 已存在,跳过 2026-11-04 22:39:44.900 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.creator_id 已存在,跳过 2026-11-04 22:39:44.901 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建activity_orders表 2026-11-04 22:39:44.902 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建activity_materials表 2026-11-04 22:39:44.904 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_gut_flora.population_level 已存在,跳过 2026-11-04 22:39:44.905 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_gut_flora.detection_rate 已存在,跳过 2026-11-04 22:39:44.906 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_dimension_scores表 2026-11-04 22:39:44.908 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_data_sources表 2026-11-04 22:39:44.909 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_indicators.collection_date 已存在,跳过 2026-11-04 22:39:44.923 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Preparing: SELECT id,order_no,family_id,user_id,child_id AS memberId,guide_id,package_id,guide_name,package_name,total_price,discount_amount,actual_price,appointment_id,status,pay_time,pay_type,transaction_id,created_at,updated_at FROM assessment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:44.923 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:44.922(Timestamp) 2026-11-04 22:39:44.923 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Preparing: SELECT id,order_no,product_id,product_name,product_type,sku_id,buyer_id,family_id,quantity,unit_price,total_amount,status,payment_method,remark,discount_amount,coupon_id,cancel_at,transaction_id,cover_image,address_snapshot,logistics_no,logistics_company,tracking_number,express_company,delivery_method,pickup_code,confirm_time,paid_at,refund_status,refund_reason,refund_amount,refund_time,supply_system_id,supplier_id,supply_commission,points_used,points_cost,money_amount,consignee_id,purchase_info,activity_id,provision_status,auditor_id,audited_at,audit_reason,shipping_cost,gift_amount,pickup_location_id,pickup_location_snapshot,time_slot_id,time_slot_snapshot,service_person_id,service_person_snapshot,fulfill_status,fulfill_confirmed_at,received_at,created_at,updated_at,special_deal_id FROM product_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:44.924 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:44.923(Timestamp) 2026-11-04 22:39:44.924 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.A.selectList : <== Total: 0 2026-11-04 22:39:44.925 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.ProductOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:44.925 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Preparing: SELECT id,order_no,family_id,level_code,payment_type,period,amount,user_coupon_id,status,group_no,period_no,pay_method,transaction_id,paid_at,created_at,updated_at FROM payment_orders WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:44.925 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:44.922(Timestamp) 2026-11-04 22:39:44.926 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.PaymentOrderMapper.selectList : <== Total: 0 2026-11-04 22:39:44.927 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Preparing: SELECT id,family_id,level,amount,status,payment_type,transaction_id,order_no,created_at,paid_at FROM member_subscription_order WHERE (status = ? AND created_at < ?) 2026-11-04 22:39:44.928 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : ==> Parameters: pending(String), 2026-11-04 22:09:44.922(Timestamp) 2026-11-04 22:39:44.929 DEBUG 13764 --- [cfc-scheduler-4] c.e.c.m.M.selectList : <== Total: 0 2026-11-04 22:39:44.929 INFO 13764 --- [cfc-scheduler-4] c.etotem.cfc.task.VirtualPayTimeoutTask : 虚拟支付超时兜底扫描完成: 测评=0/0, 会员=0/0, 订阅=0/0 2026-11-04 22:39:45.416 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加列 promotion_tier.team_size_1st 2026-11-04 22:39:45.952 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加列 promotion_tier.team_size_2nd 2026-11-04 22:39:46.482 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加列 promotion_tier.team_size_3rd 2026-11-04 22:39:46.486 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 report_summary 表 2026-11-04 22:39:46.487 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.dimension_code 已存在,跳过 2026-11-04 22:39:46.488 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.dimension_weights 已存在,跳过 2026-11-04 22:39:46.488 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成tasks表维度字段添加 2026-11-04 22:39:46.492 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 energy_behavior_config 表 2026-11-04 22:39:46.496 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 finance_checkins.type 已存在,跳过 2026-11-04 22:39:46.496 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成finance_checkins.type字段添加 2026-11-04 22:39:46.497 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 article_comments 表 2026-11-04 22:39:46.499 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建service_role_applications表 2026-11-04 22:39:46.499 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移112: 开始添加article_admin_status列到users表 2026-11-04 22:39:46.500 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移112: 添加article_admin_status列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE users ADD COLUMN article_admin_status VARCHAR(20) DEFAULT NULL COMMENT '文章管理员状态: pending/approved/rejected']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'article_admin_status' 2026-11-04 22:39:46.502 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 periodic_services 表 2026-11-04 22:39:46.503 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 recommendation_logs 表 2026-11-04 22:39:46.504 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.family_scope 已存在,跳过 2026-11-04 22:39:46.504 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成products.family_scope字段添加 2026-11-04 22:39:46.506 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.family_scope 已存在,跳过 2026-11-04 22:39:46.506 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成activities.family_scope字段添加 2026-11-04 22:39:46.507 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activity_registrations.registrant_name 已存在,跳过 2026-11-04 22:39:46.507 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成activity_registrations.registrant_name字段添加 2026-11-04 22:39:46.509 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activity_registrations.registrant_phone 已存在,跳过 2026-11-04 22:39:46.509 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成activity_registrations.registrant_phone字段添加 2026-11-04 22:39:46.595 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成activity_registrations.child_id改为可空 2026-11-04 22:39:46.596 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 package_orders.contact_name 已存在,跳过 2026-11-04 22:39:46.597 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 package_orders.contact_phone 已存在,跳过 2026-11-04 22:39:46.599 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 package_orders.contact_address 已存在,跳过 2026-11-04 22:39:46.599 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成package_orders表联系人字段添加 2026-11-04 22:39:46.600 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.registration_deadline 已存在,跳过 2026-11-04 22:39:46.600 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成activities.registration_deadline字段添加 2026-11-04 22:39:46.602 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建virtual_goods_config表 2026-11-04 22:39:46.603 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 users.session_key 已存在,跳过 2026-11-04 22:39:46.603 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已完成users.session_key字段添加 2026-11-04 22:39:46.604 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_fortune_report表 2026-11-04 22:39:46.605 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建five_dimension_self_checks表 2026-11-04 22:39:46.649 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入会员年卡道具映射: member1314 2026-11-04 22:39:46.650 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已清理 membership_levels 重复行: 删除0条 2026-11-04 22:39:46.651 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : uk_level_code 唯一索引已存在,跳过添加 2026-11-04 22:39:46.653 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 payment_orders.user_coupon_id 已存在,跳过 2026-11-04 22:39:46.653 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已确保payment_orders.user_coupon_id列存在 2026-11-04 22:39:46.654 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.member_price 已存在,跳过 2026-11-04 22:39:46.654 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已确保activities.member_price列存在 2026-11-04 22:39:46.655 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.school 已存在,跳过 2026-11-04 22:39:46.656 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.grade 已存在,跳过 2026-11-04 22:39:46.657 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.academicPerformance 已存在,跳过 2026-11-04 22:39:46.658 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.schoolProvince 已存在,跳过 2026-11-04 22:39:46.659 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.schoolCity 已存在,跳过 2026-11-04 22:39:46.660 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.schoolDistrict 已存在,跳过 2026-11-04 22:39:46.661 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 growth_records.schoolStreet 已存在,跳过 2026-11-04 22:39:46.661 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已确保growth_records学校/年级相关列存在 2026-11-04 22:39:46.662 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 创建product_gift_rules表成功 2026-11-04 22:39:46.663 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建growth_archive_products表 2026-11-04 22:39:46.691 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入PREMIUM等级种子数据 2026-11-04 22:39:46.693 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建interaction_logs表 2026-11-04 22:39:46.696 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建relationship_questionnaire_snapshots表 2026-11-04 22:39:46.735 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改users.family_id允许NULL 2026-11-04 22:39:46.737 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建relationship_questionnaire_responses表 2026-11-04 22:39:46.738 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_challenge.creator_id 已存在,跳过 2026-11-04 22:39:46.740 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已清理guide_orders重复order_no 2026-11-04 22:39:46.743 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已清理payment_orders重复order_no 2026-11-04 22:39:46.745 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建daily_checkin表 2026-11-04 22:39:46.747 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建exercise_record表 2026-11-04 22:39:46.748 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_challenge.creator_id 已存在,跳过 2026-11-04 22:39:46.749 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.discount_rate 已存在,跳过 2026-11-04 22:39:46.750 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.product_id 已存在,跳过 2026-11-04 22:39:46.751 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.points_price 已存在,跳过 2026-11-04 22:39:46.752 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.grant_type 已存在,跳过 2026-11-04 22:39:46.753 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.grant_level_code 已存在,跳过 2026-11-04 22:39:46.754 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.grant_period 已存在,跳过 2026-11-04 22:39:46.755 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.grant_quantity 已存在,跳过 2026-11-04 22:39:46.755 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已为coupon表添加会员券字段 2026-11-04 22:39:46.756 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建coupon_grant_log表 2026-11-04 22:39:46.757 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 virtual_goods_config.goods_price 已存在,跳过 2026-11-04 22:39:46.759 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 payment_orders.group_no 已存在,跳过 2026-11-04 22:39:46.760 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 payment_orders.period_no 已存在,跳过 2026-11-04 22:39:46.775 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已回填families.creator_id(优先家庭管理员) 2026-11-04 22:39:46.783 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已回填families.creator_id(任一成员) 2026-11-04 22:39:46.784 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修复articles表中status为null的记录为draft 2026-11-04 22:39:46.785 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已清理废弃的relationship_types表 2026-11-04 22:39:46.786 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_join_requests表 2026-11-04 22:39:46.788 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建knowledge_base_section表 2026-11-04 22:39:46.789 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.pickup_location_id 已存在,跳过 2026-11-04 22:39:46.790 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.pickup_location_snapshot 已存在,跳过 2026-11-04 22:39:46.791 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.time_slot_id 已存在,跳过 2026-11-04 22:39:46.793 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.time_slot_snapshot 已存在,跳过 2026-11-04 22:39:46.794 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.service_person_id 已存在,跳过 2026-11-04 22:39:46.795 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.service_person_snapshot 已存在,跳过 2026-11-04 22:39:46.796 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.fulfill_status 已存在,跳过 2026-11-04 22:39:46.797 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.fulfill_confirmed_at 已存在,跳过 2026-11-04 22:39:46.798 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.received_at 已存在,跳过 2026-11-04 22:39:46.800 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_pickup_locations表 2026-11-04 22:39:46.801 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_pickup_time_slots表 2026-11-04 22:39:46.802 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_service_persons表 2026-11-04 22:39:46.803 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_service_person_slots表 2026-11-04 22:39:46.805 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_online_slots表 2026-11-04 22:39:46.805 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建membership_benefits表 2026-11-04 22:39:46.829 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入membership_benefits种子数据 2026-11-04 22:39:46.831 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建user_consent_records表 2026-11-04 22:39:46.832 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建user_data_permissions表 2026-11-04 22:39:46.833 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 is_living_together 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN is_living_together TINYINT(1) DEFAULT 1 COMMENT '是否同住(0=不同住,不出现在食谱推荐中)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'is_living_together' 2026-11-04 22:39:46.834 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 meal_with_breakfast_weekday 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN meal_with_breakfast_weekday TINYINT(1) DEFAULT 0 COMMENT '工作日早餐同餐']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'meal_with_breakfast_weekday' 2026-11-04 22:39:46.835 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 meal_with_lunch_weekday 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN meal_with_lunch_weekday TINYINT(1) DEFAULT 0 COMMENT '工作日午餐同餐']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'meal_with_lunch_weekday' 2026-11-04 22:39:46.836 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 meal_with_dinner_weekday 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN meal_with_dinner_weekday TINYINT(1) DEFAULT 0 COMMENT '工作日晚餐同餐']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'meal_with_dinner_weekday' 2026-11-04 22:39:46.838 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 meal_with_breakfast_weekend 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN meal_with_breakfast_weekend TINYINT(1) DEFAULT 0 COMMENT '周末早餐同餐']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'meal_with_breakfast_weekend' 2026-11-04 22:39:46.839 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 meal_with_lunch_weekend 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN meal_with_lunch_weekend TINYINT(1) DEFAULT 0 COMMENT '周末午餐同餐']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'meal_with_lunch_weekend' 2026-11-04 22:39:46.840 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_members 添加 meal_with_dinner_weekend 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE family_members ADD COLUMN meal_with_dinner_weekend TINYINT(1) DEFAULT 0 COMMENT '周末晚餐同餐']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'meal_with_dinner_weekend' 2026-11-04 22:39:46.841 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建diet_preferences表 2026-11-04 22:39:46.842 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建meal_configs表 2026-11-04 22:39:46.843 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建diet_recommendations表 2026-11-04 22:39:46.844 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建diet_records表 2026-11-04 22:39:46.846 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建diet_record_items表 2026-11-04 22:39:46.847 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.proxy_uploader_id 已存在,跳过 2026-11-04 22:39:46.849 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.proxy_upload_note 已存在,跳过 2026-11-04 22:39:46.850 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.ai_analysis 已存在,跳过 2026-11-04 22:39:46.851 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.report_format 已存在,跳过 2026-11-04 22:39:46.852 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.remark 已存在,跳过 2026-11-04 22:39:46.854 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_challenge_participant表 2026-11-04 22:39:46.855 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_relationship_scores表 2026-11-04 22:39:46.926 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_challenge_score_config表并写入默认配置 2026-11-04 22:39:46.929 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已为存量挑战补全participant行 2026-11-04 22:39:46.930 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建report_type_registry表 2026-11-04 22:39:46.931 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建report_fingerprint表 2026-11-04 22:39:46.932 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建report_unknown_cluster表 2026-11-04 22:39:46.933 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建report_unknown_upload表 2026-11-04 22:39:46.934 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建report_parser_import表 2026-11-04 22:39:46.936 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 foods.report_id 已存在,跳过 2026-11-04 22:39:46.937 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 foods.score 已存在,跳过 2026-11-04 22:39:46.938 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 foods.energy_kj 已存在,跳过 2026-11-04 22:39:46.939 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 foods.starch 已存在,跳过 2026-11-04 22:39:46.940 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 foods.cholesterol 已存在,跳过 2026-11-04 22:39:46.941 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 foods.diet_type 已存在,跳过 2026-11-04 22:39:46.975 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已为verification_codes.type添加默认值 2026-11-04 22:39:46.976 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_relationships.trust_score 已存在,跳过 2026-11-04 22:39:46.978 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_relationships.intimacy_score 已存在,跳过 2026-11-04 22:39:46.979 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_relationships.communication_score 已存在,跳过 2026-11-04 22:39:46.980 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_join_requests.family_role 已存在,跳过 2026-11-04 22:39:46.981 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.accept_deadline 已存在,跳过 2026-11-04 22:39:47.535 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : tasks.status枚举修改失败(可能已修改): StatementCallback; SQL [ALTER TABLE tasks MODIFY COLUMN `status` ENUM('pending','assigned','in_progress','completed','rejected','overdue','cancelled') DEFAULT 'pending' COMMENT '状态: pending=待审核 assigned=待接受 in_progress=进行中 completed=已完成 rejected=已拒绝 overdue=已过期 cancelled=已取消']; Data truncated for column 'status' at row 9; nested exception is java.sql.SQLException: Data truncated for column 'status' at row 9 2026-11-04 22:39:47.537 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建user_platform_balance表 2026-11-04 22:39:47.539 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建platform_balance_log表 2026-11-04 22:39:47.541 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已迁移settled佣金为可用CF值 2026-11-04 22:39:47.542 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已迁移pending佣金为冻结CF值 2026-11-04 22:39:47.544 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.platform_points 已存在,跳过 2026-11-04 22:39:47.547 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 withdrawal_requests.type 已存在,跳过 2026-11-04 22:39:47.548 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 membership_levels.original_price_monthly 已存在,跳过 2026-11-04 22:39:47.549 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 membership_levels.original_price_quarterly 已存在,跳过 2026-11-04 22:39:47.550 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 membership_levels.original_price_yearly 已存在,跳过 2026-11-04 22:39:47.553 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已同步会员价格/原价至membership_levels 2026-11-04 22:39:47.583 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入LIFETIME等级种子数据 2026-11-04 22:39:47.585 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建notices表 2026-11-04 22:39:47.587 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 member_upgrade_records.approve_remark 已存在,跳过 2026-11-04 22:39:47.588 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 member_upgrade_records.approve_status 已存在,跳过 2026-11-04 22:39:47.589 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 member_upgrade_records.approve_user_id 已存在,跳过 2026-11-04 22:39:47.591 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 member_upgrade_records.approve_time 已存在,跳过 2026-11-04 22:39:47.592 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_plans表 2026-11-04 22:39:47.643 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : health_gut_flora.detection_rate 已扩容为 VARCHAR(255) 2026-11-04 22:39:47.644 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.growth_category 已存在,跳过 2026-11-04 22:39:47.646 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 supply_system.contact_name 已存在,跳过 2026-11-04 22:39:47.647 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 supply_system.contact_phone 已存在,跳过 2026-11-04 22:39:47.648 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 supply_system.remark 已存在,跳过 2026-11-04 22:39:47.648 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移209: supply_system 已添加 contact_name/contact_phone/remark 列 2026-11-04 22:39:47.649 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移209: ecom_supplier 存量数据已迁移至 supply_system 2026-11-04 22:39:47.650 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_platform_balance表 2026-11-04 22:39:47.652 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_platform_balance_log表 2026-11-04 22:39:47.653 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.points_multiplier 已存在,跳过 2026-11-04 22:39:47.653 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加products.points_multiplier列 2026-11-04 22:39:47.654 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建family_platform_exchange_record表 2026-11-04 22:39:47.656 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 nutrition_product.ingredients 已存在,跳过 2026-11-04 22:39:47.684 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已将nutrition_product.suitable_for升级为TEXT类型 2026-11-04 22:39:47.686 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建file_tag表 2026-11-04 22:39:47.943 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已预置文件标签 2026-11-04 22:39:47.946 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建file_tag_rel表 2026-11-04 22:39:47.976 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入GROWTH_COACH权益种子数据 2026-11-04 22:39:47.978 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 recommendation_logs.recommend_type 已存在,跳过 2026-11-04 22:39:47.978 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加recommendation_logs.recommend_type列 2026-11-04 22:39:47.978 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移233: 维度权重已同步过,跳过 2026-11-04 22:39:47.980 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建problem_domains表 2026-11-04 22:39:47.981 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建user_intents表 2026-11-04 22:39:47.982 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建user_notifications表 2026-11-04 22:39:47.983 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.member_only 已存在,跳过 2026-11-04 22:39:47.984 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 package_orders.logistics_status 已存在,跳过 2026-11-04 22:39:47.985 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 package_orders.tracking_no 已存在,跳过 2026-11-04 22:39:47.985 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加package_orders物流字段 2026-11-04 22:39:47.986 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建health_status表 2026-11-04 22:39:47.986 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建system_prompts表 2026-11-04 22:39:48.018 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已插入默认系统提示词 2026-11-04 22:39:48.019 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建sys_menu表 2026-11-04 22:39:48.020 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建sys_role_menu表 2026-11-04 22:39:48.021 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : sys_menu 已有 105 条数据,跳过种子插入 2026-11-04 22:39:48.022 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建notification_templates表 2026-11-04 22:39:48.022 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : notification_templates 已有 5 条数据,跳过种子插入 2026-11-04 22:39:48.023 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移246: product_skus 价格已迁移过,跳过 2026-11-04 22:39:48.024 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_skus.linked_product_id 已存在,跳过 2026-11-04 22:39:48.027 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_skus.label 已存在,跳过 2026-11-04 22:39:48.028 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 families.butler_id 已存在,跳过 2026-11-04 22:39:48.138 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建profile_snapshot表 2026-11-04 22:39:48.140 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建profile_history表 2026-11-04 22:39:48.141 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建report_template表 2026-11-04 22:39:48.142 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 report_unknown_upload.annotation 已存在,跳过 2026-11-04 22:39:48.144 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle.description 已存在,跳过 2026-11-04 22:39:48.145 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle.cover_image 已存在,跳过 2026-11-04 22:39:48.146 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle.join_condition 已存在,跳过 2026-11-04 22:39:48.147 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle.review_required 已存在,跳过 2026-11-04 22:39:48.147 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle.is_public 已存在,跳过 2026-11-04 22:39:48.149 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle_member.status 已存在,跳过 2026-11-04 22:39:48.149 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 social_circle_member.role 已存在,跳过 2026-11-04 22:39:48.150 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建social_circle_post表 2026-11-04 22:39:48.151 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建social_circle_like表 2026-11-04 22:39:48.152 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建social_circle_comment表 2026-11-04 22:39:48.154 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 butler_profiles.accepting 已存在,跳过 2026-11-04 22:39:48.155 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : family_join_requests.inviter_user_id可能已存在: StatementCallback; bad SQL grammar [ALTER TABLE family_join_requests ADD COLUMN inviter_user_id BIGINT NULL COMMENT '邀请人用户ID(分享邀请令牌的人)' AFTER invite_ref]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'inviter_user_id' 2026-11-04 22:39:48.156 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : users.portrait_prompt可能已存在: StatementCallback; bad SQL grammar [ALTER TABLE users ADD COLUMN portrait_prompt TEXT COMMENT '用户自定义画像 prompt' AFTER mascot]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'portrait_prompt' 2026-11-04 22:39:48.327 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修复方案分解任务的 family_member_id 与 deadline 边界 2026-11-04 22:39:48.392 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已开启方案分解任务的审核模式 2026-11-04 22:39:48.500 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已扩展 tasks.status 枚举,支持 pending_review/locked 2026-11-04 22:39:48.502 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 five_dimension_self_checks.question_ids_json 已存在,跳过 2026-11-04 22:39:48.503 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 self_check_ignores 表 2026-11-04 22:39:48.504 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 users.family_inviter_id 已存在,跳过 2026-11-04 22:39:48.544 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已修改 sleep_record 时间为 TIME 类型 2026-11-04 22:39:48.546 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移270: innate_portrait_config 表创建完成 2026-11-04 22:39:48.547 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移271: innate_portrait_report 表创建完成 2026-11-04 22:39:48.549 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移272: numsoul_detail_config 表创建完成 2026-11-04 22:39:48.594 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移273: 已加宽 dan_report_uploads.file_id 为 VARCHAR(500) 2026-11-04 22:39:48.636 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移274: 已加宽 dan_assessment_results.report_file_id 为 VARCHAR(500) 2026-11-04 22:39:48.638 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.dan_level 已存在,跳过 2026-11-04 22:39:48.670 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移275: 已将 dan_assessment_results.dan_level 改为可空并带默认 2026-11-04 22:39:48.671 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 family_coupon 表 2026-11-04 22:39:48.672 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建 family_coupon_grant_log 表 2026-11-04 22:39:48.673 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建cf_rate_tier表 2026-11-04 22:39:48.675 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建cf_transfer_record表 2026-11-04 22:39:49.052 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : promotion_tier 已删除三层团队列 2026-11-04 22:39:49.053 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : promotion_tier.rate_percent 已存在: StatementCallback; bad SQL grammar [ALTER TABLE promotion_tier ADD COLUMN rate_percent INT DEFAULT 0 COMMENT '当前返佣比例(%)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'rate_percent' 2026-11-04 22:39:49.054 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : coupon.family_id 已存在: StatementCallback; bad SQL grammar [ALTER TABLE coupon ADD COLUMN family_id BIGINT DEFAULT NULL COMMENT '绑定家庭ID(NULL=不绑定)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'family_id' 2026-11-04 22:39:49.056 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : referral_tree.uk_child_id 删除失败(可能不存在): StatementCallback; bad SQL grammar [ALTER TABLE referral_tree DROP INDEX uk_child_id]; nested exception is java.sql.SQLSyntaxErrorException: Can't DROP 'uk_child_id'; check that column/key exists 2026-11-04 22:39:49.057 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : referral_tree.uk_parent_child 已存在: StatementCallback; bad SQL grammar [ALTER TABLE referral_tree ADD UNIQUE KEY uk_parent_child (parent_id, child_id)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'uk_parent_child' 2026-11-04 22:39:49.058 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : cf_transfer_record.uk_ref_type_id 已存在: StatementCallback; bad SQL grammar [ALTER TABLE cf_transfer_record ADD UNIQUE KEY uk_ref_type_id (ref_type, ref_id)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'uk_ref_type_id' 2026-11-04 22:39:49.060 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_gift_configs表 2026-11-04 22:39:49.061 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_gift_items表 2026-11-04 22:39:49.063 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建product_order_gifts表 2026-11-04 22:39:49.064 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.parse_status 已存在,跳过 2026-11-04 22:39:49.065 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.parse_method 已存在,跳过 2026-11-04 22:39:49.066 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.parse_error 已存在,跳过 2026-11-04 22:39:49.066 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加 health_report_drafts 异步采集状态列 (parse_status/parse_method/parse_error) 2026-11-04 22:39:49.067 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.report_format 已存在,跳过 2026-11-04 22:39:49.068 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.visibility 已存在,跳过 2026-11-04 22:39:49.068 INFO 13764 --- [eduler_Worker-6] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:49.069 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.visible_to 已存在,跳过 2026-11-04 22:39:49.070 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:49.070 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:49.070 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_knowledge_base.file_url 已存在,跳过 2026-11-04 22:39:49.071 DEBUG 13764 --- [eduler_Worker-6] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:49.071 INFO 13764 --- [eduler_Worker-6] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:49.071 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_knowledge_base.file_name 已存在,跳过 2026-11-04 22:39:49.072 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_knowledge_base.source_url 已存在,跳过 2026-11-04 22:39:49.073 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_knowledge_base.source_type 已存在,跳过 2026-11-04 22:39:49.074 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 distribution_relations.invite_code 已存在,跳过 2026-11-04 22:39:49.077 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.birth_hour 已存在,跳过 2026-11-04 22:39:49.078 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.birth_weight 已存在,跳过 2026-11-04 22:39:49.079 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.birth_place 已存在,跳过 2026-11-04 22:39:49.080 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.is_cesarean 已存在,跳过 2026-11-04 22:39:49.082 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_indicators.symptoms 已存在,跳过 2026-11-04 22:39:49.083 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.tracking_number 已存在,跳过 2026-11-04 22:39:49.084 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.express_company 已存在,跳过 2026-11-04 22:39:49.086 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.delivery_method 已存在,跳过 2026-11-04 22:39:49.087 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.pickup_code 已存在,跳过 2026-11-04 22:39:49.088 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.confirm_time 已存在,跳过 2026-11-04 22:39:49.089 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.refund_status 已存在,跳过 2026-11-04 22:39:49.090 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.refund_reason 已存在,跳过 2026-11-04 22:39:49.091 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.refund_amount 已存在,跳过 2026-11-04 22:39:49.093 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.refund_time 已存在,跳过 2026-11-04 22:39:49.094 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已补齐真实缺列 (迁移290, 6表21列) 2026-11-04 22:39:49.097 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_status.member_id 已存在,跳过 2026-11-04 22:39:49.100 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.is_admin 已存在,跳过 2026-11-04 22:39:49.115 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移293: 已回填家庭创建者为管理员 2026-11-04 22:39:49.116 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.sort_order 已存在,跳过 2026-11-04 22:39:49.116 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加 articles.sort_order 列(迁移294) 2026-11-04 22:39:49.117 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.audio_url 已存在,跳过 2026-11-04 22:39:49.118 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 articles.audio_text 已存在,跳过 2026-11-04 22:39:49.118 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已添加 articles.audio_url/audio_text 列(迁移294b) 2026-11-04 22:39:49.120 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.source 已存在,跳过 2026-11-04 22:39:49.121 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.source_result_id 已存在,跳过 2026-11-04 22:39:49.122 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.remark 已存在,跳过 2026-11-04 22:39:49.123 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.reviewed_by 已存在,跳过 2026-11-04 22:39:49.124 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.reviewed_at 已存在,跳过 2026-11-04 22:39:49.126 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.review_comment 已存在,跳过 2026-11-04 22:39:49.128 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.confirmed_by 已存在,跳过 2026-11-04 22:39:49.129 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.confirmed_at 已存在,跳过 2026-11-04 22:39:49.130 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_plan_instances.activated_at 已存在,跳过 2026-11-04 22:39:49.130 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移295: 已补齐 task_plan_instances 审核/确认/激活列 2026-11-04 22:39:49.235 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移296: 已修正0条健康方案任务 source_type -> health_plan 2026-11-04 22:39:49.322 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移297: 已补设0条认知训练方案任务 source_type -> training_plan 2026-11-04 22:39:49.346 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移298: 已迁移0条有 openid 的 child 账号 role → parent 2026-11-04 22:39:49.350 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移298: 已为无 openid 的 child 账号补齐 family_members 记录 2026-11-04 22:39:49.351 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移322: children 表不存在,跳过(已废弃) 2026-11-04 22:39:49.352 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 promotion_tier.rate_percent 已存在,跳过 2026-11-04 22:39:49.353 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_members.status 已存在,跳过 2026-11-04 22:39:49.354 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.is_daily_progress 已存在,跳过 2026-11-04 22:39:49.355 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.target_value 已存在,跳过 2026-11-04 22:39:49.414 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:49.415 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:49.411(Timestamp), 2026-11-04 22:39:49.411(Timestamp), 20(Integer) 2026-11-04 22:39:49.417 DEBUG 13764 --- [cfc-scheduler-1] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:49.437 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:49.439 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:49.439 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:49.441 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:49.441 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:49.452 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已更新tasks.source_type注释 2026-11-04 22:39:49.455 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移301: platform_balance_log 历史重复流水已清理 2026-11-04 22:39:49.457 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移301: platform_balance_log 唯一索引处理失败: StatementCallback; bad SQL grammar [ALTER TABLE platform_balance_log ADD UNIQUE KEY uk_user_ref (user_id, ref_type, ref_id)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'uk_user_ref' 2026-11-04 22:39:49.458 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建contact_help_logs表 2026-11-04 22:39:49.459 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建resource_items表 2026-11-04 22:39:49.490 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Preparing: SELECT * FROM health_report_drafts WHERE status = 'pending' AND parse_status = 'collecting' AND ((next_retry_at IS NOT NULL AND next_retry_at <= ?) OR (next_retry_at IS NULL AND (parse_started_at IS NULL OR parse_started_at < DATE_SUB(?, INTERVAL 30 MINUTE)))) ORDER BY updated_at ASC LIMIT ? 2026-11-04 22:39:49.490 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : ==> Parameters: 2026-11-04 22:39:49.489(Timestamp), 2026-11-04 22:39:49.489(Timestamp), 20(Integer) 2026-11-04 22:39:49.493 DEBUG 13764 --- [cfc-scheduler-3] c.e.c.m.H.listPendingRetry : <== Total: 0 2026-11-04 22:39:49.493 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移304: health_gut_flora.bacteria_name 已改为可空 2026-11-04 22:39:49.526 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移305: health_indicators.status 已放宽到 VARCHAR(100) 2026-11-04 22:39:49.528 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items.connection_type 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE resource_items ADD COLUMN connection_type VARCHAR(50) NOT NULL DEFAULT '' COMMENT '连接类型枚举名(ConnectionType)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'connection_type' 2026-11-04 22:39:49.529 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items.priority 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE resource_items ADD COLUMN priority TINYINT DEFAULT 2 COMMENT '优先级: 1=高 2=中 3=低(手动覆盖)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'priority' 2026-11-04 22:39:49.530 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items.value_score 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE resource_items ADD COLUMN value_score INT DEFAULT 0 COMMENT '价值分 0-100(自动计算,可手动覆盖)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'value_score' 2026-11-04 22:39:49.531 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items.last_interaction_at 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE resource_items ADD COLUMN last_interaction_at DATETIME DEFAULT NULL COMMENT '最近互动时间']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'last_interaction_at' 2026-11-04 22:39:49.532 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items.interaction_count 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE resource_items ADD COLUMN interaction_count INT DEFAULT 0 COMMENT '互动总次数']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'interaction_count' 2026-11-04 22:39:49.533 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items.connection_type 索引已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE resource_items ADD INDEX idx_ri_connection_type (connection_type)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'idx_ri_connection_type' 2026-11-04 22:39:49.533 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移307: resource_items 社会连接字段添加完成 2026-11-04 22:39:49.534 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移308: 已创建 pearl_interaction_log 表 2026-11-04 22:39:49.535 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移309: 已创建 pearl_interaction_reminder 表 2026-11-04 22:39:49.536 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建octopus_effect_record表 2026-11-04 22:39:49.537 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建octopus_key_person表 2026-11-04 22:39:49.538 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建octopus_effect_key_person表 2026-11-04 22:39:49.539 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移310: health_meal_record.record_date 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE health_meal_record ADD COLUMN record_date DATE NULL COMMENT '用餐日期(补打时为实际用餐日,默认等于创建日)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'record_date' 2026-11-04 22:39:49.541 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移310: health_meal_record.is_backfill 已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE health_meal_record ADD COLUMN is_backfill TINYINT DEFAULT 0 COMMENT '是否补打: 1=补打(无能量值), 0=当日打卡']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'is_backfill' 2026-11-04 22:39:49.543 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移310: health_meal_record 索引已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE health_meal_record ADD INDEX idx_meal_record_date (member_id, record_date)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'idx_meal_record_date' 2026-11-04 22:39:49.545 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_reports.file_hash 已存在,跳过 2026-11-04 22:39:49.547 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.file_hash 已存在,跳过 2026-11-04 22:39:49.547 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移310: 已补齐 health_reports/health_report_drafts.file_hash 2026-11-04 22:39:49.548 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 report_type_registry.script_status 已存在,跳过 2026-11-04 22:39:49.549 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移311: 已补齐 report_type_registry.script_status 2026-11-04 22:39:49.549 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移312: gut_flora 指纹规则已存在,跳过 2026-11-04 22:39:49.551 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移316: 已创建recommendation_rules表 2026-11-04 22:39:49.555 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移329: 已创建task_orchestration_flows表 2026-11-04 22:39:49.556 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移329: 已创建task_orchestration_edges表 2026-11-04 22:39:49.557 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移329: 已创建task_orchestration_executions表 2026-11-04 22:39:49.558 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移329: 已创建task_orchestration_node_instances表 2026-11-04 22:39:49.584 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移318: 已预置onboarding_guide_config默认配置 2026-11-04 22:39:49.585 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_meal_record.photo_urls 已存在,跳过 2026-11-04 22:39:49.586 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_meal_record.voice_url 已存在,跳过 2026-11-04 22:39:49.587 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_meal_record.voice_text 已存在,跳过 2026-11-04 22:39:49.588 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 exercise_record.photo_urls 已存在,跳过 2026-11-04 22:39:49.589 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 exercise_record.voice_url 已存在,跳过 2026-11-04 22:39:49.590 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 exercise_record.voice_text 已存在,跳过 2026-11-04 22:39:49.590 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移328: 已为health_meal_record/exercise_record补充照片语音字段 2026-11-04 22:39:49.591 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移333: 已创建 guide_popup 表 2026-11-04 22:39:49.592 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移334: 已创建 guide_popup_step 表 2026-11-04 22:39:49.594 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移335: 已创建 guide_popup_trigger 表 2026-11-04 22:39:49.595 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移336: 已创建 guide_popup_log 表 2026-11-04 22:39:49.596 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移323: 报告类型 dan_a2 已存在,跳过 2026-11-04 22:39:49.596 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移323: dan_a2 指纹规则已存在,跳过 2026-11-04 22:39:49.597 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移326: 限时折扣管理菜单已存在,跳过 2026-11-04 22:39:49.598 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移327: 已创建 user_shortcut_config 表 2026-11-04 22:39:49.599 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移327: 已创建 user_app_usage 表 2026-11-04 22:39:49.599 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移333: parent_first_login 种子弹窗已存在,跳过 2026-11-04 22:39:49.600 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.gift_amount 已存在,跳过 2026-11-04 22:39:49.601 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移338: 已创建 gift_membership_progress 表 2026-11-04 22:39:49.602 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.is_flow_task 已存在,跳过 2026-11-04 22:39:49.603 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 tasks.successor_task_ids 已存在,跳过 2026-11-04 22:39:49.604 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 insurance_policies.policy_terms 已存在,跳过 2026-11-04 22:39:49.605 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移340: 已创建 home_banners 表 2026-11-04 22:39:49.606 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.member_id 已存在,跳过 2026-11-04 22:39:49.606 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移343: health_report_drafts.member_id 已确保存在 2026-11-04 22:39:49.607 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.total_days 已存在,跳过 2026-11-04 22:39:49.607 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移345: health_plans.total_days 已确保存在 2026-11-04 22:39:49.778 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移349: 已创建 report_transfer_requests 表 2026-11-04 22:39:49.779 DEBUG 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移350: products.min_discount_level 列已存在,跳过 2026-11-04 22:39:49.817 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移360: 已恢复 BASIC 体验会员等级 2026-11-04 22:39:49.842 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移360: 已恢复 BASIC 会员权益 2026-11-04 22:39:49.843 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移351: 已回填 membership_levels.level_order(8 行):FREE=1 BASIC=2 FAMILY=3 PREMIUM=4 LIFETIME=5; PROVIDER=1(非会员) 2026-11-04 22:39:49.844 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移381: 已修正 membership_levels.level_order(6 行):FREE=1 BASIC=2 FAMILY=3 PREMIUM=4 LIFETIME=5 PROVIDER=1(非会员) 2026-11-04 22:39:49.845 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移352: 已清理遗留权益记录(0 行) 2026-11-04 22:39:49.845 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移352: 已清理 REPORT_UPLOAD 配额记录(0 行) 2026-11-04 22:39:49.846 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移405: 已更新 BASIC 等级口径(features/max_tasks_per_day/level_desc) 2026-11-04 22:39:49.901 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移405: 已更新 BASIC 权益列表(AI对话更名/去测评预约/增识别与会员价) 2026-11-04 22:39:49.901 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移405: 已清理旧口径配额记录(0 行) 2026-11-04 22:39:49.903 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移345: 已创建 product_dimension_mapping 表 2026-11-04 22:39:49.904 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移346: 已创建 product_recommendation_log 表 2026-11-04 22:39:49.906 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移347a: 已创建 repurchase_reminder_record 表 2026-11-04 22:39:49.907 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移347b: 已创建 repurchase_reminder_config 表 2026-11-04 22:39:49.909 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移348: 已创建 recommendation_product_associations 表 2026-11-04 22:39:49.910 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.ab_test_group 已存在,跳过 2026-11-04 22:39:49.911 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.recommendation_type 已存在,跳过 2026-11-04 22:39:49.911 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移349: product_recommendation_log 已添加 ab_test_group / recommendation_type 列 2026-11-04 22:39:49.912 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移353: 已创建 task_reminder_config 表 2026-11-04 22:39:49.913 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_reminder_config.completion_praise_enabled 已存在,跳过 2026-11-04 22:39:49.914 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 task_reminder_config.completion_praise_channels 已存在,跳过 2026-11-04 22:39:49.915 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.family_id 已存在,跳过 2026-11-04 22:39:49.916 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.was_clicked 已存在,跳过 2026-11-04 22:39:49.917 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.was_purchased 已存在,跳过 2026-11-04 22:39:49.918 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.clicked_at 已存在,跳过 2026-11-04 22:39:49.920 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.purchased_at 已存在,跳过 2026-11-04 22:39:49.920 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_recommendation_log.updated_at 已存在,跳过 2026-11-04 22:39:49.921 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移355: product_recommendation_log 已补齐缺失列 2026-11-04 22:39:49.922 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移359: 已创建 diet_family_selected_ingredients 表 2026-11-04 22:39:49.923 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移359: 已创建 sso_ticket 表 2026-11-04 22:39:49.924 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移327: 已创建 report_feedback 表 2026-11-04 22:39:49.925 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移313: 已修复 meal_configs 双编码 participant_member_ids 2026-11-04 22:39:49.926 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移314: meal_configs 添加 config_date 列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE meal_configs ADD COLUMN config_date DATE DEFAULT NULL COMMENT '当天临时配置日期(NULL=默认工作日/周末配置)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'config_date' 2026-11-04 22:39:49.927 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移314: meal_configs 添加 config_date_eff 生成列失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE meal_configs ADD COLUMN config_date_eff DATE GENERATED ALWAYS AS (COALESCE(config_date, '9999-12-31')) STORED COMMENT '生效日期(NULL映射为9999-12-31,用于唯一约束)']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'config_date_eff' 2026-11-04 22:39:50.035 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移314: meal_configs 已删除旧 UNIQUE KEY uk_config 2026-11-04 22:39:50.140 INFO 13764 --- [eduler_Worker-3] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:50.142 DEBUG 13764 --- [eduler_Worker-3] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:50.142 DEBUG 13764 --- [eduler_Worker-3] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:50.143 DEBUG 13764 --- [eduler_Worker-3] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:50.143 INFO 13764 --- [eduler_Worker-3] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:50.242 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移314: meal_configs 已添加新 UNIQUE KEY uk_config(支持当天临时配置) 2026-11-04 22:39:50.244 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移314: meal_configs 添加索引 idx_config_date 失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE meal_configs ADD INDEX idx_config_date (config_date)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'idx_config_date' 2026-11-04 22:39:50.245 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移318: 已创建 doa_stage 表 2026-11-04 22:39:50.246 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移318: 已创建 doa_goal 表 2026-11-04 22:39:50.246 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移318: 已创建 doa_week 表 2026-11-04 22:39:50.251 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询开始... 2026-11-04 22:39:50.252 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Preparing: SELECT id,flow_id,flow_version,family_id,family_member_id,trigger_source,status,started_at,finished_at,error_reason,created_at,updated_at FROM task_orchestration_executions WHERE (status = ?) LIMIT 20 2026-11-04 22:39:50.253 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : ==> Parameters: running(String) 2026-11-04 22:39:50.254 DEBUG 13764 --- [eduler_Worker-5] c.e.c.m.T.selectList : <== Total: 0 2026-11-04 22:39:50.254 INFO 13764 --- [eduler_Worker-5] c.e.cfc.task.OrchestrationPollingJob : 编排轮询结束 2026-11-04 22:39:50.274 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移318: 已授权 admin 角色 2026-11-04 22:39:50.275 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移318: 系统提示词菜单挂载完成 id=106 2026-11-04 22:39:50.276 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移319: health_plan 提示词已存在,跳过 2026-11-04 22:39:50.277 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移320: exercise_record.step_count 列已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE exercise_record ADD COLUMN step_count INT COMMENT '微信运动步数']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'step_count' 2026-11-04 22:39:50.279 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 membership_levels.level_order 已存在,跳过 2026-11-04 22:39:50.279 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移321: 已回填 membership_levels.level_order 2026-11-04 22:39:50.280 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.min_visible_level 已存在,跳过 2026-11-04 22:39:50.281 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 shop_categories.min_visible_level 已存在,跳过 2026-11-04 22:39:50.281 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移321: 已完成商品/分类按会员级别可见性改造 2026-11-04 22:39:50.282 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建article_quiz_records表 2026-11-04 22:39:50.283 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 profile_snapshot.quiz_summary 已存在,跳过 2026-11-04 22:39:50.284 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 dan_assessment_results.language_score 已存在,跳过 2026-11-04 22:39:50.284 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移323: 已确保 language_score 列存在于 dan_assessment_results 2026-11-04 22:39:50.284 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移324: octopus_effect_record.happened_at 列已存在或添加失败: StatementCallback; bad SQL grammar [ALTER TABLE octopus_effect_record ADD COLUMN happened_at DATETIME COMMENT '成效发生时间']; nested exception is java.sql.SQLSyntaxErrorException: Duplicate column name 'happened_at' 2026-11-04 22:39:50.285 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移325: 已回填 article_reading_records.article_id 0 条记录 2026-11-04 22:39:50.286 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 article_reading_records.reading_completed 已存在,跳过 2026-11-04 22:39:50.287 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 octopus_key_person.first_meet_time 已存在,跳过 2026-11-04 22:39:50.287 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移342: octopus_key_person.first_meet_time 列已添加 2026-11-04 22:39:50.289 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 octopus_key_person.referrer_id 已存在,跳过 2026-11-04 22:39:50.289 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移342: octopus_key_person.referrer_id 列已添加 2026-11-04 22:39:50.291 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 octopus_key_person.system_user_id 已存在,跳过 2026-11-04 22:39:50.291 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移342: octopus_key_person.system_user_id 列已添加 2026-11-04 22:39:50.293 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 report_type_registry.expected_indicators 已存在,跳过 2026-11-04 22:39:50.294 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_report_drafts.collect_validation 已存在,跳过 2026-11-04 22:39:50.298 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_a1 已有指标项定义,跳过种子 2026-11-04 22:39:50.298 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_a2 已有指标项定义,跳过种子 2026-11-04 22:39:50.299 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_b2 已有指标项定义,跳过种子 2026-11-04 22:39:50.299 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_b3 已有指标项定义,跳过种子 2026-11-04 22:39:50.300 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_b4 已有指标项定义,跳过种子 2026-11-04 22:39:50.301 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_b5 已有指标项定义,跳过种子 2026-11-04 22:39:50.301 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_b6 已有指标项定义,跳过种子 2026-11-04 22:39:50.302 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 dan_c1 已有指标项定义,跳过种子 2026-11-04 22:39:50.302 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 gut_flora 已有指标项定义,跳过种子 2026-11-04 22:39:50.303 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移354: 类型 gut_flora_beijing 已有指标项定义,跳过种子 2026-11-04 22:39:50.304 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移355: 已创建fat_weight_record表 2026-11-04 22:39:50.305 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移356: 已创建fat_diet_record表 2026-11-04 22:39:50.305 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移357: 已创建fat_exercise_record表 2026-11-04 22:39:50.306 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移358: 已创建fat_goal表 2026-11-04 22:39:50.307 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.vendor_visible 已存在,跳过 2026-11-04 22:39:50.308 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.contraindicated_diseases 已存在,跳过 2026-11-04 22:39:50.310 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.allergen_tags 已存在,跳过 2026-11-04 22:39:50.311 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.drug_interaction_flags 已存在,跳过 2026-11-04 22:39:50.312 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移368: 已创建drug_interactions表 2026-11-04 22:39:50.313 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移369: 已创建disease_intake_limits表 2026-11-04 22:39:50.322 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移370: drug_interactions种子数据初始化完成 2026-11-04 22:39:50.328 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移371: disease_intake_limits种子数据初始化完成 2026-11-04 22:39:50.330 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_definitions.source_kind 已存在,跳过 2026-11-04 22:39:50.331 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_definitions.report_type_scope 已存在,跳过 2026-11-04 22:39:50.331 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_definitions.value_type 已存在,跳过 2026-11-04 22:39:50.332 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_definitions.good_direction 已存在,跳过 2026-11-04 22:39:50.333 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_definitions.dimension_code 已存在,跳过 2026-11-04 22:39:50.333 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移356: indicator_definitions 已补齐统一指标层 5 列 2026-11-04 22:39:50.334 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.subject_id 已存在,跳过 2026-11-04 22:39:50.335 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.family_id 已存在,跳过 2026-11-04 22:39:50.336 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.report_id 已存在,跳过 2026-11-04 22:39:50.336 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.report_date 已存在,跳过 2026-11-04 22:39:50.337 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.unit 已存在,跳过 2026-11-04 22:39:50.338 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.status 已存在,跳过 2026-11-04 22:39:50.338 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移357: indicator_values 已补齐统一观测时序 6 列 2026-11-04 22:39:50.340 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移358: 已清理 indicator_values 重复行(如有) 2026-11-04 22:39:50.341 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移358: uk_source_definition 已存在,跳过 2026-11-04 22:39:50.342 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移358: idx_subject_def_date 已存在,跳过 2026-11-04 22:39:50.343 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移359: 已创建 indicator_mapping_rules 表 2026-11-04 22:39:50.344 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移360: 已创建 indicator_correlations 表 2026-11-04 22:39:50.345 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_indicators.collection_date 已存在,跳过 2026-11-04 22:39:50.345 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移361: health_indicators.collection_date 已确认存在 2026-11-04 22:39:50.349 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 已创建procurement_tasks表 2026-11-04 22:39:50.354 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 diet_preferences.no_preference 已存在,跳过 2026-11-04 22:39:50.378 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移366: 9.9 元/月健康会员统一使用 BASIC 体验会员,已移除重复的 LITE 等级(0 行) 2026-11-04 22:39:50.381 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.tags 已存在,跳过 2026-11-04 22:39:50.381 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移373: products.tags 已确认存在 2026-11-04 22:39:50.382 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移374: 已创建/确认 user_content_weights 表 2026-11-04 22:39:50.390 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移375: article_quiz_records 表结构修复完成 2026-11-04 22:39:50.391 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_status.lifestyle 已存在,跳过 2026-11-04 22:39:50.392 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 diet_preferences.diet_structure 已存在,跳过 2026-11-04 22:39:50.394 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移378: member_indicator_current 表就绪 2026-11-04 22:39:50.395 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移379: report_member_permissions 表就绪 2026-11-04 22:39:50.396 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移381: 已创建/确认 activity_poster_templates 表 2026-11-04 22:39:50.444 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移381: 默认海报模板种子数据已确认 2026-11-04 22:39:51.722 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移386: 已清理规划师占位数据 0 行,teacher_status 默认值改为 NULL 2026-11-04 22:39:51.724 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移387: 服务角色申请菜单已下线(菜单 1 行,授权 0 行) 2026-11-04 22:39:51.726 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.intro 已存在,跳过 2026-11-04 22:39:51.727 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.tags 已存在,跳过 2026-11-04 22:39:51.728 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_status.signature 已存在,跳过 2026-11-04 22:39:51.729 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_status.signed_at 已存在,跳过 2026-11-04 22:39:51.730 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 water_record.task_id 已存在,跳过 2026-11-04 22:39:51.731 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 family_platform_exchange_record.family_coupon_id 已存在,跳过 2026-11-04 22:39:51.733 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.poster_template_id 已存在,跳过 2026-11-04 22:39:51.734 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移389: 已创建 special_price_deals 表 2026-11-04 22:39:51.735 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 product_orders.special_deal_id 已存在,跳过 2026-11-04 22:39:51.736 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activity_registrations.cancelled_at 已存在,跳过 2026-11-04 22:39:51.737 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activity_registrations.cancel_reason 已存在,跳过 2026-11-04 22:39:51.738 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activity_feedback.updated_at 已存在,跳过 2026-11-04 22:39:51.739 WARN 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移392: 添加 activity_feedback.updated_at / uk_activity_child 失败(可能已存在): StatementCallback; bad SQL grammar [ALTER TABLE activity_feedback ADD UNIQUE KEY uk_activity_child (activity_id, child_id)]; nested exception is java.sql.SQLSyntaxErrorException: Duplicate key name 'uk_activity_child' 2026-11-04 22:39:51.740 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移393: 已创建 organizations 表 2026-11-04 22:39:51.741 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移393b: 已创建 org_members 表 2026-11-04 22:39:51.742 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移394: 已创建/确认 planner_cert_categories 表 2026-11-04 22:39:51.812 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移394: 首批学习种类种子数据已确认 2026-11-04 22:39:51.814 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移395: 已创建/确认 planner_courses 表 2026-11-04 22:39:51.815 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移396: 已创建/确认 planner_course_progress 表 2026-11-04 22:39:51.816 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移397: 已创建/确认 planner_offline_course_map 表 2026-11-04 22:39:51.817 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移398: 已创建/确认 activity_checkins 表 2026-11-04 22:39:51.818 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移399: 已创建/确认 planner_certifications 表 2026-11-04 22:39:51.820 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移400: 已创建/确认考核三表(试卷/题库/作答记录) 2026-11-04 22:39:51.822 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移401: 存量规划师基础类别认证补登 0 行 2026-11-04 22:39:51.896 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移402: products.delivery_method COMMENT 已增加 6=同城配送 2026-11-04 22:39:51.930 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移402: product_orders.delivery_method COMMENT 已增加 6=同城配送 2026-11-04 22:39:51.988 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移404: articles.audio_url 已改为 MEDIUMTEXT 2026-11-04 22:39:51.991 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移407: 已创建 cf_balance 表 2026-11-04 22:39:51.992 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移407: 已创建 cf_balance_log 表 2026-11-04 22:39:51.993 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移408: 已创建 cf_earn_rule 表 2026-11-04 22:39:51.994 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移408: 已创建 cf_earn_rule_history 表 2026-11-04 22:39:52.004 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移409: 已创建 cf_direct_sales_tier 表 2026-11-04 22:39:52.005 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移409: 已创建 cf_indirect_sales_tier 表 2026-11-04 22:39:52.005 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移410: 已创建 cf_earn_daily_limit 表 2026-11-04 22:39:52.016 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 coupon.family_id 已存在,跳过 2026-11-04 22:39:52.017 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 user_coupon.family_id 已存在,跳过 2026-11-04 22:39:52.019 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移412: 已创建 service_config 表 2026-11-04 22:39:52.034 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移413: service_config.product_key 已存在,跳过加列 2026-11-04 22:39:52.036 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移413: product_config 表不存在(本基线无该表),跳过数据并入(幂等空跑) 2026-11-04 22:39:52.037 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移414: audit_log 表已就绪 2026-11-04 22:39:52.039 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移415: family_food_overview 表已就绪 2026-11-04 22:39:52.041 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 cf_balance_log.operator_user_id 已存在,跳过 2026-11-04 22:39:52.052 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1055 refId=0,跳过 2026-11-04 22:39:52.053 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1107 refId=0,跳过 2026-11-04 22:39:52.053 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1113 refId=0,跳过 2026-11-04 22:39:52.054 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1121 refId=0,跳过 2026-11-04 22:39:52.055 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1127 refId=0,跳过 2026-11-04 22:39:52.055 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1133 refId=0,跳过 2026-11-04 22:39:52.056 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1140 refId=0,跳过 2026-11-04 22:39:52.056 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1146 refId=0,跳过 2026-11-04 22:39:52.057 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1152 refId=0,跳过 2026-11-04 22:39:52.058 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1159 refId=0,跳过 2026-11-04 22:39:52.058 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1165 refId=0,跳过 2026-11-04 22:39:52.059 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1177 refId=0,跳过 2026-11-04 22:39:52.059 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1183 refId=0,跳过 2026-11-04 22:39:52.060 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1189 refId=0,跳过 2026-11-04 22:39:52.061 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1195 refId=0,跳过 2026-11-04 22:39:52.061 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1201 refId=0,跳过 2026-11-04 22:39:52.062 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1207 refId=0,跳过 2026-11-04 22:39:52.063 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1213 refId=0,跳过 2026-11-04 22:39:52.063 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1222 refId=0,跳过 2026-11-04 22:39:52.064 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1228 refId=0,跳过 2026-11-04 22:39:52.064 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1234 refId=0,跳过 2026-11-04 22:39:52.065 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1240 refId=0,跳过 2026-11-04 22:39:52.065 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1253 refId=0,跳过 2026-11-04 22:39:52.066 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1265 refId=0,跳过 2026-11-04 22:39:52.067 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1277 refId=0,跳过 2026-11-04 22:39:52.067 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1289 refId=0,跳过 2026-11-04 22:39:52.068 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1301 refId=0,跳过 2026-11-04 22:39:52.069 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1307 refId=0,跳过 2026-11-04 22:39:52.069 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1319 refId=0,跳过 2026-11-04 22:39:52.070 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1331 refId=0,跳过 2026-11-04 22:39:52.070 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1343 refId=0,跳过 2026-11-04 22:39:52.071 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1355 refId=0,跳过 2026-11-04 22:39:52.071 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1361 refId=0,跳过 2026-11-04 22:39:52.072 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1379 refId=0,跳过 2026-11-04 22:39:52.073 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1385 refId=0,跳过 2026-11-04 22:39:52.073 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1397 refId=0,跳过 2026-11-04 22:39:52.074 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1409 refId=0,跳过 2026-11-04 22:39:52.075 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1421 refId=0,跳过 2026-11-04 22:39:52.075 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1433 refId=0,跳过 2026-11-04 22:39:52.076 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1451 refId=0,跳过 2026-11-04 22:39:52.077 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=1515 refId=0,跳过 2026-11-04 22:39:52.078 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_family_pool 已存在迁移流水 memberId=2017 refId=0,跳过 2026-11-04 22:39:52.561 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1017 refId=1,跳过 2026-11-04 22:39:52.562 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1055 refId=2,跳过 2026-11-04 22:39:52.562 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1107 refId=3,跳过 2026-11-04 22:39:52.563 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1113 refId=4,跳过 2026-11-04 22:39:52.564 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1121 refId=5,跳过 2026-11-04 22:39:52.565 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1127 refId=6,跳过 2026-11-04 22:39:52.565 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1133 refId=7,跳过 2026-11-04 22:39:52.566 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1140 refId=8,跳过 2026-11-04 22:39:52.567 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1146 refId=9,跳过 2026-11-04 22:39:52.568 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1152 refId=10,跳过 2026-11-04 22:39:52.568 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1159 refId=11,跳过 2026-11-04 22:39:52.569 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1165 refId=12,跳过 2026-11-04 22:39:52.570 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1177 refId=13,跳过 2026-11-04 22:39:52.570 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1183 refId=14,跳过 2026-11-04 22:39:52.571 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1189 refId=15,跳过 2026-11-04 22:39:52.572 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1195 refId=16,跳过 2026-11-04 22:39:52.573 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1201 refId=17,跳过 2026-11-04 22:39:52.574 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1207 refId=18,跳过 2026-11-04 22:39:52.574 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1213 refId=19,跳过 2026-11-04 22:39:52.575 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1222 refId=20,跳过 2026-11-04 22:39:52.577 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1228 refId=21,跳过 2026-11-04 22:39:52.578 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1234 refId=22,跳过 2026-11-04 22:39:52.579 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1240 refId=23,跳过 2026-11-04 22:39:52.579 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1253 refId=24,跳过 2026-11-04 22:39:52.580 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1265 refId=25,跳过 2026-11-04 22:39:52.581 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1277 refId=26,跳过 2026-11-04 22:39:52.582 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1289 refId=27,跳过 2026-11-04 22:39:52.583 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1301 refId=28,跳过 2026-11-04 22:39:52.583 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1307 refId=29,跳过 2026-11-04 22:39:52.584 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1319 refId=30,跳过 2026-11-04 22:39:52.585 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1331 refId=31,跳过 2026-11-04 22:39:52.586 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1343 refId=32,跳过 2026-11-04 22:39:52.587 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1355 refId=33,跳过 2026-11-04 22:39:52.587 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1361 refId=34,跳过 2026-11-04 22:39:52.588 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1379 refId=35,跳过 2026-11-04 22:39:52.589 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1385 refId=36,跳过 2026-11-04 22:39:52.589 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1397 refId=37,跳过 2026-11-04 22:39:52.590 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1409 refId=38,跳过 2026-11-04 22:39:52.591 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1421 refId=39,跳过 2026-11-04 22:39:52.592 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1433 refId=40,跳过 2026-11-04 22:39:52.593 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1451 refId=41,跳过 2026-11-04 22:39:52.594 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=1515 refId=42,跳过 2026-11-04 22:39:52.595 DEBUG 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: migration_user_wallet 已存在迁移流水 memberId=2017 refId=43,跳过 2026-11-04 22:39:52.595 INFO 13764 --- [ main] c.e.c.s.CfLegacyLedgerMigrationService : 迁移417: 三套旧 CF 账本迁移完成,本次迁入 0 笔 2026-11-04 22:39:52.596 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移417: 旧账本存量迁移完成,本次新增 0 笔 2026-11-04 22:39:52.605 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 membership_levels.max_daily_analyze 已存在,跳过 2026-11-04 22:39:52.607 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移420: 已创建 ppoint_consumption_log 表 2026-11-04 22:39:52.609 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : activities表audience_scope列已存在,跳过 2026-11-04 22:39:52.611 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : activities表audience_type列已存在,跳过 2026-11-04 22:39:52.612 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移422: health_indicators.collection_date 已存在,放开实体映射的前置条件满足 2026-11-04 22:39:52.613 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.date_source 已存在,跳过 2026-11-04 22:39:52.614 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 indicator_values.ref_range_snapshot 已存在,跳过 2026-11-04 22:39:52.614 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移422: indicator_values 已补齐日期来源与参考范围快照 2 列 2026-11-04 22:39:52.615 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移423: 已创建 body_fat_scale_records 表 2026-11-04 22:39:52.616 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 health_plans.plan_type 已存在,跳过 2026-11-04 22:39:52.618 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移425: 已创建 attribution_norm_values 表 2026-11-04 22:39:52.619 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移425: 常模种子为占位模板(placeholder=true),0 行导入,等待业务侧填充真实常模 2026-11-04 22:39:52.670 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移425-种子: 家庭归因问卷模板已存在(title=家庭归因分析问卷(第八章16条)),幂等启用(enabled=1) 2026-11-04 22:39:52.671 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移426: 已创建 attribution_reports 表 2026-11-04 22:39:52.673 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移427: 已创建 content_dimension_threshold 表 2026-11-04 22:39:52.674 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移428: 已创建 coupon_gift_transfer 表 2026-11-04 22:39:52.675 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移428: family_coupon.is_gift 列已存在,跳过 2026-11-04 22:39:52.678 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移429: 已创建 indicator_favorite 表 2026-11-04 22:39:52.680 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移430跳过:products.purchase_price 已是 int 类型 2026-11-04 22:39:52.684 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移431完成:销售奖档位门槛×100(分),档位名新秀/小成/中富/大成/至富 2026-11-04 22:39:52.699 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移[家庭名回填XX家庭] 影响行数=0 2026-11-04 22:39:52.714 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移[家庭名回填XX家庭] 影响行数=0 2026-11-04 22:39:52.716 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 report_type_registry.linked_product_id 已存在,跳过 2026-11-04 22:39:52.719 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已创建 family_metric_agg_config 表 2026-11-04 22:39:52.751 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 energy.body 2026-11-04 22:39:52.776 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 energy.mind 2026-11-04 22:39:52.818 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 energy.wisdom 2026-11-04 22:39:52.868 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 energy.action 2026-11-04 22:39:52.910 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 energy.wealth 2026-11-04 22:39:52.950 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 energy.overall 2026-11-04 22:39:52.993 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 pearl.resources 2026-11-04 22:39:53.035 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移433: 已更新预置配置 octopus.effects 2026-11-04 22:39:53.318 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移434: 已创建 product_sku_combo_items 表 2026-11-04 22:39:53.320 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移434: product_orders.sku_id 列已存在,跳过 2026-11-04 22:39:53.322 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.calories_kcal 已存在,跳过 2026-11-04 22:39:53.324 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.protein_g 已存在,跳过 2026-11-04 22:39:53.328 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.fat_g 已存在,跳过 2026-11-04 22:39:53.330 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.carb_g 已存在,跳过 2026-11-04 22:39:53.332 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.fiber_g 已存在,跳过 2026-11-04 22:39:53.334 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 products.nutrition_tags 已存在,跳过 2026-11-04 22:39:53.334 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移436: products 表营养数据字段已就绪 2026-11-04 22:39:53.335 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 activities.team_id 已存在,跳过 2026-11-04 22:39:53.335 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移437: activities.team_id 列已就绪 2026-11-04 22:39:53.336 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移437: 已创建 activity_team 表 2026-11-04 22:39:53.337 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移437: 已创建 activity_team_member 表 2026-11-04 22:39:53.338 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移437: 已创建 service_assignment 表 2026-11-04 22:39:53.339 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移440: 已创建 product_combo_items 表 2026-11-04 22:39:53.471 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移441: 已删除 product_sku_combo_items 表 2026-11-04 22:39:53.472 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移442: 已删除 product_bundle_items 表 2026-11-04 22:39:53.473 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 users.is_child 已存在,跳过 2026-11-04 22:39:53.478 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 supply_system_member.invite_code 已存在,跳过 2026-11-04 22:39:53.480 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 迁移444: supply_system_member.invite_code 唯一索引已存在,跳过 2026-11-04 22:39:53.480 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 开始初始化食品相关表... 2026-11-04 22:39:53.492 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 user_nutrition_profile.budget_monthly 已存在,跳过 2026-11-04 22:39:53.494 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 user_nutrition_profile.family_taste_preferences 已存在,跳过 2026-11-04 22:39:53.495 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 user_nutrition_profile.cuisine_style 已存在,跳过 2026-11-04 22:39:53.496 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 user_nutrition_profile.meal_count 已存在,跳过 2026-11-04 22:39:53.497 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 列 user_nutrition_profile.cooking_ability 已存在,跳过 2026-11-04 22:39:53.497 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 食品相关表初始化完成 2026-11-04 22:39:53.497 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : init-test-data=false,跳过测试/种子数据初始化(生产模式) 2026-11-04 22:39:53.497 INFO 13764 --- [ main] c.etotem.cfc.config.DatabaseInitializer : 数据库初始化完成! ]]>