更新 llms-full.txt
This commit is contained in:
@@ -323,7 +323,7 @@ DateTime endTime; //会议结束时间
|
|||||||
MeetingRoomWithMeetingVo{
|
MeetingRoomWithMeetingVo{
|
||||||
Long id;// 会议室id
|
Long id;// 会议室id
|
||||||
String name;// 会议室名称
|
String name;// 会议室名称
|
||||||
List<MeetingVo> meetingList{ //反向注入的用该会议室的会议信息,TOCO自动生成的内部VO,派生自MeetingBaseDTo
|
List<MeetingVo> meetingList{ //反向注入的用该会议室的会议信息,TOCO自动生成的内部VO,派生自MeetingBaseDto
|
||||||
Long id;// 会议id
|
Long id;// 会议id
|
||||||
String title; //会议标题
|
String title; //会议标题
|
||||||
DateTime startTime; //会议开始时间
|
DateTime startTime; //会议开始时间
|
||||||
@@ -331,9 +331,30 @@ DateTime endTime; //会议结束时间
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
- **TOCO中json结构描述:** 在TOCO中,VO使用一个json结构表示,该结构可用于理解VO的含义,或作为创建、更新VO工具的参数。部分字段的含义为:expandList为正向替换,reverseExpandList为反向注入,extendFieldList为来自派生源DTO的字段,customFieldList为自定义字段。expandListList中,field为正向替换对应的本表外键字段的名字,fieldName为正向替换之后给该字段的起的新名字;reverseExpandList中,field为反向注入对应的他表外键字段的名字,fieldName为反向注入之后给该字段的起的新名字;customFieldList中,uuid为自定义字段特有的UUID,创建DTO的时候不需要填入,因为TOCO会自动为其分配UUID,更新DTO的时候需要传入,用于定位需要更新的自定义字段;typeUuid参数对应类结构的UUID,当type为List且innerType=Enum、Eo时会包含该字段;extendFieldList中,name为继承字段的名称,如果DTO中的字段为DTO或List<DTO>类型,则extendFieldList中会有一个vo结构,用来表示该字段DTO类型派生出的VO定义
|
- **TOCO中json结构描述:** 在TOCO中,VO使用一个json结构表示,该结构可用于理解VO的含义,或作为创建、更新VO工具的参数。部分字段的含义为:expandList为正向替换,reverseExpandList为反向注入,extendFieldList为来自派生源DTO的字段,customFieldList为自定义字段。expandListList中,field为正向替换对应的本表外键字段的名字,fieldName为正向替换之后给该字段的起的新名字;reverseExpandList中,field为反向注入对应的他表外键字段的名字,fieldName为反向注入之后给该字段的起的新名字;customFieldList中,uuid为自定义字段特有的UUID,创建DTO的时候不需要填入,因为TOCO会自动为其分配UUID,更新DTO的时候需要传入,用于定位需要更新的自定义字段;typeUuid参数对应类结构的UUID,当type为List且innerType=Enum、Eo时会包含该字段;extendFieldList中,name为继承字段的名称,如果要继承的DTO字段不是DTO类型,则VO中的字段类型将与DTO字段一致,如果DTO中的字段为DTO或List<DTO>类型,由于VO中的字段类型不能为DTO,**必须**将该DTO转换为VO才可作为VO字段使用,所以extendFieldList中会有**一个vo结构**,用来表示该字段DTO类型派生出的VO定义
|
||||||
示例如下:
|
示例如下:
|
||||||
- meeting_with_room_vo
|
系统中存在meeting_detail_dto
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"uuid": "cd55c96b-aa67-bfb2-7614-70b503a8f8bf",
|
||||||
|
"name": "meeting_detail_dto",
|
||||||
|
"fromEntity": "meeting",
|
||||||
|
"description": "会议详情",
|
||||||
|
"expandList": [
|
||||||
|
{
|
||||||
|
"field": "create_user_id",
|
||||||
|
"fieldName": "create_user",
|
||||||
|
"dto": {
|
||||||
|
"uuid": "53bb59cf-1ed2-6fb3-9f61-895b638903d8",
|
||||||
|
"name": "user_base_dto",
|
||||||
|
"fromEntity": "user",
|
||||||
|
"description": "用户基本信息"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
- meeting_with_room_vo由meeting_detail_dto派生,并继承了id和create_user字段
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"vo": {
|
"vo": {
|
||||||
@@ -445,7 +466,7 @@ DateTime endTime; //会议结束时间
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
示例中meeting_with_room_vo为根VO,但没有uuid,为待创建的根VO。meeting_room_with_meetings_vo和meeting_base_vo为meeting_with_room_vo的子VO,无法被其他根VO引用,且没有uuid。
|
示例中meeting_with_room_vo为根VO,但没有uuid,为待创建的根VO。meeting_room_with_meetings_vo和meeting_base_vo为meeting_with_room_vo的子VO,无法被其他根VO引用,且没有uuid。另外特别注意:metting_with_room_vo的extendFieldList中create_user结构含有一个vo,是因为在派生源meeting_detail_dto中create_user字段为user_base_dto类型,所以在metting_with_room_vo中,该继承字段类型需要变为由user_base_dto派生出的VO结构。
|
||||||
|
|
||||||
- **派生源默认使用BaseDTO:** 除非用户指定了VO的派生源DTO,否则创建VO时只可以用**BaseDTO**为派生源。
|
- **派生源默认使用BaseDTO:** 除非用户指定了VO的派生源DTO,否则创建VO时只可以用**BaseDTO**为派生源。
|
||||||
- **与DTO的转换关系:** 在创建一个**有派生源的**VO后,TOCO会在生成代码时自动生成2种convert方法:1.基础convert方法,从DTO转换为VO,仅转换结构以及基本类型字段的get/set,方法命名为convertTo${VoName}、convertTo${VoName}List、convertTo${VoName}Map,其中**Map转换方法**为底层批量方法,通常也是自定义字段逻辑编写的位置(复用性好,会被其他convert方法调用),单个和列表convert方法都通过**调用Map方法**来实现;2.带数据拼装逻辑的convert方法,内部会**自动**调用基础convert方法从DTO转换为VO并设置基本类型字段数据,然后再根据外键**自动**获取**扩展字段**的数据以拼装最终数据,方法命名为convertAndAssembleData、convertAndAssembleDataList,也就是说这两个方法已经**自动**获取了所有**继承字段**和**扩展字段**的数据)。这2种方法对应的代码会生成在VO对应的Converter类中
|
- **与DTO的转换关系:** 在创建一个**有派生源的**VO后,TOCO会在生成代码时自动生成2种convert方法:1.基础convert方法,从DTO转换为VO,仅转换结构以及基本类型字段的get/set,方法命名为convertTo${VoName}、convertTo${VoName}List、convertTo${VoName}Map,其中**Map转换方法**为底层批量方法,通常也是自定义字段逻辑编写的位置(复用性好,会被其他convert方法调用),单个和列表convert方法都通过**调用Map方法**来实现;2.带数据拼装逻辑的convert方法,内部会**自动**调用基础convert方法从DTO转换为VO并设置基本类型字段数据,然后再根据外键**自动**获取**扩展字段**的数据以拼装最终数据,方法命名为convertAndAssembleData、convertAndAssembleDataList,也就是说这两个方法已经**自动**获取了所有**继承字段**和**扩展字段**的数据)。这2种方法对应的代码会生成在VO对应的Converter类中
|
||||||
|
|||||||
Reference in New Issue
Block a user