fangqing преди 3 дни
родител
ревизия
55b13d4678

+ 27 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/CommunityArticleController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.constant.HttpStatus;
 import com.ruoyi.common.core.controller.BaseController;
@@ -1132,7 +1133,7 @@ public class CommunityArticleController extends BaseController {
     }
 
 
-    @ApiOperation("查询用户")
+    @ApiOperation("搜索用户列表信息")
     @GetMapping("/userList")
     public AjaxResult userList(String SearchValue) {
         if (Objects.isNull(SearchValue)) {
@@ -1166,6 +1167,31 @@ public class CommunityArticleController extends BaseController {
         return AjaxResult.success(communityUserInfoVos);
     }
 
+    @ApiOperation("搜索黑名单")
+    @GetMapping("/userListBlock")
+    public AjaxResult userListBlock(String SearchValue) {
+
+        int pageNum = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
+        int pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
+        int offset = (pageNum - 1) * pageSize;
+        Long userId = SecurityUtils.getLoginUser().getUserId();
+        List<CommunityUserInfoVo> communityUserInfoVos = null;
+        try {
+            communityUserInfoVos = communityArticleService.selectBlockUserBySearchValue(SearchValue,userId,offset,pageSize);
+            List<CommunityUserInfoVo> communityUserInfoVos_copy = new ArrayList<>(communityUserInfoVos);
+            for (CommunityUserInfoVo communityUserInfoVo : communityUserInfoVos_copy) {
+                communityUserInfoVo.setBlock(true);
+            }
+        } catch (Exception e) {
+            // e.printStackTrace();
+            log.info(e.getMessage());
+            throw new ProjectException();
+        }
+
+
+        return AjaxResult.success(communityUserInfoVos);
+    }
+
     @ApiOperation("根据条件查询账户")
     @GetMapping("/selectUserList")
     public AjaxResult selectUserList(String SearchValue) {

+ 11 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/community/CommunityUserInfoMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.generator.domain.Community.CommunityUserInfo;
 import com.ruoyi.generator.vo.CommunityUserInfoVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -17,6 +18,16 @@ public interface CommunityUserInfoMapper extends BaseMapper<CommunityUserInfo> {
      */
     List<CommunityUserInfoVo> selectUserBySearchValue(String SearchValue);
 
+    /**
+     * 根据拉黑用户信息
+     *
+     * @param searchValue 搜索值
+     * @return 用户
+     */
+    List<CommunityUserInfoVo> selectBlockUserBySearchValue( @Param("searchValue") String searchValue,
+                                                            @Param("userId") Long userId,
+                                                            @Param("offset") int offset,
+                                                            @Param("limit") int limit);
     /**
      * 根据账户或者用户名称,搜索用户
      * @param SearchValue 搜索值

+ 9 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java

@@ -17,6 +17,7 @@ import com.ruoyi.generator.domain.Community.*;
 import com.ruoyi.generator.mapper.community.*;
 import com.ruoyi.generator.vo.*;
 import com.ruoyi.system.mapper.SysUserMapper;
+import org.apache.ibatis.annotations.Param;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -1262,6 +1263,14 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         return communityUserInfoMapper.selectUserBySearchValue(SearchValue);
     }
 
+    @Override
+    public List<CommunityUserInfoVo> selectBlockUserBySearchValue( @Param("searchValue") String searchValue,
+                                                                   @Param("userId") Long userId,
+                                                                   @Param("offset") int offset,
+                                                                   @Param("limit") int limit) {
+        return communityUserInfoMapper.selectBlockUserBySearchValue(searchValue,userId,offset,limit);
+    }
+
     /**
      * 根据账户或者用户名称,搜索用户
      *

+ 11 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/service/ICommunityArticleService.java

@@ -140,6 +140,17 @@ public interface ICommunityArticleService extends IService<CommunityArticle> {
     List<CommunityUserInfoVo> selectUserBySearchValue(String SearchValue);
 
 
+    /**
+     * 根据拉黑用户信息
+     *
+     * @param searchValue 搜索值
+     * @return 用户
+     */
+    List<CommunityUserInfoVo> selectBlockUserBySearchValue( @Param("searchValue") String searchValue,
+                                                           @Param("userId") Long userId,
+                                                           @Param("offset") int offset,
+                                                           @Param("limit") int limit);
+
     /**
      * 根据账户或者用户名称,搜索用户
      * @param SearchValue

+ 25 - 0
ruoyi-generator/src/main/resources/mapper/community/CommunityUserInfoMapper.xml

@@ -55,4 +55,29 @@
             </where>
         </if>
     </select>
+    <select id="selectBlockUserBySearchValue" resultType="com.ruoyi.generator.vo.CommunityUserInfoVo">
+        SELECT
+        b.id AS id,
+        a.nick_name AS nickName,
+        a.avatar AS avatar,
+        b.profile,
+        (SELECT COUNT(1) FROM community_user_like c WHERE c.like_user_id = a.user_id) AS fansCount,
+        (SELECT COUNT(1) FROM community_article d WHERE d.user_id = a.user_id) AS articleCount,
+        a.user_id AS userId
+        FROM sys_user a
+        LEFT JOIN community_user_info b ON a.user_id = b.user_id
+        WHERE a.user_id IN (
+        SELECT peer_id
+        FROM `ruoyi-community`.community_user_block cub
+        WHERE user_id = #{userId} AND is_block = '1'
+        )
+        <if test="searchValue != null and searchValue != ''">
+            AND (
+            a.nick_name LIKE CONCAT('%', #{searchValue}, '%')
+            OR b.user_id LIKE CONCAT('%', #{searchValue}, '%')
+            )
+        </if>
+        ORDER BY a.user_id  <!-- You can choose the proper field for ordering -->
+        LIMIT #{offset}, #{limit}
+    </select>
 </mapper>