diff --git a/llms-full.txt b/llms-full.txt index 258ad69..4ed274b 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -898,22 +898,41 @@ DateTime endTime; //会议结束时间 - **唯一标识符位置:** 其对应的唯一标志在类注解@AutoGenerated中指定,uuid规则: ${ReadPlan在TOCO中的uuid}|QTO|DAO - **QueryExecutor** - **生成产物** 对于返回**VO**的查询方案,在controller层生成一个Java类,对于分页查询、不分页返回全量、瀑布流查询、计数都有后独立的函数实现 - - 分页查询, 会生成一个 **Paged函数, 返回VSQueryResult类型 - - 不分页返回全量, 会生成一个query**函数,返回List类型 - - 瀑布流,会生成一个,**Waterfall函数,返回VSQueryResult类型 + - 分页查询, 会生成一个 **Paged函数, 返回VSQueryResult + - 不分页返回全量, 会生成一个query**函数,返回List + - 瀑布流,会生成一个,**Waterfall函数,返回VSQueryResult - 查询数量, 会生成一个 **Count函数,返回Integer - **命名规则:** 类名以QueryExecutor结尾(${VoName}QueryExecutor) - **类路径:** 位于 ```**.entrance.web.query.executor```包路径下 - **职责:** 把QtoService返回的id数据转化成目标**VO** - **QueryService** - **生成产物** 对于返回**DTO**的查询方案,在service层生成一个Java类,对于分页查询、不分页返回全量、瀑布流查询、计数都有后独立的函数实现 - - 分页查询, 会生成一个 **Paged函数,, 返回VSQueryResult类型 - - 不分页返回全量, 会生成一个query**函数, 返回List类型 - - 瀑布流,会生成一个,**Waterfall函数, 返回VSQueryResult类型 + - 分页查询, 会生成一个 **Paged函数,, 返回VSQueryResult + - 不分页返回全量, 会生成一个query**函数, 返回List + - 瀑布流,会生成一个,**Waterfall函数, 返回VSQueryResult - 查询数量, 会生成一个 **Count函数,返回Integer - **命名规则:** 类名以QueryService结尾(${DtoName}QueryService) - **类路径:** 位于 ```**.service.index.entity```包路径下 - **职责:** 把QtoService返回的id数据转化成目标**DTO** + - **VSQueryResult代码结构:** + ``` + package com.vs.es.query; + + import lombok.Data; + + import java.util.List; + + @Data + public class VSQueryResult { //T为DTO或VO类型 + private int count; + private List result; + + private int from; //页码分页的起始条数 + private int size; //每页的记录数量 + private String scrollId; //瀑布流查询游标 + private boolean hasMore; //瀑布流查询时表示是否有下一页 + } + ``` - **例子:** * 根据用户名称查询用户列表返回UserDTO,则生成UserNameQto、UserNameQtoService、UserNameQtoDao、UserNameQueryService; UserNameQueryService调用UserNameQtoService,UserNameQtoService调用UserNameQtoDao - **修改建议:** @@ -1174,7 +1193,7 @@ DateTime endTime; //会议结束时间 } ``` 结构中一些关键字段描述如下: -requestParams为请求参数列表,response为返回结构,requestParams中每个参数和response的结构相同,其中:name为参数名;type为参数类型,参数类型取值范围为Boolean,String,Integer,Long,Float,Double,BigDecimal,Date,ByteArray,Enum,Eo,List,Dto,Qto,Bto,Void,其中参数不能为Void,如果不需要返回值,则type设置为Void;description为描述;typeUuid为参数对应类结构的UUID,当type为Enum、Eo、Dto时传入该对象的uuid,当type为Qto时传入对应读方案的uuid、当type为Bto时传入对应写方案的uuid;innerType为List内部类型,当type为List时包含该字段;innerUuid为List内部类结构的UUID,当type为List且innerType为Enum、Eo、Dto时传入该对象的uuid,当innerType为Qto时传入对应读方案的uuid、当innerType为Bto时传入对应写方案的uuid。 +requestParams为请求参数列表,response为返回结构,requestParams中每个参数和response的结构相同,其中:name为参数名;type为参数类型,参数类型取值范围为Boolean,String,Integer,Long,Float,Double,BigDecimal,Date,ByteArray,Enum,Eo,Dto,Qto,Bto,List,PageResult,Void,其中参数不能为Void和PageResult,如果不需要返回值则type设置为Void,如果返回值为分页查询的结果则type设置为PageResult,且innerType必为Dto,对应代码中的VSQueryResult;description为描述;typeUuid为参数对应类结构的UUID,当type为Enum、Eo、Dto时传入该对象的uuid,当type为Qto时传入对应读方案的uuid、当type为Bto时传入对应写方案的uuid;innerType为List内部类型,当type为List或PageResult时包含该字段;innerUuid为List内部类结构的UUID,当type为List或PageResult且innerType为Enum、Eo、Dto时传入该对象的uuid,当innerType为Qto时传入对应读方案的uuid、当innerType为Bto时传入对应写方案的uuid。 - **生成代码:** RPC会在service层中生成类文件及实现函数,包含DTO自动生成的RPC如UserDtoService.getById(主键为id)或StaffBaseDtoService.getByStaffId(主键为staff_id)、读写方案自动生成的RPC如UserDtoQueryService.queryByListQto、UserBOService.createUser、自定义RPC如UserCustomService.customMethod。特别注意公开的RPC才可被其他模块使用,RPC被订阅后会生成RpcAdapter适配器,其他模块通过RpcAdapter才可调用该方法。如Order模块订阅了User模块的UserDtoService.getById,则会在Order模块中生成UserDtoServiceInOrderRpcAdapter.getById方法,Order模块中的代码必须通过@Resource private UserDtoServiceInOrderRpcAdapter userDtoServiceInOrderRpcAdapter;注入适配器后才可进行方法调用。这里**必须要注意**:变量的命名必须是类名的首字母小写,禁止使用其他变量名。 - **修改建议:** 建议修改RPC方法,不建议修改RPC方法签名、适配器中的内容 #### **2.14 应用程序接口 (API)** @@ -1209,7 +1228,7 @@ requestParams为请求参数列表,response为返回结构,requestParams中 } ``` 结构中一些关键字段描述如下: -requestParams为请求参数列表,response为返回结构,requestParams中每个参数和response的结构相同,其中:name为参数名;type为参数类型,参数类型取值范围为Boolean,String,Integer,Long,Float,Double,BigDecimal,Date,ByteArray,Enum,Eo,List,Vo,Qto,Bto,Void,其中参数不能为Void,如果不需要返回值,则type设置为Void;description为描述;typeUuid为参数对应类结构的UUID,当type为Enum、Eo、Vo时传入该对象的uuid,当type为Qto时传入对应读方案的uuid、当type为Bto时传入对应写方案的uuid;innerType为List内部类型,当type为List时包含该字段;innerUuid为List内部类结构的UUID,当type为List且innerType为Enum、Eo、Vo时传入该对象的uuid,当innerType为Qto时传入对应读方案的uuid、当innerType为Bto时传入对应写方案的uuid。 +requestParams为请求参数列表,response为返回结构,requestParams中每个参数和response的结构相同,其中:name为参数名;type为参数类型,参数类型取值范围为Boolean,String,Integer,Long,Float,Double,BigDecimal,Date,ByteArray,Enum,Eo,List,PageResult,Vo,Qto,Bto,Void,其中参数不能为Void和PageResult,如果不需要返回值则type设置为Void,如果返回值为分页查询的结果则type设置为PageResult,且innerType必为Vo,对应代码中的VSQueryResult;description为描述;typeUuid为参数对应类结构的UUID,当type为Enum、Eo、Vo时传入该对象的uuid,当type为Qto时传入对应读方案的uuid、当type为Bto时传入对应写方案的uuid;innerType为List内部类型,当type为List时包含该字段;innerUuid为List或PageResult内部类结构的UUID,当type为List或PageResult且innerType为Enum、Eo、Vo时传入该对象的uuid,当innerType为Qto时传入对应读方案的uuid、当innerType为Bto时传入对应写方案的uuid。 - **代码产物和修改建议** - **生成代码:** API会在entrance层生成Controller以及对应的API方法 - **修改建议:** 建议修改API方法的实现内容,禁止直接修改API方法签名、URI,**注意**:如需修改API定义(名称、出入参数、URL)需要通过修改API设计元素实现