StoreReservationMapper.xml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="shop.alien.mapper.StoreReservationMapper">
  4. <!-- 商家端预约信息列表结果映射 -->
  5. <resultMap id="StoreReservationListVoMap" type="shop.alien.entity.store.vo.StoreReservationListVo">
  6. <id column="id" property="id" />
  7. <result column="reservation_no" property="reservationNo" />
  8. <result column="reservation_date" property="reservationDate" />
  9. <result column="week_day" property="weekDay" />
  10. <result column="category_id" property="categoryId" />
  11. <result column="category_name" property="categoryName" />
  12. <result column="guest_count" property="guestCount" />
  13. <result column="table_numbers" property="tableNumbers" />
  14. <result column="start_time" property="startTime" />
  15. <result column="end_time" property="endTime" />
  16. <result column="time_slot" property="timeSlot" />
  17. <result column="user_id" property="userId" />
  18. <result column="customer_name" property="customerName" />
  19. <result column="contact_phone" property="contactPhone" />
  20. <result column="remark" property="remark" />
  21. <result column="status" property="status" />
  22. <result column="status_text" property="statusText" />
  23. <result column="refund_amount" property="refundAmount" />
  24. <result column="deposit_amount" property="depositAmount" />
  25. <result column="order_status" property="orderStatus" />
  26. <result column="order_status_text" property="orderStatusText" />
  27. <result column="actual_arrival_time" property="actualArrivalTime" />
  28. <result column="created_time" property="createdTime" />
  29. </resultMap>
  30. <!-- 查询商家端预约信息列表 -->
  31. <select id="getStoreReservationList" resultMap="StoreReservationListVoMap">
  32. SELECT
  33. ur.id,
  34. ur.reservation_no,
  35. ur.reservation_date,
  36. CASE DAYOFWEEK(ur.reservation_date)
  37. WHEN 1 THEN '周日'
  38. WHEN 2 THEN '周一'
  39. WHEN 3 THEN '周二'
  40. WHEN 4 THEN '周三'
  41. WHEN 5 THEN '周四'
  42. WHEN 6 THEN '周五'
  43. WHEN 7 THEN '周六'
  44. END AS week_day,
  45. ur.category_id,
  46. sbc.category_name,
  47. ur.guest_count,
  48. GROUP_CONCAT(sbt.table_number ORDER BY urt.sort ASC SEPARATOR ',') AS table_numbers,
  49. ur.start_time,
  50. ur.end_time,
  51. CONCAT(IFNULL(ur.start_time, ''), '-', IFNULL(ur.end_time, '')) AS time_slot,
  52. ur.user_id,
  53. IFNULL(lu.real_name, lu.user_name) AS customer_name,
  54. lu.user_phone AS contact_phone,
  55. ur.remark,
  56. ur.status,
  57. CASE ur.status
  58. WHEN 0 THEN '待确认'
  59. WHEN 1 THEN '待使用'
  60. WHEN 2 THEN '已完成'
  61. WHEN 3 THEN '已取消'
  62. WHEN 4 THEN '未到店'
  63. ELSE '未知'
  64. END AS status_text,
  65. uro.refund_amount,
  66. uro.deposit_amount,
  67. uro.order_status,
  68. CASE uro.order_status
  69. WHEN 0 THEN '待支付'
  70. WHEN 1 THEN '待使用'
  71. WHEN 2 THEN '已完成'
  72. WHEN 3 THEN '已过期'
  73. WHEN 4 THEN '已取消'
  74. WHEN 5 THEN '已关闭'
  75. WHEN 6 THEN '退款中'
  76. WHEN 7 THEN '已退款'
  77. WHEN 8 THEN '商家预订'
  78. ELSE '未知'
  79. END AS order_status_text,
  80. ur.actual_arrival_time,
  81. ur.created_time
  82. FROM
  83. user_reservation ur
  84. LEFT JOIN store_booking_category sbc ON ur.category_id = sbc.id AND sbc.delete_flag = 0
  85. LEFT JOIN user_reservation_table urt ON ur.id = urt.reservation_id AND urt.delete_flag = 0
  86. LEFT JOIN store_booking_table sbt ON urt.table_id = sbt.id AND sbt.delete_flag = 0
  87. LEFT JOIN life_user lu ON ur.user_id = lu.id AND lu.delete_flag = 0
  88. LEFT JOIN user_reservation_order uro ON ur.id = uro.reservation_id AND uro.delete_flag = 0
  89. WHERE
  90. ur.delete_flag = 0
  91. AND ur.store_id = #{storeId}
  92. <if test="status != null">
  93. AND ur.status = #{status}
  94. </if>
  95. <if test="dateFrom != null">
  96. AND ur.reservation_date &gt;= #{dateFrom}
  97. </if>
  98. <if test="dateTo != null">
  99. AND ur.reservation_date &lt;= #{dateTo}
  100. </if>
  101. <if test="orderStatus != null">
  102. AND uro.order_status = #{orderStatus}
  103. </if>
  104. GROUP BY
  105. ur.id
  106. ORDER BY
  107. ur.reservation_date DESC,
  108. ur.start_time ASC,
  109. ur.created_time DESC
  110. </select>
  111. </mapper>