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/service/impl/TOrderEvaluateServiceImpl.java |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
index ab0bcc4..4ab6514 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java
@@ -24,6 +24,7 @@
 import com.ruoyi.order.api.model.TEvaluationAutoReply;
 import com.ruoyi.order.api.model.TOrderEvaluate;
 import com.ruoyi.order.api.model.TOrderEvaluateTag;
+import com.ruoyi.order.api.model.TVinChargingOrder;
 import com.ruoyi.order.api.query.TOrderEvaluateQuery;
 import com.ruoyi.order.api.vo.SiteDetailEvaluateVO;
 import com.ruoyi.order.api.vo.TOrderEvaluateVO;
@@ -36,6 +37,7 @@
 import com.ruoyi.order.service.TChargingOrderService;
 import com.ruoyi.order.service.TEvaluationAutoReplyService;
 import com.ruoyi.order.service.TOrderEvaluateService;
+import com.ruoyi.order.service.TVinChargingOrderService;
 import com.ruoyi.order.service.WxSubscribeMessageService;
 import com.ruoyi.other.api.domain.TEvaluationTag;
 import com.ruoyi.other.api.domain.TIntegralRule;
@@ -90,6 +92,9 @@
     
     @Resource
     private TChargingOrderService chargingOrderService;
+    
+    @Resource
+    private TVinChargingOrderService vinChargingOrderService;
     
     @Resource
     private IntegralRuleClient integralRuleClient;
@@ -345,9 +350,25 @@
         BeanUtils.copyProperties(query, orderEvaluate);
         Long userid = tokenService.getLoginUserApplet().getUserId();
         orderEvaluate.setAppUserId(userid);
-        if(query.getOrderType() == 1){
+        Integer orderType = query.getOrderType();
+        if(null == orderType){
+            return AjaxResult.error("订单类型不能为空");
+        }
+        if(orderType == 1){
             TChargingOrder chargingOrder = chargingOrderService.getById(query.getOrderId());
+            if(null == chargingOrder){
+                return AjaxResult.error("订单不存在");
+            }
             orderEvaluate.setAppUserCarId(chargingOrder.getAppUserCarId());
+        }else if(orderType == 5){
+            //VIN码充电订单,仅允许评价本人订单
+            TVinChargingOrder vinChargingOrder = vinChargingOrderService.getById(query.getOrderId());
+            if(null == vinChargingOrder || !userid.equals(vinChargingOrder.getAppUserId())){
+                return AjaxResult.error("订单不存在");
+            }
+            orderEvaluate.setAppUserCarId(vinChargingOrder.getAppUserCarId());
+        }else{
+            return AjaxResult.error("订单类型不支持评价");
         }
         TAppUser appUser = appUserClient.getUserById(userid).getData();
     
@@ -392,7 +413,6 @@
                 appUser.setPoints(appUser.getPoints() + num1);
                 appUserClient.updateAppUser(appUser);
     
-                TChargingOrder chargingOrder = chargingOrderService.getById(orderEvaluate.getOrderId());
                 //积分变动明细
                 TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
                 appUserIntegralChange.setAppUserId(appUser.getId());
@@ -400,7 +420,7 @@
                 appUserIntegralChange.setHistoricalIntegral(points);
                 appUserIntegralChange.setCurrentIntegral(points + num1);
                 appUserIntegralChange.setCreateTime(LocalDateTime.now());
-                appUserIntegralChange.setOrderCode(chargingOrder.getCode());
+                appUserIntegralChange.setOrderCode(getOrderCode(orderEvaluate.getOrderType(), orderEvaluate.getOrderId()));
                 appUserIntegralChange.setExtension(orderEvaluate.getOrderId().toString());
                 appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
             }
@@ -408,6 +428,21 @@
         return AjaxResult.success();
     }
     
+    /**
+     * 根据评价的订单类型获取对应的订单编号
+     * @param orderType 订单类型(1=充电订单,5=VIN码充电订单)
+     * @param orderId 订单id
+     * @return 订单编号
+     */
+    private String getOrderCode(Integer orderType, Long orderId) {
+        if(Integer.valueOf(5).equals(orderType)){
+            TVinChargingOrder vinChargingOrder = vinChargingOrderService.getById(orderId);
+            return null == vinChargingOrder ? null : vinChargingOrder.getCode();
+        }
+        TChargingOrder chargingOrder = chargingOrderService.getById(orderId);
+        return null == chargingOrder ? null : chargingOrder.getCode();
+    }
+    
     private void applyAutoReply(TOrderEvaluate orderEvaluate) {
         TEvaluationAutoReply rule = evaluationAutoReplyService.matchRule(orderEvaluate.getContent(), orderEvaluate.getMark());
         if (rule == null || StringUtils.isEmpty(rule.getReplyContent())) {

--
Gitblit v1.7.1