From a62cffd2d300bff5885e983c4fc68d555c1e4157 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期四, 09 七月 2026 15:16:26 +0800
Subject: [PATCH] 微信订阅消息推送

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
index e33f0e5..27c1c87 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
@@ -2,6 +2,8 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.chargingPile.api.feignClient.SiteClient;
+import com.ruoyi.chargingPile.api.model.Site;
 import com.ruoyi.common.core.web.domain.AjaxResult;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.log.annotation.Log;
@@ -10,6 +12,7 @@
 import com.ruoyi.common.security.annotation.Logical;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.order.api.model.TChargingOrder;
 import com.ruoyi.order.api.model.TOrderEvaluate;
 import com.ruoyi.order.api.model.TOrderEvaluateTag;
 import com.ruoyi.order.api.query.TOrderEvaluateQuery;
@@ -18,16 +21,21 @@
 import com.ruoyi.order.dto.GetOrderEvaluatePageList;
 import com.ruoyi.order.dto.GetOrderEvaluatePageListDTO;
 import com.ruoyi.order.dto.OrderEvaluateVo;
+import com.ruoyi.order.service.TChargingOrderService;
 import com.ruoyi.order.service.TOrderEvaluateService;
 import com.ruoyi.order.service.TOrderEvaluateTagService;
+import com.ruoyi.order.service.WxSubscribeMessageService;
 import com.ruoyi.order.vo.ReplyEvaluationVO;
 import com.ruoyi.other.api.vo.TEvaluationTagVO;
 import io.swagger.annotations.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -43,6 +51,8 @@
 @RequestMapping("/t-order-evaluate")
 public class TOrderEvaluateController {
 
+    private static final Logger log = LoggerFactory.getLogger(TOrderEvaluateController.class);
+
     @Autowired
     private TOrderEvaluateService orderEvaluateService;
     
@@ -51,6 +61,15 @@
     
     @Resource
     private TokenService tokenService;
+    
+    @Resource
+    private TChargingOrderService chargingOrderService;
+    
+    @Resource
+    private SiteClient siteClient;
+    
+    @Resource
+    private WxSubscribeMessageService wxSubscribeMessageService;
     
     
     
@@ -109,8 +128,26 @@
         orderEvaluate.setEvaluationResponse(reply);
         orderEvaluate.setResponseTime(LocalDateTime.now());
         orderEvaluateService.updateById(orderEvaluate);
+        sendEvaluationReplyMessage(orderEvaluate);
         return AjaxResult.success();
     }
+
+    private void sendEvaluationReplyMessage(TOrderEvaluate orderEvaluate) {
+        try {
+            if (orderEvaluate == null || !Integer.valueOf(1).equals(orderEvaluate.getOrderType())) {
+                return;
+            }
+            TChargingOrder order = chargingOrderService.getById(orderEvaluate.getOrderId());
+            Site site = null;
+            if (order != null && order.getSiteId() != null) {
+                List<Site> sites = siteClient.getSiteByIds(Collections.singletonList(order.getSiteId())).getData();
+                site = sites == null || sites.isEmpty() ? null : sites.get(0);
+            }
+            wxSubscribeMessageService.sendEvaluationReply(orderEvaluate, order, site);
+        } catch (Exception e) {
+            log.warn("评价回复订阅消息发送异常,evaluateId={}", orderEvaluate == null ? null : orderEvaluate.getId(), e);
+        }
+    }
     
     
     

--
Gitblit v1.7.1