# 环境 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. 注意事项:列出集成过程中常见的冲突问题(如依赖冲突、路径拦截)及解决方案