| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="shop.alien.mapper.StoreReservationMapper">
- <!-- 商家端预约信息列表结果映射 -->
- <resultMap id="StoreReservationListVoMap" type="shop.alien.entity.store.vo.StoreReservationListVo">
- <id column="id" property="id" />
- <result column="reservation_no" property="reservationNo" />
- <result column="reservation_date" property="reservationDate" />
- <result column="week_day" property="weekDay" />
- <result column="category_id" property="categoryId" />
- <result column="category_name" property="categoryName" />
- <result column="guest_count" property="guestCount" />
- <result column="table_numbers" property="tableNumbers" />
- <result column="start_time" property="startTime" />
- <result column="end_time" property="endTime" />
- <result column="time_slot" property="timeSlot" />
- <result column="user_id" property="userId" />
- <result column="customer_name" property="customerName" />
- <result column="contact_phone" property="contactPhone" />
- <result column="remark" property="remark" />
- <result column="reason" property="reason" />
- <result column="status" property="status" />
- <result column="status_text" property="statusText" />
- <result column="refund_amount" property="refundAmount" />
- <result column="deposit_amount" property="depositAmount" />
- <result column="order_status" property="orderStatus" />
- <result column="order_status_text" property="orderStatusText" />
- <result column="order_cost_type" property="orderCostType" />
- <result column="out_trade_no" property="outTradeNo" />
- <result column="payment_method" property="paymentMethod" />
- <result column="actual_arrival_time" property="actualArrivalTime" />
- <result column="created_time" property="createdTime" />
- </resultMap>
- <!-- 查询商家端预约信息列表 -->
- <select id="getStoreReservationList" resultMap="StoreReservationListVoMap">
- SELECT
- ur.id,
- ur.reservation_no,
- ur.reservation_date,
- CASE DAYOFWEEK(ur.reservation_date)
- WHEN 1 THEN '周日'
- WHEN 2 THEN '周一'
- WHEN 3 THEN '周二'
- WHEN 4 THEN '周三'
- WHEN 5 THEN '周四'
- WHEN 6 THEN '周五'
- WHEN 7 THEN '周六'
- END AS week_day,
- ur.category_id,
- sbc.category_name,
- ur.guest_count,
- GROUP_CONCAT(sbt.table_number ORDER BY urt.sort ASC SEPARATOR ',') AS table_numbers,
- ur.start_time,
- ur.end_time,
- CONCAT(IFNULL(ur.start_time, ''), '-', IFNULL(ur.end_time, '')) AS time_slot,
- ur.user_id,
- -- IFNULL(lu.real_name, lu.user_name) AS customer_name,
- -- lu.user_phone AS contact_phone,
- ur.reservation_user_phone AS contact_phone,
- ur.reservation_user_name AS customer_name,
- ur.remark,
- IFNULL(ur.reason, '') AS reason,
- ur.status,
- CASE ur.status
- WHEN 0 THEN '待确认'
- WHEN 1 THEN '待使用'
- WHEN 2 THEN '已完成'
- WHEN 3 THEN '已取消'
- WHEN 4 THEN '未到店'
- WHEN 5 THEN '用餐结束'
- ELSE '未知'
- END AS status_text,
- uro.refund_amount,
- uro.deposit_amount,
- uro.order_status,
- uro.order_cost_type,
- IFNULL(uro.out_trade_no, '') AS out_trade_no,
- IFNULL(uro.payment_method, '') AS payment_method,
- CASE uro.order_status
- WHEN 0 THEN '待支付'
- WHEN 1 THEN '待使用'
- WHEN 2 THEN '已完成'
- WHEN 3 THEN '已过期'
- WHEN 4 THEN '已取消'
- WHEN 5 THEN '已关闭'
- WHEN 6 THEN '退款中'
- WHEN 7 THEN '退款成功'
- WHEN 8 THEN '商家预订'
- ELSE '未知'
- END AS order_status_text,
- ur.actual_arrival_time,
- ur.created_time
- FROM
- user_reservation ur
- LEFT JOIN store_booking_category sbc ON ur.category_id = sbc.id
- LEFT JOIN user_reservation_table urt ON ur.id = urt.reservation_id AND urt.delete_flag = 0
- LEFT JOIN store_table sbt ON urt.table_id = sbt.id
- LEFT JOIN life_user lu ON ur.user_id = lu.id AND lu.delete_flag = 0
- LEFT JOIN user_reservation_order uro ON ur.id = uro.reservation_id AND uro.delete_flag = 0
- WHERE
- ur.delete_flag = 0
- AND ur.type = 0
- AND ur.store_id = #{storeId}
- <if test="status != null">
- AND ur.status = #{status}
- </if>
- <if test="dateFrom != null">
- AND ur.reservation_date >= #{dateFrom}
- </if>
- <if test="dateTo != null">
- AND ur.reservation_date <= #{dateTo}
- </if>
- <if test="reservationUserName != null and reservationUserName != ''">
- AND ur.reservation_user_name LIKE CONCAT('%', #{reservationUserName}, '%')
- </if>
- <choose>
- <when test="orderStatus != null">
- AND uro.order_status = #{orderStatus}
- </when>
- <otherwise>
- AND uro.order_status NOT IN (0, 5)
- </otherwise>
- </choose>
- GROUP BY
- ur.id
- ORDER BY
- CASE WHEN ur.status = 1 THEN 0 ELSE 1 END ASC,
- ur.reservation_date ASC,
- ur.start_time ASC
- </select>
- </mapper>
|