SELECT
g.*,
(SELECT name FROM class_grade_interface i where g.interface_push_id = i.id) as interface_push_name,
(SELECT name FROM class_grade_interface i where g.interface_account_id = i.id) as interface_account_name,
(SELECT name FROM class_grade_interface i where g.interface_period_id = i.id) as interface_period_name,
(SELECT nick_name FROM sys_user u where g.sys_user_id = u.user_id) as nick_name,
(SELECT area_name FROM apply_areas a where a.area_id = g.areas_id) as area_name,
(SELECT area_name FROM apply_areas a where a.area_id = g.city_id) as city_name,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1) as student_num,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and official_status =1) as official_status_num,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_status =1) as period_status_num,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_plush =1) as period_plush_num
FROM
class_grade_goods cgg LEFT JOIN
class_grade g on cgg.grade_id = g.grade_id
where cgg.goods_id = #{goods_id} and g.`status` = 1
SELECT
g.*,
(SELECT name FROM class_grade_interface i where g.interface_push_id = i.id) as interface_push_name,
(SELECT name FROM class_grade_interface i where g.interface_account_id = i.id) as interface_account_name,
(SELECT name FROM class_grade_interface i where g.interface_period_id = i.id) as interface_period_name,
(SELECT nick_name FROM sys_user u where g.sys_user_id = u.user_id) as nick_name,
(SELECT area_name FROM apply_areas a where a.area_id = g.areas_id) as area_name,
(SELECT area_name FROM apply_areas a where a.area_id = g.city_id) as city_name,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1) as student_num,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and official_status =1) as official_status_num,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_status =1) as period_status_num,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1 and period_plush =1) as period_plush_num,
(SELECT GROUP_CONCAT(subject_name) from course_subject where FIND_IN_SET(id,d.subject_ids)) subject_names
FROM
class_grade g
LEFT JOIN class_grade_goods cgg ON cgg.grade_id = g.grade_id
LEFT JOIN goods d ON cgg.goods_id = d.goods_id
LEFT JOIN course_business cb ON d.business_id = cb.id
LEFT JOIN class_grade_user gu on g.grade_id = gu.grade_id AND gu.status = 1
where g.status !=-1
AND g.status in
#{item}
AND gu.user_id = #{userId}
AND g.grade_id = #{gradeId}
AND ((g.class_name like concat('%', #{searchKey}, '%')) or (
SELECT
COUNT(*)
FROM
class_grade_user cgu
LEFT JOIN `user` u ON cgu.user_id = u.user_id
WHERE
g.grade_id = cgu.grade_id
AND u.realname like concat('%', #{searchKey}, '%')
) >0 or (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
g.grade_id = s.grade_id
AND d.goods_name like concat('%', #{searchKey}, '%')
) >0)
AND g.class_status = #{classStatus}
AND g.class_name like concat('%', #{className}, '%')
AND (SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1) < g.student_upper
AND (#{classStartTime} BETWEEN g.class_start_time and g.class_end_time or #{classEndTime} BETWEEN g.class_start_time and g.class_end_time)
AND ((unix_timestamp(now())+10*24*3600) < g.class_end_time or g.class_start_time is null)
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.education_type_id =#{educationTypeId}
) >0
AND cb.id = #{businessId}
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.school_id =#{schoolId}
) >0
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.major_id =#{majorId}
) >0
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND s.goods_id =#{goodsId}
) >0
AND g.interface_account_id is null AND g.no_interface_account_id is null
AND g.interface_account_id is not null
AND g.no_interface_account_id is not null
${params.dataScope}
order by g.create_time desc
SELECT
g.*,
ps.supply_name,
cet.education_name,
cpt.project_name,
cb.business_name,
s.school_name,
m.category_name,
ot.type AS template_type
FROM
goods g
LEFT JOIN pay_supply ps ON g.supply_id = ps.supply_id
LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
LEFT JOIN course_business cb ON g.business_id = cb.id
LEFT JOIN school s ON s.id = g.school_id
LEFT JOIN major m ON g.major_id = m.id
LEFT JOIN order_input_template ot ON cb.template_status = ot.id
LEFT JOIN class_grade_goods o ON o.goods_id = g.goods_id
WHERE
1 = 1
AND o.grade_id =#{gradeId}
SELECT
cgu.id,
cgu.official_status_time,
cgu.official_status_num,
u.user_account,
u.user_id,
cgu.`status`,
u.realname,
(SELECT cgg.goods_id FROM class_grade_goods cgg where cg.grade_id=cgg.grade_id) as goods_id,
u.id_card,
cgu.grade_id,
u.telphone,
(case WHEN (select COUNT(uu.id) FROM user_update uu where cgu.user_id = uu.user_id and uu.status = 2) >0 then 1 ELSE 0 end) as user_status,
(case WHEN cgu.official_status_time > (select MAX(uu.create_time) FROM user_update uu where cgu.user_id = uu.user_id) then 0 ELSE 1 end) as user_info_status,
(select MAX(uu.create_time) FROM user_update uu where cgu.user_id = uu.user_id ) as update_info_time,
(SELECT g.class_hours FROM goods g LEFT JOIN class_grade_goods cgg on cgg.goods_id = g.goods_id where cg.grade_id = cgg.grade_id) as class_hours,
cgu.period_status,
cgu.finish_status,
cgu.period_plush,
(SELECT g.study_start_time FROM goods g LEFT JOIN class_grade_goods cgg on cgg.goods_id = g.goods_id where cg.grade_id = cgg.grade_id) as study_start_time,
(SELECT g.study_end_time FROM goods g LEFT JOIN class_grade_goods cgg on cgg.goods_id = g.goods_id where cg.grade_id = cgg.grade_id) as study_end_time,
cg.class_start_time,
cg.class_end_time,
cg.interface_push_id,
cgu.official_status,
cgu.learn_status,
(SELECT COUNT(m.id) FROM course_menu_exam m LEFT JOIN goods_course c on m.course_id=c.course_id LEFT JOIN class_grade_goods cgg on cgg.goods_id = c.goods_id where cg.grade_id=cgg.grade_id and m.type in (1,3) ) as exam_num,
(SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr LEFT JOIN class_grade_goods cgg on cgg.goods_id = ubr.goods_id where ubr.`status`=1 and ubr.type in (1,3) and ubr.user_id = u.user_id and ubr.grade_id = cgu.grade_id and ubr.report_status=1 and ubr.current_status = 1) as record_num,
(og.study_count) as study_count,
og.order_goods_id,
og.rebuy_order_goods_id,
og.service_start_time,
og.service_end_time,
g.goods_name,
og.order_sn,
m.category_name,
g.major_id,
u.province,
cgu.reason,
cb.business_name,
cpt.project_name,
(case WHEN u.union_id is null then 0 ELSE 1 end) as user_bind_wx,
(case WHEN uwf.gzh_open_id is null then 0 ELSE 1 end) as user_follow_wx,
(SELECT IFNULL(SUM(usr.study_duration),0) from user_study_record usr where usr.user_id = cgu.user_id and usr.grade_id = cgu.grade_id) as user_study_duration,
(SELECT count(*) from class_grade_user cgu where cgu.order_goods_id = og.order_goods_id) as use_study_count,
ueg.exam_number,
ueg.do_number,
ueg.expend_number,
ueg.expend_before
FROM
class_grade_user cgu
LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
LEFT JOIN `user` u ON u.user_id = cgu.user_id
LEFT JOIN order_goods og on cgu.order_goods_id = og.order_goods_id
LEFT JOIN goods g on og.goods_id = g.goods_id
LEFT JOIN major m ON g.major_id = m.id
LEFT JOIN course_business cb ON g.business_id = cb.id
LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
LEFT JOIN user_wx_follow uwf ON u.union_id = uwf.union_id
LEFT JOIN user_exam_goods ueg ON ueg.order_goods_id = og.order_goods_id
where 1=1
and cgu.grade_id = #{gradeId}
and (SELECT COUNT(cge.grade_id) FROM class_grade cge LEFT JOIN class_grade_user cgur on cge.grade_id = cgur.grade_id where cgu.user_id =cgur.user_id and (SELECT cgg.goods_id FROM class_grade_goods cgg where cge.grade_id=cgg.grade_id) = (SELECT cgg.goods_id FROM class_grade_goods cgg where cg.grade_id=cgg.grade_id) AND (unix_timestamp(now()) < cge.class_end_time or cge.class_start_time is null) and cge.`status`=1 and cgur.`status` =1)= 0 and cgu.period_status=0
AND (SELECT COUNT(cgde.grade_id) FROM class_grade cgde where cgde.grade_id = cg.grade_id and (unix_timestamp(now()) < cgde.class_end_time or cgde.class_start_time is null)) =0
and (SELECT COUNT(cge.grade_id) FROM class_grade cge LEFT JOIN class_grade_user cgur on cge.grade_id = cgur.grade_id where cgu.user_id =cgur.user_id and (SELECT cgg.goods_id FROM class_grade_goods cgg
where cge.grade_id=cgg.grade_id) = (SELECT cgg.goods_id FROM class_grade_goods cgg where cg.grade_id=cgg.grade_id) AND (unix_timestamp(now()) < cge.class_end_time or cge.class_start_time is null)
and cge.`status`=1 and cgur.`status` =1)> 0
AND (SELECT COUNT(cgde.grade_id) FROM class_grade cgde where cgde.grade_id = cg.grade_id and (unix_timestamp(now()) < cgde.class_end_time or cgde.class_start_time is null)) =0
AND og.study_count > 0 AND cgu.change_grade = 0
AND og.study_count > 0 AND cgu.change_grade = 1
AND og.study_count = 0
AND u.realname like concat('%', #{realname}, '%')
AND u.telphone like concat('%', #{telphone}, '%')
AND u.company_name like concat('%', #{companyName}, '%')
AND u.id_card like concat('%', #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}, '%')
AND u.id_card IN
#{item,typeHandler=com.zhongzheng.common.type.EncryptHandler}
AND og.order_sn = #{orderSn}
AND g.goods_name like concat('%', #{goodsName}, '%')
AND cgu.create_time > #{searchStartTime}
AND cgu.create_time < #{searchEndTime}
AND cgu.finish_status = #{finishStatus}
AND cgu.learn_status = #{learnStatus}
AND g.project_id = #{projectId}
AND g.business_id = #{businessId}
AND g.education_type_id = #{educationTypeId}
AND m.id = #{majorId}
AND cg.interface_account_id is null AND cg.no_interface_account_id is null
AND cg.interface_account_id is not null
AND cg.no_interface_account_id is not null
AND u.union_id is not null
AND u.union_id is null
AND uwf.gzh_open_id is not null
AND uwf.gzh_open_id is null
order by user_info_status desc ,user_status desc ,cgu.id desc
SELECT
g.*,
(SELECT name FROM class_grade_interface i where g.interface_push_id = i.id) as interface_push_name,
(SELECT name FROM class_grade_interface i where g.interface_account_id = i.id) as interface_account_name,
(SELECT name FROM class_grade_interface i where g.interface_period_id = i.id) as interface_period_name,
(SELECT nick_name FROM sys_user u where g.sys_user_id = u.user_id) as nick_name,
(SELECT area_name FROM apply_areas a where a.area_id = g.areas_id) as area_name,
(SELECT area_name FROM apply_areas a where a.area_id = g.city_id) as city_name,
(SELECT COUNT(a.id) FROM class_grade_user a where a.grade_id = g.grade_id and a.status =1) as student_num
FROM
class_grade g
where g.status !=-1
AND g.status in
#{item}
AND g.grade_id = #{gradeId}
AND g.class_name like concat('%', #{className}, '%')
AND #{classStartTime} BETWEEN g.class_start_time and g.class_end_time or #{classEndTime} BETWEEN g.class_start_time and g.class_end_time
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.education_type_id =#{educationTypeId}
) >0
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.business_id =#{businessId}
) >0
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.school_id =#{schoolId}
) >0
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
LEFT JOIN goods d ON s.goods_id = d.goods_id
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND d.major_id =#{majorId}
) >0
AND (
SELECT
COUNT(*)
FROM
class_grade_goods s
WHERE
1 = 1
AND g.grade_id = s.grade_id
AND s.goods_id =#{goodsId}
) >0
order by g.update_time desc
SELECT
u.user_account,
u.user_id,
u.realname,
u.id_card
FROM
`user` u
WHERE
1 = 1
and u.realname is NOT NULL
and u.user_id not in (SELECT DISTINCT cgu.user_id from class_grade_user cgu )
AND u.status in
#{item}
SELECT
DISTINCT u.*
FROM
`user` u
LEFT JOIN `order` o ON u.user_id = o.user_id
LEFT JOIN order_goods og ON o.order_sn = og.order_sn
LEFT JOIN goods g on g.goods_id=og.goods_id
WHERE
1 = 1
AND og.status=1
and u.status=1
and og.refund_status in(0,3)
and og.pay_status in (2,3,4)
and g.business_id =#{businessId}
SELECT
COUNT(1)
FROM
class_grade_goods cgg
LEFT JOIN goods g ON g.business_id = cgg.goods_id
where 1=1
and cgg.grade_id=#{gradeId}
and g.business_id=#{businessId}
SELECT
user_id
FROM
class_grade_user
WHERE
grade_id = #{gradeId}
and `status` = 1
SELECT
cg.grade_id,cg.class_status
FROM
class_grade cg LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
WHERE
1 = 1
and cg.`status` != -1
AND g.business_id = #{businessId}
AND cg.create_time >= #{startTime}
AND #{endTime} >= cg.create_time
SELECT
count(cgu.id)
FROM
class_grade_user cgu LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
WHERE
cgu.`status` = 1
AND (cg.interface_account_id is not null or cg.no_interface_account_id is not null)
AND cgu.learn_status = #{learnStatus}
AND cgu.finish_status = #{finishStatus}
AND g.project_id = #{projectId}
AND cgu.create_time >= #{startTime}
AND #{endTime} >= cgu.create_time
SELECT
count(cg.grade_id)
FROM
class_grade cg LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
WHERE
cg.status !=-1
AND cg.interface_account_id > 0
AND cg.interface_account_id is NULL
AND cg.no_interface_account_id > 0
AND cg.no_interface_account_id is NULL
AND cg.interface_period_id > 0
AND cg.interface_period_id is NULL
AND cg.interface_push_id > 0
AND cg.interface_push_id is NULL
AND g.business_id = #{businessId}
AND cg.create_time >= #{startTime}
AND #{endTime} >= cg.create_time
SELECT
count(cgu.id)
FROM
class_grade_user cgu LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
WHERE
1 = 1
AND cgu.period_status = #{periodStatus}
AND g.business_id = #{businessId}
AND cgu.period_ing_time >= #{startTime}
AND #{endTime} >= cgu.period_ing_time
AND cgu.period_wait_time >= #{waitStartTime}
AND #{waitEndTime} >= cgu.period_wait_time
SELECT
count(cgu.id)
FROM
class_grade_user cgu LEFT JOIN class_grade_goods cgg ON cgu.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
WHERE
1 = 1
AND cgu.period_status = 1
AND cg.interface_push_id > 0
AND cgu.official_status = 1
AND cgu.period_plush = 1
AND g.business_id = #{businessId}
SELECT
g.goods_id
FROM
goods g
WHERE
1=1
AND g.goods_id in
#{item}
SELECT
cg.*,
g.subject_ids,
g.business_id,
g.project_id
FROM
class_grade cg
LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
SELECT
cg.*
FROM
class_grade cg
LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
WHERE
cg.`status` != -1
and cg.`status` in (0,1)
and g.business_id = #{businessId}
SELECT
((
SELECT
count(*)
FROM
class_grade_user_temp cgu
LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
WHERE
cg.official_name = #{officialName}
AND cgu.`status` = 1
) + (
SELECT
count(*)
FROM
class_grade_user cgu
LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
WHERE
cg.official_name = #{officialName}
AND cgu.`status` = 1
))
SELECT
cg.*,cgg.goods_id
FROM
class_grade cg LEFT JOIN class_grade_goods cgg on cg.grade_id = cgg.grade_id where
cg.class_end_time > #{startTime}
AND #{endTime} >= cg.class_end_time
SELECT
sum( a.num )
FROM
( SELECT COUNT( user_id ) AS num FROM class_grade_user WHERE grade_id = #{gradeId} AND `status` = 1 AND change_grade = 0 GROUP BY user_id ) a
SELECT
CONCAT('',cg.tenant_id) as tenantId,
cg.official_name as classNo,
cb.alias_name as platformName,
cg.class_name as categoryName,
u.realname as `name`,
u.id_card as idNum,
u.telphone as mobile,
u.company_name as companyName,
og.create_time as orderTimeLong,
cg.class_start_time as createTimeLong,
cgu.official_status_time as doTimeLong,
cgu.official_status as reportStatu,
cgu.period_plush as studyQueueStatus,
u.user_id,
cg.grade_id,
g.subject_ids
FROM class_grade cg
LEFT JOIN class_grade_user cgu ON cg.grade_id = cgu.grade_id
AND cgu.tenant_id = #{tenantId}
LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
AND cgg.tenant_id = #{tenantId}
LEFT JOIN `user` u ON cgu.user_id = u.user_id
AND u.tenant_id = #{tenantId}
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
AND g.tenant_id = #{tenantId}
LEFT JOIN order_goods og ON cg.grade_id = og.grade_id
AND og.tenant_id = #{tenantId}
LEFT JOIN course_business cb ON g.business_id = cb.id
AND cb.tenant_id = #{tenantId}
WHERE 1 = 1
AND cg.official_name = #{officialName}
AND cg.tenant_id = #{tenantId}
AND u.realname like concat('%', #{name}, '%')
AND u.id_card like concat('%', #{idNum}, '%')
AND u.telphone like concat('%', #{mobile}, '%')
SELECT
cg.*
FROM
class_grade cg
LEFT JOIN class_grade_goods cgg ON cg.grade_id = cgg.grade_id
LEFT JOIN goods g ON cgg.goods_id = g.goods_id
LEFT JOIN course_business cb ON g.business_id = cb.id
WHERE
cb.alias_name = #{aliasName} AND cg.class_status = 0 AND cg.`status` = 1
AND (
FIND_IN_SET(g.subject_ids,#{id}) OR
FIND_IN_SET(g.subject_ids,#{id})
)
SELECT
g.goods_id
FROM
goods g
LEFT JOIN course_business cb ON g.business_id = cb.id AND cb.tenant_id = #{tenantId}
WHERE
cb.alias_name = #{aliasName} AND g.`status` = 1 AND g.tenant_id = #{tenantId}
AND (
FIND_IN_SET(g.subject_ids,#{id}) OR
FIND_IN_SET(g.subject_ids,#{id})
)
SELECT
*
FROM
class_grade
where class_name like concat('%', #{className}, '%') and tenant_id = #{tenantId}
SELECT
*
FROM
class_grade
where register_code = #{registerCode}
update class_grade set class_status = #{classStatus} , official_name = #{officialName} where 1 = 1
AND grade_id in
#{item}
update class_grade set register_code = official_name where 1 = 1
AND grade_id in
#{item}