订单打印修改,发送方控制结算单打印
This commit is contained in:
@@ -54,8 +54,16 @@ public class PrintMqListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RabbitListener(queues = {"${spring.profiles.active}-" + RabbitConstants.Queue.ORDER_MACHINE_PRINT_QUEUE})
|
@RabbitListener(queues = {"${spring.profiles.active}-" + RabbitConstants.Queue.ORDER_MACHINE_PRINT_QUEUE})
|
||||||
public void orderPrint(String orderId) {
|
public void orderPrint(String req) {
|
||||||
invokeFun("orderPrint", "java.order", orderId, (data) -> printerHandler.handler(data, PrinterHandler.PrintTypeEnum.ONE_AND_ORDER));
|
invokeFun("orderPrint", "java.order", req, (data) -> {
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(data);
|
||||||
|
String orderId = jsonObject.getString("orderId");
|
||||||
|
if (orderId == null) {
|
||||||
|
throw new RuntimeException("订单打印失败,未传递orderId");
|
||||||
|
}
|
||||||
|
Boolean printOrder = jsonObject.getBoolean("printOrder");
|
||||||
|
printerHandler.handler(data, printOrder != null && !printOrder ? PrinterHandler.PrintTypeEnum.ORDER : PrinterHandler.PrintTypeEnum.ONE_AND_ORDER);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.czg.config;
|
package com.czg.config;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -45,10 +46,11 @@ public class RabbitPublisher {
|
|||||||
/**
|
/**
|
||||||
* 订单打印消息
|
* 订单打印消息
|
||||||
* @param orderId 订单id
|
* @param orderId 订单id
|
||||||
|
* @param printOrder 是否打印结算单
|
||||||
*/
|
*/
|
||||||
public void sendOrderPrintMsg(String orderId) {
|
public void sendOrderPrintMsg(String orderId, boolean printOrder) {
|
||||||
//厨房票
|
//厨房票
|
||||||
sendMsg(RabbitConstants.Queue.ORDER_MACHINE_PRINT_QUEUE, orderId);
|
sendMsg(RabbitConstants.Queue.ORDER_MACHINE_PRINT_QUEUE, new JSONObject().fluentPut("orderId", orderId).fluentPut("printOrder", printOrder).toString());
|
||||||
//前台票
|
//前台票
|
||||||
sendMsg(RabbitConstants.Queue.ORDER_PRINT_QUEUE, orderId);
|
sendMsg(RabbitConstants.Queue.ORDER_PRINT_QUEUE, orderId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -442,7 +442,7 @@ public abstract class PrinterHandler {
|
|||||||
// 判断订单是否是先付费或者已结算
|
// 判断订单是否是先付费或者已结算
|
||||||
if (OrderStatusEnums.UNPAID.getCode().equals(orderInfo.getStatus()) || OrderStatusEnums.CANCELLED.getCode().equals(orderInfo.getStatus())) {
|
if (OrderStatusEnums.UNPAID.getCode().equals(orderInfo.getStatus()) || OrderStatusEnums.CANCELLED.getCode().equals(orderInfo.getStatus())) {
|
||||||
log.warn("此订单未支付或已取消, 订单信息: {}", orderInfo);
|
log.warn("此订单未支付或已取消, 订单信息: {}", orderInfo);
|
||||||
return;
|
// return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tbOrderDetailList.isEmpty()) {
|
if (tbOrderDetailList.isEmpty()) {
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
);
|
);
|
||||||
if ("after-pay".equals(orderInfo.getPayMode())) {
|
if ("after-pay".equals(orderInfo.getPayMode())) {
|
||||||
//发送打票信息 后付费推送多次 需要处理
|
//发送打票信息 后付费推送多次 需要处理
|
||||||
rabbitPublisher.sendOrderPrintMsg(orderInfo.getId().toString());
|
rabbitPublisher.sendOrderPrintMsg(orderInfo.getId().toString(), false);
|
||||||
} else {
|
} else {
|
||||||
redisService.set(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId(), "", 60 * 15);
|
redisService.set(RedisCst.classKeyExpired.EXPIRED_ORDER + orderInfo.getId(), "", 60 * 15);
|
||||||
}
|
}
|
||||||
@@ -706,7 +706,7 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
|||||||
orderDetailService.updateChain().set(OrderDetail::getStatus, OrderStatusEnums.DONE.getCode()).eq(OrderDetail::getOrderId, orderInfo.getId()).update();
|
orderDetailService.updateChain().set(OrderDetail::getStatus, OrderStatusEnums.DONE.getCode()).eq(OrderDetail::getOrderId, orderInfo.getId()).update();
|
||||||
// if (!"after-pay".equals(orderInfo.getPayMode())) {
|
// if (!"after-pay".equals(orderInfo.getPayMode())) {
|
||||||
//发送打票信息
|
//发送打票信息
|
||||||
rabbitPublisher.sendOrderPrintMsg(orderInfo.getId().toString());
|
rabbitPublisher.sendOrderPrintMsg(orderInfo.getId().toString(), true);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ public class PayServiceImpl implements PayService {
|
|||||||
OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay);
|
OrderInfo orderInfo = orderInfoService.checkOrderPay(checkOrderPay);
|
||||||
if (orderInfo.getOrderAmount().compareTo(BigDecimal.ZERO) == 0) {
|
if (orderInfo.getOrderAmount().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
//发送打票信息
|
//发送打票信息
|
||||||
rabbitPublisher.sendOrderPrintMsg(orderInfo.getId().toString());
|
rabbitPublisher.sendOrderPrintMsg(orderInfo.getId().toString(), true);
|
||||||
throw new PaySuccessException();
|
throw new PaySuccessException();
|
||||||
}
|
}
|
||||||
return orderInfo;
|
return orderInfo;
|
||||||
|
|||||||
Reference in New Issue
Block a user