环境
- Java Jdk1.8
- Redis 5+
- Mysql 5.7+
Java项目框架
- SpringBoot 2.2.6.RELEASE
- Maven 3.6.1
- Swagger 2.9.2
- Mybatis Plus 3.3.1
文档链接
安装部署文档 https://doc.crmeb.com/java/crmeb_java/2211 使用说明 https://doc.crmeb.com/java/crmeb_java/1868
部署
- 拿到jar包,上传到web目录下,(宝塔配置的域名指向的web目录下即可)
- 在 jar包同级目录下运行
start.sh (运行命令为 ./start.sh )脚本即可启动项目 - shell脚本会自动运行
tail -f out_log.file命令输出当前启动日志 - 看到
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 | 备注 |
数据功能实现
- 调用 /api/v1/jobs/createTask 接口时,将输入参数的值和返回的任务ID记录到Article表中。
- 调用 /api/v1/jobs/recordInfo 接口时,将返回的查询结果信息根据任务id更新Article表中记录。
访问层任务
- 辅助设计并实现符合 REST 风格的 Controller 接口层代码
访问层(Controller)设计
- 类级别使用@Tag注解标注业务模块名称
- 方法级别使用@Operation描述接口功能,@ApiResponses定义响应情况
- 请求参数必须添加@Parameter说明,复杂对象使用@Schema标注字段含义
- 遵循 RESTful 设计:GET (查询)、POST (创建)、PUT (全量更新)、PATCH (部分更新)、DELETE (删除)
- 统一返回格式,包含状态码、消息、数据体三部分
访问层(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:响应数据体
输出内容要求
- 接口示例:提供至少 1 个完整的 Controller 类示例,包含 CRUD 基础操作
- 访问说明:说明 Swagger 文档的访问路径与常用操作指引
- 注意事项:列出集成过程中常见的冲突问题(如依赖冲突、路径拦截)及解决方案