1.代客下单 打印当前台桌菜品
This commit is contained in:
parent
be097e8b2d
commit
d7bf0f2811
|
|
@ -245,6 +245,16 @@ public class TbPlaceController {
|
|||
return ResponseEntity.ok(tbShopTableService.printOrder(baseTableDTO));
|
||||
}
|
||||
|
||||
@AnonymousAccess
|
||||
@PostMapping("/printDishes")
|
||||
@Log("代客下单 打印菜品单")
|
||||
@ApiOperation("代客下单 打印菜品单 /shop/table")
|
||||
public ResponseEntity<Object> printDishes(
|
||||
@Validated @RequestBody BaseTableDTO baseTableDTO
|
||||
) {
|
||||
return ResponseEntity.ok(tbShopTableService.printDishes(baseTableDTO));
|
||||
}
|
||||
|
||||
private final RabbitTemplate rabbitTemplate;
|
||||
@AnonymousAccess
|
||||
@GetMapping("/test")
|
||||
|
|
|
|||
|
|
@ -1052,7 +1052,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|||
orderDetail.setProductName(cashierCart.getName());
|
||||
orderDetail.setShopId(Integer.valueOf(cashierCart.getShopId()));
|
||||
orderDetail.setPackAmount(cashierCart.getPackFee());
|
||||
orderDetail.setStatus("return");
|
||||
orderDetail.setStatus("unpaid");
|
||||
orderDetail.setProductImg(cashierCart.getCoverImg());
|
||||
orderDetails.add(orderDetail);
|
||||
if (cashierCart.getOrderId() != null) {
|
||||
|
|
@ -1612,12 +1612,8 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|||
|
||||
@Override
|
||||
public Object printOrder(BaseTableDTO baseTableDTO) {
|
||||
TbShopTable tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper<TbShopTable>()
|
||||
.eq(TbShopTable::getQrcode, baseTableDTO.getTableId())
|
||||
.in(TbShopTable::getStatus, TableStateEnum.USING.getState(), TableStateEnum.PAYING.getState(), TableStateEnum.CLEANING.getState()));
|
||||
if (tbShopTable == null) {
|
||||
throw new BadRequestException("台桌不存在或当前台桌未开台");
|
||||
}
|
||||
checkTableState(baseTableDTO.getTableId());
|
||||
|
||||
String currentOrderId = getCurrentOrderId(baseTableDTO.getTableId(), baseTableDTO.getShopId().toString());
|
||||
if (StrUtil.isBlank(currentOrderId)) {
|
||||
throw new BadRequestException("当前台桌不存在订单");
|
||||
|
|
@ -1670,4 +1666,47 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private TbShopTable checkTableState(String tableId) {
|
||||
TbShopTable tbShopTable = mpShopTableMapper.selectOne(new LambdaQueryWrapper<TbShopTable>()
|
||||
.eq(TbShopTable::getQrcode, tableId)
|
||||
.in(TbShopTable::getStatus, TableStateEnum.USING.getState(), TableStateEnum.PAYING.getState(), TableStateEnum.CLEANING.getState()));
|
||||
if (tbShopTable == null) {
|
||||
throw new BadRequestException("台桌不存在或当前台桌未开台");
|
||||
}
|
||||
return tbShopTable;
|
||||
}
|
||||
|
||||
private TbOrderInfo getCurrentOrder(String tableId, String shopId) {
|
||||
String currentOrderId = getCurrentOrderId(tableId, shopId);
|
||||
if (StrUtil.isBlank(currentOrderId)) {
|
||||
throw new BadRequestException("当前台桌不存在订单");
|
||||
}
|
||||
TbOrderInfo orderInfo = orderInfoMapper.selectById(currentOrderId);
|
||||
if (orderInfo == null) {
|
||||
throw new BadRequestException("当前台桌不存在订单");
|
||||
}
|
||||
return orderInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object printDishes(BaseTableDTO baseTableDTO) {
|
||||
checkTableState(baseTableDTO.getTableId());
|
||||
TbOrderInfo currentOrder = getCurrentOrder(baseTableDTO.getTableId(), baseTableDTO.getShopId().toString());
|
||||
List<TbOrderDetail> detailList = orderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
|
||||
.eq(TbOrderDetail::getOrderId, currentOrder.getId())
|
||||
.eq(TbOrderDetail::getStatus, "unpaid")
|
||||
.ne(TbOrderDetail::getProductId, -999)
|
||||
.select(TbOrderDetail::getId));
|
||||
if (detailList.isEmpty()) {
|
||||
throw new BadRequestException("当前台桌还未下单任何菜品, 请先下单");
|
||||
}
|
||||
|
||||
Integer[] detailIds = new Integer[detailList.size()];
|
||||
for (int i = 0; i < detailList.size(); i++) {
|
||||
detailIds[i] = detailList.get(i).getId();
|
||||
}
|
||||
rabbitMsgUtils.printDishesTicket(currentOrder.getId(), false, detailIds);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,4 +134,6 @@ public interface TbShopTableService {
|
|||
Object printOrder(BaseTableDTO baseTableDTO);
|
||||
|
||||
Object generate(TableGenerateDTO generateDTO);
|
||||
|
||||
Object printDishes(BaseTableDTO baseTableDTO);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,6 +55,14 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
|
|||
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品退单", false);
|
||||
}
|
||||
|
||||
public void printDishesTicket(Integer orderId, boolean isReturn, Integer... detailOrderIds) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderId", orderId);
|
||||
jsonObject.put("orderDetailIds", detailOrderIds);
|
||||
jsonObject.put("isReturn", isReturn);
|
||||
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品打印", false);
|
||||
}
|
||||
|
||||
public void printPlaceTicket(Integer id, boolean isReturn) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("orderId", id);
|
||||
|
|
|
|||
Loading…
Reference in New Issue