Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
张松 2024-12-30 20:58:14 +08:00
commit ddb1c196b3
2 changed files with 59 additions and 158 deletions

View File

@ -39,7 +39,7 @@
c.dy_show as dyShow,
c.sort,
round(10000*rand(),0) as goodNum,
cd.course_details_count as courseDetailsCount, -- Replaced subquery with left join count
d.courseDetailsCount,
null AS courseDetailsName,
null AS courseDetailsId,
round(10000*rand(),0) as weekGoodNum,
@ -47,170 +47,62 @@
FROM
course AS c
LEFT JOIN course_classification AS cc ON c.classify_id = cc.classification_id
LEFT JOIN banner AS b ON b.id = c.banner_id
LEFT JOIN (
SELECT
course_id,
COUNT(*) as course_details_count
FROM
course_details
GROUP BY
course_id
) AS cd ON c.course_id = cd.course_id
left join banner as b on b.id=c.banner_id
left join (select course_id,count(*) as courseDetailsCount from course_details group by course_id) d.course_id = c.course_id
WHERE
1 = 1
AND c.is_delete = 0
<if test='null != wxShow and wxShow==1'>
AND c.wx_show = #{wxShow}
and c.wx_show = #{wxShow}
</if>
<if test='null != wxShow and wxShow==2'>
AND (c.wx_show = #{wxShow} OR c.wx_show IS NULL)
and (c.wx_show = #{wxShow} or c.wx_show is null)
</if>
<if test='null != dyShow and dyShow==1'>
AND c.dy_show = #{dyShow}
and c.dy_show = #{dyShow}
</if>
<if test='null != dyShow and dyShow==2'>
AND (c.dy_show = #{dyShow} OR c.dy_show IS NULL)
and (c.dy_show = #{dyShow} or c.dy_show is null)
</if>
<if test='null != title'>
AND c.title LIKE CONCAT('%', #{title}, '%')
and c.title LIKE CONCAT('%', #{title}, '%')
</if>
<if test='null != classifyId and classifyId != 0'>
AND c.classify_id = #{classifyId}
<if test='null!= classifyId and classifyId!=0'>
and c.classify_id = #{classifyId}
</if>
<if test='null != bannerId and bannerId != 0'>
AND c.banner_id = #{bannerId}
<if test='null!= bannerId and bannerId!=0'>
and c.banner_id = #{bannerId}
</if>
<if test="classifyId == 0">
AND c.is_recommend = 1
<if test="classifyId==0">
and c.is_recommend=1
</if>
<if test="over != null">
AND c.is_over = #{over}
<if test="over!=null">
and c.is_over=#{over}
</if>
<if test="isRecommend != null and isRecommend != -1">
AND c.course_id IN (SELECT course_id FROM course_details WHERE good = 1)
<if test="isRecommend!=null and isRecommend!=-1">
and c.course_id in (select course_id from course_details where good=1)
</if>
<if test="status != null and status != 0">
AND c.status = #{status}
<if test="status!=null and status!=0">
and c.status=#{status}
</if>
<if test="isPrice != null">
AND c.is_price = #{isPrice}
<if test="isPrice!=null">
and c.is_price=#{isPrice}
</if>
<if test="wxCourse != null">
AND c.wx_course_id IS NOT NULL
<if test="wxCourse!=null">
and c.wx_course_id is not null
</if>
<if test="dyCourse != null">
AND c.dy_status = 4
<if test="dyCourse!=null">
and c.dy_status=4
</if>
<if test="sort == null">
ORDER BY c.sort ASC, c.create_time DESC
<if test="sort==null">
order by c.sort asc,c.create_time desc
</if>
<if test="sort != null and sort == 1">
ORDER BY goodNum DESC
<if test="sort!=null and sort==1">
order by goodNum desc
</if>
<if test="sort != null and sort == 2">
ORDER BY weekGoodNum DESC
<if test="sort!=null and sort==2">
order by weekGoodNum desc
</if>
<!--
SELECT
c.classify_id as classifyId,
c.course_id as courseId,
c.course_label as courseLabel,
c.create_time createTime,
c.details,
c.img,
c.banner_img as bannerImg,
c.status,
c.is_delete as isDelete,
c.msg_type msgType,
c.msg_url as msgUrl,
c.pay_num as payNum,
c.price,
c.wholesale_price as wholesalePrice,
c.is_over as isOver,
c.title,
c.is_price as isPrice,
c.title_img as titleImg,
c.update_time as updateTime,
cc.classification_name as classificationName,
c.course_type as courseType,
c.banner_id as bannerId,
b.name as bannerName,
0 as viewCounts,
c.dy_img_id as dyImgId,
c.dy_course_id as dyCourseId,
c.wx_course_id as wxCourseId,
c.wx_show as wxShow,
c.dy_show as dyShow,
c.sort,
round(10000*rand(),0) as goodNum,
(select count(*) from course_details d where d.course_id=c.course_id ) as courseDetailsCount,
null AS courseDetailsName,
null AS courseDetailsId,
round(10000*rand(),0) as weekGoodNum,
0 as isRecommend
FROM
course AS c
LEFT JOIN course_classification AS cc ON c.classify_id = cc.classification_id
left join banner as b on b.id=c.banner_id
WHERE
1 = 1
AND c.is_delete = 0
<if test='null != wxShow and wxShow==1'>
and c.wx_show = #{wxShow}
</if>
<if test='null != wxShow and wxShow==2'>
and (c.wx_show = #{wxShow} or c.wx_show is null)
</if>
<if test='null != dyShow and dyShow==1'>
and c.dy_show = #{dyShow}
</if>
<if test='null != dyShow and dyShow==2'>
and (c.dy_show = #{dyShow} or c.dy_show is null)
</if>
<if test='null != title'>
and c.title LIKE CONCAT('%', #{title}, '%')
</if>
<if test='null!= classifyId and classifyId!=0'>
and c.classify_id = #{classifyId}
</if>
<if test='null!= bannerId and bannerId!=0'>
and c.banner_id = #{bannerId}
</if>
<if test="classifyId==0">
and c.is_recommend=1
</if>
<if test="over!=null">
and c.is_over=#{over}
</if>
<if test="isRecommend!=null and isRecommend!=-1">
and c.course_id in (select course_id from course_details where good=1)
</if>
<if test="status!=null and status!=0">
and c.status=#{status}
</if>
<if test="isPrice!=null">
and c.is_price=#{isPrice}
</if>
<if test="wxCourse!=null">
and c.wx_course_id is not null
</if>
<if test="dyCourse!=null">
and c.dy_status=4
</if>
<if test="sort==null">
order by c.sort asc,c.create_time desc
</if>
<if test="sort!=null and sort==1">
order by goodNum desc
</if>
<if test="sort!=null and sort==2">
order by weekGoodNum desc
</if>
-->
</select>
<select id="selectCourseAdmin" resultType="Map">
@ -239,7 +131,7 @@
c.course_type as courseType,
c.banner_id as bannerId,
b.name as bannerName,
(select sum(cd.view_count) from course_details cd where cd.course_id = c.course_id ) as viewCounts,
d.viewCounts,
c.dy_img_id as dyImgId,
c.dy_course_id as dyCourseId,
c.dy_status as dyStatus,
@ -262,24 +154,26 @@
c.`cost_distribution_uri` as costDistributionUri,
c.`assurance_uri` as assuranceUri,
c.`playlet_production_cost` as playletProductionCost,
c.`qualification_type` as qualificationType,
c.`registration_number` as registrationNumber,
c.`qualification_certificate_material_id` as qualificationCertificateMaterialId,
c.`cost_of_production` as costOfProduction,
c.`cost_commitment_letter_material_id` as costCommitmentLetterMaterialId,
c.`wx_course_status` as wxCourseStatus,
(select count(*) from course_details where dy_url_status in (1,3) or dy_url_status=null) as dyUrlStatus,
(select sum(o.pay_money) from orders o where o.course_id=c.course_id and o.status=1) as payMoney,
(select sum(good_num) from course_details d where d.course_id=c.course_id ) as goodNum,
(select count(*) from course_details d where d.course_id=c.course_id ) as courseDetailsCount,
t.dyUrlStatus,
o.payMoney,
d.goodNum,
d.courseDetailsCount,
0 as weekGoodNum,
(select count(*) from course_details cd where c.course_id=cd.course_id and cd.good=1 ) as isRecommend
tt.isRecommend
FROM
course AS c
LEFT JOIN course_classification AS cc ON c.classify_id = cc.classification_id
left join banner as b on b.id=c.banner_id
left join (select 1 as id,count(*) as dyUrlStatus from course_details where dy_url_status in (1,3) or dy_url_status=null group by course_id) t on t.id = 1
left join (select course_id,sum(pay_money) as payMoney from orders where status=1 group by course_id) o on o.course_id = c.course_id
left join (select course_id,sum(view_count) as viewCounts,sum(good_num) as goodNum,count(*) as courseDetailsCount from course_details group by course_id) d on d.course_id = c.course_id
left join (select course_id,count(*) as isRecommend from course_details where good=1 group by course_id) tt on tt.course_id = c.course_id
WHERE
1 = 1
AND c.is_delete = 0
@ -328,8 +222,6 @@
<if test="dyCourse!=null">
and c.dy_status=4
</if>
order by c.sort asc,c.create_time desc
<!--
<if test="sort==null">
order by c.sort asc,c.create_time desc
</if>
@ -339,7 +231,6 @@
<if test="sort!=null and sort==2">
order by weekGoodNum desc
</if>
-->
</select>
<select id="selectCourseTitle" resultType="Map">

View File

@ -5,8 +5,10 @@
<!--查找指定短剧的目录 按照顺序数字升序-->
<select id="findByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
select c.*,
(select count(*) from course_collect cc where cc.user_id=#{userId} and cc.course_details_id=c.course_details_id and cc.classify=2) as isGood
from course_details c where c.course_id=#{id} order by c.sort asc
cc.isGood
from course_details c
left join (select course_details_id,count(*) isGood from course_collect where user_id=#{userId} and classify=2 group by course_details_id) cc on c.course_details_id = c.course_details_id
where c.course_id=#{id} order by c.sort asc
</select>
<select id="selectCoursePageByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
@ -21,15 +23,23 @@
</select>
<select id="findByCourseIdNotUrl" resultType="com.sqx.modules.course.entity.CourseDetails">
select c.course_details_id as courseDetailsId,c.course_id as courseId,c.wx_course_details_id as wxCourseDetailsId,
c.course_details_name as courseDetailsName,c.create_time as createTime,
c.title_img as titleImg,c.content,c.good_num as goodNum,c.price,
select c.course_details_id as courseDetailsId,
c.course_id as courseId,
c.wx_course_details_id as wxCourseDetailsId,
c.course_details_name as courseDetailsName,
c.create_time as createTime,
c.title_img as titleImg,
c.content,
c.good_num as goodNum,
c.price,
if(c.is_price!=1,c.video_url,'') as videoUrl,
c.dy_episode_id as dyEpisodeId,c.advertising,
c.dy_episode_id as dyEpisodeId,
c.advertising,
c.view_count as viewCount,
c.play_complete_count as playCompleteCount,
(select count(*) from course_collect cc where cc.user_id=#{userId} and cc.course_details_id=c.course_details_id and cc.classify=2) as isGood
cc.isGood
from course_details c
left join (select course_details_id,count(*) as isGood from course_collect where user_id=#{userId} and classify=2 group by course_details_id) cc on cc.course_details_id = c.course_details_id
where c.course_id=#{id} order by c.sort asc
</select>