|
@@ -3,59 +3,59 @@
|
|
|
<mapper namespace="org.jeecg.modules.system.app.mapper.AppSitePriceRulesMapper">
|
|
|
<select id="theGymnasiumIsCharteredInfo" resultType="org.jeecg.modules.app.vo.PlaceInfoVO$theGymnasiumIsCharteredInfoVO">
|
|
|
WITH RECURSIVE dates AS (
|
|
|
- SELECT
|
|
|
- 1 AS offset_day,
|
|
|
- CURDATE() AS date_val,
|
|
|
- DAYOFWEEK(
|
|
|
- CURDATE()) - 1 AS dow UNION ALL
|
|
|
- SELECT
|
|
|
- offset_day + 1,
|
|
|
- date_val + INTERVAL 1 DAY,
|
|
|
- DAYOFWEEK( date_val + INTERVAL 0 DAY )
|
|
|
+ SELECT
|
|
|
+ 1 AS offset_day,
|
|
|
+ CURDATE() AS date_val,
|
|
|
+ DAYOFWEEK(
|
|
|
+ CURDATE()) - 1 AS dow UNION ALL
|
|
|
+ SELECT
|
|
|
+ offset_day + 1,
|
|
|
+ date_val + INTERVAL 1 DAY,
|
|
|
+ DAYOFWEEK( date_val + INTERVAL 0 DAY )
|
|
|
FROM
|
|
|
- dates
|
|
|
+ dates
|
|
|
WHERE
|
|
|
- offset_day < 7
|
|
|
- ),
|
|
|
- earliest_slots AS (
|
|
|
+ offset_day < 7
|
|
|
+ ),
|
|
|
+ earliest_slots AS (
|
|
|
SELECT
|
|
|
- sp.site_id,
|
|
|
- r.start_time,
|
|
|
- r.end_time,
|
|
|
- r.selling_price,
|
|
|
- r.day_of_week,
|
|
|
- ROW_NUMBER() OVER (PARTITION BY r.day_of_week ORDER BY r.selling_price ASC, r.start_time ASC) AS rn
|
|
|
- FROM
|
|
|
- nm_site_price_rules r
|
|
|
- LEFT JOIN nm_site_place sp ON r.site_place_id = sp.id
|
|
|
- WHERE
|
|
|
- r.view_status = 0 AND r.org_code = #{orgCode} AND r.category_id = #{categoryId}
|
|
|
- ) SELECT
|
|
|
- es.site_id AS id,
|
|
|
- es.start_time AS startTime,
|
|
|
- CONCAT( es.start_time, '-', es.end_time ) AS time_range,
|
|
|
- es.selling_price AS sellingPrice,
|
|
|
- CASE
|
|
|
-
|
|
|
- WHEN dm.offset_day = 1 THEN
|
|
|
- CONCAT( '今 天 (', DATE_FORMAT( dm.date_val, '%m-%d' ), ')' )
|
|
|
- WHEN dm.offset_day = 2 THEN
|
|
|
- CONCAT( '明 天 (', DATE_FORMAT( dm.date_val, '%m-%d' ), ')' )
|
|
|
- WHEN dm.offset_day = 3 THEN
|
|
|
- CONCAT( '后 天 (', DATE_FORMAT( dm.date_val, '%m-%d' ), ')' ) ELSE CONCAT(
|
|
|
- ELT( dm.dow, '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日' ),
|
|
|
- '(',
|
|
|
- DATE_FORMAT( dm.date_val, '%m-%d' ),
|
|
|
- ')'
|
|
|
- )
|
|
|
- END AS date_label
|
|
|
+ sp.site_id,
|
|
|
+ r.start_time,
|
|
|
+ r.end_time,
|
|
|
+ r.selling_price,
|
|
|
+ r.day_of_week,
|
|
|
+ ROW_NUMBER() OVER ( PARTITION BY r.day_of_week ORDER BY r.selling_price ASC, r.start_time ASC ) AS rn
|
|
|
FROM
|
|
|
- earliest_slots es
|
|
|
- JOIN ( SELECT offset_day, date_val, dow FROM dates ) AS dm ON es.day_of_week = dm.dow
|
|
|
+ nm_site_price_rules r
|
|
|
+ LEFT JOIN nm_site_place sp ON r.site_place_id = sp.id
|
|
|
WHERE
|
|
|
- es.rn = 1
|
|
|
- ORDER BY
|
|
|
- dm.offset_day;
|
|
|
+ r.view_status = 0 AND r.org_code = #{orgCode} AND r.category_id = #{categoryId}
|
|
|
+ ) SELECT
|
|
|
+ es.site_id AS id,
|
|
|
+ es.day_of_week,
|
|
|
+ es.start_time AS startTime,
|
|
|
+ CONCAT( es.start_time, '-', es.end_time ) AS time_range,
|
|
|
+ es.selling_price AS sellingPrice,
|
|
|
+ CASE
|
|
|
+ WHEN dm.offset_day = 1 THEN
|
|
|
+ CONCAT( '今天(', DATE_FORMAT( dm.date_val, '%m-%d' ), ')' )
|
|
|
+ WHEN dm.offset_day = 2 THEN
|
|
|
+ CONCAT( '明天(', DATE_FORMAT( dm.date_val, '%m-%d' ), ')' )
|
|
|
+ WHEN dm.offset_day = 3 THEN
|
|
|
+ CONCAT( '后天(', DATE_FORMAT( dm.date_val, '%m-%d' ), ')' ) ELSE CONCAT(
|
|
|
+ ELT( dm.dow, '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日' ),
|
|
|
+ '(',
|
|
|
+ DATE_FORMAT( dm.date_val, '%m-%d' ),
|
|
|
+ ')'
|
|
|
+ )
|
|
|
+ END AS date_label
|
|
|
+ FROM
|
|
|
+ earliest_slots es
|
|
|
+ JOIN ( SELECT offset_day, date_val, dow FROM dates ) AS dm ON es.day_of_week = dm.dow
|
|
|
+ WHERE
|
|
|
+ es.rn = 1
|
|
|
+ ORDER BY
|
|
|
+ dm.offset_day;
|
|
|
</select>
|
|
|
<select id="timeSlot" resultType="org.jeecg.modules.app.vo.OrderVO$PreviewOrderPlaceSchoolChild">
|
|
|
SELECT
|