g.id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.teacher_id_ AS teacherId,
g.lesson_count_ AS lessonCount,
g.sort_number_ AS sortNumber,
g.lesson_tag_ AS lessonTag,
g.top_flag_ AS topFlag,
g.hot_flag_ AS hotFlag,
g.shelves_flag_ AS shelvesFlag,
g.shelves_time_ as shelvesTime,
g.shelves_reason_ as shelvesReason,
g.audit_status_ AS auditStatus,
g.audit_version_ as auditVersion,
g.shelves_id_ as shelvesId,
g.create_time_ AS createTime,
g.update_time_ AS updateTime,
g.audit_id_ AS auditId,
g.audit_name_ AS auditName,
g.id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.teacher_id_ AS teacherId,
g.lesson_count_ AS lessonCount,
g.sort_number_ AS sortNumber,
g.lesson_tag_ AS lessonTag,
g.top_flag_ AS topFlag,
g.hot_flag_ AS hotFlag,
g.shelves_flag_ AS shelvesFlag,
g.shelves_time_ as shelvesTime,
g.shelves_reason_ as shelvesReason,
g.create_time_ AS createTime,
g.update_time_ AS updateTime,
r.audit_id_ AS auditId,
r.audit_name_ AS auditName,
r.audit_status_ AS auditStatus,
g.audit_version_ as auditVersion,
UPDATE video_lesson_group
lesson_name_ = #{lessonName},
lesson_subject_ = #{lessonSubject},
lesson_desc_ = #{lessonDesc},
lesson_price_ = #{lessonPrice},
lesson_cover_url_ = #{lessonCoverUrl},
sort_number_ = #{sortNumber},
lesson_tag_ = #{lessonTag},
top_flag_ = #{topFlag},
hot_flag_ = #{hotFlag},
audit_status_ = #{auditStatus},
update_time_ = SYSDATE(),
lesson_count_ = (SELECT COUNT(1) FROM video_lesson_group_detail WHERE video_lesson_group_id_ = #{id})
WHERE id_ = #{id}
UPDATE video_lesson_group
shelves_flag_ = #{shelvesFlag},
audit_status_ = #{auditStatus},
audit_name_ = #{auditName},
audit_id_ = #{auditId},
remarks = #{remarks},
update_time_ = SYSDATE()
WHERE id_ = #{id}
UPDATE video_lesson_group
shelves_flag_ = #{shelvesFlag},
shelves_time_ = #{shelvesTime},
shelves_reason_ = #{shelvesReason},
shelves_id_ = #{shelvesId},
update_time_ = SYSDATE()
WHERE id_ = #{id}
SELECT
b.name_ AS lessonSubjectName,
s.username_ AS username,
s.avatar_ AS avatar,
s.real_name_ AS realName,
(SELECT COUNT(1) FROM video_lesson_purchase_record r WHERE r.video_lesson_group_id_=g.id_ AND r.order_status_='PAID') AS countStudent
FROM video_lesson_group g
LEFT JOIN sys_user s ON g.teacher_id_ = s.id_
LEFT JOIN `subject` b ON g.lesson_subject_=b.id_
AND g.shelves_flag_ = #{param.shelvesFlag}
AND g.audit_status_ = #{param.auditStatus}
AND g.id_ = #{param.groupId}
AND g.teacher_id_ = #{param.teacherId}
AND g.audit_version_ = #{param.auditVersion}
AND g.lesson_subject_ = #{param.lessonSubject}
AND (
g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%') OR
s.username_ LIKE CONCAT('%', #{param.search}, '%')
)
ORDER BY g.top_flag_ desc,g.sort_number_ desc, countStudent DESC,g.id_ desc
SELECT
g.id_ AS groupId,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
j.name_ AS lessonSubjectName,
g.lesson_count_ AS lessonCount,
p.pay_money_ AS payMoney,
p.order_no_ AS orderNo,
p.purchase_time_ AS purchaseTime,
g.audit_version_ as auditVersion
FROM video_lesson_group g
LEFT JOIN video_lesson_purchase_record p ON g.id_ = p.video_lesson_group_id_
LEFT JOIN sys_user s ON g.teacher_id_ = s.id_
LEFT JOIN subject j ON g.lesson_subject_ = j.id_
AND p.student_id_ = #{param.userId}
AND (
s.id_ LIKE CONCAT('%', #{param.search}, '%') OR
s.username_ LIKE CONCAT('%', #{param.search}, '%') OR
s.phone_ LIKE CONCAT('%', #{param.search}, '%') OR
g.id_ LIKE CONCAT('%', #{param.search}, '%')
)
AND p.order_no_ = #{param.orderNo}
AND g.lesson_subject_ = #{param.lessonSubject}
AND g.shelves_flag_ = #{param.shelvesFlag}
AND g.audit_status_ = #{param.auditStatus}
= #{param.startTime} ]]>
SELECT
g.id_ AS groupId,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
j.name_ AS lessonSubjectName,
g.lesson_count_ AS lessonCount,
g.lesson_price_ AS lessonPrice,
g.audit_status_ AS auditStatus,
(SELECT COUNT(1) FROM video_lesson_purchase_record r WHERE r.video_lesson_group_id_=g.id_ AND r.order_status_='PAID') AS countStudent,
g.create_time_ AS createTime,
g.lesson_desc_ AS lessonDesc
FROM video_lesson_group g
LEFT JOIN subject j ON g.lesson_subject_ = j.id_
AND g.teacher_id_ = #{param.userId}
AND (
g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%')
)
AND g.lesson_subject_ = #{param.lessonSubject}
AND g.audit_status_ = #{param.auditStatus}
AND g.shelves_flag_ = #{param.shelvesFlag}
SELECT
p.student_id_ AS studentId,
u.username_ AS username,
u.real_name_ AS realName,
u.phone_ AS phone,
p.pay_money_ AS payMoney,
p.order_no_ AS orderNo,
o.pay_time_ AS purchaseTime
FROM video_lesson_purchase_record p
LEFT JOIN sys_user u ON p.student_id_ = u.id_
LEFT JOIN user_order o ON p.order_no_ = o.order_no_
WHERE p.order_status_='PAID'
AND p.video_lesson_group_id_ = #{param.videoLessonGroupId}
AND (
u.id_ LIKE CONCAT('%', #{param.search}, '%') OR
u.username_ LIKE CONCAT('%', #{param.search}, '%') OR
u.phone_ LIKE CONCAT('%', #{param.search}, '%')
)
AND p.order_no_ = #{param.orderNo}
= #{param.startTime} ]]>
SELECT
g.id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
s.name_ AS lessonSubjectName,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.lesson_count_ AS lessonCount,
g.teacher_id_ AS teacherId,
g.relation_type_ AS relationType,
u.username_ AS userName,
u.real_name_ AS realName,
u.avatar_ AS avatar,
g.audit_version_ as auditVersion,
(SELECT COUNT(1) FROM video_lesson_purchase_record r WHERE r.video_lesson_group_id_=g.id_ AND r.order_status_='PAID') AS countStudent
FROM video_lesson_group g
LEFT JOIN sys_user u ON g.teacher_id_=u.id_
LEFT JOIN `subject` s ON g.lesson_subject_ = s.id_
AND u.del_flag_ = 0
AND (
u.username_ LIKE CONCAT('%', #{param.search}, '%') OR
g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%')
)
AND g.shelves_flag_ = #{param.shelvesFlag}
AND g.audit_status_ = #{param.auditStatus}
AND g.id_ IN
(SELECT video_lesson_group_id_ FROM video_lesson_purchase_record WHERE student_id_=#{param.studentId} AND order_status_='PAID')
AND g.teacher_id_ = #{param.teacherId}
AND g.audit_version_ = #{param.auditVersion}
AND s.id_ = #{param.lessonSubject}
ORDER BY g.top_flag_ desc,g.sort_number_ desc, countStudent DESC,g.id_ desc
SELECT
g.video_lesson_group_id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
s.name_ AS lessonSubjectName,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.lesson_count_ AS lessonCount,
g.teacher_id_ AS teacherId,
u.username_ AS userName,
u.real_name_ AS realName,
u.avatar_ AS avatar,
g.audit_version_ as auditVersion,
(SELECT COUNT(1) FROM video_lesson_purchase_record r WHERE r.video_lesson_group_id_=g.video_lesson_group_id_ AND r.order_status_='PAID') AS countStudent
FROM video_lesson_purchase_record pr
left join (
SELECT gg.* FROM video_lesson_auth_record ar left join video_lesson_group_log gg on ar.video_group_id_ = gg.video_lesson_group_id_ and ar.version_ = gg.version_
where ar.id_ in (select max(id_) from video_lesson_auth_record where audit_status_ = 'PASS' group by video_group_id_)
) g on g.video_lesson_group_id_ = pr.video_lesson_group_id_
LEFT JOIN sys_user u ON g.teacher_id_=u.id_
LEFT JOIN `subject` s ON g.lesson_subject_ = s.id_
AND u.del_flag_ = 0
AND (
u.username_ LIKE CONCAT('%', #{param.search}, '%') OR
g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%')
)
AND g.shelves_flag_ = #{param.shelvesFlag}
AND g.audit_status_ = #{param.auditStatus}
AND pr.student_id_ = #{param.studentId}
AND g.teacher_id_ = #{param.teacherId}
AND g.audit_version_ = #{param.auditVersion}
AND s.id_ = #{param.lessonSubject}
ORDER BY g.create_time_ DESC
SELECT
g.id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.teacher_id_ AS teacherId,
g.lesson_count_ AS lessonCount,
g.sort_number_ AS sortNumber,
g.lesson_tag_ AS lessonTag,
g.top_flag_ AS topFlag,
g.hot_flag_ AS hotFlag,
g.shelves_flag_ AS shelvesFlag,
g.shelves_time_ as shelvesTime,
g.shelves_reason_ as shelvesReason,
g.create_time_ AS createTime,
g.update_time_ AS updateTime,
g.audit_id_ AS auditId,
g.audit_name_ AS auditName,
g.audit_status_ AS auditStatus,
g.audit_version_ as auditVersion,
s.name_ AS subjectName,
t.username_ AS teacherName,
t.real_name_ AS realName,
t.phone_ AS teacherPhone
FROM video_lesson_group g
LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
LEFT JOIN sys_user t ON g.teacher_id_=t.id_
AND (
g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%') OR
t.id_ LIKE CONCAT('%', #{param.search}, '%') OR
t.username_ LIKE CONCAT('%', #{param.search}, '%') OR
t.phone_ LIKE CONCAT('%', #{param.search}, '%')
)
AND g.audit_status_ = #{param.auditStatus}
AND g.shelves_flag_ = #{param.shelvesFlag}
AND g.lesson_subject_ = #{param.subjectId}
AND g.audit_name_ LIKE CONCAT('%', #{param.auditName}, '%')
= #{param.startTime} ]]>
ORDER BY g.create_time_
SELECT
g.id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.teacher_id_ AS teacherId,
g.lesson_count_ AS lessonCount,
g.sort_number_ AS sortNumber,
g.lesson_tag_ AS lessonTag,
g.top_flag_ AS topFlag,
g.hot_flag_ AS hotFlag,
g.shelves_flag_ AS shelvesFlag,
g.shelves_time_ as shelvesTime,
g.shelves_reason_ as shelvesReason,
g.create_time_ AS createTime,
g.update_time_ AS updateTime,
g.video_detail_json_ as videoDetailJson,
r.audit_id_ AS auditId,
r.audit_name_ AS auditName,
r.audit_status_ AS auditStatus,
g.audit_version_ as auditVersion,
r.video_group_id_ as videoGroupId,
r.audit_status_ AS auditStatus,
r.remarks as remarks,
r.version_ as version,
s.name_ AS subjectName,
t.username_ AS teacherName,
t.real_name_ AS realName,
t.phone_ AS teacherPhone
FROM video_lesson_auth_record r
LEFT JOIN video_lesson_group_log g ON g.video_lesson_group_id_=r.video_group_id_ and r.version_ = g.version_
LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
LEFT JOIN sys_user t ON g.teacher_id_=t.id_
and r.audit_status_ != 'DOING'
AND r.video_group_id_ = #{param.groupId}
AND (
g.id_ LIKE CONCAT('%', #{param.search}, '%') OR
g.lesson_name_ LIKE CONCAT('%', #{param.search}, '%') OR
t.id_ LIKE CONCAT('%', #{param.search}, '%') OR
t.username_ LIKE CONCAT('%', #{param.search}, '%') OR
t.phone_ LIKE CONCAT('%', #{param.search}, '%')
)
AND r.audit_status_ = #{param.auditStatus}
AND g.shelves_flag_ = #{param.shelvesFlag}
AND g.lesson_subject_ = #{param.subjectId}
AND r.audit_name_ LIKE CONCAT('%', #{param.auditName}, '%')
= #{param.startTime} ]]>
ORDER BY g.create_time_ DESC
SELECT
g.id_ AS id,
g.lesson_name_ AS lessonName,
g.lesson_subject_ AS lessonSubject,
g.lesson_desc_ AS lessonDesc,
g.lesson_price_ AS lessonPrice,
g.lesson_cover_url_ AS lessonCoverUrl,
g.teacher_id_ AS teacherId,
g.lesson_count_ AS lessonCount,
g.sort_number_ AS sortNumber,
g.lesson_tag_ AS lessonTag,
g.top_flag_ AS topFlag,
g.hot_flag_ AS hotFlag,
g.shelves_flag_ AS shelvesFlag,
g.shelves_time_ as shelvesTime,
g.shelves_reason_ as shelvesReason,
g.create_time_ AS createTime,
g.update_time_ AS updateTime,
g.audit_version_ as auditVersion,
g.audit_id_ AS auditId,
g.audit_name_ AS auditName,
g.audit_status_ AS auditStatus,
r.version_ as version,
r.video_group_id_ as videoGroupId,
r.remarks as remarks,
s.name_ AS subjectName,
t.username_ AS teacherName,
t.real_name_ AS realName,
t.phone_ AS teacherPhone
FROM video_lesson_group g
LEFT JOIN video_lesson_auth_record r ON g.id_=r.video_group_id_
LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
LEFT JOIN sys_user t ON g.teacher_id_=t.id_
where g.id_ = #{videoGroupId}
order by r.id_ desc limit 1
SELECT
s.name_ AS lessonSubjectName
FROM video_lesson_group g
LEFT JOIN `subject` s ON g.lesson_subject_=s.id_
WHERE g.id_=#{groupId}
AND s.del_flag_ = 0
SELECT
COUNT(1) AS videoLessonCount,
(SELECT COUNT(1) FROM (SELECT COUNT(1) FROM video_lesson_purchase_record GROUP BY student_id_) a) AS payingUser,
(SELECT COUNT(1) FROM video_lesson_group_detail WHERE video_lesson_group_id_ IN
(SELECT id_ FROM video_lesson_group WHERE audit_status_='PASS' and shelves_flag_ = 1)) AS lessonCount
FROM video_lesson_group WHERE audit_status_='PASS' and shelves_flag_ = 1
SELECT
r.video_lesson_group_id_ AS videoLessonGroupId,
g.lesson_name_ AS lessonName,
g.lesson_count_ AS lessonNum,
COUNT(1) AS payCount
FROM video_lesson_purchase_record r
LEFT JOIN video_lesson_group g ON r.video_lesson_group_id_=g.id_
where g.shelves_flag_ = 1 and g.audit_status_ = 'PASS'
GROUP BY r.video_lesson_group_id_
ORDER BY payCount DESC
LIMIT 5