|
@@ -2,60 +2,60 @@
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<mapper namespace="org.jeecg.modules.system.app.mapper.AppSitePriceRulesMapper">
|
|
|
<select id="theGymnasiumIsCharteredInfo" resultType="org.jeecg.modules.app.vo.PlaceInfoVO$theGymnasiumIsCharteredInfoVO">
|
|
|
+<![CDATA[
|
|
|
WITH RECURSIVE dates AS (
|
|
|
SELECT
|
|
|
1 AS offset_day,
|
|
|
CURDATE() AS date_val,
|
|
|
- DAYOFWEEK(
|
|
|
- CURDATE()) - 1 AS dow UNION ALL
|
|
|
+ DAYOFWEEK(CURDATE()) - 1 AS dow
|
|
|
+ UNION ALL
|
|
|
SELECT
|
|
|
offset_day + 1,
|
|
|
date_val + INTERVAL 1 DAY,
|
|
|
- DAYOFWEEK( date_val + INTERVAL 0 DAY )
|
|
|
- FROM
|
|
|
- dates
|
|
|
- WHERE
|
|
|
- offset_day < 7
|
|
|
+ DAYOFWEEK(date_val + INTERVAL 0 DAY)
|
|
|
+ FROM dates
|
|
|
+ WHERE offset_day < 7
|
|
|
),
|
|
|
earliest_slots AS (
|
|
|
SELECT
|
|
|
- sp.site_id,
|
|
|
+ r.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
|
|
|
+ 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.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;
|
|
|
+ r.view_status = 0
|
|
|
+ AND r.org_code = #{orgCode}
|
|
|
+ AND (#{categoryId} IS NULL OR r.category_id = #{categoryId})
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ es.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
|