120 lines
5.8 KiB
Markdown
120 lines
5.8 KiB
Markdown
|
|
# 环境
|
|||
|
|
1. Java Jdk1.8
|
|||
|
|
2. Redis 5+
|
|||
|
|
3. Mysql 5.7+
|
|||
|
|
|
|||
|
|
# Java项目框架
|
|||
|
|
1. SpringBoot 2.2.6.RELEASE
|
|||
|
|
2. Maven 3.6.1
|
|||
|
|
3. Swagger 2.9.2
|
|||
|
|
4. Mybatis Plus 3.3.1
|
|||
|
|
|
|||
|
|
# 文档链接
|
|||
|
|
安装部署文档 https://doc.crmeb.com/java/crmeb_java/2211
|
|||
|
|
使用说明 https://doc.crmeb.com/java/crmeb_java/1868
|
|||
|
|
|
|||
|
|
|
|||
|
|
# 部署
|
|||
|
|
1. 拿到jar包,上传到web目录下,(宝塔配置的域名指向的web目录下即可)
|
|||
|
|
2. 在 jar包同级目录下运行 `start.sh (运行命令为 ./start.sh )` 脚本即可启动项目
|
|||
|
|
3. shell脚本会自动运行 `tail -f out_log.file` 命令输出当前启动日志
|
|||
|
|
4. 看到 `Completed 200 OK` 表示启动成功
|
|||
|
|
|
|||
|
|
## MySQL数据库
|
|||
|
|
默认数据库连接信息为:`118.89.113.119`、`3306`、`jzjg_jxz`、`baisui`、`fFmTJhBEFSnYGYW7`。
|
|||
|
|
|
|||
|
|
## 数据库字典
|
|||
|
|
|
|||
|
|
### 文章表(eb_article)数据字典
|
|||
|
|
|
|||
|
|
| 字段名 | 类型 | 允许为空 | 默认值 | 说明 |
|
|||
|
|
|-------------------|-------------|------|-------|--------------|
|
|||
|
|
| id | Integer | 否 | 自增 | 文章管理ID |
|
|||
|
|
| cid | String(255) | 是 | NULL | 分类id |
|
|||
|
|
| title | String(255) | 是 | NULL | 文章标题 |
|
|||
|
|
| author | String(255) | 是 | NULL | 文章作者 |
|
|||
|
|
| image_input | String(255) | 是 | NULL | 文章图片 |
|
|||
|
|
| synopsis | String(255) | 是 | NULL | 文章简介 |
|
|||
|
|
| share_title | String(255) | 是 | NULL | 文章分享标题 |
|
|||
|
|
| share_synopsis | String(255) | 是 | NULL | 文章分享简介 |
|
|||
|
|
| visit | String(255) | 是 | NULL | 浏览次数 |
|
|||
|
|
| sort | Integer | 是 | NULL | 排序 |
|
|||
|
|
| url | String(255) | 是 | NULL | 原文链接 |
|
|||
|
|
| media_id | String(255) | 是 | NULL | 微信素材id |
|
|||
|
|
| status | Boolean | 是 | NULL | 状态 |
|
|||
|
|
| hide | Boolean | 是 | NULL | 是否隐藏 |
|
|||
|
|
| admin_id | Integer | 是 | NULL | 管理员id |
|
|||
|
|
| mer_id | Integer | 是 | NULL | 商户id |
|
|||
|
|
| product_id | Integer | 是 | NULL | 商品关联id |
|
|||
|
|
| is_hot | Boolean | 是 | NULL | 是否热门(小程序) |
|
|||
|
|
| is_banner | Boolean | 是 | NULL | 是否轮播图(小程序) |
|
|||
|
|
| content | Text | 是 | NULL | 文章内容 |
|
|||
|
|
| create_time | DateTime | 是 | NULL | 创建时间 |
|
|||
|
|
| update_time | DateTime | 是 | NULL | 更新时间 |
|
|||
|
|
| uid | String(255) | 是 | NULL | 用户Id |
|
|||
|
|
| image2 | String(255) | 是 | NULL | 图片2 |
|
|||
|
|
| image3 | String(255) | 是 | NULL | 图片3 |
|
|||
|
|
| status_task | Integer | 是 | NULL | 任务状态 |
|
|||
|
|
| tags | String(255) | 是 | NULL | 标签 |
|
|||
|
|
| original_title | String(255) | 是 | NULL | 原标题 |
|
|||
|
|
| original_url | String(255) | 是 | NULL | 原地址 |
|
|||
|
|
| browser_id | String(255) | 是 | NULL | bit浏览器窗口ID |
|
|||
|
|
| video_url | String(255) | 是 | NULL | 视频地址 |
|
|||
|
|
| image_urls | String(255) | 是 | NULL | 逗号分隔的图片组 |
|
|||
|
|
| task_id | String(255) | 是 | NULL | 任务id |
|
|||
|
|
| prompt | Text | 是 | NULL | 提示词 |
|
|||
|
|
| aspect_ratio | String(255) | 是 | NULL | 宽高比 |
|
|||
|
|
| remark | String(255) | 是 | NULL | 备注 |
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 数据功能实现
|
|||
|
|
1. 调用 /api/v1/jobs/createTask 接口时,将输入参数的值和返回的任务ID记录到Article表中。
|
|||
|
|
2. 调用 /api/v1/jobs/recordInfo 接口时,将返回的查询结果信息根据任务id更新Article表中记录。
|
|||
|
|
|
|||
|
|
## 访问层任务
|
|||
|
|
1. 辅助设计并实现符合 REST 风格的 Controller 接口层代码
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 访问层(Controller)设计
|
|||
|
|
1. 类级别使用@Tag注解标注业务模块名称
|
|||
|
|
2. 方法级别使用@Operation描述接口功能,@ApiResponses定义响应情况
|
|||
|
|
3. 请求参数必须添加@Parameter说明,复杂对象使用@Schema标注字段含义
|
|||
|
|
4. 遵循 RESTful 设计:GET (查询)、POST (创建)、PUT (全量更新)、PATCH (部分更新)、DELETE (删除)
|
|||
|
|
5. 统一返回格式,包含状态码、消息、数据体三部分
|
|||
|
|
|
|||
|
|
## 访问层(Controller)实现
|
|||
|
|
项目已实现以下Controller类:
|
|||
|
|
|
|||
|
|
### 1. ArticleController
|
|||
|
|
- 提供Article文章对象的CRUD操作接口
|
|||
|
|
- 支持分页查询、创建文章、修改文章、删除文章
|
|||
|
|
|
|||
|
|
|
|||
|
|
### 2. Swagger配置类
|
|||
|
|
创建了SwaggerConfig.java配置类,配置内容包括:
|
|||
|
|
- 标题:AI大模型API集成系统
|
|||
|
|
- 版本:1.0.0
|
|||
|
|
- 描述:与本地数据库的数据同步与管理AI大模型API接口
|
|||
|
|
- 联系人信息
|
|||
|
|
- 授权信息
|
|||
|
|
|
|||
|
|
|
|||
|
|
## 常见问题及解决方案
|
|||
|
|
### 3. 授权认证问题
|
|||
|
|
如果API需要授权认证,需要在Swagger中配置全局参数。
|
|||
|
|
**解决方案**:在SwaggerConfig中添加全局参数配置,支持在文档中添加认证信息。
|
|||
|
|
|
|||
|
|
### 4. Spring Boot版本兼容问题
|
|||
|
|
不同版本的Spring Boot可能需要使用不同版本的springdoc-openapi-ui。
|
|||
|
|
**解决方案**:选择与Spring Boot版本兼容的springdoc-openapi-ui版本。
|
|||
|
|
|
|||
|
|
## 统一响应格式
|
|||
|
|
项目使用ResponseResult类作为统一的响应模型,包含以下字段:
|
|||
|
|
- code:状态码(200表示成功,其他表示失败)
|
|||
|
|
- message:响应消息
|
|||
|
|
- data:响应数据体
|
|||
|
|
|
|||
|
|
## 输出内容要求
|
|||
|
|
2. 接口示例:提供至少 1 个完整的 Controller 类示例,包含 CRUD 基础操作
|
|||
|
|
3. 访问说明:说明 Swagger 文档的访问路径与常用操作指引
|
|||
|
|
4. 注意事项:列出集成过程中常见的冲突问题(如依赖冲突、路径拦截)及解决方案
|