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