diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index ba00b0a5c..f82775235 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -747,7 +747,12 @@ class CoursesController < ApplicationController ActiveRecord::Base.transaction do course_student.destroy! course_teacher.update!(is_active: 1) - TeacherGroupRecord.create!(user_id: current_user.id, course_id: @course.id, group_id: course_student.course_group_id) + teacher_course_record = @course.teacher_group_records.find_by(user_id: current_user.id) + if teacher_course_record.present? + teacher_course_record.update!(group_id: course_student.course_group_id) + else + TeacherGroupRecord.create!(user_id: current_user.id, course_id: @course.id, group_id: course_student.course_group_id) + end CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, [current_user.id]) end normal_status(0, "切换成功") @@ -767,7 +772,12 @@ class CoursesController < ApplicationController ActiveRecord::Base.transaction do course_student.destroy! course_teacher.update!(is_active: 1) - TeacherGroupRecord.create!(user_id: current_user.id, course_id: @course.id, group_id: course_student.course_group_id) + teacher_course_record = @course.teacher_group_records.find_by(user_id: current_user.id) + if teacher_course_record.present? + teacher_course_record.update!(group_id: course_student.course_group_id) + else + TeacherGroupRecord.create!(user_id: current_user.id, course_id: @course.id, group_id: course_student.course_group_id) + end CourseDeleteStudentDeleteWorksJob.perform_later(@course.id, [current_user.id]) end normal_status(0, "切换成功")