From 973019dd942b69c3ad6b2511df99f0946614fe16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Tue, 25 Nov 2025 15:32:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=AB=E7=A0=81=E4=B8=8A=E8=8F=9C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/czg/mq/OrderMqListener.java | 28 +++++++++++++++++++ .../com/czg/order/entity/OrderDetail.java | 1 + .../czg/order/service/OrderInfoService.java | 3 ++ .../com/czg/constant/TableValueConstant.java | 17 +++++++++++ .../service/impl/OrderInfoServiceImpl.java | 23 +++++++++++++++ .../com/czg/service/order/utils/FunUtil.java | 22 +++++++++++++++ 6 files changed, 94 insertions(+) diff --git a/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java b/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java index d4f35a458..640e8d447 100644 --- a/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java +++ b/cash-api/order-server/src/main/java/com/czg/mq/OrderMqListener.java @@ -8,6 +8,8 @@ import com.czg.config.RabbitConstants; import com.czg.order.entity.MqLog; import com.czg.order.service.MqLogService; import com.czg.order.service.OrderInfoRpcService; +import com.czg.order.service.OrderInfoService; +import com.czg.service.order.utils.FunUtil; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.annotation.RabbitListener; @@ -26,6 +28,29 @@ public class OrderMqListener { private OrderInfoRpcService orderInfoRpcService; @Resource private MqLogService mqLogService; + @Resource + private OrderInfoService orderInfoService; + @Resource + private FunUtil funUtil; + + /** + * 订单上菜 + */ + @RabbitListener(queues = {"${spring.profiles.active}-" + RabbitConstants.Queue.ORDER_PRODUCT_STATUS_QUEUE}) + public void orderDetailUp(String info) { + if (!info.contains("UP_ORDER_DETAIL:")) { + return; + } + log.info("接收到修改菜品状态mq, info: {}", info); + String finalInfo = info; + funUtil.debounce("UP_ORDER_DETAIL:" + info, 5, () -> { + orderInfoService.updateOrderDetailStatus(Long.valueOf(finalInfo)); + + }); + info = info.replace("UP_ORDER_DETAIL:", ""); + System.out.println(info); + + } @RabbitListener(queues = {"${spring.profiles.active}-" + RabbitConstants.Queue.ORDER_STOCK_QUEUE}) public void orderStockSubtract(String orderId) { @@ -80,4 +105,7 @@ public class OrderMqListener { } + + + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/entity/OrderDetail.java b/cash-common/cash-common-service/src/main/java/com/czg/order/entity/OrderDetail.java index fc724af18..b766fecd4 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/entity/OrderDetail.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/entity/OrderDetail.java @@ -131,6 +131,7 @@ public class OrderDetail implements Serializable { * 状态: in-production 制作中;wait_out 待取餐;refunding 退款中; part_refund 部分退单; refund-退单; done 完成; */ private String status; + private String subStatus; /** * 当前下单次数 diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java index 3b3d3b5b2..294497179 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java @@ -68,4 +68,7 @@ public interface OrderInfoService extends IService { Boolean updatePayOrderId(Long orderId, Long paymentId, String payType, String remark); + + void updateOrderDetailStatus(Long orderDetailId); + } diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/constant/TableValueConstant.java b/cash-common/cash-common-tools/src/main/java/com/czg/constant/TableValueConstant.java index f79dbc76d..63ff912e4 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/constant/TableValueConstant.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/constant/TableValueConstant.java @@ -6,6 +6,23 @@ import lombok.Getter; * @author Administrator */ public interface TableValueConstant { + interface OrderDetail { + @Getter + enum SubStatus { + PENDING_PREP("PENDING_PREP", "待起菜"), + READY_TO_SERVE("READY_TO_SERVE", "待出菜"), + SENT_OUT("SENT_OUT", "已出菜"), + DELIVERED("DELIVERED", "已上菜"), + EXPIRED("EXPIRED", "已超时"); + private final String code; + private final String msg; + + SubStatus(String code, String msg) { + this.code = code; + this.msg = msg; + } + } + } interface MemberExpFlow { @Getter enum Type { diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index ac9b2db71..6353f25ea 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -1722,4 +1722,27 @@ public class OrderInfoServiceImpl extends ServiceImpl