zengh
2021-08-18 b6665535d880a85f74b7dd7265f8204e851887c0
好友
7 files modified
138 ■■■■■ changed files
src/main/java/org/springblade/modules/friend/controller/FriendController.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/entity/Friend.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/mapper/FriendMapper.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/mapper/FriendMapper.xml 66 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/service/IFriendService.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/service/impl/FriendServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/vo/FriendVO.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/friend/controller/FriendController.java
@@ -62,7 +62,7 @@
    }
    /**
     * 多表联合查询自定义分页
     * 多表联合查询自定义分页(查看好友列表)
     */
    @GetMapping("/page")
    @ApiImplicitParams({
@@ -77,6 +77,25 @@
    }
    /**
     * 查看好友申请
     */
    @GetMapping("/friendApplication")
    public R<IPage<FriendVO>> friendApplication(@ApiIgnore FriendVO friend, Query query) {
        IPage<FriendVO> pages = friendService.friendApplication(Condition.getPage(query), friend);
        return R.data(pages);
    }
    /**
     * 搜索好友
     */
    @GetMapping("/addFriend")
    public R<IPage<FriendVO>> addFriend(@ApiIgnore FriendVO friend, Query query) {
        IPage<FriendVO> pages = friendService.addFriend(Condition.getPage(query), friend);
        return R.data(pages);
    }
    /**
     * 新增
     */
    @PostMapping("/save")
src/main/java/org/springblade/modules/friend/entity/Friend.java
@@ -69,4 +69,10 @@
    @ApiModelProperty(value = "申请状态")
    private String type;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String bz;
}
src/main/java/org/springblade/modules/friend/mapper/FriendMapper.java
@@ -40,4 +40,21 @@
     */
    List<FriendVO> selectFriendPage(IPage page, FriendVO friend);
    /**
     * 获取好友申请
     *
     * @param page   分页
     * @param friend 实体
     * @return List<FriendVO>
     */
    List<FriendVO> friendApplication(IPage page, FriendVO friend);
    /**
     * 获取好友列表
     *
     * @param page   分页
     * @param friend 实体
     * @return List<FriendVO>
     */
    List<FriendVO> addFriend(IPage page, FriendVO friend);
}
src/main/java/org/springblade/modules/friend/mapper/FriendMapper.xml
@@ -4,6 +4,70 @@
    <select id="selectFriendPage" resultType="org.springblade.modules.friend.vo.FriendVO">
        select * from sys_friend
        SELECT
            *
        FROM
            (
            SELECT
                f.*,
                u.real_name,
                u.phone,
                u.avatar,
                u.id as friendid
            FROM
                sys_friend f
                LEFT JOIN blade_user u ON f.friend = u.id
            WHERE
                1 = 1
                AND f.applicant = #{friend.applicant}
                AND f.type = 1
                AND u.is_deleted = 0 UNION ALL
            SELECT
                f.*,
                u.real_name,
                u.phone,
                u.avatar,
                u.id as friendid
            FROM
                sys_friend f
                LEFT JOIN blade_user u ON f.applicant = u.id
            WHERE
                1 = 1
                AND f.friend = #{friend.applicant}
                AND f.type = 1
            AND u.is_deleted = 0
            ) z
            ORDER BY z.time DESC
    </select>
    <select id="friendApplication" resultType="org.springblade.modules.friend.vo.FriendVO">
        SELECT
            f.*,
            u.real_name,
            u.phone,
            u.avatar,
            u.id as friendid
        FROM
            sys_friend f
            LEFT JOIN blade_user u ON f.applicant = u.id
        WHERE
            1 = 1
            AND f.friend = #{friend.applicant}
            AND f.type = 0
        AND u.is_deleted = 0
        ORDER BY f.time DESC
    </select>
    <select id="addFriend" resultType="org.springblade.modules.friend.vo.FriendVO">
        SELECT
            u.real_name,
            u.phone,
            u.avatar,
            u.id as friendid
        FROM
            blade_user u
        WHERE
            u.is_deleted = 0
            AND (real_name like concat('%', #{friend.applicant},'%') or phone like concat('%', #{friend.applicant},'%'))
    </select>
</mapper>
src/main/java/org/springblade/modules/friend/service/IFriendService.java
@@ -36,5 +36,19 @@
     * @return
     */
    IPage<FriendVO> selectFriendPage(IPage<FriendVO> page, FriendVO friend);
    /**
     * 获取好友申请
     * @param page
     * @param friend
     * @return
     */
    IPage<FriendVO> friendApplication(IPage<FriendVO> page, FriendVO friend);
    /**
     * 获取好友列表
     * @param page
     * @param friend
     * @return
     */
    IPage<FriendVO> addFriend(IPage<FriendVO> page, FriendVO friend);
}
src/main/java/org/springblade/modules/friend/service/impl/FriendServiceImpl.java
@@ -36,5 +36,13 @@
    public IPage<FriendVO> selectFriendPage(IPage<FriendVO> page, FriendVO friend) {
        return page.setRecords(baseMapper.selectFriendPage(page, friend));
    }
    @Override
    public IPage<FriendVO> friendApplication(IPage<FriendVO> page, FriendVO friend) {
        return page.setRecords(baseMapper.friendApplication(page, friend));
    }
    @Override
    public IPage<FriendVO> addFriend(IPage<FriendVO> page, FriendVO friend) {
        return page.setRecords(baseMapper.addFriend(page, friend));
    }
}
src/main/java/org/springblade/modules/friend/vo/FriendVO.java
@@ -14,6 +14,8 @@
public class FriendVO extends Friend {
    private static final long serialVersionUID = 1L;
    private String startTime;
    private String endTime;
    private String realName;
    private String phone;
    private String avatar;
    private String friendid;
}