From cc134fa83edea4865b48d7afc1acda5ad70e7465 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 13 一月 2025 11:20:05 +0800
Subject: [PATCH] 12.18

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java |   62 ++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 10 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java
index b1374df..078c824 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsEvaluateController.java
@@ -18,10 +18,13 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import io.swagger.models.auth.In;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -50,9 +53,11 @@
         List<GoodsEvaluate> list = goodsEvaluateService.lambdaQuery().eq(GoodsEvaluate::getGoodsId, goodsId).list();
         for (GoodsEvaluate goodsEvaluate : list) {
             AppUser appUserById = appUserClient.getAppUserById(goodsEvaluate.getAppUserId());
-            goodsEvaluate.setUserName(appUserById.getName());
-            goodsEvaluate.setAvatar(appUserById.getAvatar());
-            goodsEvaluate.setIdStr(String.valueOf(goodsEvaluate.getId()));
+            if(null != appUserById){
+                goodsEvaluate.setUserName(appUserById.getName());
+                goodsEvaluate.setAvatar(appUserById.getAvatar());
+                goodsEvaluate.setIdStr(String.valueOf(goodsEvaluate.getId()));
+            }
         }
         return R.ok(list);
     }
@@ -97,6 +102,19 @@
         return R.ok();
     }
 
+    public static void main(String[] args) {
+        List<Integer> integers = new ArrayList<>();
+        integers.add(1);
+        integers.add(2);
+        integers.add(3);
+        integers.add(4);
+        List<Integer> integers1 = new ArrayList<>();
+        integers.retainAll(integers1);
+        System.err.println(integers);
+        System.err.println(integers1);
+
+    }
+
     /**
      * 评论列表
      */
@@ -105,10 +123,35 @@
     public R<Page<GoodsEvaluate>> list(@ApiParam("页码") @RequestParam Integer pageNum,
                                        @ApiParam("每一页数据大小") Integer pageSize,
                                        GoodsEvaluate goodsEvaluate){
+        List<Integer> goodsIds = new ArrayList<>();
+        List<Long> usersNameList = new ArrayList<>();
+        List<Long> usersPhoneList = new ArrayList<>();
+
+        if (StringUtils.isNotEmpty(goodsEvaluate.getUserName())) {
+            goodsIds = goodsService.lambdaQuery()
+                    .like(Goods::getName, goodsEvaluate.getGoodsName())
+                    .list().stream().map(Goods::getId).collect(Collectors.toList());
+            if (goodsIds.isEmpty()) {
+                return R.ok(new Page<>());
+            }
+        }
+        if (StringUtils.isNotEmpty(goodsEvaluate.getUserName())) {
+            usersNameList = appUserClient.getAppUserByName(goodsEvaluate.getUserName()).getData().stream().map(AppUser::getId).collect(Collectors.toList());
+            if (usersNameList.isEmpty()) {
+                return R.ok(new Page<>());
+            }
+
+        }
+        if (StringUtils.isNotEmpty(goodsEvaluate.getPhone())) {
+            usersPhoneList = appUserClient.getAppUserByPhone(goodsEvaluate.getPhone()).getData().stream().map(AppUser::getId).collect(Collectors.toList());
+            if (usersPhoneList.isEmpty()) {
+                return R.ok(new Page<>());
+            }
+        }
+        usersNameList.retainAll(usersPhoneList);
         Page<GoodsEvaluate> page = goodsEvaluateService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<GoodsEvaluate>()
-                .like(StringUtils.isNotEmpty(goodsEvaluate.getGoodsName()), GoodsEvaluate::getGoodsName, goodsEvaluate.getComment())
-                .like(StringUtils.isNotEmpty(goodsEvaluate.getUserName()), GoodsEvaluate::getUserName, goodsEvaluate.getUserName())
-                .like(StringUtils.isNotEmpty(goodsEvaluate.getPhone()), GoodsEvaluate::getPhone, goodsEvaluate.getPhone())
+                .in(!goodsIds.isEmpty(), GoodsEvaluate::getGoodsId, goodsIds)
+                .in(!usersNameList.isEmpty(), GoodsEvaluate::getAppUserId, usersNameList)
                 .eq(goodsEvaluate.getStatus() != null, GoodsEvaluate::getStatus, goodsEvaluate.getStatus())
                 .orderByDesc(GoodsEvaluate::getCreateTime));
 
@@ -120,13 +163,12 @@
 
     private void buildDetail(GoodsEvaluate item) {
         AppUser appUser = appUserClient.getAppUserById(item.getAppUserId());
-        if (appUser == null){
-            throw new RuntimeException("获取用户信息失败");
+        if (appUser != null){
+            item.setPhone(appUser.getPhone());
+            item.setUserName(appUser.getName());
         }
         Goods goods = goodsService.getById(item.getGoodsId());
         item.setGoodsName(goods.getName());
-        item.setPhone(appUser.getPhone());
-        item.setUserName(appUser.getName());
     }
 
     /**

--
Gitblit v1.7.1