增加标签打印机 订单打印简化

This commit is contained in:
2024-10-10 14:33:45 +08:00
parent 5612d687da
commit 4c7aaf8183
5 changed files with 174 additions and 12 deletions

View File

@@ -780,6 +780,8 @@ public class OrderService {
oldOrderDetailList.forEach(item -> {
oldOrderDetailMap.put(item.getOrderId().toString() + item.getCartId(), item);
});
ArrayList<TbOrderDetail> addOrderDetailList = new ArrayList<>();
for (TbCashierCart cashierCart : list) {
// 设置下单次数
if (cashierCart.getPlaceNum() == null) {
@@ -794,6 +796,7 @@ public class OrderService {
if (orderDetail == null) {
orderDetail = new TbOrderDetail();
// 已经加入修改了库存数量,返还或减少库存
addOrderDetailList.add(orderDetail);
} else {
if (!TableConstant.CART_SEAT_ID.equals(cashierCart.getProductId())) {
int subVal = cashierCart.getNumber() - orderDetail.getNum();
@@ -955,8 +958,17 @@ public class OrderService {
.eq(TbShopTable::getQrcode, orderInfo.getTableId())
.set(TbShopTable::getStatus, TableStateEnum.USING.getState()));
producer.printMechine(String.valueOf(orderId));
// 打印票据
if (!addOrderDetailList.isEmpty()) {
log.info("待打印菜品信息: {}", addOrderDetailList);
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, addOrderDetailList.toArray(new TbOrderDetail[0]));
}
if (!removedOrderDetailList.isEmpty()) {
log.info("待打印退菜菜品信息: {}", removedOrderDetailList);
// 退单票
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), true, removedOrderDetailList.toArray(new TbOrderDetail[0]));
}
}
log.info("创建订单发送更新耗材消息订单id{}", orderInfo.getId());

View File

@@ -7,6 +7,7 @@ import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.chaozhanggui.system.cashierservice.bean.OrderUseTypeEnum;
import com.chaozhanggui.system.cashierservice.bean.TableStateEnum;
import com.chaozhanggui.system.cashierservice.dao.*;
import com.chaozhanggui.system.cashierservice.entity.*;
@@ -16,6 +17,7 @@ import com.chaozhanggui.system.cashierservice.exception.MsgException;
import com.chaozhanggui.system.cashierservice.model.ReturnOrderReq;
import com.chaozhanggui.system.cashierservice.model.ScanPayReq;
import com.chaozhanggui.system.cashierservice.model.TradeQueryReq;
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderDetailMapper;
import com.chaozhanggui.system.cashierservice.mybatis.MpShopTableMapper;
import com.chaozhanggui.system.cashierservice.mybatis.MpShopUserFlowMapper;
import com.chaozhanggui.system.cashierservice.mybatis.MpShopUserMapper;
@@ -113,6 +115,10 @@ public class PayService {
private MpShopUserFlowMapper mpShopUserFlowMapper;
@Autowired
private MpShopTableMapper mpShopTableMapper;
@Autowired
private MPOrderDetailMapper mPOrderDetailMapper;
@Autowired
private RabbitMsgUtils rabbitMsgUtils;
public PayService(RedisTemplate<String, Object> redisTemplate) {
this.redisTemplate = redisTemplate;
@@ -293,7 +299,14 @@ public class PayService {
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 修改台桌状态
if (StrUtil.isNotBlank(orderInfo.getTableId())) {
@@ -335,7 +348,14 @@ public class PayService {
}
}
// 打印结算单
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(),
orderInfo.getShopId());
redisUtil.del(tableCartKey);
@@ -391,7 +411,14 @@ public class PayService {
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 修改台桌状态
if (StrUtil.isNotBlank(orderInfo.getTableId())) {
@@ -428,7 +455,14 @@ public class PayService {
}
}
// 打印结算单
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
String tableCartKey = RedisCst.getCurrentOrderKey(orderInfo.getTableId(),
orderInfo.getShopId());
redisUtil.del(tableCartKey);
@@ -665,7 +699,14 @@ public class PayService {
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息
JSONObject mqData = new JSONObject();
@@ -796,7 +837,14 @@ public class PayService {
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息
JSONObject mqData = new JSONObject();
@@ -903,7 +951,14 @@ public class PayService {
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(String.valueOf(orderId));
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息
JSONObject mqData = new JSONObject();
@@ -999,7 +1054,14 @@ public class PayService {
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息
JSONObject mqData = new JSONObject();
@@ -1095,8 +1157,14 @@ public class PayService {
jsonObject.put("orderId", orderId);
producer.putOrderCollect(jsonObject.toJSONString());
producer.printMechine(orderId);
// 打印消息
if (!OrderUseTypeEnum.DINE_IN_AFTER.getValue().equals(orderInfo.getUseType())) {
List<TbOrderDetail> detailList = mPOrderDetailMapper.selectList(new LambdaQueryWrapper<TbOrderDetail>()
.eq(TbOrderDetail::getOrderId, orderInfo.getId())
.eq(TbOrderDetail::getStatus, "closed"));
rabbitMsgUtils.printDishesTicket(orderInfo.getId(), false, detailList.toArray(new TbOrderDetail[0]));
}
rabbitMsgUtils.printPlaceTicket(orderInfo.getId(), false);
// 发送库存记录mq消息
JSONObject mqData = new JSONObject();