Răsfoiți Sursa

优化代码

fangqing 5 luni în urmă
părinte
comite
bf83f8f06e

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

@@ -674,10 +674,10 @@ public class CommunityArticleController extends BaseController {
     public AjaxResult likeUserList() {
         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);
+            communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(SecurityUtils.getLoginUser().getUserId(),pageNum,pageSize,searchType);
         } catch (Exception e) {
             System.out.println(e.getMessage());
             throw new ProjectException();
@@ -688,10 +688,17 @@ public class CommunityArticleController extends BaseController {
 
     @ApiOperation("获取粉丝列表")
     @GetMapping("/userFans")
-    public AjaxResult userFans() {
+    public AjaxResult userFans(Long userId) {
+        if (Objects.isNull(userId)) {
+            userId = SecurityUtils.getLoginUser().getUserId();
+        }
+        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.selectUserFansList(SecurityUtils.getLoginUser().getUserId());
+            communityUserLikeVos = communityArticleService.selectUserFansList(userId,pageNum,pageSize,searchType);
         } catch (Exception e) {
             System.out.println(e.getMessage());
             throw new ProjectException();
@@ -703,9 +710,13 @@ public class CommunityArticleController extends BaseController {
     @ApiOperation("互相关注列表")
     @GetMapping("/mutualAttention")
     public AjaxResult mutualAttention() {
+        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());
+            communityUserLikeVos = communityArticleService.selectMutualAttention(SecurityUtils.getLoginUser().getUserId(),pageNum,pageSize,searchType);
         } catch (Exception e) {
             System.out.println(e.getMessage());
             throw new ProjectException();

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

@@ -629,11 +629,17 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      * @return 当前用户关注列表
      */
     @Override
-    public List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,int pageNum, int pageSize) {
+    public List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,int pageNum, int pageSize,int searchType) {
         int offset = (pageNum - 1) * pageSize;
         Page<CommunityUserLike> page = new Page<>(offset, pageSize);
-        List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectPage(page,new QueryWrapper<CommunityUserLike>().eq("user_id", userId)).getRecords();
-
+        QueryWrapper<CommunityUserLike> queryWrapper = new QueryWrapper<CommunityUserLike>()
+                .eq("user_id", userId);
+        if (searchType == 1) {
+            queryWrapper.orderByDesc("create_time");
+        } else {
+            queryWrapper.orderByAsc("create_time");
+        }
+        List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectPage(page, queryWrapper).getRecords();
 
 
         List<CommunityUserLikeVo> communityUserLikeVos = new ArrayList<>();
@@ -679,10 +685,21 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      * @return 当前用户粉丝列表
      */
     @Override
-    public List<CommunityUserLikeVo> selectUserFansList(Long userId) {
-        List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectList(new QueryWrapper<CommunityUserLike>().eq("like_user_id", userId));
+    public List<CommunityUserLikeVo> selectUserFansList(Long userId,int pageNum, int pageSize,int searchType) {
+        int offset = (pageNum - 1) * pageSize;
+        Page<CommunityUserLike> page = new Page<>(offset, pageSize);
+        QueryWrapper<CommunityUserLike> queryWrapper = new QueryWrapper<CommunityUserLike>()
+                .eq("like_user_id", userId);
+        if (searchType == 1) {
+            queryWrapper.orderByDesc("create_time");
+        } else {
+            queryWrapper.orderByAsc("create_time");
+        }
+        List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectPage(page, queryWrapper).getRecords();
+
         List<CommunityUserLikeVo> communityUserLikeVos = new ArrayList<>();
         CommunityUserLikeVo communityUserLikeVo = null;
+        Boolean isCare = false;
         for (CommunityUserLike communityUserLike : communityUserLikes) {
 
             //用户信息
@@ -690,10 +707,25 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
             //用户自我介绍
             CommunityUserInfo userInfo = communityUserInfoMapper.selectOne(new QueryWrapper<CommunityUserInfo>().eq("user_id", communityUserLike.getUserId()));
             CommunityUserInfo likeUserInfo = communityUserInfoMapper.selectOne(new QueryWrapper<CommunityUserInfo>().eq("user_id", communityUserLike.getLikeUserId()));
+
+            //粉丝是否已经关注当前用户
+            CommunityUserLike communityUserLikeFans = communityUserLikeMapper.selectOne(
+                    new QueryWrapper<CommunityUserLike>()
+                            .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;
+            }
             communityUserLikeVo = new CommunityUserLikeVo();
             BeanUtils.copyProperties(communityUserLike, communityUserLikeVo);
             SysUser sysUser = sysUserMapper.selectUserById(communityUserLike.getUserId());
 
+            communityUserLikeVo.setIsCare(isCare);
+
+
             if (Objects.nonNull(sysUser)) {
                 communityUserLikeVo.setAvatar(sysUser.getAvatar());
                 communityUserLikeVo.setUsername(sysUser.getNickName());
@@ -724,9 +756,10 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
      * @return 获取互相关注列表
      */
     @Override
-    public List<CommunityUserLikeVo> selectMutualAttention(Long userId) {
+    public List<CommunityUserLikeVo> selectMutualAttention(Long userId,int pageNum, int pageSize, int searchType) {
+
         //先查询自己关注的人
-        List<CommunityUserLikeVo> communityUserLikeVos = selectCommunityUserLikeList(userId,1,10);
+        List<CommunityUserLikeVo> communityUserLikeVos = selectCommunityUserLikeList(userId,1,10000000,0);
         //再查询被关注的人是否关注自己
         List<Long> likeUserIds = new ArrayList<>();
         for (CommunityUserLikeVo communityUserLikeVo : communityUserLikeVos) {
@@ -734,7 +767,20 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         }
 
         if (!likeUserIds.isEmpty()) {
-            List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectList(new QueryWrapper<CommunityUserLike>().in("user_id", likeUserIds).eq("like_user_id", userId));
+            QueryWrapper<CommunityUserLike> queryWrapper = new QueryWrapper<CommunityUserLike>()
+                    .in("user_id", likeUserIds).eq("like_user_id", userId);
+            if (searchType == 1) {
+                queryWrapper.orderByDesc("create_time");
+            } else {
+                queryWrapper.orderByAsc("create_time");
+            }
+            //分页查询数据
+            int offset = (pageNum - 1) * pageSize;
+            Page<CommunityUserLike> page = new Page<>(offset, pageSize);
+            System.out.println("offset: " + offset);
+            List<CommunityUserLike> communityUserLikes = communityUserLikeMapper.selectPage(page, queryWrapper).getRecords();
+
+            System.out.println("communityUserLikes: " + communityUserLikes);
             CommunityUserLikeVo communityUserLikeVo = null;
             communityUserLikeVos = new ArrayList<>();
             for (CommunityUserLike communityUserLike : communityUserLikes) {
@@ -825,7 +871,7 @@ public class CommunityArticleServiceImpl extends ServiceImpl<CommunityArticleMap
         }
         // 如果评论受限,则查询用户关注列表
         if (IsComment) {
-            List<CommunityUserLikeVo> communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(articleUserId,1,10);
+            List<CommunityUserLikeVo> communityUserLikeVos = communityArticleService.selectCommunityUserLikeList(articleUserId,1,100000,0);
             // 3. 检查评论者是否在关注列表中
             boolean isFollower = communityUserLikeVos.stream()
                     .anyMatch(like -> like.getLikeUserId().equals(userId));

+ 1 - 1
ruoyi-generator/src/main/java/com/ruoyi/generator/service/CommunityCollectionServiceImpl.java

@@ -154,7 +154,7 @@ public class CommunityCollectionServiceImpl extends ServiceImpl<CommunityCollect
                         }));
 
         if (articleIdsObj.isEmpty()) {
-            return new JSONArray();
+            return JSONArray.of(collectionObject);
         }
 
         //转换object为long

+ 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);
+    List<CommunityUserLikeVo> selectCommunityUserLikeList(Long userId,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);
+    List<CommunityUserLikeVo> selectUserFansList(Long userId,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);
+    List<CommunityUserLikeVo> selectMutualAttention(Long userId,int pageNum, int pageSize, int searchType);
 
 
 

+ 6 - 0
ruoyi-generator/src/main/java/com/ruoyi/generator/vo/CommunityUserLikeVo.java

@@ -80,4 +80,10 @@ public class CommunityUserLikeVo implements Serializable {
     @ApiModelProperty("创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
+
+    /**
+     * 粉丝关注
+     */
+    @ApiModelProperty("粉丝关注")
+    private Boolean isCare;
 }