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")
public ResponseEntity<Object> createOrder(HttpServletRequest request, @RequestBody CreateOrderDTO createOrderDTO) {
Utils.checkLimit(tokenProvider.getToken(request), 1, 400);
return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, false));
return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, false, true));
}
@PostMapping("/pending")

View File

@@ -1287,7 +1287,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override
@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());
return Utils.runFunAndCheckKey(() -> {
TbShopUser shopUser = null;
@@ -1328,7 +1328,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfo, cartInfoDTO.getSeatCart(), shopUser, shopTable, createOrderDTO.getIsWaitCall());
// 修改订单详情并打票
updateDetailAndPrint(orderInfo, detailPriceDTO, shopEatTypeInfoDTO);
updateDetailAndPrint(orderInfo, detailPriceDTO, shopEatTypeInfoDTO, isPrint);
// 修改购物车状态和库存
updateCartAndStock(cartInfoDTO.getNewCashierCarts(), orderInfo, shopEatTypeInfoDTO);
@@ -1800,7 +1800,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
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();
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]));
}
if (!priceDTO.getRemoveOrderDetailIds().isEmpty()) {
// 退单票
orderDetailMapper.deleteBatchIds(priceDTO.getRemoveOrderDetailIds());
if (shopEatTypeInfoDTO.isDineInAfter()) {
if (shopEatTypeInfoDTO.isDineInAfter() && isPrint) {
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.setNote(pendingDTO.getNote());
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) {
dto.setVipUserId(updateVipDTO.getType() == 0 ? updateVipDTO.getVipUserId() : null);
return createOrder(dto, true);
return createOrder(dto, true, true);
}
return "哈哈哈";
@@ -3464,14 +3464,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
mpOrderInfoService.removeById(orderId);
}
if (!switchTableDTO.isFull() && switchTableDTO.getCartIds().size() != totalSize) {
if (!switchTableDTO.isFull() && switchTableDTO.getCartIds().size() == totalSize) {
// 重新创建订单数据
CreateOrderDTO createOrderDTO = new CreateOrderDTO();
createOrderDTO.setMasterId(switchTableDTO.getMasterId());
createOrderDTO.setShopId(switchTableDTO.getShopId());
createOrderDTO.setTableId(switchTableDTO.getCurrentTableId());
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.setTableId(switchTableDTO.getTargetTableId());
createOrderDTO.setUseType(targetShopEatTypeInfoDTO.getUseType());
createOrder(createOrderDTO, false);
createOrder(createOrderDTO, false, false);
return true;

View File

@@ -117,7 +117,7 @@ public interface TbShopTableService {
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);