From 0911582d2f80e7f3162fb6d0b59ee12e23de133b Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 17 十月 2024 09:39:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TOrderEvaluateServiceImpl.java |   50 ++++++++++++++++++++++++++------------------------
 1 files changed, 26 insertions(+), 24 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 6823260..6c39482 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
@@ -190,7 +190,7 @@
             siteDetailEvaluateVO.setOrderEvaluateVOS(tChargingOrders);
             // 统计好评率
             long goodCount = tChargingOrders.stream().filter(orderEvaluateVO -> orderEvaluateVO.getMark()>=4).count();
-            BigDecimal reviewRate = new BigDecimal(goodCount).divide(new BigDecimal(tChargingOrders.size())).setScale(2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal reviewRate = new BigDecimal(goodCount).divide(new BigDecimal(tChargingOrders.size()),2, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
             siteDetailEvaluateVO.setReviewRate(reviewRate);
             siteDetailEvaluateVO.setEvaluateCount(tChargingOrders.size());
             siteDetailEvaluateVO.setOrderEvaluateVOS(tChargingOrders.stream().limit(3).collect(Collectors.toList()));
@@ -274,29 +274,31 @@
     
         //检测敏感词
         String content = orderEvaluate.getContent();
-        String token = appUserClient.getWXToken().getData();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("content", content);
-        jsonObject.put("version", 2);
-        jsonObject.put("scene", 2);
-        jsonObject.put("openid", appUser.getWxOpenid());
-        String post = HttpUtils.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + token, jsonObject.toString());
-        JSONObject object = JSONObject.parseObject(post);
-        Integer errcode = object.getInteger("errcode");
-        if(0 != errcode){
-            throw new RuntimeException(object.getString("errmsg"));
-        }
-        JSONArray detail = object.getJSONArray("detail");
-        for (int i = 0; i < detail.size(); i++) {
-            JSONObject jsonObject1 = detail.getJSONObject(i);
-            Integer errcode1 = jsonObject1.getInteger("errcode");
-            if(0 == errcode1){
-                String suggest = jsonObject1.getString("suggest");
-                Integer label = jsonObject1.getInteger("label");
-                String keyword = jsonObject1.getString("keyword");
-                Integer prob = jsonObject1.getInteger("prob");
-                if(("risky".equals(suggest) || "review".equals(suggest)) && 100 != label && StringUtils.isNotEmpty(keyword) && 80 <= prob){
-                    content = content.replaceAll(keyword, "***");
+        if(StringUtils.isNotEmpty(content)){
+            String token = appUserClient.getWXToken().getData();
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("content", content);
+            jsonObject.put("version", 2);
+            jsonObject.put("scene", 2);
+            jsonObject.put("openid", appUser.getWxOpenid());
+            String post = HttpUtils.post("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + token, jsonObject.toString());
+            JSONObject object = JSONObject.parseObject(post);
+            Integer errcode = object.getInteger("errcode");
+            if(0 != errcode){
+                throw new RuntimeException(object.getString("errmsg"));
+            }
+            JSONArray detail = object.getJSONArray("detail");
+            for (int i = 0; i < detail.size(); i++) {
+                JSONObject jsonObject1 = detail.getJSONObject(i);
+                Integer errcode1 = jsonObject1.getInteger("errcode");
+                if(0 == errcode1){
+                    String suggest = jsonObject1.getString("suggest");
+                    Integer label = jsonObject1.getInteger("label");
+                    String keyword = jsonObject1.getString("keyword");
+                    Integer prob = jsonObject1.getInteger("prob");
+                    if(("risky".equals(suggest) || "review".equals(suggest)) && 100 != label && StringUtils.isNotEmpty(keyword) && 80 <= prob){
+                        return AjaxResult.error("评价包含违规内容,请重新评价!");
+                    }
                 }
             }
         }

--
Gitblit v1.7.1