# UserServiceImpl
Date: 2020-05-30

com.java2nb.novel.user.service.impl

## 类 UserServiceImpl

- java.lang.Object
- - com.java2nb.novel.user.service.impl.UserServiceImpl

所有已实现的接口:
  UserService

    @Service
    public class UserServiceImpl
    extends java.lang.Object
    implements UserService

小说服务接口实现

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

### 构造器概要

构造器
构造器和说明
`UserServiceImpl()`

### 方法概要

所有方法 实例方法 具体方法
`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)` 查询个人信息

### 从类继承的方法 java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 构造器详细资料

#### UserServiceImpl

    public UserServiceImpl()

### 方法详细资料

#### queryByUsernameAndPassword

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

从接口复制的说明: `UserService`
根据用户名密码查询记录

指定者:
  `queryByUsernameAndPassword` 在接口中 `UserService`
参数:
  `username` - 用户名
  `password` - 密码
返回:
  用户对象，不存在返回null

#### login

    public UserDetails login(UserForm form)

从接口复制的说明: `UserService`
用户登陆

指定者:
  `login` 在接口中 `UserService`
参数:
  `form` - 用户登陆提交信息类
返回:
  jwt载体信息类

#### queryById

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

从接口复制的说明: `UserService`
根据用户名ID集合查询用户集合信息

指定者:
  `queryById` 在接口中 `UserService`
参数:
  `ids` - 用户ID集合
返回:
  用户集合对象

#### register

    public UserDetails register(UserForm form)

从接口复制的说明: `UserService`
用户注册

指定者:
  `register` 在接口中 `UserService`
参数:
  `form` - 用户注册提交信息类
返回:
  jwt载体信息类

#### queryIsInShelf

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

从接口复制的说明: `UserService`
查询小说是否已加入书架

指定者:
  `queryIsInShelf` 在接口中 `UserService`
参数:
  `userId` - 用户ID
  `bookId` - 小说ID
返回:
  true:已加入书架，未加入书架

#### addToBookShelf

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

从接口复制的说明: `UserService`
加入书架

指定者:
  `addToBookShelf` 在接口中 `UserService`
参数:
  `userId` - 用户ID
  `bookId` - 小说ID
  `preContentId` - 阅读的内容ID

#### removeFromBookShelf

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

从接口复制的说明: `UserService`
移出书架

指定者:
  `removeFromBookShelf` 在接口中 `UserService`
参数:
  `userId` - 用户ID
  `bookId` - 小说ID

#### listBookShelfByPage

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

从接口复制的说明: `UserService`
查询书架

指定者:
  `listBookShelfByPage` 在接口中 `UserService`
参数:
  `userId` - 用户ID
返回:
  书架集合

#### listReadHistoryByPage

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

从接口复制的说明: `UserService`
分页查询阅读记录

指定者:
  `listReadHistoryByPage` 在接口中 `UserService`
参数:
  `userId` - 用户id
  `page` - 页码
  `pageSize` - 分页大小
返回:

#### addReadHistory

    @Transactional(rollbackFor=java.lang.Exception.class)
    public void addReadHistory(java.lang.Long userId,
                                                                                     java.lang.Long bookId,
                                                                                     java.lang.Long preContentId)

从接口复制的说明: `UserService`
添加阅读记录

指定者:
  `addReadHistory` 在接口中 `UserService`
参数:
  `userId` - 用户id
  `bookId` - 书籍id
  `preContentId` - 阅读的目录id

#### addFeedBack

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

从接口复制的说明: `UserService`
添加反馈

指定者:
  `addFeedBack` 在接口中 `UserService`
参数:
  `userId` - 用户id
  `content` - 反馈内容

#### listUserFeedBackByPage

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

从接口复制的说明: `UserService`
分页查询我的反馈列表

指定者:
  `listUserFeedBackByPage` 在接口中 `UserService`
参数:
  `userId` - 用户ID
  `page` - 页码
  `pageSize` - 分页大小
返回:
  反馈集合

#### userInfo

    public User userInfo(java.lang.Long userId)

从接口复制的说明: `UserService`
查询个人信息

指定者:
  `userInfo` 在接口中 `UserService`
参数:
  `userId` - 用户id
返回:
  用户信息

#### updateUserInfo

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

从接口复制的说明: `UserService`
更新个人信息

指定者:
  `updateUserInfo` 在接口中 `UserService`
参数:
  `userId` - 用户id
  `user` - 需要更新的信息

#### updatePassword

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

从接口复制的说明: `UserService`
更新密码

指定者:
  `updatePassword` 在接口中 `UserService`
参数:
  `userId` - 用户id
  `oldPassword` - 旧密码
  `newPassword` - 新密码