陶杰
2024-09-27 8ff260150ad8f2804b62dd649e93cefb04e349df
src/main/resources/mapper/calendar/CalendarMapperCustom.xml
@@ -4,13 +4,35 @@
    <select id="getOrderDatePage" resultType="com.mzl.flower.dto.response.report.OrderReportCalendarBO">
        <include refid="baseSql"></include>
    </select>
    <select id="getOrderDateList" resultType="com.mzl.flower.dto.response.report.OrderReportCalendarBO">
        <include refid="baseSql"></include>
    </select>
    <sql id="baseSql">
        select cal_date,
            DATE_FORMAT(DATE_SUB(cal_date, INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') AS start_date ,
            DATE_FORMAT(DATE_ADD(cal_date, INTERVAL 0 DAY), '%Y-%m-%d 17:00:00') AS end_date
               DATE_FORMAT(DATE_SUB(cal_date, INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') AS start_date ,
               DATE_FORMAT(DATE_ADD(cal_date, INTERVAL 0 DAY), '%Y-%m-%d 17:00:00') AS end_date
        from t_calendar t
        where 1=1
        <if test="dto.startDate != null">
            and t.cal_date &gt; #{dto.startDate}
        </if>
        <if test="dto.endDate != null">
            and t.cal_date  &lt;= #{dto.endDate}
        </if>
        order by cal_date desc
    </sql>
    <sql id="baseSql2">
        select cal_date,
               DATE_FORMAT(DATE_SUB(cal_date, INTERVAL 1 DAY), '%Y-%m-%d 17:00:00') AS start_date ,
               DATE_FORMAT(DATE_ADD(cal_date, INTERVAL 0 DAY), '%Y-%m-%d 17:00:00') AS end_date
        from t_calendar where cal_date &gt;= (
        SELECT DATE_FORMAT(MIN(create_time), '%Y-%m-%d 00:00:00') AS min_create_time
        FROM t_order
            SELECT DATE_FORMAT(MIN(create_time), '%Y-%m-%d 00:00:00') AS min_create_time
            FROM t_order
        )  and cal_date &lt;=DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00')
        order by cal_date desc
    </select>
    </sql>
</mapper>