# declaration **Repository Path**: aishenbao/declaration ## Basic Information - **Project Name**: declaration - **Description**: 这是一个小程序1111111 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-18 - **Last Updated**: 2026-02-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Report System 基于Spring Boot 3.2的AI报告系统 ## 技术栈 - **Spring Boot**: 3.2.0 - **MyBatis Plus**: 3.5.5 - **MySQL**: 8.2.0 - **Redis**: 缓存 - **JWT**: Token认证 - **Lombok**: 简化代码 - **FastJSON2**: JSON处理 - **Hutool**: 工具类库 - **微信支付**: 支付功能 ## 项目结构 ``` src/main/java/com/agent/ ├── AiReportApplication.java # 启动类 ├── config/ # 配置类 │ ├── JwtConfig.java # JWT配置 │ ├── MybatisPlusConfig.java # MyBatis Plus配置 │ ├── RedisConfig.java # Redis配置 │ ├── WebConfig.java # Web配置 │ ├── WechatConfig.java # 微信配置 │ ├── InterceptorConfig.java # 拦截器配置 │ └── MetaHandler.java # 元数据处理 ├── common/ # 通用类 │ ├── annotation/ # 注解 │ ├── constant/ # 常量 │ ├── exception/ # 异常处理 │ ├── interceptor/ # 拦截器 │ ├── result/ # 响应封装 │ └── resolver/ # 参数解析 └── module/ # 业务模块 ├── user/ # 用户模块 │ ├── controller/ │ ├── service/ │ ├── mapper/ │ ├── entity/ │ ├── dto/ │ ├── vo/ │ └── query/ ├── wechat/ # 微信模块 │ ├── controller/ │ ├── service/ │ ├── dto/ │ ├── vo/ │ └── query/ ├── province/ # 省份模块 │ ├── controller/ │ ├── service/ │ ├── mapper/ │ ├── entity/ │ ├── dto/ │ ├── vo/ │ └── query/ ├── city/ # 城市模块 │ ├── controller/ │ ├── service/ │ ├── mapper/ │ ├── entity/ │ ├── dto/ │ ├── vo/ │ └── query/ ├── agent/ # 智能体模块 │ ├── controller/ │ ├── service/ │ ├── mapper/ │ ├── entity/ │ ├── dto/ │ ├── vo/ │ └── query/ ├── project/ # 项目模块 │ ├── controller/ │ ├── service/ │ ├── mapper/ │ ├── entity/ │ ├── dto/ │ ├── vo/ │ └── query/ ├── catalogue/ # 目录模块 │ ├── controller/ │ ├── service/ │ ├── mapper/ │ ├── entity/ │ ├── dto/ │ ├── vo/ │ └── query/ └── doc/ # 文档模块 ├── controller/ ├── service/ ├── mapper/ ├── entity/ ├── dto/ ├── vo/ └── query/ ``` ## 快速开始 ### 1. 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ - Redis 6.0+ ### 2. 数据库配置 执行 `src/main/resources/sql/init.sql` 创建数据库和表结构 ### 3. 配置修改 修改 `application.yml` 中的配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/ai_report?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: your_password data: redis: host: localhost port: 6379 password: your_redis_password jwt: secret: your-jwt-secret-key wechat: app-id: your-wechat-app-id app-secret: your-wechat-app-secret pay: mch-id: your-merchant-id api-v3-key: your-api-v3-key ``` ### 4. 启动项目 ```bash mvn clean install mvn spring-boot:run ``` ### 5. 接口文档 #### 用户管理 - `POST /api/user/register` - 用户注册 - `POST /api/user/login` - 用户登录 - `GET /api/user/info` - 获取用户信息 - `POST /api/user/update-password` - 修改密码 - `POST /api/user/logout` - 退出登录 #### 微信功能 - `POST /api/wechat/login` - 微信登录 - `POST /api/wechat/pay/create` - 创建支付订单 - `POST /api/wechat/pay/verify` - 验证支付结果 - `POST /api/wechat/pay/notify` - 支付回调通知 #### 省份管理 - `POST /api/province` - 新增省份 - `PUT /api/province/{id}` - 修改省份 - `GET /api/province/{id}` - 查询省份详情 - `DELETE /api/province/{id}` - 删除省份 - `POST /api/province/page` - 分页查询省份 - `POST /api/province/list` - 列表查询省份 - `GET /api/province/options` - 省份下拉列表 #### 城市管理 - `POST /api/city` - 新增城市 - `PUT /api/city/{id}` - 修改城市 - `GET /api/city/{id}` - 查询城市详情 - `DELETE /api/city/{id}` - 删除城市 - `POST /api/city/page` - 分页查询城市 - `POST /api/city/list` - 列表查询城市 - `GET /api/city/options` - 城市下拉列表 - `GET /api/city/province/{provinceId}` - 根据省份ID查询城市 #### 智能体管理 - `POST /api/agent` - 新增智能体 - `PUT /api/agent/{id}` - 修改智能体 - `GET /api/agent/{id}` - 查询智能体详情 - `DELETE /api/agent/{id}` - 删除智能体 - `POST /api/agent/page` - 分页查询智能体 - `POST /api/agent/list` - 列表查询智能体 - `GET /api/agent/options` - 智能体下拉列表 #### 项目管理 - `POST /api/project` - 新增项目 - `PUT /api/project/{id}` - 修改项目 - `GET /api/project/{id}` - 查询项目详情 - `DELETE /api/project/{id}` - 删除项目 - `POST /api/project/page` - 分页查询项目 - `POST /api/project/list` - 列表查询项目 - `GET /api/project/options` - 项目下拉列表 #### 目录管理 - `POST /api/catalogue` - 新增目录 - `PUT /api/catalogue/{id}` - 修改目录 - `GET /api/catalogue/{id}` - 查询目录详情 - `DELETE /api/catalogue/{id}` - 删除目录 - `POST /api/catalogue/page` - 分页查询目录 - `POST /api/catalogue/list` - 列表查询目录 - `GET /api/catalogue/options` - 目录下拉列表 - `GET /api/catalogue/doc/{docId}` - 查询文档目录 #### 文档内容管理 - `POST /api/doc/content` - 新增文档内容 - `PUT /api/doc/content/{id}` - 修改文档内容 - `GET /api/doc/content/{id}` - 查询文档内容详情 - `GET /api/doc/content/catalogue/{catalogueId}` - 根据目录ID查询文档内容 - `DELETE /api/doc/content/{id}` - 删除文档内容 - `POST /api/doc/content/page` - 分页查询文档内容 #### 文档内容历史管理 - `POST /api/doc/content/log` - 新增文档内容历史 - `GET /api/doc/content/log/{id}` - 查询文档内容历史详情 - `DELETE /api/doc/content/log/{id}` - 删除文档内容历史 - `POST /api/doc/content/log/page` - 分页查询文档内容历史 - `POST /api/doc/content/log/list` - 列表查询文档内容历史 ## 认证机制 使用Access Token进行认证: ``` Access-Token: Bearer your-jwt-token ``` ## 注意事项 1. 所有需要认证的接口都需要在请求头中携带 `Access-Token` 2. 微信登录需要配置微信小程序的 `appId` 和 `appSecret` 3. 微信支付需要配置商户号、API密钥等信息 4. Token有效期为24小时,过期需要重新登录 ## 开发规范 - 统一使用 `R` 作为响应格式 - 使用 `@CurrentUser` 注解获取当前登录用户ID - 使用 `@Validated` 进行参数校验 - 使用 `BusinessException` 抛出业务异常