转桌问题

This commit is contained in:
2026-03-27 10:19:06 +08:00
parent 56eed8f3d4
commit 4a4b2a88cc

View File

@@ -566,19 +566,13 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService {
.eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode())); .eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode()));
if (targetOrder == null) { if (targetOrder == null) {
ShopTable shopTable = shopTableService.getOneByTableCode(sourceOrder.getShopId(), param.getTargetTableCode()); ShopTable shopTable = shopTableService.getOneByTableCode(sourceOrder.getShopId(), param.getTargetTableCode());
OrderInfoAddDTO addDTO = new OrderInfoAddDTO(); sourceOrder.setTableCode(shopTable.getTableCode());
addDTO.setShopId(sourceOrder.getShopId()); sourceOrder.setTableName(shopTable.getName());
addDTO.setStaffId(sourceOrder.getStaffId()); OrderInfo upOrder = new OrderInfo();
addDTO.setTableCode(param.getTargetTableCode()); upOrder.setTableCode(shopTable.getTableCode());
addDTO.setOrderType(sourceOrder.getOrderType()); upOrder.setTableName(shopTable.getName());
addDTO.setPlatformType(sourceOrder.getPlatformType()); orderInfoService.update(upOrder, new QueryWrapper().eq(OrderInfo::getId, sourceOrder.getId()));
addDTO.setPayMode(sourceOrder.getPayMode()); targetOrder=sourceOrder;
addDTO.setDineMode("dine-in");
addDTO.setPlaceNum(1);
addDTO.setWaitCall(false);
addDTO.setVipPrice(false);
ShopInfo shopInfo = shopInfoService.getById(sourceOrder.getShopId());
targetOrder = initOrderInfo(addDTO, shopInfo, shopTable);
} else { } else {
targetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1); targetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1);
//下单次数+1 //下单次数+1
@@ -586,23 +580,26 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService {
updateTargetOrder.setId(targetOrder.getId()); updateTargetOrder.setId(targetOrder.getId());
updateTargetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1); updateTargetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1);
orderInfoService.updateById(updateTargetOrder); orderInfoService.updateById(updateTargetOrder);
}
OrderDetail orderDetailUp = new OrderDetail(); OrderDetail orderDetailUp = new OrderDetail();
orderDetailUp.setOrderId(targetOrder.getId()); orderDetailUp.setOrderId(targetOrder.getId());
orderDetailUp.setPlaceNum(targetOrder.getPlaceNum()); orderDetailUp.setPlaceNum(targetOrder.getPlaceNum());
if (CollUtil.isEmpty(param.getDetailIds())) { if (CollUtil.isEmpty(param.getDetailIds())) {
long count = orderDetailService.count(new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId())); long count = orderDetailService.count(new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId()));
if (count < 1) { if (count < 1) {
throw new CzgException("转台失败,该订单无可转商品"); throw new CzgException("转台失败,该订单无可转商品");
}
orderDetailService.update(orderDetailUp,new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId()));
} else {
orderDetailService.update(orderDetailUp,
new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId()).in(OrderDetail::getId, param.getDetailIds()));
}
if(param.getAllMerge()==1){
orderInfoService.remove(new QueryWrapper().eq(OrderInfo::getId, sourceOrder.getId()));
} }
orderDetailService.update(orderDetailUp,new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId()));
} else {
orderDetailService.update(orderDetailUp,
new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId()).in(OrderDetail::getId, param.getDetailIds()));
} }
if(param.getAllMerge()==1){ if(param.getAllMerge()==1){
shopTableService.updateStatus(sourceOrder.getShopId(), null, sourceOrder.getTableCode(), ShopTableStatusEnum.IDLE.getValue()); shopTableService.updateStatus(sourceOrder.getShopId(), null, sourceOrder.getTableCode(), ShopTableStatusEnum.IDLE.getValue());
orderInfoService.remove(new QueryWrapper().eq(OrderInfo::getId, sourceOrder.getId()));
} }
shopTableService.updateStatus(sourceOrder.getShopId(), null, targetOrder.getTableCode(), ShopTableStatusEnum.UNSETTLED.getValue()); shopTableService.updateStatus(sourceOrder.getShopId(), null, targetOrder.getTableCode(), ShopTableStatusEnum.UNSETTLED.getValue());
return CzgResult.success(); return CzgResult.success();