From b5a86154e5540dfed96f9d913b418b04715026c7 Mon Sep 17 00:00:00 2001 From: wxl <727869402@qq.com> Date: Sat, 28 Dec 2024 00:15:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E6=B3=A8=E6=9C=AA=E5=85=B3=E6=B3=A8?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dd/admin/business/api/AuthApi.java | 26 +++++++++--- .../business/follow/mapper/FollowMapper.java | 6 ++- .../follow/mapper/xml/FollowMapper.xml | 42 ++++++++++++++++++- .../follow/service/FollowService.java | 5 ++- .../service/impl/FollowServiceImpl.java | 13 ++++-- 5 files changed, 77 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/dd/admin/business/api/AuthApi.java b/src/main/java/com/dd/admin/business/api/AuthApi.java index 279b987..93b95f2 100644 --- a/src/main/java/com/dd/admin/business/api/AuthApi.java +++ b/src/main/java/com/dd/admin/business/api/AuthApi.java @@ -210,11 +210,11 @@ public class AuthApi { @GetMapping("/api/auth/getFollowMes") @OperLog(operModule = "获取关注目标作者的所有粉丝",operType = OperType.QUERY,operDesc = "获取关注目标作者的所有粉丝") public ResultBean getFollowMes(String authorId) { + String myId = String.valueOf(request.getAttribute("authorId")); + //关注我的列表 - List followMes = followService.selectFollowMeList(authorId); - followMes.stream().forEach(followVo -> { - followVo.setIsFollowMe(Boolean.TRUE); - }); + List followMes = followService.selectFollowMeList(authorId,myId); + return ResultBean.success(followMes); } @@ -223,12 +223,28 @@ public class AuthApi { @GetMapping("/api/auth/getMyFollows") @OperLog(operModule = "getMyFollows",operType = OperType.QUERY,operDesc = "获取关注目标作者的所有粉丝") public ResultBean getMyFollows(String authorId) { + String myId = String.valueOf(request.getAttribute("authorId")); + //关注我的列表 - List myFollows = followService.selectMyFollowList(authorId); + List myFollows = followService.selectMyFollowList(authorId,myId); return ResultBean.success(myFollows); } + @ApiOperation(value = "获取关注目标互相关注的人") + @ApiOperationSupport(order = 1) + @GetMapping("/api/auth/getMyFriends") + @OperLog(operModule = "getMyFriends",operType = OperType.QUERY,operDesc = "获取关注目标互相关注的人") + public ResultBean getMyFriends(String authorId) { + //关注我的列表 + List myFollows = followService.getMyFriends(authorId); + myFollows.stream().forEach(followVo -> { + followVo.setIsFollow(Boolean.TRUE); + followVo.setIsFollowMe(Boolean.TRUE); + }); + return ResultBean.success(myFollows); + } + @ApiOperation(value = "获取作者信息") @ApiOperationSupport(order = 1) diff --git a/src/main/java/com/dd/admin/business/follow/mapper/FollowMapper.java b/src/main/java/com/dd/admin/business/follow/mapper/FollowMapper.java index 85e8588..12f318d 100644 --- a/src/main/java/com/dd/admin/business/follow/mapper/FollowMapper.java +++ b/src/main/java/com/dd/admin/business/follow/mapper/FollowMapper.java @@ -26,8 +26,10 @@ public interface FollowMapper extends BaseMapper { List selectFollowList(@Param("followDto") FollowDto followDto); - List selectMyFollowList(@Param("authorId") String authorId); - List selectFollowMeList(@Param("authorId") String authorId); + //查询用户为authorId的粉丝列表 再传入一个数值 看和当前数值的关联关系 例如我看对方明天 想知道对方和我的关系 + List selectMyFollowList(@Param("authorId") String authorId,@Param("targetId") String targetId); + List selectFollowMeList(@Param("authorId") String authorId,@Param("targetId") String targetId); + List getMyFriends(@Param("authorId")String authorId); } diff --git a/src/main/java/com/dd/admin/business/follow/mapper/xml/FollowMapper.xml b/src/main/java/com/dd/admin/business/follow/mapper/xml/FollowMapper.xml index 85de44d..7011698 100644 --- a/src/main/java/com/dd/admin/business/follow/mapper/xml/FollowMapper.xml +++ b/src/main/java/com/dd/admin/business/follow/mapper/xml/FollowMapper.xml @@ -51,8 +51,18 @@ business_follow WHERE follow_id = b.AUTHOR_ID - AND author_id = #{authorId} + AND author_id = #{targetId} ) AS isFollowMe + , + ( + SELECT + count(1) + FROM + business_follow + WHERE + follow_id = #{targetId} + AND author_id = b.AUTHOR_ID + ) AS isFollow FROM business_follow a LEFT JOIN business_author b ON a.author_id = b.author_id @@ -77,9 +87,19 @@ FROM business_follow WHERE - follow_id = #{authorId} + follow_id = #{targetId} AND author_id = b.AUTHOR_ID ) AS isFollow + , + ( + SELECT + count(1) + FROM + business_follow + WHERE + follow_id = b.AUTHOR_ID + AND author_id = #{targetId} + ) AS isFollowMe FROM business_follow a LEFT JOIN business_author b ON a.follow_id = b.author_id @@ -89,5 +109,23 @@ ORDER BY a.create_time DESC + diff --git a/src/main/java/com/dd/admin/business/follow/service/FollowService.java b/src/main/java/com/dd/admin/business/follow/service/FollowService.java index 7485e17..3cc1797 100644 --- a/src/main/java/com/dd/admin/business/follow/service/FollowService.java +++ b/src/main/java/com/dd/admin/business/follow/service/FollowService.java @@ -30,8 +30,9 @@ public interface FollowService extends IService { Follow selectOneByFollowId(String authorId,String followId); - List selectMyFollowList( String authorId); - List selectFollowMeList(String authorId); + List selectMyFollowList( String authorId,String targetId); + List selectFollowMeList(String authorId,String targetId); + List getMyFriends(String authorId); } diff --git a/src/main/java/com/dd/admin/business/follow/service/impl/FollowServiceImpl.java b/src/main/java/com/dd/admin/business/follow/service/impl/FollowServiceImpl.java index d083989..6abcd96 100644 --- a/src/main/java/com/dd/admin/business/follow/service/impl/FollowServiceImpl.java +++ b/src/main/java/com/dd/admin/business/follow/service/impl/FollowServiceImpl.java @@ -52,13 +52,18 @@ public class FollowServiceImpl extends ServiceImpl impleme } @Override - public List selectMyFollowList(String authorId) { - return baseMapper.selectMyFollowList(authorId); + public List selectMyFollowList(String authorId,String targetId) { + return baseMapper.selectMyFollowList(authorId,targetId); } @Override - public List selectFollowMeList(String authorId) { - return baseMapper.selectFollowMeList(authorId); + public List selectFollowMeList(String authorId,String targetId) { + return baseMapper.selectFollowMeList(authorId,targetId); + } + + @Override + public List getMyFriends(String authorId) { + return baseMapper.getMyFriends(authorId); } }