t.user_id_ as `userId`
, t.subject_id_ as `subjectId`
, t.current_grade_num_ as `currentGradeNum`
, t.member_rank_setting_id_ as `memberRankSettingId`
, t.cloud_study_sequence_days_ as `cloudStudySequenceDays`
, t.cloud_study_use_last_day_ as `cloudStudyUseLastDay`
, t.train_time_ as trainTime
, t.evaluate_time_ as evaluateTime
, t.tenant_id_ as tenantId
, t.create_time_ as `createTime`
, t.update_time_ as `updateTime`
, t.tenant_group_id_ as `tenantGroupId`
, t.im_device_id_ as imDeviceId
, t.customer_id_ as customerId
, t.im_customer_id_ AS imCustomerId
, t.discount_start_time_ as discountStartTime
, t.discount_end_time_ as discountEndTime
update student set subject_id_ = #{subjectIds},update_time_ = now() where user_id_ = #{id}
SELECT
,
if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
u.avatar_ as userAvatar,
u.avatar_ as avatar,
u.real_name_ as realName,
u.id_card_no_ as idCardNo,
u.username_ as username,
u.gender_ as gender,
u.birthdate_ as birthdate,
u.im_token_ as imToken,
TIMESTAMPDIFF(YEAR, u.birthdate_, CURDATE()) as age,
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,
(
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,
(case when t.tenant_id_ = -1 then '平台学生' else ti.name_ end) as tenantName
FROM student t
left join sys_user u on t.user_id_ = u.id_
left join tenant_info ti on ti.id_ = t.tenant_id_
where u.del_flag_ = 0 and t.user_id_ = #{userId}
SELECT
,
if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
u.avatar_ as avatar,
u.real_name_ as realName,
u.id_card_no_ as idCardNo,
u.username_ as username,
u.gender_ as gender,
u.birthdate_ as birthdate,
TIMESTAMPDIFF(YEAR, u.birthdate_, CURDATE()) as age,
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,
(
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 student t
left join sys_user u on t.user_id_ = u.id_
where u.del_flag_ = 0 and u.phone_ = #{phone}
SELECT
,
if(u.lock_flag_ = 0 and t.lock_flag_ = 0,0,1) as lockFlag,
u.avatar_ as userAvatar,
u.avatar_ as avatar,
u.username_ as username,
u.gender_ as gender,
u.birthdate_ as birthdate,
u.del_flag_ as delFlag,
TIMESTAMPDIFF(YEAR, u.birthdate_, CURDATE()) as age,
u.phone_ as phone,
!isnull(birthdate_) as isReal,
u.real_name_ as realName,
ifnull(vcr2.vip_type_ ,'NORMAL') as vipType,
max(if(vcr.vip_type_ = 'VIP', vcr.end_time_, null)) vipEndTime,
max(if(vcr.vip_type_ = 'SVIP' and vcr.type_ = 'PERPETUAL', vcr.end_time_ , null)) perSvipEndTime,
max(if(vcr.vip_type_ = 'SVIP' , vcr.end_time_, null)) svipEndTime,
max(vcr.end_time_) currentVipEndTime,
(
SELECT GROUP_CONCAT(name_ ORDER by locate(id_,t.subject_id_)) FROM subject WHERE FIND_IN_SET(id_,t.subject_id_)
) as subjectName,
(case when t.tenant_id_ = -1 then '平台学生' else ti.name_ end) as tenantName
FROM student t
left join sys_user u on t.user_id_ = u.id_
left join tenant_info ti on t.tenant_id_ = ti.id_
left join vip_card_record vcr on t.user_id_ = vcr.user_id_ and vcr.efficient_flag_ = 1 and vcr.client_type_='STUDENT'
left join vip_card_record vcr2 on t.user_id_ = vcr2.user_id_ and vcr2.efficient_flag_ = 1 and vcr2.end_time_ > now() and now() >= vcr2.start_time_ and vcr2.client_type_='STUDENT'
AND (
t.user_id_ LIKE CONCAT('%', #{param.search}, '%') or
u.username_ LIKE CONCAT('%', #{param.search}, '%') or
u.real_name_ LIKE CONCAT('%', #{param.search}, '%') or
u.phone_ LIKE CONCAT('%', #{param.search}, '%')
)
and u.gender_ = #{param.gender}
AND FIND_IN_SET(t.subject_id_, #{param.subjectId})
and vcr2.id_ is null
and vcr2.vip_type_ = #{param.vipType}
= #{param.startTime} ]]>
and t.lock_flag_ = #{param.lockFlag}
and u.del_flag_ = #{param.delFlag}
AND t.train_time_ > 0
AND t.evaluate_time_ > 0
and t.hide_flag_ = #{param.hideFlag}
and t.tenant_id_ = #{param.tenantId}
and t.tenant_id_ = -1
and t.tenant_id_ != -1
and ti.name_ like concat('%',#{param.tenantName},'%')
and u.phone_ in
#{item}
AND FIND_IN_SET(t.tenant_group_id_, #{param.tenantGroupId})
group by t.user_id_
having currentVipEndTime >= #{param.vipStartTime} and #{param.vipEndTime}> currentVipEndTime
order by ${param.orderBy}
order by t.create_time_ desc
SELECT s.* FROM `subject` s
LEFT JOIN student t ON FIND_IN_SET(s.id_,t.subject_id_)
WHERE t.user_id_ = #{userId}
select t.* from subject t
join (
select a.subject_id_ from (
union all
(
select
a.music_subject_ as subject_id_
from music_sheet a
join music_sheet_purchase_record a1 on a.id_ = a1.music_sheet_id_
where a1.student_id_ = #{userId} and a1.order_status_ = 'PAID'
GROUP BY a.music_subject_
)
union all
(
select
a.lesson_subject_ as subject_id_
from video_lesson_group a
join video_lesson_purchase_record a1 on a.id_ = a1.video_lesson_group_id_
where a1.student_id_ = #{userId}
GROUP BY a.lesson_subject_
)
union all
(
select
a.subject_id_ as subject_id_
from course_group a
join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
where a.type_ = 'PIANO_ROOM_CLASS' and a1.user_id_ = #{userId}
GROUP BY a.subject_id_
)
union all
(
select
a.subject_id_ as subject_id_
from course_group a
join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
where a.type_ = 'PRACTICE' and a1.user_id_ = #{userId}
GROUP BY a.subject_id_
)
union all
(
select
a.subject_id_ as subject_id_
from course_group a
join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
where a.type_ = 'GROUP' and a1.user_id_ = #{userId}
GROUP BY a.subject_id_
)
union all
(
select
a.subject_id_ as subject_id_
from course_group a
join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
where a.type_ = 'VIP' and a1.user_id_ = #{userId}
GROUP BY a.subject_id_
)
union all
(
select
a.subject_id_ as subject_id_
from course_group a
join course_schedule_student_payment a1 on a.id_ = a1.course_group_id_
where a.type_ = 'LIVE' and a1.user_id_ = #{userId}
GROUP BY a.subject_id_
)
) 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 student s where s.user_id_ = #{userId} and find_in_set(t.id_,s.subject_id_)
)
SELECT
s.teacher_id_ as userId,
u.avatar_ as avatar,
u.username_ as userName,
u.real_name_ as realName,
u.gender_ as gender,
t.star_grade_ as starGrade,
t.fans_num_ as fansNum,
t.live_flag_ as liveFlag,
t.exp_time_ as expTime,
(SELECT group_concat( name_ ) FROM `subject` WHERE find_in_set( id_, tr.subject_id_ )) AS subjectName,
r.room_uid_ as roomUid,
tr.entry_flag_ as entryFlag,
tr.musician_flag_ as musicianFlag,
tr.*
FROM student_star s
LEFT JOIN sys_user u ON s.teacher_id_ = u.id_
LEFT JOIN teacher_total t ON s.teacher_id_ = t.user_id_
LEFT JOIN teacher tr ON s.teacher_id_ = tr.user_id_
LEFT JOIN (SELECT room_uid_,speaker_id_ FROM live_room WHERE live_state_=1 and room_state_ = 0 and type_ = 'TEMP') r ON t.user_id_= r.speaker_id_
WHERE s.student_id_ = #{param.userId}
and u.username_ LIKE CONCAT('%', #{param.username}, '%')
SELECT stu.user_id_ 'key',sub.name_ 'value'
FROM student stu
LEFT JOIN `subject` sub ON stu.subject_id_ = sub.id_
WHERE stu.user_id_ IN
#{studentId}
SELECT COUNT(su.id_) FROM sys_user su
left join student s ON s.user_id_ = su.id_
WHERE
s.tenant_id_ = #{tenantId}
AND su.del_flag_=0 AND su.lock_flag_=0
AND FIND_IN_SET('STUDENT',su.user_type_)
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
select tenant_id_ tenantId, count(tenant_id_) count
from student
lock_flag_ = 0
AND tenant_id_ in
#{item}
group by tenant_id_
select count(tenant_id_)
from student
lock_flag_ = 0
and tenant_id_ = #{id}
select ifnull(tenant_group_id_,-1) tenantGroupId, count(user_id_) count
from student
hide_flag_ = 0
AND tenant_id_ =#{tenantId}
AND tenant_group_id_ in
#{item}
group by tenant_group_id_