query_set_detail_dto.go
1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package dto
import "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/domain"
type QuerySetDetailDto struct {
// 查询集合ID
QuerySetId int `json:"querySetId"`
// Schema:方案 SubProcess:子过程
Type string `json:"type"`
// 标识 分组:Group 子过程/方案:Set
Flag string `json:"flag"`
// 名称
Name string `json:"name"`
// 查询组件
QueryComponents []*domain.QueryComponent `json:"queryComponents"`
// 查询集绑定的表
TableId int `json:"tableId"`
}
func (d *QuerySetDetailDto) Load(m *domain.QuerySet, mapTables map[int]*domain.Table) *QuerySetDetailDto {
d.QuerySetId = m.QuerySetId
d.Type = m.Type
d.Flag = m.Flag
d.Name = m.Name
d.QueryComponents = m.QueryComponents
if m.QuerySetInfo != nil {
d.TableId = m.QuerySetInfo.BindTableId
}
for i, q := range d.QueryComponents {
if q.MasterTable != nil && q.MasterTable.TableId != 0 {
if t, ok := mapTables[q.MasterTable.TableId]; ok {
d.QueryComponents[i].MasterTable = domain.NewQueryComponentTable(t)
}
}
if d.QueryComponents[i].Aggregation != nil {
d.QueryComponents[i].Aggregation.Aggregation.AllFields = d.QueryComponents[i].Aggregation.AggregationFields()
}
}
return d
}