diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java index 9896736ff..86e76cdcd 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java @@ -566,19 +566,13 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { .eq(OrderInfo::getStatus, OrderStatusEnums.UNPAID.getCode())); if (targetOrder == null) { ShopTable shopTable = shopTableService.getOneByTableCode(sourceOrder.getShopId(), param.getTargetTableCode()); - OrderInfoAddDTO addDTO = new OrderInfoAddDTO(); - addDTO.setShopId(sourceOrder.getShopId()); - addDTO.setStaffId(sourceOrder.getStaffId()); - addDTO.setTableCode(param.getTargetTableCode()); - addDTO.setOrderType(sourceOrder.getOrderType()); - addDTO.setPlatformType(sourceOrder.getPlatformType()); - addDTO.setPayMode(sourceOrder.getPayMode()); - addDTO.setDineMode("dine-in"); - addDTO.setPlaceNum(1); - addDTO.setWaitCall(false); - addDTO.setVipPrice(false); - ShopInfo shopInfo = shopInfoService.getById(sourceOrder.getShopId()); - targetOrder = initOrderInfo(addDTO, shopInfo, shopTable); + sourceOrder.setTableCode(shopTable.getTableCode()); + sourceOrder.setTableName(shopTable.getName()); + OrderInfo upOrder = new OrderInfo(); + upOrder.setTableCode(shopTable.getTableCode()); + upOrder.setTableName(shopTable.getName()); + orderInfoService.update(upOrder, new QueryWrapper().eq(OrderInfo::getId, sourceOrder.getId())); + targetOrder=sourceOrder; } else { targetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1); //下单次数+1 @@ -586,23 +580,26 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { updateTargetOrder.setId(targetOrder.getId()); updateTargetOrder.setPlaceNum(targetOrder.getPlaceNum() + 1); orderInfoService.updateById(updateTargetOrder); - } - OrderDetail orderDetailUp = new OrderDetail(); - orderDetailUp.setOrderId(targetOrder.getId()); - orderDetailUp.setPlaceNum(targetOrder.getPlaceNum()); - if (CollUtil.isEmpty(param.getDetailIds())) { - long count = orderDetailService.count(new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId())); - if (count < 1) { - throw new CzgException("转台失败,该订单无可转商品"); + + OrderDetail orderDetailUp = new OrderDetail(); + orderDetailUp.setOrderId(targetOrder.getId()); + orderDetailUp.setPlaceNum(targetOrder.getPlaceNum()); + if (CollUtil.isEmpty(param.getDetailIds())) { + long count = orderDetailService.count(new QueryWrapper().eq(OrderDetail::getOrderId, sourceOrder.getId())); + if (count < 1) { + 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){ 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()); return CzgResult.success();