# UserService
Date: 2020-05-30

com.java2nb.novel.user.service

## 接口 UserService

所有已知实现类:
  UserServiceImpl

    public interface UserService

用户服务接口

从以下版本开始:
  2020/5/28
版本:
  1.0
作者:
  xiongxiaoyang

### 方法概要

所有方法 实例方法 抽象方法
`void` `addFeedBack(java.lang.Long userId, java.lang.String content)` 添加反馈
`void` `addReadHistory(java.lang.Long userId, java.lang.Long bookId, java.lang.Long preContentId)` 添加阅读记录
`void` `addToBookShelf(java.lang.Long userId, java.lang.Long bookId, java.lang.Long preContentId)` 加入书架
`java.util.List<BookShelfVO>` `listBookShelfByPage(java.lang.Long userId, int page, int pageSize)` 查询书架
`java.util.List<BookReadHistoryVO>` `listReadHistoryByPage(java.lang.Long userId, int page, int pageSize)` 分页查询阅读记录
`java.util.List<UserFeedback>` `listUserFeedBackByPage(java.lang.Long userId, int page, int pageSize)` 分页查询我的反馈列表
`UserDetails` `login(UserForm form)` 用户登陆
`java.util.List<User>` `queryById(java.util.List<java.lang.Long> ids)` 根据用户名ID集合查询用户集合信息
`User` `queryByUsernameAndPassword(java.lang.String username, java.lang.String password)` 根据用户名密码查询记录
`java.lang.Boolean` `queryIsInShelf(java.lang.Long userId, java.lang.Long bookId)` 查询小说是否已加入书架
`UserDetails` `register(UserForm form)` 用户注册
`void` `removeFromBookShelf(java.lang.Long userId, java.lang.Long bookId)` 移出书架
`void` `updatePassword(java.lang.Long userId, java.lang.String oldPassword, java.lang.String newPassword)` 更新密码
`void` `updateUserInfo(java.lang.Long userId, User user)` 更新个人信息
`User` `userInfo(java.lang.Long userId)` 查询个人信息

### 方法详细资料

#### queryByUsernameAndPassword

    User queryByUsernameAndPassword(java.lang.String username,
                                    java.lang.String password)

根据用户名密码查询记录

参数:
  `username` - 用户名
  `password` - 密码
返回:
  用户对象，不存在返回null

#### login

    UserDetails login(UserForm form)

用户登陆

参数:
  `form` - 用户登陆提交信息类
返回:
  jwt载体信息类

#### queryById

    java.util.List<User> queryById(java.util.List<java.lang.Long> ids)

根据用户名ID集合查询用户集合信息

参数:
  `ids` - 用户ID集合
返回:
  用户集合对象

#### register

    UserDetails register(UserForm form)

用户注册

参数:
  `form` - 用户注册提交信息类
返回:
  jwt载体信息类

#### queryIsInShelf

    java.lang.Boolean queryIsInShelf(java.lang.Long userId,
                                     java.lang.Long bookId)

查询小说是否已加入书架

参数:
  `userId` - 用户ID
  `bookId` - 小说ID
返回:
  true:已加入书架，未加入书架

#### addToBookShelf

    void addToBookShelf(java.lang.Long userId,
                        java.lang.Long bookId,
                        java.lang.Long preContentId)

加入书架

参数:
  `userId` - 用户ID
  `bookId` - 小说ID
  `preContentId` - 阅读的内容ID

#### removeFromBookShelf

    void removeFromBookShelf(java.lang.Long userId,
                             java.lang.Long bookId)

移出书架

参数:
  `userId` - 用户ID
  `bookId` - 小说ID

#### listBookShelfByPage

    java.util.List<BookShelfVO> listBookShelfByPage(java.lang.Long userId,
                                                    int page,
                                                    int pageSize)

查询书架

参数:
  `userId` - 用户ID
  `page` -
  `pageSize` -
返回:
  书架集合

#### listReadHistoryByPage

    java.util.List<BookReadHistoryVO> listReadHistoryByPage(java.lang.Long userId,
                                                            int page,
                                                            int pageSize)

分页查询阅读记录

参数:
  `userId` - 用户id
  `page` - 页码
  `pageSize` - 分页大小
返回:

#### addReadHistory

    void addReadHistory(java.lang.Long userId,
                        java.lang.Long bookId,
                        java.lang.Long preContentId)

添加阅读记录

参数:
  `userId` - 用户id
  `bookId` - 书籍id
  `preContentId` - 阅读的目录id

#### addFeedBack

    void addFeedBack(java.lang.Long userId,
                     java.lang.String content)

添加反馈

参数:
  `userId` - 用户id
  `content` - 反馈内容

#### listUserFeedBackByPage

    java.util.List<UserFeedback> listUserFeedBackByPage(java.lang.Long userId,
                                                        int page,
                                                        int pageSize)

分页查询我的反馈列表

参数:
  `userId` - 用户ID
  `page` - 页码
  `pageSize` - 分页大小
返回:
  反馈集合

#### userInfo

    User userInfo(java.lang.Long userId)

查询个人信息

参数:
  `userId` - 用户id
返回:
  用户信息

#### updateUserInfo

    void updateUserInfo(java.lang.Long userId,
                        User user)

更新个人信息

参数:
  `userId` - 用户id
  `user` - 需要更新的信息

#### updatePassword

    void updatePassword(java.lang.Long userId,
                        java.lang.String oldPassword,
                        java.lang.String newPassword)

更新密码

参数:
  `userId` - 用户id
  `oldPassword` - 旧密码
  `newPassword` - 新密码