增加标签打印机 订单打印简化
This commit is contained in:
parent
5612d687da
commit
4c7aaf8183
|
|
@ -66,6 +66,8 @@ public class PrintConsumer {
|
|||
if (orderDetails.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 菜品票
|
||||
getPrintMachine(Integer.valueOf(orderInfo.getShopId()), "cash", "one").forEach(machine -> {
|
||||
log.info("打印机信息: {}", machine);
|
||||
machine.setCurrentUserId(currentUserId);
|
||||
|
|
@ -74,6 +76,15 @@ public class PrintConsumer {
|
|||
printerHandler.handleRequest(machine, isReturn, orderInfo, orderDetails, null);
|
||||
});
|
||||
|
||||
// 标签打印
|
||||
getPrintMachine(Integer.valueOf(orderInfo.getShopId()), "label", "one").forEach(machine -> {
|
||||
log.info("打印机信息: {}", machine);
|
||||
machine.setCurrentUserId(currentUserId);
|
||||
machine.setCurrentUserName(currentUserName);
|
||||
machine.setCurrentUserNickName(currentUserNickName);
|
||||
printerHandler.handleRequest(machine, isReturn, orderInfo, orderDetails, null);
|
||||
});
|
||||
|
||||
} catch (Exception e) {
|
||||
log.warn("打印菜品失败", e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public class FeiPrinter extends PrinterHandler{
|
|||
private final TbProductSkuMapper tbProductSkuMapper;
|
||||
|
||||
public FeiPrinter(TbProductMapper productMapper, TbProductSkuMapper tbProductSkuMapper, TbShopUserMapper tbShopUserMapper, MPOrderInfoMapper mPOrderInfoMapper, MpShopInfoMapper mpShopInfoMapper, MpShopInfoMapper mpShopInfoMapper1, MPOrderDetailMapper mPOrderDetailMapper) {
|
||||
super("Feie", productMapper, tbProductSkuMapper, tbShopUserMapper);
|
||||
super("fePrinter", productMapper, tbProductSkuMapper, tbShopUserMapper);
|
||||
this.mPOrderInfoMapper = mPOrderInfoMapper;
|
||||
this.mpShopInfoMapper = mpShopInfoMapper1;
|
||||
this.mPOrderDetailMapper = mPOrderDetailMapper;
|
||||
|
|
@ -37,6 +37,7 @@ public class FeiPrinter extends PrinterHandler{
|
|||
|
||||
@Override
|
||||
protected void returnDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
||||
log.error("未实现打印方法");
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -81,6 +82,7 @@ public class FeiPrinter extends PrinterHandler{
|
|||
|
||||
@Override
|
||||
protected void callNumPrint(CallNumPrintDTO printDTO) {
|
||||
log.error("未实现打印方法");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
package com.chaozhanggui.system.cashierservice.rabbit.print;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbProductMapper;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbProductSkuMapper;
|
||||
import com.chaozhanggui.system.cashierservice.dao.TbShopUserMapper;
|
||||
import com.chaozhanggui.system.cashierservice.entity.*;
|
||||
import com.chaozhanggui.system.cashierservice.entity.dto.CallNumPrintDTO;
|
||||
import com.chaozhanggui.system.cashierservice.model.OrderDetailPO;
|
||||
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderDetailMapper;
|
||||
import com.chaozhanggui.system.cashierservice.mybatis.MPOrderInfoMapper;
|
||||
import com.chaozhanggui.system.cashierservice.mybatis.MpShopInfoMapper;
|
||||
import com.chaozhanggui.system.cashierservice.util.DateUtils;
|
||||
import com.chaozhanggui.system.cashierservice.util.FeieyunPrintUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class LocalLabelPrinter extends PrinterHandler{
|
||||
|
||||
private final MPOrderDetailMapper mPOrderDetailMapper;
|
||||
private final TbProductSkuMapper tbProductSkuMapper;
|
||||
|
||||
public LocalLabelPrinter(TbProductMapper productMapper, TbProductSkuMapper tbProductSkuMapper, TbShopUserMapper tbShopUserMapper, MPOrderDetailMapper mPOrderDetailMapper) {
|
||||
super("local", productMapper, tbProductSkuMapper, tbShopUserMapper);
|
||||
this.mPOrderDetailMapper = mPOrderDetailMapper;
|
||||
this.tbProductSkuMapper = tbProductSkuMapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void returnDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
||||
log.error("未实现打印方法");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void normalDishesPrint(TbOrderInfo orderInfo, TbOrderDetail orderDetail, TbPrintMachine machine) {
|
||||
TbProductSkuWithBLOBs sku = tbProductSkuMapper.selectByPrimaryKey(orderDetail.getProductSkuId());
|
||||
if (sku == null) {
|
||||
log.warn("打印菜品标签票失败 sku商品不存在: {}", orderDetail);
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < orderDetail.getNum(); i++) {
|
||||
FeieyunPrintUtil.printLabelMsg(machine.getAddress(), orderInfo.getTableName(), orderDetail.getProductName(),
|
||||
1, DateUtils.getTimes(new Date(orderInfo.getCreatedAt())), sku.getSalePrice().toPlainString(), sku.getSpecSnap());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void returnOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List<OrderDetailPO.Detail> detailList) {
|
||||
log.error("未实现打印方法");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void normalOrderPrint(TbOrderInfo orderInfo, TbPrintMachine machine, String balance, List<OrderDetailPO.Detail> detailList) {
|
||||
log.error("未实现打印方法");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void callNumPrint(CallNumPrintDTO printDTO) {
|
||||
log.error("未实现打印方法");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue