From 88580dae55106dcf4a8f80693b90638e07af02fa Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 14 十月 2026 09:20:23 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java |  104 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 81 insertions(+), 23 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 977579c..315f7b5 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
@@ -1,22 +1,41 @@
 package com.ruoyi.order.controller;
 
 
+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;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.log.enums.OperatorType;
+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;
 import com.ruoyi.order.api.vo.SiteDetailEvaluateVO;
 import com.ruoyi.order.api.vo.TOrderEvaluateVO;
 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;
 
 /**
@@ -32,16 +51,36 @@
 @RequestMapping("/t-order-evaluate")
 public class TOrderEvaluateController {
 
+    private static final Logger log = LoggerFactory.getLogger(TOrderEvaluateController.class);
+
     @Autowired
     private TOrderEvaluateService orderEvaluateService;
-
-
+    
+    @Resource
+    private TOrderEvaluateTagService orderEvaluateTagService;
+    
+    @Resource
+    private TokenService tokenService;
+    
+    @Resource
+    private TChargingOrderService chargingOrderService;
+    
+    @Resource
+    private SiteClient siteClient;
+    
+    @Resource
+    private WxSubscribeMessageService wxSubscribeMessageService;
+    
+    
+    
+    
     @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询")
-    @PostMapping(value = "/getTagCount")
-    public AjaxResult<List<TEvaluationTagVO>> getTagCount() {
-        return AjaxResult.ok(orderEvaluateService.getTagCount());
+    @GetMapping(value = "/getTagCount")
+    public AjaxResult<List<TEvaluationTagVO>> getTagCount(@ApiParam(value = "站点id")Integer siteId) {
+        return AjaxResult.ok(orderEvaluateService.getTagCount(siteId));
     }
-
+    
+    
     @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价分页列表查询")
     @PostMapping(value = "/pageList")
     public AjaxResult<PageInfo<TOrderEvaluateVO>> pageList(@RequestBody TOrderEvaluateQuery query) {
@@ -53,8 +92,8 @@
     
     
     
-    
-    @GetMapping(value = "/getPageList")
+    @RequiresPermissions(value = {"/chargeEvaluation/list"}, logical = Logical.OR)
+    @PostMapping(value = "/getPageList")
     @ApiOperation(value = "获取充电评价列表", tags = {"管理后台-充电评价"})
     public AjaxResult<PageInfo<GetOrderEvaluatePageListDTO>> getPageList(@RequestBody GetOrderEvaluatePageList pageList){
         PageInfo<GetOrderEvaluatePageListDTO> list = orderEvaluateService.getPageList(pageList);
@@ -62,24 +101,24 @@
     }
     
     
-    
-    @DeleteMapping(value = "/delOrderEvaluate")
+    @RequiresPermissions(value = {"/chargeEvaluation/del"}, logical = Logical.OR)
+    @DeleteMapping(value = "/delOrderEvaluate/{id}")
     @ApiOperation(value = "删除充电评价", tags = {"管理后台-充电评价"})
-    public AjaxResult delOrderEvaluate(@PathVariable Long id){
+    public AjaxResult delOrderEvaluate(@PathVariable("id") Long id){
         TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id);
-        orderEvaluate.setDelFlag(true);
-        orderEvaluateService.updateById(orderEvaluate);
+        orderEvaluateService.removeById(orderEvaluate);
+        orderEvaluateTagService.remove(new LambdaQueryWrapper<TOrderEvaluateTag>().eq(TOrderEvaluateTag::getOrderEvaluateId, id));
         return AjaxResult.success();
     }
     
     
     
-    
+    @RequiresPermissions(value = {"/chargeEvaluation/reply"}, logical = Logical.OR)
     @PostMapping(value = "/replyEvaluation")
     @ApiOperation(value = "充电评价回复", tags = {"管理后台-充电评价"})
-    public AjaxResult replyEvaluation(@PathVariable("id") Long id, @RequestParam("reply") String reply){
-        TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id);
-        reply = reply.replaceAll("& #40;", "(")
+    public AjaxResult replyEvaluation(@RequestBody ReplyEvaluationVO vo){
+        TOrderEvaluate orderEvaluate = orderEvaluateService.getById(vo.getId());
+        String reply = vo.getReply().replaceAll("& #40;", "(")
                 .replaceAll("& #41;", ")")
                 .replaceAll("& #40;", "(")
                 .replaceAll("& #41;", ")")
@@ -89,22 +128,40 @@
         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);
+        }
     }
     
     
     
-    
-    @DeleteMapping(value = "/delOrderEvaluateReply")
+    @RequiresPermissions(value = {"/chargeEvaluation/del"}, logical = Logical.OR)
+    @DeleteMapping(value = "/delOrderEvaluateReply/{id}")
     @ApiOperation(value = "删除充电评价回复", tags = {"管理后台-充电评价"})
-    public AjaxResult delOrderEvaluateReply(@PathVariable Long id){
+    public AjaxResult delOrderEvaluateReply(@PathVariable("id") Long id){
         TOrderEvaluate orderEvaluate = orderEvaluateService.getById(id);
         orderEvaluate.setEvaluationResponse("");
         orderEvaluateService.updateById(orderEvaluate);
         return AjaxResult.success();
     }
     
-
+    
     @ApiOperation(tags = {"小程序-订单评价"},value = "电站详情中评价列表查询")
     @GetMapping(value = "/getSiteDetailEveList")
     public AjaxResult<SiteDetailEvaluateVO> getSiteDetailEveList(@RequestParam(value = "siteId")@ApiParam(value = "站点id")Integer siteId) {
@@ -114,6 +171,7 @@
     
     
     
+    @Log(title = "【我的】添加评价记录", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
     @PostMapping(value = "/addOrderEvaluate")
     @ApiOperation(value = "添加评价记录", tags = {"小程序-充电记录"})
     public AjaxResult addOrderEvaluate(@RequestBody OrderEvaluateVo query){
@@ -125,9 +183,9 @@
     @ApiOperation(value = "获取订单评价详情", tags = {"小程序-充电记录"})
     @ApiImplicitParams({
             @ApiImplicitParam(value = "订单id", name = "orderId", required = true),
-            @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单)", name = "orderType", required = true),
+            @ApiImplicitParam(value = "订单类型(1=充电订单,2=购物订单,3=兑换订单,4=会员订单,5=VIN码充电订单)", name = "orderType", required = true),
     })
-    public AjaxResult<OrderEvaluateVo> getOrderEvaluate(@PathVariable Integer orderId, Integer orderType){
+    public AjaxResult<OrderEvaluateVo> getOrderEvaluate(String orderId, Integer orderType){
         OrderEvaluateVo orderEvaluate = orderEvaluateService.getOrderEvaluate(orderId, orderType);
         return AjaxResult.success(orderEvaluate);
     }

--
Gitblit v1.7.1