挂单报错fix

This commit is contained in:
SongZhang 2024-09-19 10:17:27 +08:00
parent 079bf18d4c
commit 2f6bbd4dec
2 changed files with 56 additions and 93 deletions

View File

@ -21,6 +21,17 @@ public interface TbCashierCartMapper extends BaseMapper<TbCashierCart> {
List<CarVO> selectCar(@Param("shopId") Integer shopId);
@Select("<script> select\n" +
" a.id orderId,b.pending_at pendingAt, sum(b.total_amount) totalAmount,\n" +
" count(b.id) totalCount, sum(b.total_number) totalNumber, a.remark\n" +
" from tb_order_info a\n" +
" JOIN tb_cashier_cart b on a.id=b.order_id\n" +
" where a.shop_id=#{shopId} and a.`status`='pending'\n" +
" and a.trade_day=#{day} and a.use_type=#{useType}\n" +
" <if test=\"tableId != null and tableId != ''\">\n" +
" and a.table_id=#{tableId}\n" +
" </if>\n" +
" GROUP BY a.id ORDER BY a.id desc</script>")
List<PendingCountVO> countPending(@Param("shopId") Integer shopId, @Param("tableId") String tableId, @Param("day") String day, @Param("useType") String useType);
@Select("select a.*, b.spec_snap from tb_cashier_cart as a left join tb_product_sku as b on a.sku_id=b.id where a.shop_id=#{shopId} and a.status='refund';")

View File

@ -154,7 +154,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
Map<String, Object> itemMap = BeanUtil.beanToMap(date, false, false);
if ((date.getStatus().equals("using") || date.getStatus().equals("cleaning")) && date.getUseTime() != null) {
itemMap.put("durationTime", DateUtil.current() - date.getUseTime().getTime());
}else {
} else {
itemMap.put("durationTime", 0);
}
if (!"".equals(date.getQrcode())) {
@ -368,16 +368,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.isNull(TbCashierCart::getPlaceNum)
.eq(TbCashierCart::getUseType, addCartDTO.getUseType())
.in(TbCashierCart::getStatus, "create", "refund")
.and(query2 -> {
query2.and(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, addCartDTO.getMasterId());
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, "");
}));
});
.and(query2 -> query2.and(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, addCartDTO.getMasterId()))
.or((query4 -> query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, ""))));
if (addCartDTO.getCartId() != null) {
query.eq(TbCashierCart::getId, addCartDTO.getCartId());
@ -546,8 +540,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
TbOrderDetail tbOrderDetail = orderDetailMapper.selectOne(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getShopId, removeCartDTO.getShopId())
.eq(TbOrderDetail::getCartId, cashierCart.getId())
.eq(TbOrderDetail::getProductId, cashierCart.getProductId())
.eq(TbOrderDetail::getProductSkuId, cashierCart.getSkuId())
.eq(TbOrderDetail::getProductId, cashierCart.getProductId())
.eq(TbOrderDetail::getProductSkuId, cashierCart.getSkuId())
.eq(TbOrderDetail::getOrderId, cashierCart.getOrderId()));
if (tbOrderDetail == null) {
throw new BadRequestException("购物车商品不存在或已退单");
@ -582,18 +576,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbCashierCart::getShopId, clearCartDTO.getShopId())
.isNull(TbCashierCart::getPlaceNum)
.eq(TbCashierCart::getUseType, clearCartDTO.getUseType())
.and(q -> {
q.eq(TbCashierCart::getMasterId, clearCartDTO.getMasterId())
.or()
.isNull(TbCashierCart::getMasterId)
.or()
.eq(TbCashierCart::getMasterId, "");
})
.and(q -> {
q.eq(TbCashierCart::getOrderId, orderId)
.or()
.isNull(TbCashierCart::getOrderId);
});
.and(q -> q.eq(TbCashierCart::getMasterId, clearCartDTO.getMasterId())
.or()
.isNull(TbCashierCart::getMasterId)
.or()
.eq(TbCashierCart::getMasterId, ""))
.and(q -> q.eq(TbCashierCart::getOrderId, orderId)
.or()
.isNull(TbCashierCart::getOrderId));
if (clearCartDTO.getTableId() != null) {
query.eq(TbCashierCart::getTableId, clearCartDTO.getTableId());
@ -618,16 +608,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.in(TbCashierCart::getStatus, "create", "refund", "return")
.eq(TbCashierCart::getShopId, shopId)
.eq(TbCashierCart::getUseType, useType)
.and(query2 -> {
query2.or(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, masterId);
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.isNull(TbCashierCart::getMasterId);
}));
});
.and(query2 -> query2.or(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, masterId))
.or((query4 -> query4.isNull(TbCashierCart::getTradeDay)
.isNull(TbCashierCart::getMasterId))));
if (tableId != null) {
queryWrapper.eq(TbCashierCart::getTableId, tableId);
@ -638,9 +622,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
List<TbCashierCart> records = cartPage.getRecords();
ArrayList<Integer> skuIds = new ArrayList<>();
records.forEach(item -> {
skuIds.add(Integer.valueOf(item.getSkuId()));
});
records.forEach(item -> skuIds.add(Integer.valueOf(item.getSkuId())));
AtomicReference<TbCashierCart> mealCashierCart = new AtomicReference<>();
@ -689,16 +671,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, packCartDTO.getShopId())
.in(TbCashierCart::getStatus, "create", "refund")
.and(query2 -> {
query2.or(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, packCartDTO.getMasterId());
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, "");
}));
});
.and(query2 -> query2.or(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, packCartDTO.getMasterId()))
.or((query4 -> query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, ""))));
if (StrUtil.isNotBlank(packCartDTO.getTableId())) {
queryWrapper.eq(TbCashierCart::getTableId, packCartDTO.getTableId());
@ -964,7 +940,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override
public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean addMaterId, boolean isPrint) {
public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean addMaterId, boolean isPrint) {
return Utils.runFunAndCheckKey(() -> {
TbShopInfo shopInfo = shopInfoRepository.findById(createOrderDTO.getShopId()).orElse(null);
if (shopInfo == null) throw new BadRequestException("店铺信息不存在");
@ -1003,16 +979,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbCashierCart::getShopId, createOrderDTO.getShopId())
.in(TbCashierCart::getStatus, "create")
.eq(TbCashierCart::getUseType, createOrderDTO.getUseType())
.and(query2 -> {
query2.or(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId());
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.isNull(TbCashierCart::getMasterId);
}));
});
.and(query2 -> query2.or(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId()))
.or((query4 -> query4.isNull(TbCashierCart::getTradeDay)
.isNull(TbCashierCart::getMasterId))));
if (StrUtil.isNotBlank(createOrderDTO.getTableId())) {
queryWrapper.eq(TbCashierCart::getTableId, createOrderDTO.getTableId());
@ -1079,7 +1049,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
}
if (shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 0
&&(OrderUseTypeEnum.DINE_IN_BEFORE.getValue().equals(createOrderDTO.getUseType()) || OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(createOrderDTO.getUseType()))
&& (OrderUseTypeEnum.DINE_IN_BEFORE.getValue().equals(createOrderDTO.getUseType()) || OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(createOrderDTO.getUseType()))
&& mealNum == null) {
throw new BadRequestException("请选择用餐人数");
}
@ -1252,16 +1222,10 @@ public class TbShopTableServiceImpl implements TbShopTableService {
} else {
queryWrapper
.eq(TbCashierCart::getStatus, "create")
.and(query2 -> {
query2.or(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId());
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, "");
}));
});
.and(query2 -> query2.or(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId()))
.or((query4 -> query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, ""))));
if (StrUtil.isNotBlank(pendingDTO.getTableId())) {
queryWrapper.eq(TbCashierCart::getTableId, pendingDTO.getTableId());
@ -1347,9 +1311,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
List<TbProductSku> skuList = productSkuRepository.findAllById(skuIds);
LinkedHashMap<String, TbProductSku> skuMap = new LinkedHashMap<>();
skuList.forEach(item -> {
skuMap.put(item.getId().toString(), item);
});
skuList.forEach(item -> skuMap.put(item.getId().toString(), item));
cashierCartMapper.selectPending(shopId);
@ -1469,7 +1431,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getQrcode, orderInfo.getTableId())
.set(TbShopTable::getEndTime, DateUtil.date())
.set(TbShopTable::getUseNum, 0)
.set(TbShopTable::getUseNum, 0)
.set(TbShopTable::getStatus, TableStateEnum.IDLE.getState()));
} else {
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
@ -1564,21 +1526,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbCashierCart::getTableId, choseTableDTO.getOldTableId())
.in(TbCashierCart::getStatus, "create", "return")
.eq(TbCashierCart::getShopId, choseTableDTO.getShopId())
.and(q -> {
q.isNull(TbCashierCart::getOrderId)
.or()
.eq(TbCashierCart::getOrderId, currentOrderId);
})
.and(query2 -> {
query2.or(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.isNotNull(TbCashierCart::getMasterId);
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.isNull(TbCashierCart::getMasterId);
}));
})
.and(q -> q.isNull(TbCashierCart::getOrderId)
.or()
.eq(TbCashierCart::getOrderId, currentOrderId))
.and(query2 -> query2.or(query3 -> query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.isNotNull(TbCashierCart::getMasterId))
.or((query4 -> query4.isNull(TbCashierCart::getTradeDay)
.isNull(TbCashierCart::getMasterId))))
.set(TbCashierCart::getMasterId, masterId)
.set(TbCashierCart::getTableId, choseTableDTO.getNewTableId()));
@ -1606,7 +1560,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
TbShopInfo shopInfo = shopInfoRepository.findById(choseCountDTO.getShopId()).orElse(null);
if (shopInfo == null) throw new BadRequestException("店铺信息不存在");
if (shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 1) {
if (shopInfo.getIsTableFee() != null && shopInfo.getIsTableFee() == 1) {
throw new BadRequestException("当前店铺无需选择餐位费");
}
@ -1685,9 +1639,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.select(TbShopTable::getName));
HashMap<String, Object> tableMap = new HashMap<>();
tbShopTables.forEach(item -> {
tableMap.put(item.getName(), item);
});
tbShopTables.forEach(item -> tableMap.put(item.getName(), item));
StringBuilder msg = new StringBuilder();
ArrayList<TbShopTable> tableArrayList = new ArrayList<>();