1.排队取号 数量查询不准确修复
This commit is contained in:
@@ -35,31 +35,46 @@
|
||||
<select id="selectInfoByOpenId"
|
||||
resultType="com.chaozhanggui.system.cashierservice.entity.vo.CallQueueInfoVO">
|
||||
SELECT
|
||||
d.shop_name, d.logo, d.status as shop_state,
|
||||
d.shop_name,
|
||||
d.logo,
|
||||
d.status AS shop_state,
|
||||
a.call_num,
|
||||
a.id, -- 用户的排队记录ID
|
||||
a.state,
|
||||
a.user_id, -- 用户ID
|
||||
b.name AS table_name, -- 桌子名称
|
||||
b.note AS table_note, -- 桌子备注
|
||||
COUNT(c.id) AS waiting_count, -- 前面有几个人
|
||||
COUNT(c.id) * b.wait_time AS wait_time -- 预计等待时间
|
||||
(
|
||||
SELECT COUNT(1)
|
||||
FROM tb_call_queue c
|
||||
WHERE
|
||||
c.call_table_id = a.call_table_id
|
||||
and c.shop_id=a.shop_id -- 同一张桌子
|
||||
AND c.create_time < a.create_time -- 在当前用户之前排队
|
||||
AND c.state IN (0, 1) -- 排队中或等待中的人
|
||||
) AS waiting_count, -- 前面有几个人
|
||||
(
|
||||
SELECT COUNT(1) * b.wait_time
|
||||
FROM tb_call_queue c
|
||||
WHERE
|
||||
c.call_table_id = a.call_table_id
|
||||
AND c.shop_id=a.shop_id -- 同一张桌子
|
||||
AND c.create_time < a.create_time -- 在当前用户之前排队
|
||||
AND c.state IN (0, 1) -- 排队中或等待中的人
|
||||
) AS wait_time -- 预计等待时间
|
||||
FROM
|
||||
tb_call_queue a
|
||||
left join tb_shop_info d on a.shop_id=d.id
|
||||
LEFT JOIN
|
||||
tb_shop_info d ON a.shop_id = d.id
|
||||
LEFT JOIN
|
||||
tb_call_table b ON a.call_table_id = b.id
|
||||
LEFT JOIN
|
||||
tb_call_queue c ON c.call_table_id = a.call_table_id
|
||||
|
||||
AND c.create_time < a.create_time
|
||||
AND c.state IN (0, 1) -- 前面的人
|
||||
WHERE
|
||||
a.open_id=#{openId} and a.shop_id=#{shopId} and a.create_day=#{today} -- 替换为目标用户的user_id
|
||||
a.open_id = #{openId} -- 替换为目标用户的 open_id
|
||||
AND a.shop_id = #{shopId}
|
||||
AND a.create_day = #{today} -- 替换为目标日期
|
||||
GROUP BY
|
||||
a.id, a.user_id, b.name, b.note, b.wait_time
|
||||
ORDER BY
|
||||
a.create_time ASC;
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user