票据打印简化

This commit is contained in:
SongZhang 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")
@Log("代客下单:#addCartDTO.tableId")
@ApiOperation("代客下单/shop/table")
public ResponseEntity<TbCashierCart> addCartForUser(@Valid @RequestBody AddCartDTO addCartDTO) {
return ResponseEntity.ok(tbShopTableService.addCartForUser(addCartDTO));
}
@PutMapping("/choseModel")
@Log("代客下单:#addCartDTO.tableId")
@ApiOperation("代客下单/shop/table")
public ResponseEntity<?> choseModel(@Valid @RequestBody ChoseModelDTO choseModelDTO) {
return ResponseEntity.ok(tbShopTableService.choseModel(choseModelDTO));
}
@PutMapping("/updateCart")
@Log("代客下单")
@ApiOperation("代客下单/shop/table")
public ResponseEntity<TbCashierCart> updateCart(@Valid @RequestBody UpdateCartDTO updateCartDTO) {
return ResponseEntity.ok(tbShopTableService.updateCart(updateCartDTO));
}
@PutMapping("/pack")
@Log("代客下单")
@ApiOperation("代客下单/shop/table")
public ResponseEntity<TbCashierCart> pack(@Valid @RequestBody PackCartDTO packCartDTO) {
tbShopTableService.pack(packCartDTO);
@ -68,7 +64,6 @@ public class TbPlaceController {
}
@DeleteMapping("/removeCart")
@Log("代客下单 删除购物车商品")
@ApiOperation("代客下单 清空购物车 /shop/table")
public ResponseEntity<Object> removeCart(@Validated @RequestBody RemoveCartDTO removeCartDTO) {
tbShopTableService.removeCart(removeCartDTO);
@ -76,7 +71,6 @@ public class TbPlaceController {
}
@PutMapping("/returnCart")
@Log("代客下单 退单")
@ApiOperation("代客下单 清空购物车 /shop/table")
public ResponseEntity<Object> returnOrder(@Validated @RequestBody ReturnOrderDTO removeCartDTO) {
tbShopTableService.returnCart(removeCartDTO);
@ -84,7 +78,6 @@ public class TbPlaceController {
}
@DeleteMapping("/clearCart")
@Log("代客下单 清空购物车")
@ApiOperation("代客下单 清空购物车 /shop/table"/**/)
public ResponseEntity<Object> clearCart(@Validated @RequestBody ClearCartDTO clearCartDTO) {
tbShopTableService.clearCart(clearCartDTO);
@ -92,7 +85,6 @@ public class TbPlaceController {
}
@GetMapping("/cart")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> getCart(@RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "10") Integer size,
@ -104,7 +96,6 @@ public class TbPlaceController {
}
@GetMapping("/pending/cart")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> getPendingCart(@RequestParam Integer shopId,
@RequestParam(required = false) String tableId,
@ -113,7 +104,6 @@ public class TbPlaceController {
}
@GetMapping("/masterId")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 ")
public ResponseEntity<Object> getMasterId(@RequestParam Integer shopId,
@RequestParam String tableId,
@ -122,21 +112,18 @@ public class TbPlaceController {
}
@PostMapping("/order")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> createOrder(@RequestBody CreateOrderDTO createOrderDTO ) {
return ResponseEntity.ok(tbShopTableService.createOrder(createOrderDTO, !createOrderDTO.isPostPay(), true));
}
@PostMapping("/pending")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> pending(@RequestBody PendingDTO pendingDTO) {
return ResponseEntity.ok(tbShopTableService.pending(pendingDTO));
}
@GetMapping("/payType")
@Log("代客下单 获取支付类型")
@ApiOperation("代客下单 获取支付类型")
public ResponseEntity<Object> getPayType(
@RequestParam Integer shopId
@ -145,7 +132,6 @@ public class TbPlaceController {
}
@DeleteMapping("/order")
@Log("代客下单 删除订单")
@ApiOperation("代客下单 删除订单")
public ResponseEntity<Object> delete(
@Validated @RequestBody DeleteOrderDTO deleteOrderDTO
@ -154,7 +140,6 @@ public class TbPlaceController {
}
@PutMapping("/pay")
@Log("代客下单 支付订单")
@ApiOperation("代客下单 支付订单")
public ResponseEntity<Object> pay(
@Validated @RequestBody PayDTO payDTO
@ -164,7 +149,6 @@ public class TbPlaceController {
}
@PutMapping("/choseTable")
@Log("代客下单 选择台桌")
@ApiOperation("代客下单 选择台桌")
public ResponseEntity<Object> choseTable(
@Validated @RequestBody ChoseTableDTO choseTableDTO
@ -174,7 +158,6 @@ public class TbPlaceController {
}
@PutMapping("/choseCount")
@Log("代客下单 选择用餐人数")
@ApiOperation("代客下单 选择用餐人数")
public ResponseEntity<Object> choseCount(
@Validated @RequestBody ChoseCountDTO choseCountDTO
@ -184,7 +167,6 @@ public class TbPlaceController {
}
@PutMapping("/updateVip")
@Log("代客下单 查询购物车")
@ApiOperation("代客下单 查询购物车 /shop/table")
public ResponseEntity<Object> updateVip(
@Validated @RequestBody UpdateVipDTO updateVipDTO
@ -193,7 +175,6 @@ public class TbPlaceController {
}
@PostMapping("/printOrder")
@Log("代客下单 打印订单")
@ApiOperation("代客下单 打印订单")
public ResponseEntity<Object> printOrder(
@Validated @RequestBody BaseTableDTO baseTableDTO
@ -201,7 +182,6 @@ public class TbPlaceController {
return ResponseEntity.ok(tbShopTableService.printOrder(baseTableDTO));
}
@PostMapping("/printDishes")
@Log("代客下单 打印菜品单")
@ApiOperation("代客下单 打印菜品单")
public ResponseEntity<Object> printDishes(
@ -215,7 +195,7 @@ public class TbPlaceController {
public void test(
@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) {
// 清空购物车 出票
long carCount = countCar(Long.valueOf(cashierCart.getTableId()), cashierCart.getShopId(), cashierCart.getMasterId());
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);
}
@ -1075,12 +1071,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
List<TbOrderDetail> oldOrderDetailList = orderDetailMapper.selectList(query);
ArrayList<Integer> removeOrderDetailIds = new ArrayList<>();
ArrayList<TbOrderDetail> removeOrderDetailList = new ArrayList<>();
HashMap<String, TbOrderDetail> oldOrderDetailMap = new HashMap<>();
oldOrderDetailList.forEach(item -> {
if (cartIdList.contains(item.getCartId())) {
oldOrderDetailMap.put(item.getOrderId().toString() + item.getCartId(), item);
} else {
removeOrderDetailIds.add(item.getId());
removeOrderDetailList.add(item);
}
});
@ -1149,7 +1147,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("请选择用餐人数");
}
// 查询订单
TbOrderInfo orderInfo = null;
if (orderId != null) {
@ -1221,7 +1218,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfoMapper.insert(orderInfo);
}
// 添加订单详细数据
orderId = orderInfo.getId();
for (TbOrderDetail orderDetail : orderDetails) {
@ -1233,12 +1229,18 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 删除已经移除购物车的订单 修改并保存数据
if (!orderDetails.isEmpty()) {
mpOrderDetailService.saveOrUpdateBatch(orderDetails);
if (shopEatTypeInfoDTO.isDineInAfter()) {
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, orderDetails.toArray(new TbOrderDetail[0]));
}
}
if (!removeOrderDetailIds.isEmpty()) {
// 退单票
orderDetailMapper.deleteBatchIds(removeOrderDetailIds);
if (shopEatTypeInfoDTO.isDineInAfter()) {
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, removeOrderDetailList.toArray(new TbOrderDetail[0]));
}
}
// 更新购物车记录的orderId
for (TbCashierCart cashierCart : cashierCarts) {
if (!"-999".equals(cashierCart.getProductId())) {
@ -1275,15 +1277,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 推送耗材信息
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()) {
LambdaUpdateWrapper<TbShopTable> wrapper = new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getShopId, createOrderDTO.getShopId())
@ -1530,8 +1523,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
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.printTicket(String.valueOf(orderInfo.getId()));
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息
JSONObject mqData = new JSONObject();
@ -1814,11 +1813,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
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);
rabbitMsgUtils.printDishesTicket(currentOrder.getId(), false, detailList.toArray(new TbOrderDetail[0]));
return true;
}

View File

@ -2,6 +2,7 @@ package cn.ysk.cashier.utils;
import cn.ysk.cashier.cons.rabbit.RabbitConstants;
import cn.ysk.cashier.dto.CallNumPrintDTO;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.connection.CorrelationData;
@ -53,22 +54,22 @@ public class RabbitMsgUtils implements RabbitTemplate.ConfirmCallback {
jsonObject.put("orderId", orderId);
jsonObject.put("orderDetailIds", orderIds);
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.put("orderId", orderId);
jsonObject.put("orderDetailIds", detailOrderIds);
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) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("orderId", id);
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);
}