正在显示
18 个修改的文件
包含
130 行增加
和
23 行删除
@@ -36,7 +36,7 @@ func (tableEventService *TableEventService) DigitalPlatformEventSubscribe(ctx *d | @@ -36,7 +36,7 @@ func (tableEventService *TableEventService) DigitalPlatformEventSubscribe(ctx *d | ||
36 | data := cmd.EventTable | 36 | data := cmd.EventTable |
37 | tableId := 0 | 37 | tableId := 0 |
38 | switch data.Type { | 38 | switch data.Type { |
39 | - case domain.TableDataImportEvent, domain.TableDataEditEvent, domain.TableDeleteEvent: | 39 | + case domain.TableDataImportEvent, domain.TableDataEditEvent, domain.TableDeleteEvent, domain.TableStructEditEvent: |
40 | tableId = data.Table.TableId | 40 | tableId = data.Table.TableId |
41 | case domain.QuerySetUpdateEvent, domain.QuerySetUpdateRenameEvent: | 41 | case domain.QuerySetUpdateEvent, domain.QuerySetUpdateRenameEvent: |
42 | tableId = data.QuerySet.QuerySetInfo.BindTableId | 42 | tableId = data.QuerySet.QuerySetInfo.BindTableId |
@@ -102,7 +102,7 @@ func (tableEventService *TableEventService) DigitalPlatformEventSubscribe(ctx *d | @@ -102,7 +102,7 @@ func (tableEventService *TableEventService) DigitalPlatformEventSubscribe(ctx *d | ||
102 | 102 | ||
103 | querySetRepository, _, _ := factory.FastPgQuerySet(transactionContext, 0) | 103 | querySetRepository, _, _ := factory.FastPgQuerySet(transactionContext, 0) |
104 | var mapTableQuerySet = make(map[int]*domain.QuerySet) | 104 | var mapTableQuerySet = make(map[int]*domain.QuerySet) |
105 | - if len(tree) > 0 && cmd.EventTable.QuerySet != nil { | 105 | + if len(tree) > 0 { // && cmd.EventTable.QuerySet != nil |
106 | _, querySets, _ := querySetRepository.Find(map[string]interface{}{ | 106 | _, querySets, _ := querySetRepository.Find(map[string]interface{}{ |
107 | "types": []string{domain.SchemaTable.ToString(), domain.CalculateItem.ToString(), domain.CalculateSet.ToString()}, | 107 | "types": []string{domain.SchemaTable.ToString(), domain.CalculateItem.ToString(), domain.CalculateSet.ToString()}, |
108 | "bindTableIds": tree, | 108 | "bindTableIds": tree, |
@@ -37,7 +37,7 @@ func (tableEventService *TableEventService) Handler(ctx *domain.Context, cmd *co | @@ -37,7 +37,7 @@ func (tableEventService *TableEventService) Handler(ctx *domain.Context, cmd *co | ||
37 | data := cmd.EventTable | 37 | data := cmd.EventTable |
38 | tableId := 0 | 38 | tableId := 0 |
39 | switch data.Type { | 39 | switch data.Type { |
40 | - case domain.TableDataImportEvent, domain.TableDataEditEvent, domain.TableDeleteEvent: | 40 | + case domain.TableDataImportEvent, domain.TableDataEditEvent, domain.TableDeleteEvent, domain.TableStructEditEvent: |
41 | tableId = data.Table.TableId | 41 | tableId = data.Table.TableId |
42 | case domain.QuerySetUpdateEvent: | 42 | case domain.QuerySetUpdateEvent: |
43 | tableId = data.QuerySet.QuerySetInfo.BindTableId | 43 | tableId = data.QuerySet.QuerySetInfo.BindTableId |
@@ -92,7 +92,7 @@ func (tableEventService *TableEventService) HandlerTableAffectedMarkToConflictSt | @@ -92,7 +92,7 @@ func (tableEventService *TableEventService) HandlerTableAffectedMarkToConflictSt | ||
92 | data := cmd.EventTable | 92 | data := cmd.EventTable |
93 | tableId := 0 | 93 | tableId := 0 |
94 | switch data.Type { | 94 | switch data.Type { |
95 | - case domain.TableDataEditEvent: | 95 | + case domain.TableStructEditEvent, domain.TableDeleteEvent: |
96 | tableId = data.Table.TableId | 96 | tableId = data.Table.TableId |
97 | case domain.QuerySetUpdateEvent, domain.QuerySetUpdateRenameEvent: | 97 | case domain.QuerySetUpdateEvent, domain.QuerySetUpdateRenameEvent: |
98 | tableId = data.QuerySet.QuerySetInfo.BindTableId | 98 | tableId = data.QuerySet.QuerySetInfo.BindTableId |
@@ -25,7 +25,15 @@ type FileDto struct { | @@ -25,7 +25,15 @@ type FileDto struct { | ||
25 | // 表ID | 25 | // 表ID |
26 | TableId int `json:"tableId"` | 26 | TableId int `json:"tableId"` |
27 | // 允许表生成标识 1:允许生成分表 0:不允许 | 27 | // 允许表生成标识 1:允许生成分表 0:不允许 |
28 | - AllowTableGenerateFlag int `json:"allowTableGenerateFlag"` | 28 | + AllowTableGenerateFlag int `json:"-"` |
29 | + // 允许表处理标识 1:允许 0:不允许 | ||
30 | + AllowTableProcessFlag int `json:"-"` | ||
31 | + // 允许表导出标识 1:允许 0:不允许 | ||
32 | + AllowTableExportFlag int `json:"-"` | ||
33 | + // 标志位 1:可校验 2:可分表生成 4:导出 | ||
34 | + Flag int `json:"-"` | ||
35 | + // 标志位 1:可校验 2:可分表生成 4:导出 | ||
36 | + Flags []int `json:"flags"` | ||
29 | } | 37 | } |
30 | 38 | ||
31 | func (d *FileDto) Load(f *domain.File) *FileDto { | 39 | func (d *FileDto) Load(f *domain.File) *FileDto { |
@@ -40,13 +48,40 @@ func (d *FileDto) Load(f *domain.File) *FileDto { | @@ -40,13 +48,40 @@ func (d *FileDto) Load(f *domain.File) *FileDto { | ||
40 | d.Time = xtime.New(f.UpdatedAt).Local().Format("2006-01-02 15:04:05") | 48 | d.Time = xtime.New(f.UpdatedAt).Local().Format("2006-01-02 15:04:05") |
41 | d.HeaderRow = domain.GetHeaderRow(f.FileInfo.HeaderRow) | 49 | d.HeaderRow = domain.GetHeaderRow(f.FileInfo.HeaderRow) |
42 | d.AppKey = f.AppKey | 50 | d.AppKey = f.AppKey |
51 | + //d.AllowTableProcessFlag = 1 | ||
52 | + //d.AllowTableExportFlag = 1 | ||
53 | + d.AddFlag(5) // 默认可以 校验、导出 | ||
43 | if len(f.AppKey) > 0 && f.FileInfo.TableId > 0 { | 54 | if len(f.AppKey) > 0 && f.FileInfo.TableId > 0 { |
44 | d.TableId = f.FileInfo.TableId | 55 | d.TableId = f.FileInfo.TableId |
45 | - d.AllowTableGenerateFlag = 1 | 56 | + //d.AllowTableGenerateFlag = 1 |
57 | + d.AddFlag(2) // 可分表生成 | ||
58 | + d.RemoveFlag(1) // 不可校验 | ||
59 | + //d.RemoveFlag(4) // 不可校验 | ||
60 | + //d.AllowTableProcessFlag = 0 | ||
61 | + //d.AllowTableExportFlag = 0 | ||
62 | + } | ||
63 | + for i := 1; i <= 4; i = i << 1 { | ||
64 | + if i&d.Flag == i { | ||
65 | + d.Flags = append(d.Flags, i) | ||
66 | + } | ||
46 | } | 67 | } |
47 | return d | 68 | return d |
48 | } | 69 | } |
49 | 70 | ||
71 | +func (d *FileDto) AddFlag(flag int) { | ||
72 | + if d.Flag&flag == flag { | ||
73 | + return | ||
74 | + } | ||
75 | + d.Flag |= flag | ||
76 | +} | ||
77 | + | ||
78 | +func (d *FileDto) RemoveFlag(flag int) { | ||
79 | + if d.Flag&flag != flag { | ||
80 | + return | ||
81 | + } | ||
82 | + d.Flag ^= flag | ||
83 | +} | ||
84 | + | ||
50 | type AppDto struct { | 85 | type AppDto struct { |
51 | AppId int64 `json:"appId"` | 86 | AppId int64 `json:"appId"` |
52 | AppKey string `json:"appKey"` | 87 | AppKey string `json:"appKey"` |
@@ -15,7 +15,7 @@ type CreateQuerySetCommand struct { | @@ -15,7 +15,7 @@ type CreateQuerySetCommand struct { | ||
15 | // 标识 | 15 | // 标识 |
16 | Flag string `cname:"标识" json:"flag" valid:"Required"` | 16 | Flag string `cname:"标识" json:"flag" valid:"Required"` |
17 | // 名称 | 17 | // 名称 |
18 | - Name string `cname:"名称" json:"name" valid:"Required"` | 18 | + Name string `cname:"名称" json:"name"` |
19 | // 父级ID | 19 | // 父级ID |
20 | ParentId int `cname:"父级ID" json:"parentId,omitempty"` | 20 | ParentId int `cname:"父级ID" json:"parentId,omitempty"` |
21 | } | 21 | } |
@@ -98,8 +98,10 @@ func (querySetService *QuerySetService) CreateQuerySet(ctx *domain.Context, crea | @@ -98,8 +98,10 @@ func (querySetService *QuerySetService) CreateQuerySet(ctx *domain.Context, crea | ||
98 | Name: createQuerySetCommand.Name, | 98 | Name: createQuerySetCommand.Name, |
99 | ParentId: createQuerySetCommand.ParentId, | 99 | ParentId: createQuerySetCommand.ParentId, |
100 | } | 100 | } |
101 | - | ||
102 | svr, _ := factory.FastQuerySetServices(transactionContext) | 101 | svr, _ := factory.FastQuerySetServices(transactionContext) |
102 | + if len(createQuerySetCommand.Name) == 0 { | ||
103 | + createQuerySetCommand.Name = fmt.Sprintf("%s%s", domain.EnumsDescription(domain.ObjectTypeMap, createQuerySetCommand.Type), utils.Krand(5, utils.KC_RAND_KIND_NUM)) | ||
104 | + } | ||
103 | var querySet *domain.QuerySet | 105 | var querySet *domain.QuerySet |
104 | if querySet, err = svr.Create(ctx, newQuerySet); err != nil { | 106 | if querySet, err = svr.Create(ctx, newQuerySet); err != nil { |
105 | return nil, factory.FastError(err) | 107 | return nil, factory.FastError(err) |
@@ -35,7 +35,7 @@ func (d *TableDto) Load(m *domain.Table) *TableDto { | @@ -35,7 +35,7 @@ func (d *TableDto) Load(m *domain.Table) *TableDto { | ||
35 | d.Modules = make([]int, 0) | 35 | d.Modules = make([]int, 0) |
36 | if m.TableInfo != nil { | 36 | if m.TableInfo != nil { |
37 | //d.Module = m.TableInfo.ApplyOnModule | 37 | //d.Module = m.TableInfo.ApplyOnModule |
38 | - for i := 1; i <= 3; i++ { | 38 | + for i := 1; i <= 4; i++ { |
39 | if m.TableInfo.ApplyOnModule&(1<<(i-1)) > 0 { | 39 | if m.TableInfo.ApplyOnModule&(1<<(i-1)) > 0 { |
40 | d.Modules = append(d.Modules, 1<<(i-1)) | 40 | d.Modules = append(d.Modules, 1<<(i-1)) |
41 | } | 41 | } |
@@ -24,7 +24,7 @@ type SearchTableQuery struct { | @@ -24,7 +24,7 @@ type SearchTableQuery struct { | ||
24 | // 返回结构信息 | 24 | // 返回结构信息 |
25 | ReturnDetailStructInfo bool `cname:"返回具体的结构信息 默认不返回" json:"returnDetailStructInfo"` | 25 | ReturnDetailStructInfo bool `cname:"返回具体的结构信息 默认不返回" json:"returnDetailStructInfo"` |
26 | // 排除分组项,只返回一级列表;默认 false 不排除,连分组也返回 | 26 | // 排除分组项,只返回一级列表;默认 false 不排除,连分组也返回 |
27 | - ReturnGroupItem bool `cname:"排除分组" json:"returnGroupItem"` | 27 | + ReturnGroupItem *bool `cname:"排除分组" json:"returnGroupItem"` |
28 | // 排除指定表 | 28 | // 排除指定表 |
29 | ExcludeTables []int `cname:"排除指定表" json:"excludeTables"` | 29 | ExcludeTables []int `cname:"排除指定表" json:"excludeTables"` |
30 | Context *domain.Context | 30 | Context *domain.Context |
1 | package service | 1 | package service |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | - "fmt" | ||
5 | "github.com/linmadan/egglib-go/core/application" | 4 | "github.com/linmadan/egglib-go/core/application" |
6 | "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/application/factory" | 5 | "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/application/factory" |
7 | "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/application/table/dto" | 6 | "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/application/table/dto" |
@@ -56,7 +55,7 @@ func (tableService *TableService) TableObjectSearch(searchQuery *query.SearchTab | @@ -56,7 +55,7 @@ func (tableService *TableService) TableObjectSearch(searchQuery *query.SearchTab | ||
56 | querySetMapById = make(map[int]*domain.QuerySet) | 55 | querySetMapById = make(map[int]*domain.QuerySet) |
57 | querySetMapByTableId = make(map[int]*domain.QuerySet) | 56 | querySetMapByTableId = make(map[int]*domain.QuerySet) |
58 | ) | 57 | ) |
59 | - if searchQuery.ReturnGroupItem { | 58 | + if searchQuery.ReturnGroupItem != nil && *searchQuery.ReturnGroupItem { |
60 | for _, qs := range querySets { | 59 | for _, qs := range querySets { |
61 | querySetMapById[qs.QuerySetId] = qs | 60 | querySetMapById[qs.QuerySetId] = qs |
62 | } | 61 | } |
@@ -84,6 +83,10 @@ func (tableService *TableService) TableObjectSearch(searchQuery *query.SearchTab | @@ -84,6 +83,10 @@ func (tableService *TableService) TableObjectSearch(searchQuery *query.SearchTab | ||
84 | if filterTableByFilterRule(t, searchQuery) { | 83 | if filterTableByFilterRule(t, searchQuery) { |
85 | continue | 84 | continue |
86 | } | 85 | } |
86 | + // 默认关闭的都不返回(拆解、计算) | ||
87 | + if t.Status == domain.StatusOff { | ||
88 | + continue | ||
89 | + } | ||
87 | if !domain.TableType(t.TableType).TableIsSplitByGroup() { | 90 | if !domain.TableType(t.TableType).TableIsSplitByGroup() { |
88 | response = append(response, t) | 91 | response = append(response, t) |
89 | continue | 92 | continue |
@@ -121,9 +124,10 @@ func (tableService *TableService) TableObjectSearch(searchQuery *query.SearchTab | @@ -121,9 +124,10 @@ func (tableService *TableService) TableObjectSearch(searchQuery *query.SearchTab | ||
121 | sort.Slice(response, func(i, j int) bool { | 124 | sort.Slice(response, func(i, j int) bool { |
122 | item1 := response[i] | 125 | item1 := response[i] |
123 | item2 := response[j] | 126 | item2 := response[j] |
124 | - k1 := fmt.Sprintf("%v-%v-%v", item1.TableType, item1.ParentId, item1.Id) | ||
125 | - k2 := fmt.Sprintf("%v-%v-%v", item2.TableType, item2.ParentId, item2.Id) | ||
126 | - return k1 < k2 | 127 | + //k1 := fmt.Sprintf("%v-%v-%v", item1.TableType, item1.ParentId, item1.Id) |
128 | + //k2 := fmt.Sprintf("%v-%v-%v", item2.TableType, item2.ParentId, item2.Id) | ||
129 | + //return k1 < k2 | ||
130 | + return item1.Id < item2.Id | ||
127 | }) | 131 | }) |
128 | return map[string]interface{}{ | 132 | return map[string]interface{}{ |
129 | "count": len(response), | 133 | "count": len(response), |
@@ -540,8 +540,9 @@ const ( | @@ -540,8 +540,9 @@ const ( | ||
540 | ) | 540 | ) |
541 | 541 | ||
542 | const ( | 542 | const ( |
543 | - ModuleAll = ModuleDigitalCenter | ModuleQuerySetCenter | ModuleCalculateCenter | 543 | + ModuleAll = ModuleDigitalCenter | ModuleQuerySetCenter | ModuleCalculateCenter | ModuleChartTemplate |
544 | ModuleDigitalCenter = 1 | 544 | ModuleDigitalCenter = 1 |
545 | ModuleQuerySetCenter = 2 | 545 | ModuleQuerySetCenter = 2 |
546 | ModuleCalculateCenter = 4 | 546 | ModuleCalculateCenter = 4 |
547 | + ModuleChartTemplate = 8 | ||
547 | ) | 548 | ) |
@@ -10,6 +10,7 @@ func (et EventType) ToString() string { | @@ -10,6 +10,7 @@ func (et EventType) ToString() string { | ||
10 | 10 | ||
11 | const ( | 11 | const ( |
12 | TableDataEditEvent EventType = "table.data.edit" | 12 | TableDataEditEvent EventType = "table.data.edit" |
13 | + TableStructEditEvent EventType = "table.struct.edit" | ||
13 | TableDataImportEvent EventType = "table.data.import" | 14 | TableDataImportEvent EventType = "table.data.import" |
14 | TableDeleteEvent EventType = "table.delete" | 15 | TableDeleteEvent EventType = "table.delete" |
15 | QuerySetUpdateEvent EventType = "table.query.set.update" | 16 | QuerySetUpdateEvent EventType = "table.query.set.update" |
@@ -50,6 +50,13 @@ type LayoutCellData struct { | @@ -50,6 +50,13 @@ type LayoutCellData struct { | ||
50 | 50 | ||
51 | func (l *LayoutRuleItem) LayoutCells() []*LayoutCell { | 51 | func (l *LayoutRuleItem) LayoutCells() []*LayoutCell { |
52 | var cells = make([]*LayoutCell, 0) | 52 | var cells = make([]*LayoutCell, 0) |
53 | + // 排序 | ||
54 | + sort.SliceStable(l.Cells, func(i, j int) bool { | ||
55 | + if l.Cells[i].Position.X == l.Cells[j].Position.X { | ||
56 | + return l.Cells[i].Position.Y < l.Cells[j].Position.Y | ||
57 | + } | ||
58 | + return l.Cells[i].Position.X < l.Cells[j].Position.X | ||
59 | + }) | ||
53 | for _, item := range l.Cells { | 60 | for _, item := range l.Cells { |
54 | item.X = item.Position.X | 61 | item.X = item.Position.X |
55 | item.Y = item.Position.Y | 62 | item.Y = item.Position.Y |
1 | package domain | 1 | package domain |
2 | 2 | ||
3 | type TableInfo struct { | 3 | type TableInfo struct { |
4 | - // 应用于模块 1:数控中心 2:拆解模块 4:计算模块 | 4 | + // 应用于模块 1:数控中心 2:拆解模块 4:计算模块 8:图表模板 |
5 | ApplyOnModule int `json:"module"` | 5 | ApplyOnModule int `json:"module"` |
6 | // 依赖关联的表 | 6 | // 依赖关联的表 |
7 | DependencyTables []int `json:"dependencyTables"` | 7 | DependencyTables []int `json:"dependencyTables"` |
@@ -43,14 +43,16 @@ func (ptr *QuerySetService) Create(ctx *domain.Context, qs *domain.QuerySet) (*d | @@ -43,14 +43,16 @@ func (ptr *QuerySetService) Create(ctx *domain.Context, qs *domain.QuerySet) (*d | ||
43 | Name: qs.Name, | 43 | Name: qs.Name, |
44 | ParentId: qs.ParentId, | 44 | ParentId: qs.ParentId, |
45 | PinName: pinFull(qs.Name), | 45 | PinName: pinFull(qs.Name), |
46 | - Status: domain.StatusOn, | 46 | + Status: domain.StatusOff, |
47 | QuerySetInfo: &domain.QuerySetInfo{}, | 47 | QuerySetInfo: &domain.QuerySetInfo{}, |
48 | QueryComponents: make([]*domain.QueryComponent, 0), | 48 | QueryComponents: make([]*domain.QueryComponent, 0), |
49 | CreatedAt: time.Now(), | 49 | CreatedAt: time.Now(), |
50 | UpdatedAt: time.Now(), | 50 | UpdatedAt: time.Now(), |
51 | Context: ctx, | 51 | Context: ctx, |
52 | } | 52 | } |
53 | - | 53 | + if qs.Flag == domain.FlagGroup { |
54 | + newQuerySet.Status = domain.StatusOn | ||
55 | + } | ||
54 | querySetRepository, err := repository.NewQuerySetRepository(ptr.transactionContext) | 56 | querySetRepository, err := repository.NewQuerySetRepository(ptr.transactionContext) |
55 | // check parent | 57 | // check parent |
56 | options := map[string]interface{}{ | 58 | options := map[string]interface{}{ |
@@ -1039,7 +1041,7 @@ func copyQuerySet(qs *domain.QuerySet, t string, groupId int, name string) *doma | @@ -1039,7 +1041,7 @@ func copyQuerySet(qs *domain.QuerySet, t string, groupId int, name string) *doma | ||
1039 | Name: name, | 1041 | Name: name, |
1040 | PinName: pinFull(name), | 1042 | PinName: pinFull(name), |
1041 | ParentId: groupId, | 1043 | ParentId: groupId, |
1042 | - Status: qs.Status, | 1044 | + Status: domain.StatusOff, |
1043 | QuerySetInfo: qs.QuerySetInfo, | 1045 | QuerySetInfo: qs.QuerySetInfo, |
1044 | QueryComponents: qs.QueryComponents, | 1046 | QueryComponents: qs.QueryComponents, |
1045 | Sort: 0, | 1047 | Sort: 0, |
@@ -303,7 +303,9 @@ func DataLayout(res *domain.DataTable, cells []*domain.LayoutCell) (*domain.Data | @@ -303,7 +303,9 @@ func DataLayout(res *domain.DataTable, cells []*domain.LayoutCell) (*domain.Data | ||
303 | dt.processed = append(dt.processed, cell) | 303 | dt.processed = append(dt.processed, cell) |
304 | dt.LastCell = cell | 304 | dt.LastCell = cell |
305 | } | 305 | } |
306 | - dt.Shrink() | 306 | + if err := dt.Shrink(); err != nil { |
307 | + return nil, err | ||
308 | + } | ||
307 | return dt.DataTable, nil | 309 | return dt.DataTable, nil |
308 | } | 310 | } |
309 | 311 | ||
@@ -419,7 +421,7 @@ func (d *DataLayoutDataTable) BlockData(cells *domain.LayoutCell) ([]string, int | @@ -419,7 +421,7 @@ func (d *DataLayoutDataTable) BlockData(cells *domain.LayoutCell) ([]string, int | ||
419 | return values, len(values) | 421 | return values, len(values) |
420 | } | 422 | } |
421 | 423 | ||
422 | -func (d *DataLayoutDataTable) Shrink() { | 424 | +func (d *DataLayoutDataTable) Shrink() error { |
423 | x := d.PointEnd.X - d.PointBegin.X | 425 | x := d.PointEnd.X - d.PointBegin.X |
424 | y := d.PointEnd.Y - d.PointBegin.Y | 426 | y := d.PointEnd.Y - d.PointBegin.Y |
425 | data := make([][]string, x+1) | 427 | data := make([][]string, x+1) |
@@ -443,6 +445,26 @@ func (d *DataLayoutDataTable) Shrink() { | @@ -443,6 +445,26 @@ func (d *DataLayoutDataTable) Shrink() { | ||
443 | SQLType: domain.String.ToString(), | 445 | SQLType: domain.String.ToString(), |
444 | }) | 446 | }) |
445 | } | 447 | } |
448 | + // 默认计算集第一行作为标题 | ||
449 | + //if len(data) >= 1 { | ||
450 | + // d.DataTable.Data = data[1:] | ||
451 | + // columnMap := collection.NewSet() | ||
452 | + // for i := 0; i < len(data[0]); i++ { | ||
453 | + // if len(data[0][i]) == 0 { | ||
454 | + // return fmt.Errorf("计算集标题第%d列不能为空", i+1) | ||
455 | + // } | ||
456 | + // if columnMap.Contains(data[0][i]) { | ||
457 | + // return fmt.Errorf("计算集第%d列重复:%v", i+1, data[0][i]) | ||
458 | + // } | ||
459 | + // columnMap.Add(data[0][i]) | ||
460 | + // d.DataTable.Fields = append(d.DataTable.Fields, &domain.Field{ | ||
461 | + // Name: data[0][i], | ||
462 | + // SQLName: fmt.Sprintf("col%d", i), | ||
463 | + // SQLType: domain.String.ToString(), | ||
464 | + // }) | ||
465 | + // } | ||
466 | + //} | ||
467 | + return nil | ||
446 | } | 468 | } |
447 | 469 | ||
448 | func (d *DataLayoutDataTable) Expand(cell *domain.LayoutCell, length int) error { | 470 | func (d *DataLayoutDataTable) Expand(cell *domain.LayoutCell, length int) error { |
@@ -66,7 +66,7 @@ func (ptr *UpdateTableStructService) UpdateTableStruct(ctx *domain.Context, tabl | @@ -66,7 +66,7 @@ func (ptr *UpdateTableStructService) UpdateTableStruct(ctx *domain.Context, tabl | ||
66 | } | 66 | } |
67 | } | 67 | } |
68 | defer func() { | 68 | defer func() { |
69 | - AsyncEvent(domain.NewEventTable(ctx, domain.TableDataEditEvent).WithTable(table)) | 69 | + AsyncEvent(domain.NewEventTable(ctx, domain.TableStructEditEvent).WithTable(table)) |
70 | }() | 70 | }() |
71 | // 日志 | 71 | // 日志 |
72 | if err = FastLog(ptr.transactionContext, domain.CommonLog, table.TableId, &SubTableEditLog{ | 72 | if err = FastLog(ptr.transactionContext, domain.CommonLog, table.TableId, &SubTableEditLog{ |
pkg/infrastructure/utils/krand.go
0 → 100644
1 | +package utils | ||
2 | + | ||
3 | +import ( | ||
4 | + "math/rand" | ||
5 | + "time" | ||
6 | +) | ||
7 | + | ||
8 | +const ( | ||
9 | + KC_RAND_KIND_NUM = 0 // 纯数字 | ||
10 | + KC_RAND_KIND_LOWER = 1 // 小写字母 | ||
11 | + KC_RAND_KIND_UPPER = 2 // 大写字母 | ||
12 | + KC_RAND_KIND_ALL = 3 // 数字、大小写字母 | ||
13 | +) | ||
14 | + | ||
15 | +// 随机字符串 | ||
16 | +func Krand(size int, kind int) string { | ||
17 | + ikind, kinds, result := kind, [][]int{[]int{10, 48}, []int{26, 97}, []int{26, 65}}, make([]byte, size) | ||
18 | + is_all := kind > 2 || kind < 0 | ||
19 | + rand.Seed(time.Now().UnixNano()) | ||
20 | + for i := 0; i < size; i++ { | ||
21 | + if is_all { // random ikind | ||
22 | + ikind = rand.Intn(3) | ||
23 | + } | ||
24 | + scope, base := kinds[ikind][0], kinds[ikind][1] | ||
25 | + result[i] = uint8(base + rand.Intn(scope)) | ||
26 | + } | ||
27 | + return string(result) | ||
28 | +} |
@@ -156,6 +156,10 @@ func (controller *TableController) TableObjectSearch() { | @@ -156,6 +156,10 @@ func (controller *TableController) TableObjectSearch() { | ||
156 | tableService := service.NewTableService(nil) | 156 | tableService := service.NewTableService(nil) |
157 | cmd := &query.SearchTableQuery{} | 157 | cmd := &query.SearchTableQuery{} |
158 | Must(controller.Unmarshal(cmd)) | 158 | Must(controller.Unmarshal(cmd)) |
159 | + defaultReturnGroup := true | ||
160 | + if cmd.ReturnGroupItem == nil { | ||
161 | + cmd.ReturnGroupItem = &defaultReturnGroup | ||
162 | + } | ||
159 | cmd.Context = ParseContext(controller.BaseController) | 163 | cmd.Context = ParseContext(controller.BaseController) |
160 | data, err := tableService.TableObjectSearch(cmd) | 164 | data, err := tableService.TableObjectSearch(cmd) |
161 | controller.Response(data, err) | 165 | controller.Response(data, err) |
@@ -11,6 +11,7 @@ func Start() { | @@ -11,6 +11,7 @@ func Start() { | ||
11 | 11 | ||
12 | func RegisterEvent() { | 12 | func RegisterEvent() { |
13 | event.On(domain.TableDataEditEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) | 13 | event.On(domain.TableDataEditEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) |
14 | + event.On(domain.TableStructEditEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) | ||
14 | event.On(domain.TableDataImportEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) | 15 | event.On(domain.TableDataImportEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) |
15 | event.On(domain.TableDeleteEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) | 16 | event.On(domain.TableDeleteEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) |
16 | event.On(domain.QuerySetUpdateEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) | 17 | event.On(domain.QuerySetUpdateEvent.ToString(), event.ListenerFunc(tableDataChangeHandler), event.High) |
-
请 注册 或 登录 后发表评论