|
@@ -2,56 +2,56 @@
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
|
|
<mapper namespace="com.yonge.cooleshow.biz.dal.dao.TeacherDao">
|
|
|
<resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.Teacher">
|
|
|
- <result column="user_id_" property="userId" />
|
|
|
- <result column="education_background_" property="educationBackground" />
|
|
|
- <result column="graduate_school_" property="graduateSchool" />
|
|
|
- <result column="technical_titles_" property="technicalTitles" />
|
|
|
- <result column="work_unit_" property="workUnit" />
|
|
|
- <result column="subject_id_" property="subjectId" />
|
|
|
- <result column="default_subject_" property="defaultSubject" />
|
|
|
- <result column="introduction_" property="introduction" />
|
|
|
- <result column="subject_" property="subject" />
|
|
|
- <result column="grad_certificate_" property="gradCertificate" />
|
|
|
- <result column="degree_certificate_" property="degreeCertificate" />
|
|
|
- <result column="teacher_certificate_" property="teacherCertificate" />
|
|
|
- <result column="entry_flag_" property="entryFlag" />
|
|
|
- <result column="entry_auth_date_" property="entryAuthDate" />
|
|
|
- <result column="musician_flag_" property="musicianFlag" />
|
|
|
- <result column="musician_date_" property="musicianDate" />
|
|
|
+ <result column="user_id_" property="userId"/>
|
|
|
+ <result column="education_background_" property="educationBackground"/>
|
|
|
+ <result column="graduate_school_" property="graduateSchool"/>
|
|
|
+ <result column="technical_titles_" property="technicalTitles"/>
|
|
|
+ <result column="work_unit_" property="workUnit"/>
|
|
|
+ <result column="subject_id_" property="subjectId"/>
|
|
|
+ <result column="default_subject_" property="defaultSubject"/>
|
|
|
+ <result column="introduction_" property="introduction"/>
|
|
|
+ <result column="subject_" property="subject"/>
|
|
|
+ <result column="grad_certificate_" property="gradCertificate"/>
|
|
|
+ <result column="degree_certificate_" property="degreeCertificate"/>
|
|
|
+ <result column="teacher_certificate_" property="teacherCertificate"/>
|
|
|
+ <result column="entry_flag_" property="entryFlag"/>
|
|
|
+ <result column="entry_auth_date_" property="entryAuthDate"/>
|
|
|
+ <result column="musician_flag_" property="musicianFlag"/>
|
|
|
+ <result column="musician_date_" property="musicianDate"/>
|
|
|
<result column="member_rank_setting_id_" property="memberRankSettingId"/>
|
|
|
<result column="membership_start_time_" property="membershipStartTime"/>
|
|
|
<result column="membership_end_time_" property="membershipEndTime"/>
|
|
|
- <result column="live_flag_" property="liveFlag" />
|
|
|
- <result column="live_date_" property="liveDate" />
|
|
|
- <result column="music_date_" property="musicDate" />
|
|
|
- <result column="video_date_" property="videoDate" />
|
|
|
- <result column="style_date_" property="styleDate" />
|
|
|
- <result column="degree_date_" property="degreeDate" />
|
|
|
- <result column="teacher_date_" property="teacherDate" />
|
|
|
- <result column="degree_flag_" property="degreeFlag" />
|
|
|
- <result column="teacher_flag_" property="teacherFlag" />
|
|
|
- <result column="browse_" property="browse" />
|
|
|
- <result column="memo_" property="memo" />
|
|
|
- <result column="lock_flag_" property="lockFlag" />
|
|
|
- <result column="is_settlement_" property="isSettlement" />
|
|
|
- <result column="is_test_user_" property="isTestUser" />
|
|
|
- <result column="tenant_id_" property="tenantId" />
|
|
|
- <result column="settlement_from_" property="settlementFrom" />
|
|
|
- <result column="create_time_" property="createTime" />
|
|
|
- <result column="update_time_" property="updateTime" />
|
|
|
+ <result column="live_flag_" property="liveFlag"/>
|
|
|
+ <result column="live_date_" property="liveDate"/>
|
|
|
+ <result column="music_date_" property="musicDate"/>
|
|
|
+ <result column="video_date_" property="videoDate"/>
|
|
|
+ <result column="style_date_" property="styleDate"/>
|
|
|
+ <result column="degree_date_" property="degreeDate"/>
|
|
|
+ <result column="teacher_date_" property="teacherDate"/>
|
|
|
+ <result column="degree_flag_" property="degreeFlag"/>
|
|
|
+ <result column="teacher_flag_" property="teacherFlag"/>
|
|
|
+ <result column="browse_" property="browse"/>
|
|
|
+ <result column="memo_" property="memo"/>
|
|
|
+ <result column="lock_flag_" property="lockFlag"/>
|
|
|
+ <result column="is_settlement_" property="isSettlement"/>
|
|
|
+ <result column="is_test_user_" property="isTestUser"/>
|
|
|
+ <result column="tenant_id_" property="tenantId"/>
|
|
|
+ <result column="settlement_from_" property="settlementFrom"/>
|
|
|
+ <result column="create_time_" property="createTime"/>
|
|
|
+ <result column="update_time_" property="updateTime"/>
|
|
|
</resultMap>
|
|
|
-
|
|
|
+
|
|
|
<resultMap id="HotTeacherVoMap" type="com.yonge.cooleshow.biz.dal.vo.HotTeacherVo">
|
|
|
- <result column="user_id_" property="userId" />
|
|
|
- <result column="avatar_" property="avatar" />
|
|
|
- <result column="graduate_school_" property="graduateSchool" />
|
|
|
- <result column="username_" property="username" />
|
|
|
- <result column="isLiving_" property="isLiving" />
|
|
|
+ <result column="user_id_" property="userId"/>
|
|
|
+ <result column="avatar_" property="avatar"/>
|
|
|
+ <result column="graduate_school_" property="graduateSchool"/>
|
|
|
+ <result column="username_" property="username"/>
|
|
|
+ <result column="isLiving_" property="isLiving"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<!-- 表字段 -->
|
|
|
<sql id="baseColumns">
|
|
|
- t.user_id_ as "userId"
|
|
|
+ t.user_id_ as "userId"
|
|
|
, t.education_background_ as "educationBackground"
|
|
|
, t.graduate_school_ as "graduateSchool"
|
|
|
, t.technical_titles_ as "technicalTitles"
|
|
@@ -89,29 +89,29 @@
|
|
|
, t.evaluate_time_ as evaluateTime
|
|
|
, t.tenant_id_ as tenantId
|
|
|
, t.settlement_from_ as settlementFrom
|
|
|
- </sql>
|
|
|
+ </sql>
|
|
|
|
|
|
<!-- 分页查询 -->
|
|
|
- <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherVo" >
|
|
|
+ <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherVo">
|
|
|
SELECT
|
|
|
- <include refid="baseColumns"/>,
|
|
|
- if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
|
|
|
- u.username_ as username,
|
|
|
- u.phone_ as phone,
|
|
|
- u.real_name_ as realName,
|
|
|
- u.avatar_ as avatar,
|
|
|
- u.birthdate_ as birthdate,
|
|
|
- u.gender_ as gender,
|
|
|
- (case when t.membership_end_time_ >= now() then 1 else 0 end) isVip,
|
|
|
-<!-- t.tag_ tag,-->
|
|
|
- u.del_flag_ as delFlag,
|
|
|
- (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
|
|
|
- (case when isnull(b.user_id_) then 0 else 1 end) as isBank,
|
|
|
- (case when t.tenant_id_ = -1 then '平台老师' else ti.name_ end) as tenantName
|
|
|
+ <include refid="baseColumns"/>,
|
|
|
+ if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
|
|
|
+ u.username_ as username,
|
|
|
+ u.phone_ as phone,
|
|
|
+ u.real_name_ as realName,
|
|
|
+ u.avatar_ as avatar,
|
|
|
+ u.birthdate_ as birthdate,
|
|
|
+ u.gender_ as gender,
|
|
|
+ (case when t.membership_end_time_ >= now() then 1 else 0 end) isVip,
|
|
|
+ <!-- t.tag_ tag,-->
|
|
|
+ u.del_flag_ as delFlag,
|
|
|
+ (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
|
|
|
+ (case when isnull(b.user_id_) then 0 else 1 end) as isBank,
|
|
|
+ (case when t.tenant_id_ = -1 then '平台老师' else ti.name_ end) as tenantName
|
|
|
FROM teacher t
|
|
|
left join sys_user u on t.user_id_ = u.id_
|
|
|
left join (
|
|
|
- select distinct user_id_ from user_bank_card where del_flag_ = 0
|
|
|
+ select distinct user_id_ from user_bank_card where del_flag_ = 0
|
|
|
) b on t.user_id_ = b.user_id_
|
|
|
left join tenant_info ti on t.tenant_id_ = ti.id_
|
|
|
<where>
|
|
@@ -125,28 +125,28 @@
|
|
|
</if>
|
|
|
<if test="null != param.teacherType and '' != param.teacherType">
|
|
|
and (
|
|
|
- 1=0
|
|
|
- <if test='param.teacherType.contains("TOURIST")'>
|
|
|
- or (t.entry_flag_ = 0 and t.musician_flag_ = 0)
|
|
|
- </if>
|
|
|
- <if test='param.teacherType.contains("ENTRY")'>
|
|
|
- or t.entry_flag_ = 1
|
|
|
- </if>
|
|
|
- <if test='param.teacherType.contains("MUSICIAN")'>
|
|
|
- or t.musician_flag_ = 1
|
|
|
- </if>
|
|
|
+ 1=0
|
|
|
+ <if test='param.teacherType.contains("TOURIST")'>
|
|
|
+ or (t.entry_flag_ = 0 and t.musician_flag_ = 0)
|
|
|
+ </if>
|
|
|
+ <if test='param.teacherType.contains("ENTRY")'>
|
|
|
+ or t.entry_flag_ = 1
|
|
|
+ </if>
|
|
|
+ <if test='param.teacherType.contains("MUSICIAN")'>
|
|
|
+ or t.musician_flag_ = 1
|
|
|
+ </if>
|
|
|
)
|
|
|
</if>
|
|
|
<if test="param.isVip != null">
|
|
|
- <if test="param.isVip == 0">
|
|
|
- and (t.membership_end_time_ is null or t.membership_end_time_ < now())
|
|
|
- </if>
|
|
|
- <if test="param.isVip == 1">
|
|
|
- and t.membership_end_time_ >= now()
|
|
|
- </if>
|
|
|
+ <if test="param.isVip == 0">
|
|
|
+ and (t.membership_end_time_ is null or t.membership_end_time_ < now())
|
|
|
+ </if>
|
|
|
+ <if test="param.isVip == 1">
|
|
|
+ and t.membership_end_time_ >= now()
|
|
|
+ </if>
|
|
|
</if>
|
|
|
<if test="param.tag != null">
|
|
|
- and find_in_set(#{param.tag},t.tag_)
|
|
|
+ and find_in_set(#{param.tag},t.tag_)
|
|
|
</if>
|
|
|
<if test="null != param.lockFlag">
|
|
|
and t.lock_flag_ = #{param.lockFlag}
|
|
@@ -155,13 +155,13 @@
|
|
|
and u.del_flag_ = #{param.delFlag}
|
|
|
</if>
|
|
|
<if test="param.subjectId != null">
|
|
|
- and find_in_set(#{param.subjectId},t.subject_id_)
|
|
|
+ and find_in_set(#{param.subjectId},t.subject_id_)
|
|
|
</if>
|
|
|
<if test="param.isSettlement != null">
|
|
|
- and t.is_settlement_ = #{param.isSettlement}
|
|
|
+ and t.is_settlement_ = #{param.isSettlement}
|
|
|
</if>
|
|
|
<if test="param.isTestUser != null">
|
|
|
- and t.is_test_user_ = #{param.isTestUser}
|
|
|
+ and t.is_test_user_ = #{param.isTestUser}
|
|
|
</if>
|
|
|
<if test="null != param.vipEndTime">
|
|
|
and t.membership_end_time_ <= #{param.vipEndTime}
|
|
@@ -195,111 +195,125 @@
|
|
|
</choose>
|
|
|
</select>
|
|
|
|
|
|
- <resultMap id="BasicUserInfo" type="com.yonge.cooleshow.biz.dal.dto.BasicUserInfo">
|
|
|
- <result property="userId" column="user_id_"/>
|
|
|
- <result property="username" column="username_"/>
|
|
|
- <result property="realName" column="real_name_"/>
|
|
|
- <result property="avatar" column="avatar_"/>
|
|
|
- </resultMap>
|
|
|
- <select id="getBasicUserInfo" resultMap="BasicUserInfo">
|
|
|
- SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user
|
|
|
- WHERE del_flag_ = 0 and id_ = #{userId} LIMIT 1
|
|
|
- </select>
|
|
|
+ <resultMap id="BasicUserInfo" type="com.yonge.cooleshow.biz.dal.dto.BasicUserInfo">
|
|
|
+ <result property="userId" column="user_id_"/>
|
|
|
+ <result property="username" column="username_"/>
|
|
|
+ <result property="realName" column="real_name_"/>
|
|
|
+ <result property="avatar" column="avatar_"/>
|
|
|
+ </resultMap>
|
|
|
+ <select id="getBasicUserInfo" resultMap="BasicUserInfo">
|
|
|
+ SELECT id_ user_id_, username_, real_name_, avatar_
|
|
|
+ FROM sys_user
|
|
|
+ WHERE del_flag_ = 0
|
|
|
+ and id_ = #{userId}
|
|
|
+ LIMIT 1
|
|
|
+ </select>
|
|
|
|
|
|
- <select id="findBasicUserInfo" resultMap="BasicUserInfo">
|
|
|
- SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user
|
|
|
- WHERE del_flag_ = 0 and id_ IN
|
|
|
- <foreach collection="studentIds" open="(" close=")" separator="," item="userId">
|
|
|
- #{userId}
|
|
|
- </foreach>
|
|
|
- </select>
|
|
|
+ <select id="findBasicUserInfo" resultMap="BasicUserInfo">
|
|
|
+ SELECT id_ user_id_,username_,real_name_,avatar_ FROM sys_user
|
|
|
+ WHERE del_flag_ = 0 and id_ IN
|
|
|
+ <foreach collection="studentIds" open="(" close=")" separator="," item="userId">
|
|
|
+ #{userId}
|
|
|
+ </foreach>
|
|
|
+ </select>
|
|
|
|
|
|
<select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.TeacherVo">
|
|
|
SELECT
|
|
|
- <include refid="baseColumns"/>,
|
|
|
- if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
|
|
|
- u.avatar_ as avatar,
|
|
|
- u.username_ as username,
|
|
|
- u.gender_ as `gender`,
|
|
|
- u.birthdate_ as birthdate,
|
|
|
- u.phone_ as phone,
|
|
|
- (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
|
|
|
- (!isnull(membership_end_time_) and membership_end_time_ > now()) as isVip,
|
|
|
- u.real_name_ as realName,
|
|
|
- u.id_card_no_ as idCardNo,
|
|
|
- (case when isnull(b.user_id_) then 0 else 1 end) as isBank,
|
|
|
- (
|
|
|
- SELECT GROUP_CONCAT(name_ ORDER by locate(id_,t.subject_id_)) FROM subject WHERE FIND_IN_SET(id_,t.subject_id_)
|
|
|
- ) as subjectName,
|
|
|
- u.user_type_ as userType
|
|
|
+ <include refid="baseColumns"/>,
|
|
|
+ if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
|
|
|
+ u.avatar_ as avatar,
|
|
|
+ u.username_ as username,
|
|
|
+ u.gender_ as `gender`,
|
|
|
+ u.birthdate_ as birthdate,
|
|
|
+ u.phone_ as phone,
|
|
|
+ (case when isnull(u.id_card_no_) then 0 else 1 end) as isReal,
|
|
|
+ (!isnull(membership_end_time_) and membership_end_time_ > now()) as isVip,
|
|
|
+ u.real_name_ as realName,
|
|
|
+ u.id_card_no_ as idCardNo,
|
|
|
+ (case when isnull(b.user_id_) then 0 else 1 end) as isBank,
|
|
|
+ (
|
|
|
+ SELECT GROUP_CONCAT(name_ ORDER by locate(id_,t.subject_id_)) FROM subject WHERE FIND_IN_SET(id_,t.subject_id_)
|
|
|
+ ) as subjectName,
|
|
|
+ u.user_type_ as userType
|
|
|
FROM teacher t
|
|
|
left join sys_user u on t.user_id_ = u.id_
|
|
|
left join (
|
|
|
- select distinct user_id_ from user_bank_card where del_flag_ = 0 and user_id_ = #{userId}
|
|
|
+ select distinct user_id_ from user_bank_card where del_flag_ = 0 and user_id_ = #{userId}
|
|
|
) b on t.user_id_ = b.user_id_
|
|
|
where u.del_flag_ = 0 and t.user_id_ = #{userId}
|
|
|
</select>
|
|
|
|
|
|
<select id="querySubject" resultMap="com.yonge.cooleshow.biz.dal.dao.SubjectDao.Subject">
|
|
|
- SELECT s.* FROM `subject` s
|
|
|
- LEFT JOIN teacher t ON FIND_IN_SET(s.id_,t.subject_id_)
|
|
|
+ SELECT s.*
|
|
|
+ FROM `subject` s
|
|
|
+ LEFT JOIN teacher t ON FIND_IN_SET(s.id_, t.subject_id_)
|
|
|
WHERE t.user_id_ = #{userId}
|
|
|
</select>
|
|
|
|
|
|
<update id="setSubject">
|
|
|
- update teacher set subject_id_ = #{subjectIds},update_time_ = now() where user_id_ = #{id}
|
|
|
+ update teacher
|
|
|
+ set subject_id_ = #{subjectIds},
|
|
|
+ update_time_ = now()
|
|
|
+ where user_id_ = #{id}
|
|
|
</update>
|
|
|
|
|
|
<update id="addHomeBrowse">
|
|
|
- update teacher set browse_ = browse_ + 1 where user_id_ = #{userId}
|
|
|
+ update teacher
|
|
|
+ set browse_ = browse_ + 1
|
|
|
+ where user_id_ = #{userId}
|
|
|
</update>
|
|
|
|
|
|
<select id="querySubjectItem" resultType="com.yonge.cooleshow.biz.dal.entity.Subject">
|
|
|
select t.* from subject t
|
|
|
join (
|
|
|
- select a.subject_id_ from (
|
|
|
- <trim prefixOverrides="union all">
|
|
|
- <if test="type == null or type =='MUSIC'">union all
|
|
|
- (select music_subject_ as subject_id_ from music_sheet where user_id_ = #{userId} GROUP BY
|
|
|
- music_subject_)
|
|
|
- </if>
|
|
|
- <if test="type == null or type =='VIDEO'">
|
|
|
- union all
|
|
|
- (select lesson_subject_ as subject_id_ from video_lesson_group where teacher_id_ = #{userId} GROUP BY lesson_subject_)
|
|
|
- </if>
|
|
|
- <if test="type == null or type =='PIANO_ROOM'">
|
|
|
- union all
|
|
|
- (select subject_id_ as subject_id_ from course_group where type_ = 'PIANO_ROOM_CLASS' and teacher_id_ = #{userId} GROUP BY subject_id_)
|
|
|
- </if>
|
|
|
- <if test="type == null or type =='PRACTICE'">
|
|
|
- union all
|
|
|
- (select subject_id_ as subject_id_ from course_group where type_ = 'PRACTICE' and teacher_id_ = #{userId} GROUP BY subject_id_)
|
|
|
- </if>
|
|
|
- <if test="type == null or type =='LIVE'">
|
|
|
- union all
|
|
|
- (select subject_id_ as subject_id_ from course_group where type_ = 'LIVE' and teacher_id_ = #{userId} GROUP BY subject_id_)
|
|
|
- </if>
|
|
|
- </trim>
|
|
|
- ) a group by a.subject_id_
|
|
|
+ select a.subject_id_ from (
|
|
|
+ <trim prefixOverrides="union all">
|
|
|
+ <if test="type == null or type =='MUSIC'">
|
|
|
+ union all
|
|
|
+ (select music_subject_ as subject_id_ from music_sheet where user_id_ = #{userId} GROUP BY
|
|
|
+ music_subject_)
|
|
|
+ </if>
|
|
|
+ <if test="type == null or type =='VIDEO'">
|
|
|
+ union all
|
|
|
+ (select lesson_subject_ as subject_id_ from video_lesson_group where teacher_id_ = #{userId} GROUP BY
|
|
|
+ lesson_subject_)
|
|
|
+ </if>
|
|
|
+ <if test="type == null or type =='PIANO_ROOM'">
|
|
|
+ union all
|
|
|
+ (select subject_id_ as subject_id_ from course_group where type_ = 'PIANO_ROOM_CLASS' and teacher_id_ =
|
|
|
+ #{userId} GROUP BY subject_id_)
|
|
|
+ </if>
|
|
|
+ <if test="type == null or type =='PRACTICE'">
|
|
|
+ union all
|
|
|
+ (select subject_id_ as subject_id_ from course_group where type_ = 'PRACTICE' and teacher_id_ =
|
|
|
+ #{userId} GROUP BY subject_id_)
|
|
|
+ </if>
|
|
|
+ <if test="type == null or type =='LIVE'">
|
|
|
+ union all
|
|
|
+ (select subject_id_ as subject_id_ from course_group where type_ = 'LIVE' and teacher_id_ = #{userId}
|
|
|
+ GROUP BY subject_id_)
|
|
|
+ </if>
|
|
|
+ </trim>
|
|
|
+ ) a group by a.subject_id_
|
|
|
) a on t.id_ = a.subject_id_
|
|
|
where t.parent_subject_id_ != 0
|
|
|
and not exists(
|
|
|
- select 1 from teacher s where s.user_id_ = #{userId} and find_in_set(t.id_,s.subject_id_)
|
|
|
+ select 1 from teacher s where s.user_id_ = #{userId} and find_in_set(t.id_,s.subject_id_)
|
|
|
)
|
|
|
</select>
|
|
|
|
|
|
<select id="queryMyFans" resultType="com.yonge.cooleshow.biz.dal.vo.MyFens">
|
|
|
SELECT
|
|
|
- s.student_id_ AS userId,
|
|
|
- s.create_time_ AS starTime,
|
|
|
- u.avatar_ AS avatar,
|
|
|
- u.username_ AS userName,
|
|
|
- u.real_name_ AS realName,
|
|
|
- u.gender_ AS gender,
|
|
|
- u.phone_ AS phone,
|
|
|
- u.birthdate_ AS birthdate,
|
|
|
- (SELECT group_concat(name_) FROM `subject` WHERE find_in_set(id_,sr.subject_id_)) AS subjectName,
|
|
|
- if(sr.membership_start_time_ <= now() and sr.membership_end_time_ >= now(),1,0) AS isVip
|
|
|
+ s.student_id_ AS userId,
|
|
|
+ s.create_time_ AS starTime,
|
|
|
+ u.avatar_ AS avatar,
|
|
|
+ u.username_ AS userName,
|
|
|
+ u.real_name_ AS realName,
|
|
|
+ u.gender_ AS gender,
|
|
|
+ u.phone_ AS phone,
|
|
|
+ u.birthdate_ AS birthdate,
|
|
|
+ (SELECT group_concat(name_) FROM `subject` WHERE find_in_set(id_,sr.subject_id_)) AS subjectName,
|
|
|
+ if(sr.membership_start_time_ <= now() and sr.membership_end_time_ >= now(),1,0) AS isVip
|
|
|
FROM student_star s
|
|
|
LEFT JOIN sys_user u ON s.student_id_ = u.id_
|
|
|
LEFT JOIN student sr ON s.student_id_ = sr.user_id_
|
|
@@ -322,15 +336,21 @@
|
|
|
</if>
|
|
|
</where>
|
|
|
</select>
|
|
|
-
|
|
|
+
|
|
|
<select id="queryHotTeacherList" resultMap="HotTeacherVoMap">
|
|
|
- select t.user_id_,t.graduate_school_,u.username_,u.avatar_,ifnull(a.speaker_id_,0) isLiving_
|
|
|
- from teacher t
|
|
|
- left join sys_user u on t.user_id_ = u.id_
|
|
|
- left join teacher_total tt on tt.user_id_ = t.user_id_
|
|
|
- left join (SELECT lr.speaker_id_ from live_room lr WHERE live_state_ = 1 and type_ = 'temp' group by lr.speaker_id_) a on a.speaker_id_ = t.user_id_
|
|
|
- where t.entry_flag_ = 1 and t.is_test_user_ = 0 and find_in_set(#{subjectId},t.subject_id_)
|
|
|
- order by tt.fans_num_ desc limit 10
|
|
|
+ select t.user_id_, t.graduate_school_, u.username_, u.avatar_, ifnull(a.speaker_id_, 0) isLiving_
|
|
|
+ from teacher t
|
|
|
+ left join sys_user u on t.user_id_ = u.id_
|
|
|
+ left join teacher_total tt on tt.user_id_ = t.user_id_
|
|
|
+ left join (SELECT lr.speaker_id_
|
|
|
+ from live_room lr
|
|
|
+ WHERE live_state_ = 1 and type_ = 'temp'
|
|
|
+ group by lr.speaker_id_) a on a.speaker_id_ = t.user_id_
|
|
|
+ where t.entry_flag_ = 1
|
|
|
+ and t.is_test_user_ = 0
|
|
|
+ and find_in_set(#{subjectId}, t.subject_id_)
|
|
|
+ order by tt.fans_num_ desc
|
|
|
+ limit 10
|
|
|
</select>
|
|
|
|
|
|
<!--老师学生人数统计-->
|
|
@@ -339,11 +359,22 @@
|
|
|
SELECT t1.teacher_id_ AS id, COUNT(DISTINCT t1.id_) AS total FROM user_binding_teacher t1
|
|
|
<where>
|
|
|
<if test="teacherIds != null">
|
|
|
- AND t1.teacher_id_ IN (<foreach collection="teacherIds" separator="," item="item">#{item}</foreach>)
|
|
|
+ AND t1.teacher_id_ IN (<foreach collection="teacherIds" separator="," item="item">
|
|
|
+ #{item}
|
|
|
+ </foreach>)
|
|
|
</if>
|
|
|
</where>
|
|
|
GROUP BY t1.teacher_id_
|
|
|
</select>
|
|
|
- <!--老师学生人数统计-->
|
|
|
|
|
|
+ <select id="countTeacherByTenantIds" resultType="com.yonge.cooleshow.biz.dal.wrapper.TenantInfoWrapper$UserCount">
|
|
|
+ select tenant_id_ tenantId, count(tenant_id_) count
|
|
|
+ from teacher
|
|
|
+ where tenant_id_ in
|
|
|
+ <foreach collection="tenantIdList" item="item" separator="," open="(" close=")">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ group by tenant_id_
|
|
|
+ </select>
|
|
|
+ <!--老师学生人数统计-->
|
|
|
</mapper>
|