Explorar el Código

关注,粉丝,互相关注设置设置根据名称模糊搜索

fangqing hace 5 meses
padre
commit
0aabec4a8d

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

@@ -671,13 +671,13 @@ public class CommunityArticleController extends BaseController {
 
     @ApiOperation("获取关注列表")
     @GetMapping("/likeUserList")
-    public AjaxResult likeUserList() {
+    public AjaxResult likeUserList(String userName) {
         int pageNum = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
         int pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
         int searchType = Convert.toInt(ServletUtils.getParameter("searchType"), 0);
         List<CommunityUserLikeVo> communityUserLikeVos = null;
         try {
-            communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(SecurityUtils.getLoginUser().getUserId(),pageNum,pageSize,searchType);
+            communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(SecurityUtils.getLoginUser().getUserId(),userName,pageNum,pageSize,searchType);
         } catch (Exception e) {
             System.out.println(e.getMessage());
             throw new ProjectException();
@@ -688,7 +688,7 @@ public class CommunityArticleController extends BaseController {
 
     @ApiOperation("获取粉丝列表")
     @GetMapping("/userFans")
-    public AjaxResult userFans(Long userId) {
+    public AjaxResult userFans(Long userId,String userName) {
         if (Objects.isNull(userId)) {
             userId = SecurityUtils.getLoginUser().getUserId();
         }
@@ -698,7 +698,7 @@ public class CommunityArticleController extends BaseController {
         List<CommunityUserLikeVo> communityUserLikeVos = null;
 
         try {
-            communityUserLikeVos = communityArticleService.selectUserFansList(userId,pageNum,pageSize,searchType);
+            communityUserLikeVos = communityArticleService.selectUserFansList(userId,userName,pageNum,pageSize,searchType);
         } catch (Exception e) {
             System.out.println(e.getMessage());
             throw new ProjectException();
@@ -709,14 +709,14 @@ public class CommunityArticleController extends BaseController {
 
     @ApiOperation("互相关注列表")
     @GetMapping("/mutualAttention")
-    public AjaxResult mutualAttention() {
+    public AjaxResult mutualAttention(String userName) {
         int pageNum = Convert.toInt(ServletUtils.getParameter("pageNum"), 1);
         int pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10);
         int searchType = Convert.toInt(ServletUtils.getParameter("searchType"), 0);
 
         List<CommunityUserLikeVo> communityUserLikeVos = null;
         try {
-            communityUserLikeVos = communityArticleService.selectMutualAttention(SecurityUtils.getLoginUser().getUserId(),pageNum,pageSize,searchType);
+            communityUserLikeVos = communityArticleService.selectMutualAttention(SecurityUtils.getLoginUser().getUserId(),userName,pageNum,pageSize,searchType);
         } catch (Exception e) {
             System.out.println(e.getMessage());
             throw new ProjectException();

+ 42 - 11
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityArticleServiceImpl.java

@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.ExecutionException;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -629,7 +630,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      * @return 当前用户关注列表
      */
     @Override
-    public List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,int pageNum, int pageSize,int searchType) {
+    public List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,String userName,int pageNum, int pageSize,int searchType) {
         int offset = (pageNum - 1) * pageSize;
         Page<CommunityUserLike> page = new Page<>(offset, pageSize);
         QueryWrapper<CommunityUserLike> queryWrapper = new QueryWrapper<CommunityUserLike>()
@@ -641,9 +642,10 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         }
         List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectPage(page, queryWrapper).getRecords();
 
-
         List<CommunityUserLikeVo> communityUserLikeVos = new ArrayList<>();
         CommunityUserLikeVo communityUserLikeVo = null;
+        Boolean isCare = false;
+
         for (CommunityUserLike communityUserLike : communityUserLikes) {
             communityUserLikeVo = new CommunityUserLikeVo();
             //用户信息
@@ -654,6 +656,17 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
             CommunityUserInfo likeUserInfo = communityUserInfoMapper.selectOne(new QueryWrapper<CommunityUserInfo>().eq("user_id", communityUserLike.getLikeUserId()));
             BeanUtils.copyProperties(communityUserLike, communityUserLikeVo);
 
+            //关注的用户是否已经关注当前用户
+            CommunityUserLike communityUserLikeFans = communityUserLikeMapper.selectOne(
+                    new QueryWrapper<CommunityUserLike>()
+                            .eq("like_user_id", userId )
+                            .eq("user_id", communityUserLike.getLikeUserId() ));
+
+            if (communityUserLikeFans != null){
+                isCare = true;
+            }
+            communityUserLikeVo.setIsCare(isCare);
+
             if (Objects.nonNull(userInfo)) {
                 communityUserLikeVo.setProfile(userInfo.getProfile());
             }
@@ -672,7 +685,13 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
                 communityUserLikeVo.setLikeAvatar(sysUserLike.getAvatar());
             }
 
-            communityUserLikeVos.add(communityUserLikeVo);
+            //如果不需要搜索名字直接添加
+            if ( userName != null && communityUserLikeVo.getLikeUsername().matches("(?i).*" + Pattern.quote(userName) + ".*") ) {
+                communityUserLikeVos.add(communityUserLikeVo);
+            }else if(  userName == null ){
+                communityUserLikeVos.add(communityUserLikeVo);
+            }
+
         }
         return communityUserLikeVos;
     }
@@ -685,7 +704,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      * @return 当前用户粉丝列表
      */
     @Override
-    public List<CommunityUserLikeVo> selectUserFansList(Long userId,int pageNum, int pageSize,int searchType) {
+    public List<CommunityUserLikeVo> selectUserFansList(Long userId,String userName,int pageNum, int pageSize,int searchType) {
         int offset = (pageNum - 1) * pageSize;
         Page<CommunityUserLike> page = new Page<>(offset, pageSize);
         QueryWrapper<CommunityUserLike> queryWrapper = new QueryWrapper<CommunityUserLike>()
@@ -714,8 +733,6 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
                             .eq("like_user_id", communityUserLike.getUserId() )
                             .eq("user_id", userId ));
 
-            System.out.println("like: " + communityUserLike.getUserId());
-            System.out.println("user_id: " + userId);
             if (communityUserLikeFans != null){
                 isCare = true;
             }
@@ -743,8 +760,13 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
             if (Objects.nonNull(likeUserInfo)){
                 communityUserLikeVo.setLikeProfile(likeUserInfo.getProfile());
             }
+            //如果不需要搜索名字直接添加
+            if ( userName != null && communityUserLikeVo.getUsername().matches("(?i).*" + Pattern.quote(userName) + ".*") ) {
+                communityUserLikeVos.add(communityUserLikeVo);
+            }else if(  userName == null ){
+                communityUserLikeVos.add(communityUserLikeVo);
+            }
 
-            communityUserLikeVos.add(communityUserLikeVo);
         }
         return communityUserLikeVos;
     }
@@ -756,10 +778,10 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      * @return 获取互相关注列表
      */
     @Override
-    public List<CommunityUserLikeVo> selectMutualAttention(Long userId,int pageNum, int pageSize, int searchType) {
+    public List<CommunityUserLikeVo> selectMutualAttention(Long userId,String userName,int pageNum, int pageSize, int searchType) {
 
         //先查询自己关注的人
-        List<CommunityUserLikeVo> communityUserLikeVos = selectCommunityUserLikeList(userId,1,10000000,0);
+        List<CommunityUserLikeVo> communityUserLikeVos = selectCommunityUserLikeList(userId,null,1,10000000,0);
         //再查询被关注的人是否关注自己
         List<Long> likeUserIds = new ArrayList<>();
         for (CommunityUserLikeVo communityUserLikeVo : communityUserLikeVos) {
@@ -799,8 +821,17 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
                 communityUserLikeVo.setLikeUsername(sysUserLike.getNickName());
                 communityUserLikeVo.setLikeAvatar(sysUserLike.getAvatar());
                 communityUserLikeVo.setLikeProfile(likeUserInfo.getProfile());
+                communityUserLikeVo.setIsCare(true);
+
+
+                //如果不需要搜索名字直接添加
+                if ( userName != null && communityUserLikeVo.getUsername().matches("(?i).*" + Pattern.quote(userName) + ".*") ) {
+                    communityUserLikeVos.add(communityUserLikeVo);
+                }else if(  userName == null ){
+                    communityUserLikeVos.add(communityUserLikeVo);
+                }
+
 
-                communityUserLikeVos.add(communityUserLikeVo);
             }
         }
         return communityUserLikeVos;
@@ -871,7 +902,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         }
         // 如果评论受限,则查询用户关注列表
         if (IsComment) {
-            List<CommunityUserLikeVo> communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(articleUserId,1,100000,0);
+            List<CommunityUserLikeVo> communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(articleUserId,null,1,100000,0);
             // 3. 检查评论者是否在关注列表中
             boolean isFollower = communityUserLikeVos.stream()
                     .anyMatch(like -> like.getLikeUserId().equals(userId));

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

@@ -138,7 +138,7 @@ public interface ICommunityArticleService extends IService<CommunityArticle> {
      * @param userId 登录用户id
      * @return 当前用户关注列表
      */
-    List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,int pageNum, int pageSize, int searchType);
+    List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,String userName,int pageNum, int pageSize, int searchType);
 
     /**
      * 获取粉丝列表
@@ -146,7 +146,7 @@ public interface ICommunityArticleService extends IService<CommunityArticle> {
      * @param userId 登录用户id
      * @return 当前用户粉丝列表
      */
-    List<CommunityUserLikeVo> selectUserFansList(Long userId,int pageNum, int pageSize, int searchType);
+    List<CommunityUserLikeVo> selectUserFansList(Long userId,String userName,int pageNum, int pageSize, int searchType);
 
     /**
      * 获取互相关注列表
@@ -154,7 +154,7 @@ public interface ICommunityArticleService extends IService<CommunityArticle> {
      * @param userId 登录用户id
      * @return 获取互相关注列表
      */
-    List<CommunityUserLikeVo> selectMutualAttention(Long userId,int pageNum, int pageSize, int searchType);
+    List<CommunityUserLikeVo> selectMutualAttention(Long userId,String userName,int pageNum, int pageSize, int searchType);