master
cody 4 days ago
parent 1e343f0ae2
commit caae3d6202

@ -297,8 +297,9 @@ class UpdateUserFromCourseSign extends Command
{
$user_id = $user->id;
// 获取该用户的所有报名记录
$courseSigns = CourseSign::where('user_id', $user_id)
// 获取该用户的所有报名记录(携带课程及课程类型)
$courseSigns = CourseSign::with('course.typeDetail')
->where('user_id', $user_id)
->whereNotNull('data')
->get();
@ -309,11 +310,25 @@ class UpdateUserFromCourseSign extends Command
$this->info("找到 {$courseSigns->count()} 条报名记录");
// 如果用户报名了多个课程,并且其中包含课程类型是「高研班」或者「攀峰班」的课程
// 则优先使用这些课程的报名信息更新用户
$targetCourseSigns = $courseSigns;
if ($courseSigns->count() > 1) {
$specialCourseSigns = $courseSigns->filter(function ($sign) {
$typeName = $sign->course->typeDetail->name ?? '';
return in_array($typeName, ['高研班', '攀峰班']);
});
if ($specialCourseSigns->isNotEmpty()) {
$this->info('检测到高研班/攀峰班课程报名记录,将优先使用这些课程的报名信息更新用户');
$targetCourseSigns = $specialCourseSigns;
}
}
// 收集所有需要更新的用户字段
$userData = [];
$hasCompanyName = false;
foreach ($courseSigns as $courseSign) {
foreach ($targetCourseSigns as $courseSign) {
if (empty($courseSign->data) || !is_array($courseSign->data)) {
continue;
}

Loading…
Cancel
Save