Sha256: 0f091bdb04c223618669b06ff772c1289f32dac39c184801a096ab0d8e445a4e

Contents?: true

Size: 1.24 KB

Versions: 4

Compression:

Stored size: 1.24 KB

Contents

module EducodeSales
  class Teacher < ApplicationRecord
    has_many :activity_teachers
    has_many :activities, through: :activity_teachers
    has_many :teacher_follows, dependent: :destroy
    has_many :operation_plans, dependent: :destroy
    has_many :course_subjects, dependent: :destroy
    belongs_to :department, optional: true
    belongs_to :staff
    belongs_to :user, optional: true
    belongs_to :follow_up, counter_cache: true, optional: true

    validates :user_id, uniqueness: { allow_blank: true, message: '已存在老师列表'}


    def teacher_used_of_department
      if user_id.present?
        user_ids = User.joins(:user_extension).where(user_extensions: {department_id: self.department_id, identity: 0}).pluck(:id)
        course_ids = CourseMember.where(role: "CREATOR", user_id: user_ids).pluck(:course_id)
        if course_ids.present?
        else
          0
        end
        course_members = CourseMember.joins(course: :practice_homework_shixuns).where(course_id: course_ids).group("course_id").having("COUNT(homework_commons_shixuns.id) > 100 AND COUNT(course_members.user_id) > 30").select("COUNT(*) AS count")
        course_members.present? ? course_members[0]['count'] : 0
      else
        0
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
educode_sales-0.1.5 app/models/educode_sales/teacher.rb
educode_sales-0.1.4 app/models/educode_sales/teacher.rb
educode_sales-0.1.3 app/models/educode_sales/teacher.rb
educode_sales-0.1.2 app/models/educode_sales/teacher.rb