更新 llms-full.txt

This commit is contained in:
ycl
2025-07-25 10:16:43 +08:00
parent 97083d3272
commit 2c18cb147c

View File

@@ -651,6 +651,16 @@ DateTime endTime //会议结束时间
- **定义与用途:** 在TOCO中针对DTO和VO读方案描述了如何基于查询对象从数据库获取DTO和VO列表数据主要提供了两个能力 - **定义与用途:** 在TOCO中针对DTO和VO读方案描述了如何基于查询对象从数据库获取DTO和VO列表数据主要提供了两个能力
- 根据查询条件返回符合条件的DTO或VO的id列表 - 根据查询条件返回符合条件的DTO或VO的id列表
- 根据字段过滤条件对DTO和VO的列表字段数据进行过滤 - 根据字段过滤条件对DTO和VO的列表字段数据进行过滤
- 读方案能力边界
- 读方案的的查询能力是sql的简化实现了部分sql的查询能力仅支持Sql的 count、exists、left join, not、in、like、between、and、or、not 以及 ( ) , 以及排序 order by, 以及分页 limit offset 不能使用group by having , avg 等函数
- 在使用exists 和 left join的时候只能通过外键扩展其中如果外键是1N的时候只能使用exist 如果是11的时候则可以使用 left join 和 exists.
例如: 实体t 和他t1 t1存在列t_id为指向t的外键如果外键关系为1N则 select * from t where exists (select * from t1 where t.id=t1.id) 合法; elect * from t left join t1 on t.id=t1.id 非法
- 在过滤字段的选择上在使用exists的时候在条件中只能选择后表的字段 在使用 left join的时候则可以使用前表和后表字段
例如: 实体 t (id,name) ,实体 t1 (id,name,t_id) t1存在列t_id为指向t的外键, select * from t where exists (select * from t1 where t.id=t1.id and t.name like ) 非法, select * from t left join t1 on t.id=t1.id and t1.name like 合法
select * from t left join t1 on t.id=t1.id where t.name like 合法, select * from t left join t1 on t.id=t1.id where t1.name like 合法
- count语法的限制count语法只能在最外层单独使用如果使用了count语法只能返回总的数量不能返回其他字段
例如select count(*) from t 合法, select count(*),t.name from t where t.name like 非法
- 如果需求在读方案的能力之外,可以使用 **2.16 自定义查询** 实现功能
- **特别注意** 对于根据主键获取单个或者批量获取DTO或者VO并且不需要对DTO、VO的列表字段数据进行过滤的需求必须使用**DTO自动生成的预定义方法**,禁止使用读方案 - **特别注意** 对于根据主键获取单个或者批量获取DTO或者VO并且不需要对DTO、VO的列表字段数据进行过滤的需求必须使用**DTO自动生成的预定义方法**,禁止使用读方案
- **关键配置:** 名称(小写字母+下划线不要以read_plan结尾,全局唯一)、返回结构(DTO/VO一个读方案**不能**同时返回多种DTO或VO)、查询条件的自然语言描述、是否生成计数方法、排序字段(如果选择不分页,则不需要)、过滤字段以及过滤条件。 - **关键配置:** 名称(小写字母+下划线不要以read_plan结尾,全局唯一)、返回结构(DTO/VO一个读方案**不能**同时返回多种DTO或VO)、查询条件的自然语言描述、是否生成计数方法、排序字段(如果选择不分页,则不需要)、过滤字段以及过滤条件。
- **与RPC、代码的关系:** 对于每一个返回DTO的读方案TOCO会为每种分页方式自动生成一个RPC方法其参数为对应的QTO返回值为DTO列表如果选择了生成计数方法则还会在生成一个RPC参数为QTO返回值为符合条件的DTO数量。同样对于每一个返回VO的读方案TOCO会自动生成一个Java方法其参数为对应的QTO返回值为VO列表方法内部逻辑已经由TOCO完全实现;如果选择了生成计数方法则还会生成一个count方法参数为QTO返回值为符合条件的DTO数量方法内部逻辑已经由TOCO完全实现 - **与RPC、代码的关系:** 对于每一个返回DTO的读方案TOCO会为每种分页方式自动生成一个RPC方法其参数为对应的QTO返回值为DTO列表如果选择了生成计数方法则还会在生成一个RPC参数为QTO返回值为符合条件的DTO数量。同样对于每一个返回VO的读方案TOCO会自动生成一个Java方法其参数为对应的QTO返回值为VO列表方法内部逻辑已经由TOCO完全实现;如果选择了生成计数方法则还会生成一个count方法参数为QTO返回值为符合条件的DTO数量方法内部逻辑已经由TOCO完全实现
@@ -1324,7 +1334,10 @@ requestParams为请求参数列表response为返回结构requestParams中
- **例子:** - **例子:**
- 用户登录在UserFlowService中生成一个函数invokeLoginFlow该函数通过流程框架根据流程定义调用LoginNodeLoginNode中封装了用户登录的逻辑LoginFlowContext中封装了用户登录的参数和结果。 - 用户登录在UserFlowService中生成一个函数invokeLoginFlow该函数通过流程框架根据流程定义调用LoginNodeLoginNode中封装了用户登录的逻辑LoginFlowContext中封装了用户登录的参数和结果。
- **修改建议:** 不修改 service 中的函数, 不修改FlowConfig, 可以修改FlowContext, 添加/修改出入参数, 修改FlowNode中的具体业务逻辑。 - **修改建议:** 不修改 service 中的函数, 不修改FlowConfig, 可以修改FlowContext, 添加/修改出入参数, 修改FlowNode中的具体业务逻辑。
#### **2.16 自定义查询**
- 在读方案无法满足需求的情况下,可以使用自定义查询
- 自定义查询使用MyBatis、MyBatisPlus实现
- 各层的代码位置严格遵守章节:**3.2 项目结构与导航**必须有mapper层、service层、必须有DO对象、必须有DTO对象如果是API返回数据必须有VO对象
### **3 生成代码产物补充说明** ### **3 生成代码产物补充说明**
- **3.1 支持的语言/框架** - **3.1 支持的语言/框架**
Java、SpringBoot、MyBatis-plus(读)、Hibernate(写) Java、SpringBoot、MyBatis-plus(读)、Hibernate(写)