票据打印简化

This commit is contained in:
2024-09-28 10:40:12 +08:00
parent b1835e370d
commit 083f7fedcb
3 changed files with 23 additions and 47 deletions

View File

@@ -39,28 +39,24 @@ public class TbPlaceController {
} }
@PostMapping("/addCart") @PostMapping("/addCart")
@Log("代客下单:#addCartDTO.tableId")
@ApiOperation("代客下单/shop/table") @ApiOperation("代客下单/shop/table")
public ResponseEntity<TbCashierCart> addCartForUser(@Valid @RequestBody AddCartDTO addCartDTO) { public ResponseEntity<TbCashierCart> addCartForUser(@Valid @RequestBody AddCartDTO addCartDTO) {
return ResponseEntity.ok(tbShopTableService.addCartForUser(addCartDTO)); return ResponseEntity.ok(tbShopTableService.addCartForUser(addCartDTO));
} }
@PutMapping("/choseModel") @PutMapping("/choseModel")
@Log("代客下单:#addCartDTO.tableId")
@ApiOperation("代客下单/shop/table") @ApiOperation("代客下单/shop/table")
public ResponseEntity<?> choseModel(@Valid @RequestBody ChoseModelDTO choseModelDTO) { public ResponseEntity<?> choseModel(@Valid @RequestBody ChoseModelDTO choseModelDTO) {
return ResponseEntity.ok(tbShopTableService.choseModel(choseModelDTO)); return ResponseEntity.ok(tbShopTableService.choseModel(choseModelDTO));
} }
@PutMapping("/updateCart") @PutMapping("/updateCart")
@Log("代客下单")
@ApiOperation("代客下单/shop/table") @ApiOperation("代客下单/shop/table")
public ResponseEntity<TbCashierCart> updateCart(@Valid @RequestBody UpdateCartDTO updateCartDTO) { public ResponseEntity<TbCashierCart> updateCart(@Valid @RequestBody UpdateCartDTO updateCartDTO) {
return ResponseEntity.ok(tbShopTableService.updateCart(updateCartDTO)); return ResponseEntity.ok(tbShopTableService.updateCart(updateCartDTO));
} }
@PutMapping("/pack") @PutMapping("/pack")
@Log("代客下单")
@ApiOperation("代客下单/shop/table") @ApiOperation("代客下单/shop/table")
public ResponseEntity<TbCashierCart> pack(@Valid @RequestBody PackCartDTO packCartDTO) { public ResponseEntity<TbCashierCart> pack(@Valid @RequestBody PackCartDTO packCartDTO) {
tbShopTableService.pack(packCartDTO); tbShopTableService.pack(packCartDTO);
@@ -68,7 +64,6 @@ public class TbPlaceController {
} }
@DeleteMapping("/removeCart") @DeleteMapping("/removeCart")
@Log("代客下单 删除购物车商品")
@ApiOperation("代客下单 清空购物车 /shop/table") @ApiOperation("代客下单 清空购物车 /shop/table")
public ResponseEntity<Object> removeCart(@Validated @RequestBody RemoveCartDTO removeCartDTO) { public ResponseEntity<Object> removeCart(@Validated @RequestBody RemoveCartDTO removeCartDTO) {
tbShopTableService.removeCart(removeCartDTO); tbShopTableService.removeCart(removeCartDTO);
@@ -76,7 +71,6 @@ public class TbPlaceController {
} }
@PutMapping("/returnCart") @PutMapping("/returnCart")
@Log("代客下单 退单")
@ApiOperation("代客下单 清空购物车 /shop/table") @ApiOperation("代客下单 清空购物车 /shop/table")
public ResponseEntity<Object> returnOrder(@Validated @RequestBody ReturnOrderDTO removeCartDTO) { public ResponseEntity<Object> returnOrder(@Validated @RequestBody ReturnOrderDTO removeCartDTO) {
tbShopTableService.returnCart(removeCartDTO); tbShopTableService.returnCart(removeCartDTO);
@@ -84,7 +78,6 @@ public class TbPlaceController {
} }
@DeleteMapping("/clearCart") @DeleteMapping("/clearCart")
@Log("代客下单 清空购物车")
@ApiOperation("代客下单 清空购物车 /shop/table"/**/) @ApiOperation("代客下单 清空购物车 /shop/table"/**/)
public ResponseEntity<Object> clearCart(@Validated @RequestBody ClearCartDTO clearCartDTO) { public ResponseEntity<Object> clearCart(@Validated @RequestBody ClearCartDTO clearCartDTO) {
tbShopTableService.clearCart(clearCartDTO); tbShopTableService.clearCart(clearCartDTO);
@@ -92,7 +85,6 @@ public class TbPlaceController {
} }
@GetMapping("/cart") @GetMapping("/cart")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table") @ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> getCart(@RequestParam(defaultValue = "1") Integer page, public ResponseEntity<Object> getCart(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size, @RequestParam(defaultValue = "10") Integer size,
@@ -104,7 +96,6 @@ public class TbPlaceController {
} }
@GetMapping("/pending/cart") @GetMapping("/pending/cart")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table") @ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> getPendingCart(@RequestParam Integer shopId, public ResponseEntity<Object> getPendingCart(@RequestParam Integer shopId,
@RequestParam(required = false) String tableId, @RequestParam(required = false) String tableId,
@@ -113,7 +104,6 @@ public class TbPlaceController {
} }
@GetMapping("/masterId") @GetMapping("/masterId")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 ") @ApiOperation("代客下单 ")
public ResponseEntity<Object> getMasterId(@RequestParam Integer shopId, public ResponseEntity<Object> getMasterId(@RequestParam Integer shopId,
@RequestParam String tableId, @RequestParam String tableId,
@@ -122,21 +112,18 @@ public class TbPlaceController {
} }
@PostMapping("/order") @PostMapping("/order")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table") @ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> createOrder(@RequestBody CreateOrderDTO createOrderDTO ) { public ResponseEntity<Object> createOrder(@RequestBody CreateOrderDTO createOrderDTO ) {
return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, !createOrderDTO.isPostPay(), true)); return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, !createOrderDTO.isPostPay(), true));
} }
@PostMapping("/pending") @PostMapping("/pending")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table") @ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> pending(@RequestBody PendingDTO pendingDTO) { public ResponseEntity<Object> pending(@RequestBody PendingDTO pendingDTO) {
return ResponseEntity.ok(tbShopTableService.pending(pendingDTO)); return ResponseEntity.ok(tbShopTableService.pending(pendingDTO));
} }
@GetMapping("/payType") @GetMapping("/payType")
@Log("代客下单 获取支付类型")
@ApiOperation("代客下单 获取支付类型") @ApiOperation("代客下单 获取支付类型")
public ResponseEntity<Object> getPayType( public ResponseEntity<Object> getPayType(
@RequestParam Integer shopId @RequestParam Integer shopId
@@ -145,7 +132,6 @@ public class TbPlaceController {
} }
@DeleteMapping("/order") @DeleteMapping("/order")
@Log("代客下单 删除订单")
@ApiOperation("代客下单 删除订单") @ApiOperation("代客下单 删除订单")
public ResponseEntity<Object> delete( public ResponseEntity<Object> delete(
@Validated @RequestBody DeleteOrderDTO deleteOrderDTO @Validated @RequestBody DeleteOrderDTO deleteOrderDTO
@@ -154,7 +140,6 @@ public class TbPlaceController {
} }
@PutMapping("/pay") @PutMapping("/pay")
@Log("代客下单 支付订单")
@ApiOperation("代客下单 支付订单") @ApiOperation("代客下单 支付订单")
public ResponseEntity<Object> pay( public ResponseEntity<Object> pay(
@Validated @RequestBody PayDTO payDTO @Validated @RequestBody PayDTO payDTO
@@ -164,7 +149,6 @@ public class TbPlaceController {
} }
@PutMapping("/choseTable") @PutMapping("/choseTable")
@Log("代客下单 选择台桌")
@ApiOperation("代客下单 选择台桌") @ApiOperation("代客下单 选择台桌")
public ResponseEntity<Object> choseTable( public ResponseEntity<Object> choseTable(
@Validated @RequestBody ChoseTableDTO choseTableDTO @Validated @RequestBody ChoseTableDTO choseTableDTO
@@ -174,7 +158,6 @@ public class TbPlaceController {
} }
@PutMapping("/choseCount") @PutMapping("/choseCount")
@Log("代客下单 选择用餐人数")
@ApiOperation("代客下单 选择用餐人数") @ApiOperation("代客下单 选择用餐人数")
public ResponseEntity<Object> choseCount( public ResponseEntity<Object> choseCount(
@Validated @RequestBody ChoseCountDTO choseCountDTO @Validated @RequestBody ChoseCountDTO choseCountDTO
@@ -184,7 +167,6 @@ public class TbPlaceController {
} }
@PutMapping("/updateVip") @PutMapping("/updateVip")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table") @ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> updateVip( public ResponseEntity<Object> updateVip(
@Validated @RequestBody UpdateVipDTO updateVipDTO @Validated @RequestBody UpdateVipDTO updateVipDTO
@@ -193,7 +175,6 @@ public class TbPlaceController {
} }
@PostMapping("/printOrder") @PostMapping("/printOrder")
@Log("代客下单 打印订单")
@ApiOperation("代客下单 打印订单") @ApiOperation("代客下单 打印订单")
public ResponseEntity<Object> printOrder( public ResponseEntity<Object> printOrder(
@Validated @RequestBody BaseTableDTO baseTableDTO @Validated @RequestBody BaseTableDTO baseTableDTO
@@ -201,7 +182,6 @@ public class TbPlaceController {
return ResponseEntity.ok(tbShopTableService.printOrder(baseTableDTO)); return ResponseEntity.ok(tbShopTableService.printOrder(baseTableDTO));
} }
@PostMapping("/printDishes")
@Log("代客下单 打印菜品单") @Log("代客下单 打印菜品单")
@ApiOperation("代客下单 打印菜品单") @ApiOperation("代客下单 打印菜品单")
public ResponseEntity<Object> printDishes( public ResponseEntity<Object> printDishes(
@@ -215,7 +195,7 @@ public class TbPlaceController {
public void test( public void test(
@RequestParam Integer id @RequestParam Integer id
) { ) {
rabbitMsgUtils.printDishesTicket(4951, false, 9783); // rabbitMsgUtils.printDishesTicket(4951, false, 9783);
} }

View File

@@ -580,11 +580,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (cashierCart.getTableId() != null && removeCartDTO.getTableId() != null) { if (cashierCart.getTableId() != null && removeCartDTO.getTableId() != null) {
// 清空购物车 出票 // 清空购物车 出票
long carCount = countCar(Long.valueOf(cashierCart.getTableId()), cashierCart.getShopId(), cashierCart.getMasterId()); long carCount = countCar(Long.valueOf(cashierCart.getTableId()), cashierCart.getShopId(), cashierCart.getMasterId());
log.info("购物车数量: {}", carCount); log.info("购物车数量: {}", carCount);
if (cashierCart.getOrderId() != null && carCount < 1) {
rabbitMsgUtils.printTicket(String.valueOf(cashierCart.getOrderId()));
}
setRedisTableCartInfo(removeCartDTO.getTableId(), removeCartDTO.getShopId().toString(), Collections.singletonList(cashierCart), false); setRedisTableCartInfo(removeCartDTO.getTableId(), removeCartDTO.getShopId().toString(), Collections.singletonList(cashierCart), false);
} }
@@ -1075,12 +1071,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
List<TbOrderDetail> oldOrderDetailList = orderDetailMapper.selectList(query); List<TbOrderDetail> oldOrderDetailList = orderDetailMapper.selectList(query);
ArrayList<Integer> removeOrderDetailIds = new ArrayList<>(); ArrayList<Integer> removeOrderDetailIds = new ArrayList<>();
ArrayList<TbOrderDetail> removeOrderDetailList = new ArrayList<>();
HashMap<String, TbOrderDetail> oldOrderDetailMap = new HashMap<>(); HashMap<String, TbOrderDetail> oldOrderDetailMap = new HashMap<>();
oldOrderDetailList.forEach(item -> { oldOrderDetailList.forEach(item -> {
if (cartIdList.contains(item.getCartId())) { if (cartIdList.contains(item.getCartId())) {
oldOrderDetailMap.put(item.getOrderId().toString() + item.getCartId(), item); oldOrderDetailMap.put(item.getOrderId().toString() + item.getCartId(), item);
} else { } else {
removeOrderDetailIds.add(item.getId()); removeOrderDetailIds.add(item.getId());
removeOrderDetailList.add(item);
} }
}); });
@@ -1149,7 +1147,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("请选择用餐人数"); throw new BadRequestException("请选择用餐人数");
} }
// 查询订单 // 查询订单
TbOrderInfo orderInfo = null; TbOrderInfo orderInfo = null;
if (orderId != null) { if (orderId != null) {
@@ -1221,7 +1218,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfoMapper.insert(orderInfo); orderInfoMapper.insert(orderInfo);
} }
// 添加订单详细数据 // 添加订单详细数据
orderId = orderInfo.getId(); orderId = orderInfo.getId();
for (TbOrderDetail orderDetail : orderDetails) { for (TbOrderDetail orderDetail : orderDetails) {
@@ -1233,12 +1229,18 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 删除已经移除购物车的订单 修改并保存数据 // 删除已经移除购物车的订单 修改并保存数据
if (!orderDetails.isEmpty()) { if (!orderDetails.isEmpty()) {
mpOrderDetailService.saveOrUpdateBatch(orderDetails); mpOrderDetailService.saveOrUpdateBatch(orderDetails);
if (shopEatTypeInfoDTO.isDineInAfter()) {
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, orderDetails.toArray(new TbOrderDetail[0]));
}
} }
if (!removeOrderDetailIds.isEmpty()) { if (!removeOrderDetailIds.isEmpty()) {
// 退单票
orderDetailMapper.deleteBatchIds(removeOrderDetailIds); orderDetailMapper.deleteBatchIds(removeOrderDetailIds);
if (shopEatTypeInfoDTO.isDineInAfter()) {
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, removeOrderDetailList.toArray(new TbOrderDetail[0]));
}
} }
// 更新购物车记录的orderId // 更新购物车记录的orderId
for (TbCashierCart cashierCart : cashierCarts) { for (TbCashierCart cashierCart : cashierCarts) {
if (!"-999".equals(cashierCart.getProductId())) { if (!"-999".equals(cashierCart.getProductId())) {
@@ -1275,15 +1277,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 推送耗材信息 // 推送耗材信息
pushConsMsg(orderInfo, cashierCarts); pushConsMsg(orderInfo, cashierCarts);
if (createOrderDTO.isPostPay() && isPrint) {
Long count = orderInfoMapper.selectCount(new LambdaQueryWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getStatus, "unpaid")
.eq(TbOrderInfo::getId, orderId));
if (count != 0) {
rabbitMsgUtils.printTicket(String.valueOf(orderId));
}
}
if (!shopEatTypeInfoDTO.isTakeout()) { if (!shopEatTypeInfoDTO.isTakeout()) {
LambdaUpdateWrapper<TbShopTable> wrapper = new LambdaUpdateWrapper<TbShopTable>() LambdaUpdateWrapper<TbShopTable> wrapper = new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getShopId, createOrderDTO.getShopId()) .eq(TbShopTable::getShopId, createOrderDTO.getShopId())
@@ -1530,8 +1523,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
jsonObject.put("orderId", orderInfo.getId()); jsonObject.put("orderId", orderInfo.getId());
// 打印消息 // 打印消息
if (!shopEatTypeInfoDTO.isDineInAfter()) {
List<TbOrderDetail> detailList = orderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.sendOrderCollectMsg(jsonObject); rabbitMsgUtils.sendOrderCollectMsg(jsonObject);
rabbitMsgUtils.printTicket(String.valueOf(orderInfo.getId())); rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息 // 发送库存记录mq消息
JSONObject mqData = new JSONObject(); JSONObject mqData = new JSONObject();
@@ -1814,11 +1813,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("当前台桌还未下单任何菜品, 请先下单"); throw new BadRequestException("当前台桌还未下单任何菜品, 请先下单");
} }
Integer[] detailIds = new Integer[detailList.size()]; rabbitMsgUtils.printDishesTicket(currentOrder.getId(), false, detailList.toArray(new TbOrderDetail[0]));
for (int i = 0; i < detailList.size(); i++) {
detailIds[i] = detailList.get(i).getId();
}
rabbitMsgUtils.printDishesTicket(currentOrder.getId(), false, detailIds);
return true; return true;
} }

View File

@@ -2,6 +2,7 @@ package cn.ysk.cashier.utils;
import cn.ysk.cashier.cons.rabbit.RabbitConstants; import cn.ysk.cashier.cons.rabbit.RabbitConstants;
import cn.ysk.cashier.dto.CallNumPrintDTO; import cn.ysk.cashier.dto.CallNumPrintDTO;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.connection.CorrelationData;
@@ -53,22 +54,22 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
jsonObject.put("orderId", orderId); jsonObject.put("orderId", orderId);
jsonObject.put("orderDetailIds", orderIds); jsonObject.put("orderDetailIds", orderIds);
jsonObject.put("isReturn", true); jsonObject.put("isReturn", true);
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品退单", false); sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品退单", true);
} }
public void printDishesTicket(Integer orderId, boolean isReturn, Integer... detailOrderIds) { public void printDishesTicket(Integer orderId, boolean isReturn, TbOrderDetail... detailOrderIds) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("orderId", orderId); jsonObject.put("orderId", orderId);
jsonObject.put("orderDetailIds", detailOrderIds); jsonObject.put("orderDetailIds", detailOrderIds);
jsonObject.put("isReturn", isReturn); jsonObject.put("isReturn", isReturn);
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品打印", false); sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_DISHES, jsonObject, "菜品打印", true);
} }
public void printPlaceTicket(Integer id, boolean isReturn) { public void printPlaceTicket(Integer id, boolean isReturn) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("orderId", id); jsonObject.put("orderId", id);
jsonObject.put("isReturn", isReturn); jsonObject.put("isReturn", isReturn);
sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_PLACE, jsonObject, "订单打印", false); sendMsg(RabbitConstants.EXCHANGE_PRINT, RabbitConstants.ROUTING_KEY_PRINT_PLACE, jsonObject, "订单打印", true);
} }