diff --git a/src/main/resources/mapper/app/UserDao.xml b/src/main/resources/mapper/app/UserDao.xml index ef279061..ccfce902 100644 --- a/src/main/resources/mapper/app/UserDao.xml +++ b/src/main/resources/mapper/app/UserDao.xml @@ -136,7 +136,6 @@ - select * from ( select c.course_id as courseId,sum(o.pay_money) as 'coursemoney' ,count(*) as 'coursenum',any_value(c.title) as 'coursename' from orders o left join course c on o.course_id=c.course_id @@ -154,8 +153,7 @@ and date_format(o.create_time,'%Y')=date_format(#{date},'%Y') group by c.course_id - ) a - order by a.coursenum desc + order by coursenum desc select count(*) from tb_user t @@ -335,4 +333,4 @@ - \ No newline at end of file + diff --git a/src/main/resources/mapper/course/CourseCollectDao.xml b/src/main/resources/mapper/course/CourseCollectDao.xml index 74a664a6..d60f4a9a 100644 --- a/src/main/resources/mapper/course/CourseCollectDao.xml +++ b/src/main/resources/mapper/course/CourseCollectDao.xml @@ -6,6 +6,34 @@ SELECT + MAX(u.update_time) AS produceEndTime, + c.*, + d1.course_details_name AS courseDetailsName, + d1.course_details_id AS courseDetailsId, + COUNT(d2.course_details_id) AS courseDetailsCount + FROM + course_collect u + LEFT JOIN + course c ON u.course_id = c.course_id + LEFT JOIN + course_collect cc1 ON cc1.course_id = u.course_id + AND cc1.classify = 3 + AND cc1.user_id = #{userId} + LEFT JOIN + course_details d1 ON cc1.course_details_id = d1.course_details_id + LEFT JOIN + course_details d2 ON d2.course_id = c.course_id + WHERE + u.user_id = #{userId} + AND c.course_id IS NOT NULL + AND u.classify = #{classify} + GROUP BY + u.course_id, c.course_id + ORDER BY + produceEndTime DESC; + + + - \ No newline at end of file + diff --git a/src/main/resources/mapper/course/CourseDao.xml b/src/main/resources/mapper/course/CourseDao.xml index c5e96f94..b11f0451 100644 --- a/src/main/resources/mapper/course/CourseDao.xml +++ b/src/main/resources/mapper/course/CourseDao.xml @@ -7,6 +7,103 @@ where course_id = #{id} + + SELECT + c.classify_id AS classifyId, + c.course_id AS courseId, + c.course_label AS courseLabel, + c.create_time AS createTime, + c.details, + c.img, + c.banner_img AS bannerImg, + c.status, + c.is_delete AS isDelete, + c.msg_type AS 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, + 0 AS goodNum, + d.courseDetailsCount, + NULL AS courseDetailsName, + NULL AS courseDetailsId, + 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 + LEFT JOIN + (SELECT course_id, COUNT(*) AS courseDetailsCount FROM course_details GROUP BY course_id) AS d + ON c.course_id = d.course_id + WHERE + c.is_delete = 0 + + AND c.wx_show = #{wxShow} + + + AND (c.wx_show = #{wxShow} OR c.wx_show IS NULL) + + + AND c.dy_show = #{dyShow} + + + AND (c.dy_show = #{dyShow} OR c.dy_show IS NULL) + + + AND c.title LIKE CONCAT('%', #{title}, '%') + + + AND c.classify_id = #{classifyId} + + + AND c.banner_id = #{bannerId} + + + AND c.is_recommend = 1 + + + AND c.is_over = #{over} + + + AND c.course_id IN (SELECT course_id FROM course_details WHERE good = 1) + + + AND c.status = #{status} + + + AND c.is_price = #{isPrice} + + + AND c.wx_course_id IS NOT NULL + + + AND c.dy_status = 4 + + ORDER BY + c.sort ASC, c.create_time DESC; + + +