fix: 转桌修复 不打票

This commit is contained in:
张松
2024-12-16 17:18:37 +08:00
parent 25b56e437f
commit a1f1ff3f94
3 changed files with 12 additions and 12 deletions

View File

@@ -160,7 +160,7 @@ public class TbPlaceController {
@ApiOperation("代客下单 查询购物车 /shop/table") @ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> createOrder(HttpServletRequest request, @RequestBody CreateOrderDTO createOrderDTO) { public ResponseEntity<Object> createOrder(HttpServletRequest request, @RequestBody CreateOrderDTO createOrderDTO) {
Utils.checkLimit(tokenProvider.getToken(request), 1, 400); Utils.checkLimit(tokenProvider.getToken(request), 1, 400);
return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, false)); return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, false, true));
} }
@PostMapping("/pending") @PostMapping("/pending")

View File

@@ -1287,7 +1287,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override @Override
@Transactional @Transactional
public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean byOrderId) { public TbOrderInfo createOrder(CreateOrderDTO createOrderDTO, boolean byOrderId, boolean isPrint) {
createOrderDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(createOrderDTO.getUseType()) ? null : createOrderDTO.getTableId()); createOrderDTO.setTableId(OrderUseTypeEnum.TAKEOUT.getValue().equals(createOrderDTO.getUseType()) ? null : createOrderDTO.getTableId());
return Utils.runFunAndCheckKey(() -> { return Utils.runFunAndCheckKey(() -> {
TbShopUser shopUser = null; TbShopUser shopUser = null;
@@ -1328,7 +1328,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfo, cartInfoDTO.getSeatCart(), shopUser, shopTable, createOrderDTO.getIsWaitCall()); orderInfo, cartInfoDTO.getSeatCart(), shopUser, shopTable, createOrderDTO.getIsWaitCall());
// 修改订单详情并打票 // 修改订单详情并打票
updateDetailAndPrint(orderInfo, detailPriceDTO, shopEatTypeInfoDTO); updateDetailAndPrint(orderInfo, detailPriceDTO, shopEatTypeInfoDTO, isPrint);
// 修改购物车状态和库存 // 修改购物车状态和库存
updateCartAndStock(cartInfoDTO.getNewCashierCarts(), orderInfo, shopEatTypeInfoDTO); updateCartAndStock(cartInfoDTO.getNewCashierCarts(), orderInfo, shopEatTypeInfoDTO);
@@ -1800,7 +1800,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
return orderInfo; return orderInfo;
} }
private void updateDetailAndPrint(TbOrderInfo orderInfo, OrderPriceDTO priceDTO, ShopEatTypeInfoDTO shopEatTypeInfoDTO) { private void updateDetailAndPrint(TbOrderInfo orderInfo, OrderPriceDTO priceDTO, ShopEatTypeInfoDTO shopEatTypeInfoDTO, boolean isPrint) {
// 添加订单详细数据 // 添加订单详细数据
Integer orderId = orderInfo.getId(); Integer orderId = orderInfo.getId();
for (TbOrderDetail orderDetail : priceDTO.getOrderDetailList()) { for (TbOrderDetail orderDetail : priceDTO.getOrderDetailList()) {
@@ -1815,14 +1815,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
} }
// 菜品票 // 菜品票
if (!priceDTO.getNewOrderDetailList().isEmpty() && shopEatTypeInfoDTO.isDineInAfter()) { if (!priceDTO.getNewOrderDetailList().isEmpty() && shopEatTypeInfoDTO.isDineInAfter() && isPrint) {
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, priceDTO.getNewOrderDetailList().toArray(new TbOrderDetail[0])); rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, priceDTO.getNewOrderDetailList().toArray(new TbOrderDetail[0]));
} }
if (!priceDTO.getRemoveOrderDetailIds().isEmpty()) { if (!priceDTO.getRemoveOrderDetailIds().isEmpty()) {
// 退单票 // 退单票
orderDetailMapper.deleteBatchIds(priceDTO.getRemoveOrderDetailIds()); orderDetailMapper.deleteBatchIds(priceDTO.getRemoveOrderDetailIds());
if (shopEatTypeInfoDTO.isDineInAfter()) { if (shopEatTypeInfoDTO.isDineInAfter() && isPrint) {
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, priceDTO.getRemoveOrderDetailList().toArray(new TbOrderDetail[0])); rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, priceDTO.getRemoveOrderDetailList().toArray(new TbOrderDetail[0]));
} }
} }
@@ -2021,7 +2021,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
createOrderDTO.setMasterId(pendingDTO.getMasterId()); createOrderDTO.setMasterId(pendingDTO.getMasterId());
createOrderDTO.setNote(pendingDTO.getNote()); createOrderDTO.setNote(pendingDTO.getNote());
createOrderDTO.setUseType(pendingDTO.getUseType()); createOrderDTO.setUseType(pendingDTO.getUseType());
orderId = createOrder(createOrderDTO, false).getId(); orderId = createOrder(createOrderDTO, false, true).getId();
} }
@@ -2597,7 +2597,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
} }
if (dto != null) { if (dto != null) {
dto.setVipUserId(updateVipDTO.getType() == 0 ? updateVipDTO.getVipUserId() : null); dto.setVipUserId(updateVipDTO.getType() == 0 ? updateVipDTO.getVipUserId() : null);
return createOrder(dto, true); return createOrder(dto, true, true);
} }
return "哈哈哈"; return "哈哈哈";
@@ -3464,14 +3464,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
mpOrderInfoService.removeById(orderId); mpOrderInfoService.removeById(orderId);
} }
if (!switchTableDTO.isFull() && switchTableDTO.getCartIds().size() != totalSize) { if (!switchTableDTO.isFull() && switchTableDTO.getCartIds().size() == totalSize) {
// 重新创建订单数据 // 重新创建订单数据
CreateOrderDTO createOrderDTO = new CreateOrderDTO(); CreateOrderDTO createOrderDTO = new CreateOrderDTO();
createOrderDTO.setMasterId(switchTableDTO.getMasterId()); createOrderDTO.setMasterId(switchTableDTO.getMasterId());
createOrderDTO.setShopId(switchTableDTO.getShopId()); createOrderDTO.setShopId(switchTableDTO.getShopId());
createOrderDTO.setTableId(switchTableDTO.getCurrentTableId()); createOrderDTO.setTableId(switchTableDTO.getCurrentTableId());
createOrderDTO.setUseType(shopEatTypeInfoDTO.getUseType()); createOrderDTO.setUseType(shopEatTypeInfoDTO.getUseType());
createOrder(createOrderDTO, false); createOrder(createOrderDTO, false, false);
} }
// 重新创建订单数据 // 重新创建订单数据
@@ -3480,7 +3480,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
createOrderDTO.setShopId(switchTableDTO.getShopId()); createOrderDTO.setShopId(switchTableDTO.getShopId());
createOrderDTO.setTableId(switchTableDTO.getTargetTableId()); createOrderDTO.setTableId(switchTableDTO.getTargetTableId());
createOrderDTO.setUseType(targetShopEatTypeInfoDTO.getUseType()); createOrderDTO.setUseType(targetShopEatTypeInfoDTO.getUseType());
createOrder(createOrderDTO, false); createOrder(createOrderDTO, false, false);
return true; return true;

View File

@@ -117,7 +117,7 @@ public interface TbShopTableService {
void pack(PackCartDTO packCartDTO); void pack(PackCartDTO packCartDTO);
Object createOrder(CreateOrderDTO createOrderDTO, boolean addMasterId); Object createOrder(CreateOrderDTO createOrderDTO, boolean addMasterId, boolean isPrint);
JSONObject getMasterId(Integer shopId, String tableId, String useType, Integer orderId); JSONObject getMasterId(Integer shopId, String tableId, String useType, Integer orderId);