1.代客下单
This commit is contained in:
@@ -55,6 +55,7 @@ public class PrintMechineConsumer {
|
||||
public void listener(String message) {
|
||||
|
||||
String orderId = message;
|
||||
log.info("接收到打印mq消息: {}", message);
|
||||
|
||||
|
||||
try {
|
||||
@@ -187,7 +188,10 @@ public class PrintMechineConsumer {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (StrUtil.isNotBlank(orderInfo.getUseType()) && orderInfo.getUseType().equals("postPay")
|
||||
&& (!orderInfo.getStatus().equals("closed"))) {
|
||||
return;
|
||||
}
|
||||
List<TbOrderDetail> tbOrderDetails=tbOrderDetailMapper.selectAllByOrderId(Integer.valueOf(orderId));
|
||||
if(ObjectUtil.isNotEmpty(tbOrderDetails)&&tbOrderDetails.size()>0) {
|
||||
List<OrderDetailPO.Detail> detailList = new ArrayList<>();
|
||||
@@ -219,25 +223,30 @@ public class PrintMechineConsumer {
|
||||
}
|
||||
|
||||
if (ObjectUtil.isNotEmpty(detailList) && detailList.size() > 0) {
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), "0", detailList, orderInfo.getRemark());
|
||||
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
|
||||
detailPO.setOutNumber(orderInfo.getOutNumber());
|
||||
String printType = "结算单";
|
||||
|
||||
String data = PrinterUtils.getCashPrintData(detailPO, printType, orderInfo.getOrderType());
|
||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||
if (StrUtil.isNotBlank(orderInfo.getUseType()) && orderInfo.getUseType().equals("postPay")
|
||||
&& (!orderInfo.getStatus().equals("closed"))) {
|
||||
return;
|
||||
String message = redisUtils.getMessage("IS_PRINT:" + orderInfo.getId());
|
||||
if (message == null) {
|
||||
OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getOrderType().equals("miniapp") ? orderInfo.getTableName() : orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, (ObjectUtil.isEmpty(orderInfo.getPayType()) || ObjectUtil.isNull(orderInfo.getPayType()) ? "" : orderInfo.getPayType()), "0", detailList, orderInfo.getRemark());
|
||||
// OrderDetailPO detailPO = new OrderDetailPO(shopInfo.getShopName(), "普通打印", orderInfo.getMasterId(), orderInfo.getOrderNo(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), "【POS-1】001", orderInfo.getOrderAmount().toPlainString(), balance, orderInfo.getPayType(), "0", detailList);
|
||||
detailPO.setOutNumber(orderInfo.getOutNumber());
|
||||
String printType = "结算单";
|
||||
|
||||
String data = PrinterUtils.getCashPrintData(detailPO, printType, orderInfo.getOrderType());
|
||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔新的订单,请及时处理\"}";
|
||||
|
||||
PrinterUtils.printTickets(voiceJson, 3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
||||
redisUtils.saveMessage("IS_PRINT:" + orderInfo.getId(), "1");
|
||||
}
|
||||
PrinterUtils.printTickets(voiceJson, 3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
case "one": //一菜一品
|
||||
|
||||
if (StrUtil.isNotBlank(orderInfo.getUseType()) && orderInfo.getUseType().equals("postPay")
|
||||
&& (!orderInfo.getStatus().equals("unpaid"))) {
|
||||
return;
|
||||
}
|
||||
if("return".equals(orderInfo.getOrderType())){
|
||||
List<TbOrderDetail> details= tbOrderDetailMapper.selectAllByOrderId(Integer.valueOf(orderId));
|
||||
if(ObjectUtil.isNotEmpty(details)&&details.size()>0){
|
||||
@@ -257,10 +266,6 @@ public class PrintMechineConsumer {
|
||||
}
|
||||
String data = PrinterUtils.getPrintData("return",orderInfo.getPayType().equals("wx_lite")?orderInfo.getTableName():orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getProductName(), it.getNum(), remark);
|
||||
String voiceJson = "{\"bizType\":\"2\",\"content\":\"您有一笔退款订单,请及时处理\"}";
|
||||
if (StrUtil.isNotBlank(orderInfo.getUseType()) && orderInfo.getUseType().equals("postPay")
|
||||
&& (!orderInfo.getStatus().equals("unpaid"))) {
|
||||
return;
|
||||
}
|
||||
PrinterUtils.printTickets(voiceJson,3, Integer.valueOf(printerNum), tbPrintMachineWithBLOBs.getAddress(), data);
|
||||
}
|
||||
});
|
||||
@@ -272,7 +277,7 @@ public class PrintMechineConsumer {
|
||||
|
||||
tbOrderDetails.parallelStream().forEach(it -> {
|
||||
// 已经打印过的菜品不再打印
|
||||
if ("postPay".equals(orderInfo.getUseType()) && isPrint(it)) {
|
||||
if ("postPay".equals(orderInfo.getUseType()) && isPrint(it, orderInfo.getId())) {
|
||||
return;
|
||||
}
|
||||
String categoryId = tbProductMapper.selectByPrimaryKey(Integer.valueOf(it.getProductId())).getCategoryId();
|
||||
@@ -312,8 +317,8 @@ public class PrintMechineConsumer {
|
||||
* 判断商品是否已打票
|
||||
* @return true 已打 false 未打
|
||||
*/
|
||||
private boolean isPrint(TbOrderDetail orderDetail) {
|
||||
String key = RedisCst.ORDER_PRINT + orderDetail.getProductId() + ":" + orderDetail.getProductSkuId();
|
||||
private boolean isPrint(TbOrderDetail orderDetail, Integer orderId) {
|
||||
String key = RedisCst.ORDER_PRINT + orderId + ":" + orderDetail.getProductId() + ":" + orderDetail.getProductSkuId();
|
||||
String info = redisUtils.getMessage(key);
|
||||
redisUtils.saveMessage(key, String.valueOf(orderDetail.getNum()), 60 * 60 * 24);
|
||||
if (info == null) {
|
||||
@@ -468,6 +473,10 @@ public class PrintMechineConsumer {
|
||||
break;
|
||||
case "one": //一菜一品
|
||||
|
||||
if (!orderInfo.getStatus().equals("unpaid")) {
|
||||
return;
|
||||
}
|
||||
|
||||
cashierCarts = tbCashierCartMapper.selectByOrderId(orderId,"final");
|
||||
if (ObjectUtil.isNotEmpty(cashierCarts) && cashierCarts.size() > 0) {
|
||||
|
||||
@@ -491,6 +500,9 @@ public class PrintMechineConsumer {
|
||||
if (ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs) && ObjectUtil.isNotEmpty(tbProductSkuWithBLOBs.getSpecSnap())) {
|
||||
remark = tbProductSkuWithBLOBs.getSpecSnap();
|
||||
}
|
||||
|
||||
|
||||
|
||||
FeieyunPrintUtil.getPrintData(tbPrintMachineWithBLOBs.getAddress(),orderInfo.getMasterId(), DateUtils.getTime(new Date(orderInfo.getCreatedAt())), it.getName(), it.getNumber(), remark);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user