feat(common): 新增基础模块及AI项目初始化功能

- 新增基础响应类BaseResponse,实现统一返回格式
- 定义自定义异常BusinessException及全局异常处理机制
- 构建错误码枚举ErrorCode,包含常见HTTP及业务错误码
- 实现返回工具类ResultUtils提供成功与失败响应构建方法
- 添加分页查询支持PageQuery和TableDataInfo数据结构
- 配置MinIO客户端及服务类MinioFileService实现文件上传、下载、删除功能
- 实现AI项目初始化控制器ProjectInitController,支持文本、文件及URL输入生成项目结构化数据
- 定义项目初始化相关DTO,包括请求参数和复杂的结果结构体
- 补充项目开发环境配置文件,集成Spring AI、PostgreSQL和MinIO配置
- 项目主启动类YlhpAiProjectManagerApplication添加启动入口
- 更新Maven依赖,集成Spring AI、MyBatis Plus、MinIO及AWS S3客户端依赖
- 规范代码包结构,新增多模块package-info.java文件进行模块说明文档编写
This commit is contained in:
2026-03-26 16:50:18 +08:00
parent 9b840f887d
commit e82b5c2f0b
26 changed files with 1463 additions and 3 deletions

View File

@@ -0,0 +1,89 @@
package cn.yinlihupo.common.result;
import lombok.Data;
import java.io.Serializable;
/**
* 统一响应结果封装
*
* @param <T> 数据类型
*/
@Data
public class Result<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 状态码
*/
private Integer code;
/**
* 响应消息
*/
private String message;
/**
* 响应数据
*/
private T data;
/**
* 时间戳
*/
private Long timestamp;
public Result() {
this.timestamp = System.currentTimeMillis();
}
public Result(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
this.timestamp = System.currentTimeMillis();
}
/**
* 成功响应
*/
public static <T> Result<T> success() {
return new Result<>(200, "操作成功", null);
}
/**
* 成功响应(带数据)
*/
public static <T> Result<T> success(T data) {
return new Result<>(200, "操作成功", data);
}
/**
* 成功响应(带消息和数据)
*/
public static <T> Result<T> success(String message, T data) {
return new Result<>(200, message, data);
}
/**
* 失败响应
*/
public static <T> Result<T> error() {
return new Result<>(500, "操作失败", null);
}
/**
* 失败响应(带消息)
*/
public static <T> Result<T> error(String message) {
return new Result<>(500, message, null);
}
/**
* 失败响应(带状态码和消息)
*/
public static <T> Result<T> error(Integer code, String message) {
return new Result<>(code, message, null);
}
}