diff --git a/app/Console/Commands/UpdateUserNo.php b/app/Console/Commands/UpdateUserNo.php index 408f2cf..4e56e31 100755 --- a/app/Console/Commands/UpdateUserNo.php +++ b/app/Console/Commands/UpdateUserNo.php @@ -23,7 +23,7 @@ class UpdateUserNo extends Command * * @var string */ - protected $description = '批量更新学号'; + protected $description = '批量更新学号/打元和同事标签'; /** * Create a new command instance. @@ -42,6 +42,21 @@ class UpdateUserNo extends Command */ public function handle() { + // 1. 批量更新学号 + $this->updateUserNo(); + + // 2. 给元和同事打标签 + $this->tagYuanheColleague(); + + return $this->info('更新完成'); + } + + /** + * 批量更新学号 + */ + protected function updateUserNo() + { + $this->info('开始更新学号...'); // 已经开始的课程日期(所有历史数据处理) // $dateList = Course::whereNotNull('start_date') // ->where('start_date', '<=', date('Y-m-d')) @@ -52,9 +67,11 @@ class UpdateUserNo extends Command // 当日数据处理(日常定时任务) $dateList = [date('Y-m-d')]; foreach ($dateList as $date) { - $courses = Course::with(['courseSigns' => function ($query) { - $query->where('status', 1); - }])->where('start_date', $date) + $courses = Course::with([ + 'courseSigns' => function ($query) { + $query->where('status', 1); + } + ])->where('start_date', $date) ->whereNotNull('student_prefix') ->orderBy('start_date') ->get(); @@ -70,12 +87,50 @@ class UpdateUserNo extends Command // 更新用户编号 $user->no = $no; $user->save(); - $this->info($no); + $this->info('学号: ' . $no); $i++; } } } - return $this->info('更新完成'); + $this->info('学号更新完成'); + } + + /** + * 给元和同事打标签 + */ + protected function tagYuanheColleague() + { + $this->info('开始给元和同事打标签...'); + $tag = '元禾同事'; + + // 获取元和员工用户列表 + $users = CourseSign::companyJoin(null, null, null, true); + + $count = 0; + foreach ($users as $user) { + // 获取当前的 from 字段 + $from = $user->from ?? ''; + + // 将 from 字段按逗号分隔成数组 + $fromArray = array_filter(array_map('trim', explode(',', $from))); + + // 检查是否已存在该标签 + if (in_array($tag, $fromArray)) { + continue; + } + + // 追加标签 + $fromArray[] = $tag; + + // 更新 from 字段 + $user->from = implode(',', $fromArray); + $user->save(); + + $this->info('已为用户 ' . $user->name . '(' . $user->mobile . ') 添加标签: ' . $tag); + $count++; + } + + $this->info('元和同事标签更新完成,共更新 ' . $count . ' 人'); } }