# community
**Repository Path**: Xiao_Yang123/community
## Basic Information
- **Project Name**: community
- **Description**: Spring Boot论坛项目
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 2
- **Created**: 2020-11-05
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## Spring Boot论坛项目(未完结)
**项目整体目录结构**
**annotation**:注解包
**aspect**:日志记录
**config**:配置类
**controller**:处理器
**dao**:数据访问层
**datasource**:数据源配置
**entity**:实体类
**event**:触发事件(点赞、评论、关注)
**service**:业务层
**util**:工具包
### **技术栈**
| 框架 | 版本 |
| --------------- | ----- |
| Spring Boot | 2.x |
| Mybatis-Plus | 3.x |
| Thymeleaf | 2.x |
| redis | 5.05 |
| kafka | xx |
| Spring Security | xx |
| elasticsearch | 7.x |
| MySQL | 5.7 |
| Git | laste |
### **数据表**
**comment表**
| 字段 | 解释 |
| ----------- | ------------------------------------------------------------ |
| id | 评论ID |
| user_id | 评论的用户ID |
| entity_type | 评论的类型(对帖子评论还是对评论进行评论) |
| entity_id | 如果评论是对帖子评论就是帖子Id,如果是对评论进行评论就是评论的Id |
| target_id | 如果是对评论进行回复就是所回复的用户Id,没有就是0 |
| content | 评论文本 |
| status | 评论状态 |
| create_time | 评论创建时间 |
**discuss_post表**
| 字段 | 解释 |
| ------------- | --------------- |
| id | 帖子Id |
| user_id | 帖子的用户Id |
| title | 帖子标题 |
| content | 帖子文本 |
| type | 0:普通 1:置顶 |
| status | 评论文本 |
| create_time | 创建时间 |
| comment_count | 评论数 |
| score | 精度 |
**user表**
| 字段 | 解释 |
| :-------------- | :--------------------------------- |
| id | 用户id |
| username | 用户名 |
| password | 密码 |
| salt | 加盐 |
| email | 邮箱 |
| type | 用户类型(版主、管理员、普通用户) |
| status | 用户激活状态 |
| activation_code | 激活码 |
| header_url | 头像url |
| create_time | 用户创建时间 |
**message表**
| 字段 | 解释 |
| --------------- | -------------------------------------- |
| id | 消息id |
| from_id | 消息来自方 |
| to_id | 消息去向(用户id) |
| conversation_id | 会话类型(点赞、关注、评论由系统通知) |
| content | 文本 |
| status | 消息状态(未读、已读、删除) |
| create_time | 消息创建时间 |
**login_ticket表(已废弃)**
| 字段 | 解释 |
| ------- | ---------------- |
| id | 登录凭证id |
| user_id | 用户id |
| ticket | 登录凭证(UUID) |
| status | 登录状态 |
| expired | 过期时间 |
### 1. 首页
展示效果图:
首页分页显示帖子列表,显示帖子信息时,需要附带用户信息(用户名、用户图片Url)
帖子表包含用户id字段,所以查询时需要根据userId查询到用户信息
`IndexController`代码如下:
```java
@GetMapping("/index")
public String getDiscussPost(Model model, Page page){
// 设置分页属性
page.setSize(6);
page.setDesc("create_time");
List discussPosts = discussPostService.getDiscussPost(page);
// 将文章信息 以及 用户信息 存到Map中,然后循环遍历discussPosts中的文章信息
List