feat(oa): 添加AI数据查询功能
- 新增AI数据查询接口和相关服务 - 实现关键词匹配和AI智能识别表功能 - 添加SQL生成和执行逻辑 - 新增动态数据返回格式和字段信息类 - 优化SQL安全性验证
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package com.ruoyi.oa.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
/**
|
||||
* AI数据查询请求
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2024-12-19
|
||||
*/
|
||||
@Data
|
||||
public class OaAiDataQueryBo {
|
||||
|
||||
/**
|
||||
* 用户查询需求描述
|
||||
*/
|
||||
@NotBlank(message = "查询需求不能为空")
|
||||
private String query;
|
||||
|
||||
/**
|
||||
* 最大返回记录数(默认100)
|
||||
*/
|
||||
private Integer limit = 100;
|
||||
|
||||
/**
|
||||
* 是否包含字段元信息(默认true)
|
||||
*/
|
||||
private Boolean includeMeta = true;
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 动态数据返回格式
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2024-12-19
|
||||
*/
|
||||
@Data
|
||||
public class DynamicDataVo {
|
||||
|
||||
/**
|
||||
* 元数据信息
|
||||
*/
|
||||
private Meta meta;
|
||||
|
||||
/**
|
||||
* 实际数据
|
||||
*/
|
||||
private List<Map<String, Object>> data;
|
||||
|
||||
/**
|
||||
* 元数据类
|
||||
*/
|
||||
@Data
|
||||
public static class Meta {
|
||||
/**
|
||||
* 字段信息列表
|
||||
*/
|
||||
private List<Field> fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* 字段信息类
|
||||
*/
|
||||
@Data
|
||||
public static class Field {
|
||||
/**
|
||||
* 字段名(后端返回的key)
|
||||
*/
|
||||
private String fieldName;
|
||||
|
||||
/**
|
||||
* 字段中文名称(用于前端显示列名)
|
||||
*/
|
||||
private String label;
|
||||
|
||||
/**
|
||||
* 数据类型(number/string/date/bool等,前端据此处理渲染)
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 格式化规则(如数字千分位、日期格式等,可选)
|
||||
*/
|
||||
private String format;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.ruoyi.oa.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 数据库表字段信息
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2024-12-19
|
||||
*/
|
||||
@Data
|
||||
public class TableColumnVo {
|
||||
|
||||
/**
|
||||
* 字段名
|
||||
*/
|
||||
private String columnName;
|
||||
|
||||
/**
|
||||
* 是否必填
|
||||
*/
|
||||
private String isRequired;
|
||||
|
||||
/**
|
||||
* 是否主键
|
||||
*/
|
||||
private String isPk;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 字段注释
|
||||
*/
|
||||
private String columnComment;
|
||||
|
||||
/**
|
||||
* 是否自增
|
||||
*/
|
||||
private String isIncrement;
|
||||
|
||||
/**
|
||||
* 字段类型
|
||||
*/
|
||||
private String columnType;
|
||||
|
||||
/**
|
||||
* 数据类型
|
||||
*/
|
||||
private String dataType;
|
||||
|
||||
/**
|
||||
* 字符最大长度
|
||||
*/
|
||||
private Long characterMaximumLength;
|
||||
|
||||
/**
|
||||
* 数值精度
|
||||
*/
|
||||
private Integer numericPrecision;
|
||||
|
||||
/**
|
||||
* 数值小数位数
|
||||
*/
|
||||
private Integer numericScale;
|
||||
|
||||
/**
|
||||
* 默认值
|
||||
*/
|
||||
private String columnDefault;
|
||||
|
||||
/**
|
||||
* 是否可为空
|
||||
*/
|
||||
private String isNullable;
|
||||
}
|
||||
Reference in New Issue
Block a user