feat: 台桌状态根据detail表判断

This commit is contained in:
张松 2024-11-18 11:40:40 +08:00
parent 2f5d902a9b
commit 2fb2667b29
2 changed files with 10 additions and 7 deletions

View File

@ -48,4 +48,7 @@ public interface TbCashierCartMapper extends BaseMapper<TbCashierCart> {
@Update("update tb_cashier_cart set status=#{status}, total_amount=(number+#{changeNum})*sale_price,number=number+#{changeNum},total_number=total_number+#{changeNum} " +
"where id=#{id}")
int updateNumAmountStatus(Integer id, String status, Integer changeNum);
@Select("select a.* from tb_cashier_cart as a left join tb_order_detail as b on a.id=b.cart_id where a.shop_id=#{shopId} and a.status=#{state} and a.created_at>#{time} and b.id is not null;")
List<TbCashierCart> selectPlaceCart(Integer shopId, long time, String state);
}

View File

@ -263,12 +263,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
List<TbShopTable> tbShopTableList = shopTablePage.getRecords();
ArrayList<Map<String, Object>> infoList = new ArrayList<>();
List<TbCashierCart> cartList = tbCashierCartMapper.selectList(new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, criteria.getShopId())
// .eq(TbCashierCart::getTableId, date.getQrcode())
.gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
.eq(TbCashierCart::getStatus, "create"));
// List<TbCashierCart> cartList = tbCashierCartMapper.selectList(new LambdaQueryWrapper<TbCashierCart>()
// .eq(TbCashierCart::getShopId, criteria.getShopId())
//// .eq(TbCashierCart::getTableId, date.getQrcode())
// .gt(TbCashierCart::getCreatedAt, DateUtil.offsetDay(DateUtil.date(), -1).getTime())
// .eq(TbCashierCart::getStatus, "create"));
List<TbCashierCart> cartList = tbCashierCartMapper.selectPlaceCart(criteria.getShopId(), DateUtil.offsetDay(DateUtil.date(), -1).getTime(), "create");
HashMap<String, Integer> countMap = new HashMap<>();
cartList.forEach(item -> {
Integer count = countMap.computeIfAbsent(item.getTableId(), k -> 1);
@ -290,8 +291,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
for (TbShopTable date : tbShopTableList) {
if (StrUtil.isBlank(date.getQrcode())) {
date.setStatus("unbind");
} else if (countMap.get(date.getQrcode()) != null && countMap.get(date.getQrcode()) < 1 && !TableStateEnum.CLEANING.getState().equals(date.getStatus())
) {
} else if (countMap.get(date.getQrcode()) != null && countMap.get(date.getQrcode()) < 1 && !TableStateEnum.CLEANING.getState().equals(date.getStatus())) {
date.setStatus("idle");
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getQrcode, date.getQrcode())