751 lines
20 KiB
Markdown
751 lines
20 KiB
Markdown
# video-user模块目录架构、功能及接口文档
|
||
|
||
## 一、目录架构
|
||
|
||
```
|
||
video-user/
|
||
├── src/
|
||
│ ├── main/
|
||
│ │ ├── java/
|
||
│ │ │ └── com/nuaa/video/user/
|
||
│ │ │ ├── config/ # 配置类
|
||
│ │ │ │ ├── FeignConfig.java # Feign配置类
|
||
│ │ │ │ ├── MinioConfig.java # Minio配置类
|
||
│ │ │ │ └── SecurityConfig.java # 安全配置类
|
||
│ │ │ ├── controller/ # 控制器
|
||
│ │ │ │ ├── UserProfileController.java # 用户资料控制器
|
||
│ │ │ │ ├── UserFollowController.java # 用户关注控制器
|
||
│ │ │ │ ├── UserMessageController.java # 用户私信控制器
|
||
│ │ │ │ ├── UserNotificationController.java # 用户通知控制器
|
||
│ │ │ │ └── UserSettingController.java # 用户设置控制器
|
||
│ │ │ ├── dto/ # 数据传输对象
|
||
│ │ │ │ ├── UserProfileDTO.java # 用户资料DTO
|
||
│ │ │ │ ├── UserMessageDTO.java # 用户私信DTO
|
||
│ │ │ │ └── UserSettingDTO.java # 用户设置DTO
|
||
│ │ │ ├── entity/ # 实体类
|
||
│ │ │ │ ├── UserInfo.java # 用户信息实体
|
||
│ │ │ │ ├── UserFollow.java # 用户关注实体
|
||
│ │ │ │ ├── UserStatDaily.java # 用户每日统计实体
|
||
│ │ │ │ ├── UserMessage.java # 用户私信实体
|
||
│ │ │ │ ├── UserNotification.java # 用户通知实体
|
||
│ │ │ │ └── UserSetting.java # 用户设置实体
|
||
│ │ │ ├── feign/ # Feign客户端
|
||
│ │ │ │ └── AuthFeignClient.java # 认证服务Feign客户端
|
||
│ │ │ ├── filter/ # 过滤器
|
||
│ │ │ │ └── JwtAuthenticationFilter.java # JWT认证过滤器
|
||
│ │ │ ├── mapper/ # MyBatis映射接口
|
||
│ │ │ │ ├── UserInfoMapper.java # 用户信息Mapper
|
||
│ │ │ │ ├── UserFollowMapper.java # 用户关注Mapper
|
||
│ │ │ │ ├── UserStatDailyMapper.java # 用户每日统计Mapper
|
||
│ │ │ │ ├── UserMessageMapper.java # 用户私信Mapper
|
||
│ │ │ │ ├── UserNotificationMapper.java # 用户通知Mapper
|
||
│ │ │ │ └── UserSettingMapper.java # 用户设置Mapper
|
||
│ │ │ ├── service/ # 服务层
|
||
│ │ │ │ ├── UserInfoService.java # 用户信息服务接口
|
||
│ │ │ │ ├── UserFollowService.java # 用户关注服务接口
|
||
│ │ │ │ ├── UserMessageService.java # 用户私信服务接口
|
||
│ │ │ │ ├── UserNotificationService.java # 用户通知服务接口
|
||
│ │ │ │ ├── UserSettingService.java # 用户设置服务接口
|
||
│ │ │ │ └── impl/ # 实现类
|
||
│ │ │ │ ├── UserInfoServiceImpl.java
|
||
│ │ │ │ ├── UserFollowServiceImpl.java
|
||
│ │ │ │ ├── UserMessageServiceImpl.java
|
||
│ │ │ │ ├── UserNotificationServiceImpl.java
|
||
│ │ │ │ └── UserSettingServiceImpl.java
|
||
│ │ │ ├── vo/ # 视图对象
|
||
│ │ │ │ ├── UserProfileVO.java # 用户资料VO
|
||
│ │ │ │ ├── UserMessageVO.java # 用户私信VO
|
||
│ │ │ │ └── UserNotificationVO.java # 用户通知VO
|
||
│ │ │ └── UserApplication.java # 启动类
|
||
│ │ └── resources/
|
||
│ │ ├── mapper/ # MyBatis XML映射文件
|
||
│ │ │ ├── UserInfoMapper.xml
|
||
│ │ │ ├── UserFollowMapper.xml
|
||
│ │ │ ├── UserMessageMapper.xml
|
||
│ │ │ └── UserNotificationMapper.xml
|
||
│ │ ├── application.yml # 主配置文件
|
||
│ │ └── application-dev.yml # 开发环境配置
|
||
└── pom.xml
|
||
```
|
||
|
||
## 二、功能概述
|
||
|
||
### 1. 核心功能
|
||
|
||
- **用户资料管理**:创建、查询、更新用户资料,上传头像
|
||
- **用户关系管理**:关注/取消关注用户,查看关注列表和粉丝列表
|
||
- **私信系统**:发送和接收私信,管理会话和消息状态
|
||
- **通知系统**:管理用户收到的系统通知和用户互动通知
|
||
- **用户设置**:管理用户隐私和通知偏好设置
|
||
- **用户数据统计**:收集和查询用户活动统计信息
|
||
|
||
### 2. 业务流程
|
||
|
||
1. **用户资料流程**:
|
||
- 用户注册时,auth服务创建基本认证信息
|
||
- auth服务通过Feign调用user服务创建用户资料
|
||
- 用户可随时更新个人资料信息
|
||
|
||
2. **用户关系流程**:
|
||
- 用户关注他人,增加自己的关注数和对方的粉丝数
|
||
- 系统为被关注用户创建通知
|
||
- 用户可查看关注列表和粉丝列表
|
||
|
||
3. **私信流程**:
|
||
- 用户发送私信给其他用户
|
||
- 接收用户收到未读消息通知
|
||
- 用户可查看会话列表和详细私信记录
|
||
|
||
4. **通知流程**:
|
||
- 系统根据用户互动(点赞、评论、关注)创建通知
|
||
- 用户可查看不同类型的通知
|
||
- 用户可标记通知为已读
|
||
|
||
## 三、接口文档
|
||
|
||
### 1. 用户资料接口
|
||
|
||
#### 1.1 初始化用户资料
|
||
|
||
- **URI**: `/user/profile/init`
|
||
- **方法**: POST
|
||
- **描述**: 服务内部接口,初始化用户资料(由auth服务在用户注册时调用)
|
||
- **请求参数**:
|
||
- `userId`: 用户ID
|
||
- `username`: 用户名
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
- **错误码**:
|
||
- `400`: 参数错误
|
||
- `500`: 服务器内部错误
|
||
|
||
#### 1.2 获取当前用户资料
|
||
|
||
- **URI**: `/user/profile/current`
|
||
- **方法**: GET
|
||
- **描述**: 获取当前登录用户的资料
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"id": 1,
|
||
"nickname": "用户昵称",
|
||
"avatar": "头像URL",
|
||
"gender": 1,
|
||
"birthday": "1990-01-01",
|
||
"signature": "个性签名",
|
||
"region": "地区",
|
||
"followerCount": 10,
|
||
"followingCount": 20,
|
||
"videoCount": 5,
|
||
"likeCount": 100,
|
||
"level": 3,
|
||
"vipLevel": 0,
|
||
"vipExpireTime": null,
|
||
"isFollowed": false,
|
||
"createTime": "2023-01-01T12:00:00"
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 1.3 获取指定用户资料
|
||
|
||
- **URI**: `/user/profile/public/{userId}`
|
||
- **方法**: GET
|
||
- **描述**: 获取指定用户的资料
|
||
- **路径参数**:
|
||
- `userId`: 用户ID
|
||
- **响应**: 与获取当前用户资料相同
|
||
|
||
#### 1.4 更新用户资料
|
||
|
||
- **URI**: `/user/profile`
|
||
- **方法**: PUT
|
||
- **描述**: 更新当前用户资料
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **请求Body**:
|
||
```json
|
||
{
|
||
"nickname": "新昵称",
|
||
"gender": 1,
|
||
"birthday": "1990-01-01",
|
||
"signature": "新的个性签名",
|
||
"region": "新的地区"
|
||
}
|
||
```
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
#### 1.5 上传头像
|
||
|
||
- **URI**: `/user/profile/avatar`
|
||
- **方法**: POST
|
||
- **描述**: 上传用户头像
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- `Content-Type`: multipart/form-data
|
||
- **请求参数**:
|
||
- `file`: 图片文件
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": "头像URL"
|
||
}
|
||
```
|
||
|
||
#### 1.6 搜索用户
|
||
|
||
- **URI**: `/user/profile/search`
|
||
- **方法**: GET
|
||
- **描述**: 按关键词搜索用户
|
||
- **请求参数**:
|
||
- `keyword`: 搜索关键词
|
||
- `page`: 页码(默认1)
|
||
- `size`: 每页数量(默认10)
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 1,
|
||
"nickname": "用户昵称",
|
||
"avatar": "头像URL",
|
||
"signature": "个性签名",
|
||
"followerCount": 10,
|
||
"followingCount": 20
|
||
}
|
||
],
|
||
"total": 100,
|
||
"size": 10,
|
||
"current": 1,
|
||
"pages": 10
|
||
}
|
||
}
|
||
```
|
||
|
||
### 2. 用户关注接口
|
||
|
||
#### 2.1 关注用户
|
||
|
||
- **URI**: `/user/follow/{followId}`
|
||
- **方法**: POST
|
||
- **描述**: 关注指定用户
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **路径参数**:
|
||
- `followId`: 要关注的用户ID
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
- **错误码**:
|
||
- `400`: 参数错误(如已关注)
|
||
- `404`: 用户不存在
|
||
|
||
#### 2.2 取消关注
|
||
|
||
- **URI**: `/user/follow/{followId}`
|
||
- **方法**: DELETE
|
||
- **描述**: 取消关注指定用户
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **路径参数**:
|
||
- `followId`: 要取消关注的用户ID
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
#### 2.3 获取关注列表
|
||
|
||
- **URI**: `/user/follow/following/{userId}`
|
||
- **方法**: GET
|
||
- **描述**: 获取指定用户的关注列表
|
||
- **路径参数**:
|
||
- `userId`: 用户ID
|
||
- **请求参数**:
|
||
- `page`: 页码(默认1)
|
||
- `size`: 每页数量(默认10)
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 2,
|
||
"nickname": "被关注用户",
|
||
"avatar": "头像URL",
|
||
"signature": "个性签名",
|
||
"followerCount": 100,
|
||
"followingCount": 50,
|
||
"isFollowed": true
|
||
}
|
||
],
|
||
"total": 20,
|
||
"size": 10,
|
||
"current": 1,
|
||
"pages": 2
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 2.4 获取粉丝列表
|
||
|
||
- **URI**: `/user/follow/followers/{userId}`
|
||
- **方法**: GET
|
||
- **描述**: 获取指定用户的粉丝列表
|
||
- **路径参数**:
|
||
- `userId`: 用户ID
|
||
- **请求参数**:
|
||
- `page`: 页码(默认1)
|
||
- `size`: 每页数量(默认10)
|
||
- **响应**: 与关注列表格式相同
|
||
|
||
#### 2.5 检查是否已关注
|
||
|
||
- **URI**: `/user/follow/check/{followId}`
|
||
- **方法**: GET
|
||
- **描述**: 检查当前用户是否已关注指定用户
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **路径参数**:
|
||
- `followId`: 被检查的用户ID
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": true // 或 false
|
||
}
|
||
```
|
||
|
||
### 3. 用户私信接口
|
||
|
||
#### 3.1 发送私信
|
||
|
||
- **URI**: `/user/message`
|
||
- **方法**: POST
|
||
- **描述**: 发送私信给指定用户
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **请求Body**:
|
||
```json
|
||
{
|
||
"receiverId": 2,
|
||
"content": "私信内容"
|
||
}
|
||
```
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
#### 3.2 获取私信会话列表
|
||
|
||
- **URI**: `/user/message/list`
|
||
- **方法**: GET
|
||
- **描述**: 获取当前用户的私信会话列表
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **请求参数**:
|
||
- `page`: 页码(默认1)
|
||
- `size`: 每页数量(默认10)
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 100,
|
||
"senderId": 2,
|
||
"senderNickname": "发送者昵称",
|
||
"senderAvatar": "发送者头像URL",
|
||
"receiverId": 1,
|
||
"receiverNickname": "接收者昵称",
|
||
"receiverAvatar": "接收者头像URL",
|
||
"content": "最新消息内容",
|
||
"isRead": 0,
|
||
"createTime": "2023-05-20T14:30:00"
|
||
}
|
||
],
|
||
"total": 5,
|
||
"size": 10,
|
||
"current": 1,
|
||
"pages": 1
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 3.3 获取私信详情
|
||
|
||
- **URI**: `/user/message/detail/{targetId}`
|
||
- **方法**: GET
|
||
- **描述**: 获取与指定用户的私信记录
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **路径参数**:
|
||
- `targetId`: 目标用户ID
|
||
- **请求参数**:
|
||
- `page`: 页码(默认1)
|
||
- `size`: 每页数量(默认20)
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 100,
|
||
"senderId": 1,
|
||
"senderNickname": "当前用户",
|
||
"senderAvatar": "头像URL",
|
||
"receiverId": 2,
|
||
"receiverNickname": "目标用户",
|
||
"receiverAvatar": "头像URL",
|
||
"content": "你好",
|
||
"isRead": 1,
|
||
"createTime": "2023-05-20T14:28:00"
|
||
},
|
||
{
|
||
"id": 101,
|
||
"senderId": 2,
|
||
"senderNickname": "目标用户",
|
||
"senderAvatar": "头像URL",
|
||
"receiverId": 1,
|
||
"receiverNickname": "当前用户",
|
||
"receiverAvatar": "头像URL",
|
||
"content": "你好,很高兴认识你",
|
||
"isRead": 1,
|
||
"createTime": "2023-05-20T14:30:00"
|
||
}
|
||
],
|
||
"total": 2,
|
||
"size": 20,
|
||
"current": 1,
|
||
"pages": 1
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 3.4 标记私信为已读
|
||
|
||
- **URI**: `/user/message/read/{senderId}`
|
||
- **方法**: PUT
|
||
- **描述**: 标记来自指定发送者的所有私信为已读
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **路径参数**:
|
||
- `senderId`: 发送者用户ID
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
#### 3.5 获取未读私信数量
|
||
|
||
- **URI**: `/user/message/unread/count`
|
||
- **方法**: GET
|
||
- **描述**: 获取当前用户的未读私信数量
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": 5
|
||
}
|
||
```
|
||
|
||
### 4. 用户通知接口
|
||
|
||
#### 4.1 获取通知列表
|
||
|
||
- **URI**: `/user/notification/list`
|
||
- **方法**: GET
|
||
- **描述**: 获取用户通知列表
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **请求参数**:
|
||
- `type`: 通知类型(1:点赞,2:评论,3:关注,4:系统通知,可选)
|
||
- `page`: 页码(默认1)
|
||
- `size`: 每页数量(默认10)
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"records": [
|
||
{
|
||
"id": 1,
|
||
"type": 3,
|
||
"content": "用户小明关注了你",
|
||
"relatedId": 123,
|
||
"isRead": 0,
|
||
"createTime": "2023-05-20T10:00:00"
|
||
}
|
||
],
|
||
"total": 50,
|
||
"size": 10,
|
||
"current": 1,
|
||
"pages": 5
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 4.2 标记所有通知为已读
|
||
|
||
- **URI**: `/user/notification/read`
|
||
- **方法**: PUT
|
||
- **描述**: 标记当前用户的所有通知为已读
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
#### 4.3 标记指定通知为已读
|
||
|
||
- **URI**: `/user/notification/read/{notificationId}`
|
||
- **方法**: PUT
|
||
- **描述**: 标记指定通知为已读
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **路径参数**:
|
||
- `notificationId`: 通知ID
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
#### 4.4 获取未读通知数量
|
||
|
||
- **URI**: `/user/notification/unread/count`
|
||
- **方法**: GET
|
||
- **描述**: 获取当前用户的未读通知数量
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": 10
|
||
}
|
||
```
|
||
|
||
### 5. 用户设置接口
|
||
|
||
#### 5.1 获取用户设置
|
||
|
||
- **URI**: `/user/setting`
|
||
- **方法**: GET
|
||
- **描述**: 获取当前用户的设置
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": {
|
||
"privacyLevel": 1,
|
||
"commentNotify": 1,
|
||
"likeNotify": 1,
|
||
"followNotify": 1,
|
||
"systemNotify": 1
|
||
}
|
||
}
|
||
```
|
||
|
||
#### 5.2 更新用户设置
|
||
|
||
- **URI**: `/user/setting`
|
||
- **方法**: PUT
|
||
- **描述**: 更新当前用户的设置
|
||
- **请求头**:
|
||
- `Authorization`: Bearer {accessToken}
|
||
- **请求Body**:
|
||
```json
|
||
{
|
||
"privacyLevel": 2,
|
||
"commentNotify": 1,
|
||
"likeNotify": 0,
|
||
"followNotify": 1,
|
||
"systemNotify": 1
|
||
}
|
||
```
|
||
- **响应**:
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"message": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
## 四、数据库表结构
|
||
|
||
### 1. user_info (用户信息表)
|
||
- `id`: bigint - 用户ID (主键)
|
||
- `nickname`: varchar(64) - 昵称
|
||
- `avatar`: varchar(256) - 头像URL
|
||
- `gender`: tinyint - 性别(0:未知,1:男,2:女)
|
||
- `birthday`: date - 生日
|
||
- `signature`: varchar(256) - 个性签名
|
||
- `region`: varchar(128) - 地区
|
||
- `follower_count`: int - 粉丝数
|
||
- `following_count`: int - 关注数
|
||
- `video_count`: int - 视频数
|
||
- `like_count`: int - 获赞数
|
||
- `coin_count`: int - 硬币数
|
||
- `favorite_count`: int - 收藏数
|
||
- `view_count`: bigint - 播放数
|
||
- `level`: tinyint - 等级
|
||
- `vip_level`: tinyint - VIP等级
|
||
- `vip_expire_time`: datetime - VIP到期时间
|
||
- `created_by`: varchar(64) - 创建人
|
||
- `updated_by`: varchar(64) - 更新人
|
||
- `create_time`: datetime - 创建时间
|
||
- `update_time`: datetime - 更新时间
|
||
|
||
### 2. user_follow (用户关注表)
|
||
- `id`: bigint - 主键ID
|
||
- `user_id`: bigint - 用户ID
|
||
- `follow_id`: bigint - 关注用户ID
|
||
- `create_time`: datetime - 创建时间
|
||
|
||
### 3. user_stat_daily (用户每日统计表)
|
||
- `id`: bigint - 主键ID
|
||
- `user_id`: bigint - 用户ID
|
||
- `stat_date`: date - 统计日期
|
||
- `follower_increment`: int - 新增粉丝数
|
||
- `following_increment`: int - 新增关注数
|
||
- `video_increment`: int - 新增视频数
|
||
- `like_increment`: int - 新增获赞数
|
||
- `coin_increment`: int - 新增硬币数
|
||
- `favorite_increment`: int - 新增收藏数
|
||
- `view_increment`: bigint - 新增播放数
|
||
- `create_time`: datetime - 创建时间
|
||
|
||
### 4. user_message (用户私信表)
|
||
- `id`: bigint - 主键ID
|
||
- `sender_id`: bigint - 发送者ID
|
||
- `receiver_id`: bigint - 接收者ID
|
||
- `content`: text - 消息内容
|
||
- `is_read`: tinyint - 是否已读(0:未读,1:已读)
|
||
- `create_time`: datetime - 创建时间
|
||
|
||
### 5. user_notification (用户通知表)
|
||
- `id`: bigint - 主键ID
|
||
- `user_id`: bigint - 用户ID
|
||
- `type`: tinyint - 通知类型(1:点赞,2:评论,3:关注,4:系统通知)
|
||
- `content`: text - 通知内容
|
||
- `related_id`: bigint - 相关ID
|
||
- `is_read`: tinyint - 是否已读(0:未读,1:已读)
|
||
- `create_time`: datetime - 创建时间
|
||
|
||
### 6. user_setting (用户设置表)
|
||
- `id`: bigint - 主键ID
|
||
- `user_id`: bigint - 用户ID
|
||
- `privacy_level`: tinyint - 隐私等级(1:公开,2:仅关注,3:私密)
|
||
- `comment_notify`: tinyint - 评论通知(0:关闭,1:开启)
|
||
- `like_notify`: tinyint - 点赞通知(0:关闭,1:开启)
|
||
- `follow_notify`: tinyint - 关注通知(0:关闭,1:开启)
|
||
- `system_notify`: tinyint - 系统通知(0:关闭,1:开启)
|
||
- `created_by`: varchar(64) - 创建人
|
||
- `updated_by`: varchar(64) - 更新人
|
||
- `create_time`: datetime - 创建时间
|
||
- `update_time`: datetime - 更新时间
|
||
|
||
## 五、调用示例
|
||
|
||
### 1. 获取用户资料
|
||
|
||
```bash
|
||
# 使用cURL
|
||
curl -X GET http://localhost:9002/user/profile/current \
|
||
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..."
|
||
|
||
# 使用JavaScript
|
||
fetch('http://localhost:9002/user/profile/current', {
|
||
headers: {
|
||
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiJ9...'
|
||
}
|
||
})
|
||
.then(response => response.json())
|
||
.then(data => console.log(data));
|
||
```
|
||
|
||
### 2. 关注用户
|
||
|
||
```bash
|
||
# 使用cURL
|
||
curl -X POST http://localhost:9002/user/follow/2 \
|
||
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9..."
|
||
|
||
# 使用JavaScript
|
||
fetch('http://localhost:9002/user/follow/2', {
|
||
method: 'POST',
|
||
headers: {
|
||
'Authorization': 'Bearer eyJhbGciOiJIUzI1NiJ9...'
|
||
}
|
||
})
|
||
.then(response => response.json())
|
||
.then(data => console.log(data));
|
||
```
|
||
|
||
video-user模块是整个视频平台的核心组成部分,它提供了完整的用户信息管理、社交互动和消息通知功能,为用户提供良好的社交体验。 |