作者 yangfu
提交者 yangfu

chore: compatible optimize

@@ -13,7 +13,7 @@ type CalculateItemPreviewQuery struct { @@ -13,7 +13,7 @@ type CalculateItemPreviewQuery struct {
13 // 查询集合ID 13 // 查询集合ID
14 QuerySetId int `cname:"查询集合ID" json:"querySetId" valid:"Required"` 14 QuerySetId int `cname:"查询集合ID" json:"querySetId" valid:"Required"`
15 // 公式 15 // 公式
16 - Formula *domain.FieldExpr `json:"formula"` 16 + Formula *domain.FieldExpr `json:"formula" valid:"Required"`
17 } 17 }
18 18
19 func (dependencyGraphQuery *CalculateItemPreviewQuery) Valid(validation *validation.Validation) { 19 func (dependencyGraphQuery *CalculateItemPreviewQuery) Valid(validation *validation.Validation) {
@@ -13,6 +13,7 @@ import ( @@ -13,6 +13,7 @@ import (
13 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/excel" 13 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/excel"
14 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/starrocks" 14 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/starrocks"
15 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/utils" 15 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/utils"
  16 + "strings"
16 "time" 17 "time"
17 ) 18 )
18 19
@@ -311,6 +312,39 @@ func (querySetService *QuerySetService) SearchQuerySet(ctx *domain.Context, sear @@ -311,6 +312,39 @@ func (querySetService *QuerySetService) SearchQuerySet(ctx *domain.Context, sear
311 return nil, factory.FastError(err) 312 return nil, factory.FastError(err)
312 } 313 }
313 314
  315 + if len(searchQuerySetQuery.MatchName) > 0 {
  316 + mapQuerySet := (domain.QuerySets(querySets)).ToMap()
  317 + tmpQuerySets := make([]*domain.QuerySet, 0)
  318 + for _, item := range querySets {
  319 + if strings.Contains(item.Name, searchQuerySetQuery.MatchName) {
  320 + tmpQuerySets = append(tmpQuerySets, item)
  321 + }
  322 + }
  323 +
  324 + tmpParentQuerySets := make([]*domain.QuerySet, 0)
  325 + mapTmpParentQuerySets := (domain.QuerySets(tmpQuerySets)).ToMap()
  326 + for _, item := range tmpQuerySets {
  327 + var parentId = item.ParentId
  328 + for {
  329 + if parentId <= 0 {
  330 + break
  331 + }
  332 + v, ok := mapQuerySet[parentId]
  333 + if !ok {
  334 + break
  335 + }
  336 + if _, ok := mapTmpParentQuerySets[v.QuerySetId]; !ok {
  337 + mapTmpParentQuerySets[v.QuerySetId] = v
  338 + tmpParentQuerySets = append(tmpParentQuerySets, v)
  339 + }
  340 + parentId = v.ParentId
  341 + }
  342 + }
  343 +
  344 + tmpQuerySets = append(tmpQuerySets, tmpParentQuerySets...)
  345 + querySets = tmpQuerySets
  346 + }
  347 +
314 var result = dto.NewQuerySetDtoList(querySets) 348 var result = dto.NewQuerySetDtoList(querySets)
315 349
316 if err := transactionContext.CommitTransaction(); err != nil { 350 if err := transactionContext.CommitTransaction(); err != nil {
@@ -18,7 +18,7 @@ type TableObjectDto struct { @@ -18,7 +18,7 @@ type TableObjectDto struct {
18 // 父级ID 18 // 父级ID
19 ParentId int `json:"parentId"` 19 ParentId int `json:"parentId"`
20 // 模块 应用于模块 1:数控中心 2:拆解模块 4:计算模块 20 // 模块 应用于模块 1:数控中心 2:拆解模块 4:计算模块
21 - //Module int `json:"module"` 21 + Module int `json:"module"`
22 // 标识 22 // 标识
23 Flag string `json:"flag,omitempty"` 23 Flag string `json:"flag,omitempty"`
24 // 启用状态 24 // 启用状态
@@ -34,9 +34,9 @@ func (d *TableObjectDto) Load(m *domain.Table) *TableObjectDto { @@ -34,9 +34,9 @@ func (d *TableObjectDto) Load(m *domain.Table) *TableObjectDto {
34 d.Name = m.Name 34 d.Name = m.Name
35 d.ParentId = m.ParentId 35 d.ParentId = m.ParentId
36 d.SQLName = m.SQLName 36 d.SQLName = m.SQLName
37 - //if m.TableInfo != nil {  
38 - // d.Module = m.TableInfo.ApplyOnModule  
39 - //} 37 + if m.TableInfo != nil {
  38 + d.Module = m.TableInfo.ApplyOnModule
  39 + }
40 d.Fields = make([]*domain.Field, 0) 40 d.Fields = make([]*domain.Field, 0)
41 return d 41 return d
42 } 42 }
@@ -132,3 +132,13 @@ func (querySet *QuerySet) GetDependencyTables(queryComponents []*QueryComponent) @@ -132,3 +132,13 @@ func (querySet *QuerySet) GetDependencyTables(queryComponents []*QueryComponent)
132 sort.Ints(res) 132 sort.Ints(res)
133 return res 133 return res
134 } 134 }
  135 +
  136 +type QuerySets []*QuerySet
  137 +
  138 +func (querySets QuerySets) ToMap() map[int]*QuerySet {
  139 + var result = make(map[int]*QuerySet)
  140 + for i := range querySets {
  141 + result[querySets[i].QuerySetId] = querySets[i]
  142 + }
  143 + return result
  144 +}
@@ -12,6 +12,7 @@ type ( @@ -12,6 +12,7 @@ type (
12 FormulaName string `json:"formulaName"` 12 FormulaName string `json:"formulaName"`
13 FormulaType int `json:"formulaType"` //公式类型 1.方案2.子过程 13 FormulaType int `json:"formulaType"` //公式类型 1.方案2.子过程
14 FormulaConditions []FormulaCondition `json:"formulaConditions"` 14 FormulaConditions []FormulaCondition `json:"formulaConditions"`
  15 + FormulaCalculate *FormulaCalculate `json:"formulaCalculate"`
15 } 16 }
16 17
17 FormulasGenerateResponse struct { 18 FormulasGenerateResponse struct {
@@ -58,6 +59,25 @@ type ( @@ -58,6 +59,25 @@ type (
58 FieldSchema FieldSchema `json:"fieldSchema"` 59 FieldSchema FieldSchema `json:"fieldSchema"`
59 ConditionExpression string `json:"conditionExpression"` 60 ConditionExpression string `json:"conditionExpression"`
60 } 61 }
  62 +
  63 + FormulaCalculate struct {
  64 + DatabaseTableName string `json:"databaseTableName"`
  65 + FormulaCalculateFields []*FormulaCalculateField `json:"formulaCalculateFields"`
  66 + FormulaGroupFields []*FormulaGroupField `json:"formulaGroupFields"`
  67 + }
  68 + FormulaCalculateField struct {
  69 + DatabaseTableName string `json:"databaseTableName"`
  70 + FieldSchema FieldSchema `json:"fieldSchema"`
  71 + CalculateExpression string `json:"calculateExpression"`
  72 + // 字段新的英文名称(3.汇总集4.计算项中对应的新字段名称)
  73 + CalculateFieldName string `json:"calculateFieldName"`
  74 + }
  75 + FormulaGroupField struct {
  76 + DatabaseTableName string `json:"databaseTableName"`
  77 + FieldSchema FieldSchema `json:"fieldSchema"`
  78 + // 字段新的英文名称(3.汇总集4.计算项中对应的新字段名称)
  79 + GroupFieldName string `json:"groupFieldName"`
  80 + }
61 ) 81 )
62 82
63 func NewFormulasGenerateRequest(table *domain.Table, queryComponents []*domain.QueryComponent) FormulasGenerateRequest { 83 func NewFormulasGenerateRequest(table *domain.Table, queryComponents []*domain.QueryComponent) FormulasGenerateRequest {
@@ -77,12 +97,20 @@ func NewFormulasGenerateRequest(table *domain.Table, queryComponents []*domain.Q @@ -77,12 +97,20 @@ func NewFormulasGenerateRequest(table *domain.Table, queryComponents []*domain.Q
77 } 97 }
78 if table.TableType == domain.SchemaTable.ToString() { 98 if table.TableType == domain.SchemaTable.ToString() {
79 req.FormulaType = 1 99 req.FormulaType = 1
80 - } else { 100 + } else if table.TableType == domain.SubProcessTable.ToString() {
81 req.FormulaType = 2 101 req.FormulaType = 2
  102 + } else if table.TableType == domain.CalculateTable.ToString() {
  103 + req.FormulaType = 3
  104 + } else if table.TableType == domain.CalculateItem.ToString() {
  105 + req.FormulaType = 4
82 } 106 }
83 107
84 - for i := range queryComponents {  
85 - req.FormulaConditions = append(req.FormulaConditions, NewFormulaCondition(queryComponents[i])) 108 + if req.FormulaType == 1 || req.FormulaType == 2 {
  109 + for i := range queryComponents {
  110 + req.FormulaConditions = append(req.FormulaConditions, NewFormulaCondition(queryComponents[i]))
  111 + }
  112 + } else {
  113 + req.FormulaCalculate = NewFormulaCalculate(table, queryComponents[0])
86 } 114 }
87 115
88 return req 116 return req
@@ -104,6 +132,51 @@ func NewFormulaCondition(queryComponent *domain.QueryComponent) FormulaCondition @@ -104,6 +132,51 @@ func NewFormulaCondition(queryComponent *domain.QueryComponent) FormulaCondition
104 return res 132 return res
105 } 133 }
106 134
  135 +func NewFormulaCalculate(table *domain.Table, queryComponent *domain.QueryComponent) *FormulaCalculate {
  136 + var res = &FormulaCalculate{
  137 + DatabaseTableName: "",
  138 + FormulaGroupFields: make([]*FormulaGroupField, 0),
  139 + FormulaCalculateFields: make([]*FormulaCalculateField, 0),
  140 + }
  141 + if queryComponent.Formula != nil {
  142 + formula := queryComponent.Formula
  143 + res.DatabaseTableName = formula.TableFields[0].TableSqlName
  144 + res.FormulaCalculateFields = append(res.FormulaCalculateFields, &FormulaCalculateField{
  145 + DatabaseTableName: res.DatabaseTableName,
  146 + FieldSchema: NewFieldSchemaFromField(table.DataFields[0]),
  147 + CalculateExpression: formula.ExprSql,
  148 + CalculateFieldName: table.DataFields[0].SQLName,
  149 + })
  150 + }
  151 + if queryComponent.Aggregation != nil {
  152 + res.DatabaseTableName = queryComponent.MasterTable.SQLName
  153 + for _, f := range queryComponent.Aggregation.ValueFields {
  154 + tableField, ok := table.MatchField(&domain.Field{Name: f.Field.Name})
  155 + if !ok {
  156 + continue
  157 + }
  158 + res.FormulaCalculateFields = append(res.FormulaCalculateFields, &FormulaCalculateField{
  159 + DatabaseTableName: queryComponent.MasterTable.SQLName,
  160 + FieldSchema: NewFieldSchemaFromField(f.Field),
  161 + CalculateExpression: f.Expr.ExprSql,
  162 + CalculateFieldName: tableField.SQLName,
  163 + })
  164 + }
  165 + for _, f := range queryComponent.Aggregation.RowFields {
  166 + tableField, ok := table.MatchField(&domain.Field{Name: f.Field.Name})
  167 + if !ok {
  168 + continue
  169 + }
  170 + res.FormulaGroupFields = append(res.FormulaGroupFields, &FormulaGroupField{
  171 + DatabaseTableName: queryComponent.MasterTable.SQLName,
  172 + FieldSchema: NewFieldSchemaFromField(f.Field),
  173 + GroupFieldName: tableField.SQLName,
  174 + })
  175 + }
  176 + }
  177 + return res
  178 +}
  179 +
107 func NewFormulaSelectFields(t *domain.QueryComponentTable) FormulaSelectFields { 180 func NewFormulaSelectFields(t *domain.QueryComponentTable) FormulaSelectFields {
108 var res = FormulaSelectFields{ 181 var res = FormulaSelectFields{
109 DatabaseTableName: t.SQLName, 182 DatabaseTableName: t.SQLName,
@@ -162,6 +235,17 @@ func NewFieldSchema(f domain.TableField) FieldSchema { @@ -162,6 +235,17 @@ func NewFieldSchema(f domain.TableField) FieldSchema {
162 return res 235 return res
163 } 236 }
164 237
  238 +func NewFieldSchemaFromField(f *domain.Field) FieldSchema {
  239 + var res = FieldSchema{
  240 + FieldZhName: f.Name,
  241 + FieldEnName: f.SQLName,
  242 + FieldType: f.SQLType,
  243 + FieldDescription: "",
  244 + IsAllowNull: true,
  245 + }
  246 + return res
  247 +}
  248 +
165 func NewFormulaDataHandleRule(s domain.SelectExprGroup) FormulaDataHandleRule { 249 func NewFormulaDataHandleRule(s domain.SelectExprGroup) FormulaDataHandleRule {
166 var res = FormulaDataHandleRule{ 250 var res = FormulaDataHandleRule{
167 RuleType: 1, 251 RuleType: 1,
@@ -7,7 +7,6 @@ import ( @@ -7,7 +7,6 @@ import (
7 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/domain" 7 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/domain"
8 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/api/bytelib" 8 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/api/bytelib"
9 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/excel" 9 "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/excel"
10 - "gitlab.fjmaimaimai.com/allied-creation/character-library-metadata-bastion/pkg/infrastructure/starrocks"  
11 ) 10 )
12 11
13 type ByteCoreService struct { 12 type ByteCoreService struct {
@@ -129,24 +128,24 @@ func (ptr *ByteCoreService) FieldOptionalValues(param domain.ReqFieldOptionalVal @@ -129,24 +128,24 @@ func (ptr *ByteCoreService) FieldOptionalValues(param domain.ReqFieldOptionalVal
129 128
130 func (ptr *ByteCoreService) FormulasGenerate(param domain.ReqFormulasGenerate) (*domain.DataFormulasGenerate, error) { 129 func (ptr *ByteCoreService) FormulasGenerate(param domain.ReqFormulasGenerate) (*domain.DataFormulasGenerate, error) {
131 apiByteLib := bytelib.NewApiByteLib(constant.BYTE_CORE_HOST) 130 apiByteLib := bytelib.NewApiByteLib(constant.BYTE_CORE_HOST)
132 - if param.QuerySet.Type == domain.CalculateItem.ToString() {  
133 - if err := starrocks.Exec(starrocks.DB,  
134 - starrocks.CreateViewSql(param.Table.SQLName, param.Table.DataFields,  
135 - starrocks.CalculateItemViewSql(&param.QueryComponents[0].Formula.FieldExpr),  
136 - )); err != nil {  
137 - return nil, err  
138 - }  
139 - return &domain.DataFormulasGenerate{}, nil  
140 - }  
141 - if param.QuerySet.Type == domain.CalculateTable.ToString() {  
142 - if err := starrocks.Exec(starrocks.DB,  
143 - starrocks.CreateViewSql(param.Table.SQLName, param.Table.DataFields,  
144 - starrocks.CalculateTableViewSql(param.QueryComponents[0].MasterTable.SQLName, &param.QueryComponents[0].Aggregation.Aggregation),  
145 - )); err != nil {  
146 - return nil, err  
147 - }  
148 - return &domain.DataFormulasGenerate{}, nil  
149 - } 131 + //if param.QuerySet.Type == domain.CalculateItem.ToString() {
  132 + // if err := starrocks.Exec(starrocks.DB,
  133 + // starrocks.CreateViewSql(param.Table.SQLName, param.Table.DataFields,
  134 + // starrocks.CalculateItemViewSql(&param.QueryComponents[0].Formula.FieldExpr),
  135 + // )); err != nil {
  136 + // return nil, err
  137 + // }
  138 + // return &domain.DataFormulasGenerate{}, nil
  139 + //}
  140 + //if param.QuerySet.Type == domain.CalculateTable.ToString() {
  141 + // if err := starrocks.Exec(starrocks.DB,
  142 + // starrocks.CreateViewSql(param.Table.SQLName, param.Table.DataFields,
  143 + // starrocks.CalculateTableViewSql(param.QueryComponents[0].MasterTable.SQLName, &param.QueryComponents[0].Aggregation.Aggregation),
  144 + // )); err != nil {
  145 + // return nil, err
  146 + // }
  147 + // return &domain.DataFormulasGenerate{}, nil
  148 + //}
150 return apiByteLib.FormulasGenerate(param) 149 return apiByteLib.FormulasGenerate(param)
151 } 150 }
152 151
@@ -368,7 +368,13 @@ func (l *CreateQuerySetLog) OperateType() string { @@ -368,7 +368,13 @@ func (l *CreateQuerySetLog) OperateType() string {
368 } 368 }
369 369
370 func (l *CreateQuerySetLog) LogType() string { 370 func (l *CreateQuerySetLog) LogType() string {
371 - if l.Qs.Type == domain.SchemaTable.ToString() || l.Qs.Type == domain.SubProcessTable.ToString() { 371 + if l.Qs.Type == domain.SchemaTable.ToString() {
  372 + return domain.QuerySetLog.ToString()
  373 + }
  374 + if l.Qs.Type == domain.SubProcessTable.ToString() {
  375 + return domain.QuerySetLog.ToString()
  376 + }
  377 + if l.Qs.Type == domain.CalculateTable.ToString() {
372 return domain.QuerySetLog.ToString() 378 return domain.QuerySetLog.ToString()
373 } 379 }
374 return domain.FormulaLog.ToString() 380 return domain.FormulaLog.ToString()
@@ -390,7 +396,13 @@ func (l *RenameQuerySetLog) OperateType() string { @@ -390,7 +396,13 @@ func (l *RenameQuerySetLog) OperateType() string {
390 } 396 }
391 397
392 func (l *RenameQuerySetLog) LogType() string { 398 func (l *RenameQuerySetLog) LogType() string {
393 - if l.Qs.Type == domain.SchemaTable.ToString() || l.Qs.Type == domain.SubProcessTable.ToString() { 399 + if l.Qs.Type == domain.SchemaTable.ToString() {
  400 + return domain.QuerySetLog.ToString()
  401 + }
  402 + if l.Qs.Type == domain.SubProcessTable.ToString() {
  403 + return domain.QuerySetLog.ToString()
  404 + }
  405 + if l.Qs.Type == domain.CalculateTable.ToString() {
394 return domain.QuerySetLog.ToString() 406 return domain.QuerySetLog.ToString()
395 } 407 }
396 return domain.FormulaLog.ToString() 408 return domain.FormulaLog.ToString()
@@ -420,6 +432,9 @@ func (l *DeleteQuerySetLog) LogType() string { @@ -420,6 +432,9 @@ func (l *DeleteQuerySetLog) LogType() string {
420 if qs.Type == domain.SchemaTable.ToString() || qs.Type == domain.SubProcessTable.ToString() { 432 if qs.Type == domain.SchemaTable.ToString() || qs.Type == domain.SubProcessTable.ToString() {
421 return domain.QuerySetLog.ToString() 433 return domain.QuerySetLog.ToString()
422 } 434 }
  435 + if qs.Type == domain.CalculateTable.ToString() {
  436 + return domain.QuerySetLog.ToString()
  437 + }
423 return domain.FormulaLog.ToString() 438 return domain.FormulaLog.ToString()
424 } 439 }
425 440
@@ -450,6 +465,9 @@ func (l *CopyQuerySetLog) LogType() string { @@ -450,6 +465,9 @@ func (l *CopyQuerySetLog) LogType() string {
450 if qs.Type == domain.SchemaTable.ToString() || qs.Type == domain.SubProcessTable.ToString() { 465 if qs.Type == domain.SchemaTable.ToString() || qs.Type == domain.SubProcessTable.ToString() {
451 return domain.QuerySetLog.ToString() 466 return domain.QuerySetLog.ToString()
452 } 467 }
  468 + if qs.Type == domain.CalculateTable.ToString() {
  469 + return domain.QuerySetLog.ToString()
  470 + }
453 return domain.FormulaLog.ToString() 471 return domain.FormulaLog.ToString()
454 } 472 }
455 473
@@ -561,7 +561,7 @@ func formulaEditLog(ctx *domain.Context, querySet *domain.QuerySet, queryCompone @@ -561,7 +561,7 @@ func formulaEditLog(ctx *domain.Context, querySet *domain.QuerySet, queryCompone
561 return res 561 return res
562 } 562 }
563 if oldQC.Formula.ExprSql != newQC.Formula.ExprSql { 563 if oldQC.Formula.ExprSql != newQC.Formula.ExprSql {
564 - res = append(res, NewFastSourceLog(domain.QuerySetLog, sourceId, &EditFormulaLog{ 564 + res = append(res, NewFastSourceLog(domain.FormulaLog, sourceId, &EditFormulaLog{
565 LogEntry: entry, 565 LogEntry: entry,
566 OperationType: domain.EditCalculateItem, 566 OperationType: domain.EditCalculateItem,
567 Old: oldQC.Formula.ExprHuman, 567 Old: oldQC.Formula.ExprHuman,
@@ -588,12 +588,23 @@ func aggregationEditLog(ctx *domain.Context, querySet *domain.QuerySet, queryCom @@ -588,12 +588,23 @@ func aggregationEditLog(ctx *domain.Context, querySet *domain.QuerySet, queryCom
588 for _, f := range oldQC.Aggregation.AggregationFields() { 588 for _, f := range oldQC.Aggregation.AggregationFields() {
589 mapOldAgFields[f.DisplayName] = f 589 mapOldAgFields[f.DisplayName] = f
590 } 590 }
  591 + mapNewAgFields := make(map[string]*domain.AggregationField)
  592 + for _, f := range newQC.Aggregation.AggregationFields() {
  593 + mapNewAgFields[f.DisplayName] = f
  594 + }
591 changList := make([]string, 0) 595 changList := make([]string, 0)
592 for _, f := range newQC.Aggregation.AggregationFields() { 596 for _, f := range newQC.Aggregation.AggregationFields() {
593 if v, ok := mapOldAgFields[f.DisplayName]; ok { 597 if v, ok := mapOldAgFields[f.DisplayName]; ok {
594 if f.Diff(v) { 598 if f.Diff(v) {
595 changList = append(changList, fmt.Sprintf("%s修改为%s", v.Info(), f.Info())) 599 changList = append(changList, fmt.Sprintf("%s修改为%s", v.Info(), f.Info()))
596 } 600 }
  601 + } else {
  602 + changList = append(changList, fmt.Sprintf("增加%s", f.Info()))
  603 + }
  604 + }
  605 + for _, f := range oldQC.Aggregation.AggregationFields() {
  606 + if _, ok := mapNewAgFields[f.DisplayName]; !ok {
  607 + changList = append(changList, fmt.Sprintf("删除%s", f.Info()))
597 } 608 }
598 } 609 }
599 610
@@ -160,7 +160,7 @@ func (repository *QuerySetRepository) Find(queryOptions map[string]interface{}) @@ -160,7 +160,7 @@ func (repository *QuerySetRepository) Find(queryOptions map[string]interface{})
160 query.SetWhereByQueryOption("type = ?", "type") 160 query.SetWhereByQueryOption("type = ?", "type")
161 query.SetWhereByQueryOption("flag = ?", "flag") 161 query.SetWhereByQueryOption("flag = ?", "flag")
162 query.SetWhereByQueryOption("status = ?", "status") 162 query.SetWhereByQueryOption("status = ?", "status")
163 - query.SetWhereByQueryOption(fmt.Sprintf("name like '%%%v%%'", queryOptions["matchName"]), "matchName") 163 + //query.SetWhereByQueryOption(fmt.Sprintf("name like '%%%v%%'", queryOptions["matchName"]), "matchName")
164 if v, ok := queryOptions["types"]; ok && len(v.([]string)) > 0 { 164 if v, ok := queryOptions["types"]; ok && len(v.([]string)) > 0 {
165 query.Where("type in (?)", pg.In(v)) 165 query.Where("type in (?)", pg.In(v))
166 } 166 }
@@ -68,7 +68,8 @@ func CreateRequestLogFilter(console bool) func(ctx *context.Context) { @@ -68,7 +68,8 @@ func CreateRequestLogFilter(console bool) func(ctx *context.Context) {
68 68
69 func JwtFilter() func(ctx *context.Context) { 69 func JwtFilter() func(ctx *context.Context) {
70 return func(ctx *context.Context) { 70 return func(ctx *context.Context) {
71 - token := ctx.Request.Header.Get("Authorization") 71 + //token := ctx.Request.Header.Get("Authorization")
  72 + token := ctx.Request.Header.Get("x-mmm-accesstoken")
72 if len(token) > 0 { 73 if len(token) > 0 {
73 token = strings.TrimPrefix(token, "Bearer ") 74 token = strings.TrimPrefix(token, "Bearer ")
74 userToken := &domain.UserToken{} 75 userToken := &domain.UserToken{}
@@ -50,18 +50,20 @@ func ParseContext(c beego.BaseController) *domain.Context { @@ -50,18 +50,20 @@ func ParseContext(c beego.BaseController) *domain.Context {
50 if ok { 50 if ok {
51 // cache user info 51 // cache user info
52 key := cache.KeyCompanyUser(companyId, userId) 52 key := cache.KeyCompanyUser(companyId, userId)
53 - if cacheItem, ok := cache.DefaultCache.Get(key); ok {  
54 - v := cacheItem.(*authlib.DataUserMe)  
55 - userName = v.User.NickName  
56 - } else {  
57 - requestToken, _ := userToken.GenerateToken()  
58 - authLib := authlib.NewApiAuthLib(constant.AUTH_SERVER_HOST).WithToken(requestToken)  
59 - userInfo, err := authLib.MeInfo(authlib.RequestUserMeQuery{})  
60 - if err != nil || userInfo == nil || userInfo.User == nil {  
61 - goto END 53 + if userToken.UserId != 0 {
  54 + if cacheItem, ok := cache.DefaultCache.Get(key); ok {
  55 + v := cacheItem.(*authlib.DataUserMe)
  56 + userName = v.User.NickName
  57 + } else {
  58 + requestToken, _ := userToken.GenerateToken()
  59 + authLib := authlib.NewApiAuthLib(constant.AUTH_SERVER_HOST).WithToken(requestToken)
  60 + userInfo, err := authLib.MeInfo(authlib.RequestUserMeQuery{})
  61 + if err != nil || userInfo == nil || userInfo.User == nil {
  62 + goto END
  63 + }
  64 + userName = userInfo.User.NickName
  65 + cache.DefaultCache.SetDefault(key, userInfo)
62 } 66 }
63 - userName = userInfo.User.NickName  
64 - cache.DefaultCache.SetDefault(key, userInfo)  
65 } 67 }
66 // assign user 68 // assign user
67 companyId = int(userToken.CompanyId) 69 companyId = int(userToken.CompanyId)
@@ -91,6 +91,17 @@ func (controller *LogController) QuerySetLog() { @@ -91,6 +91,17 @@ func (controller *LogController) QuerySetLog() {
91 ResponseGrid(controller.BaseController, total, data, err) 91 ResponseGrid(controller.BaseController, total, data, err)
92 } 92 }
93 93
  94 +func (controller *LogController) FormulaLog() {
  95 + logService := service.NewLogService(nil)
  96 + cmd := &command.SearchLogCommand{}
  97 + controller.Unmarshal(cmd)
  98 + cmd.LogType = domain.FormulaLog.ToString()
  99 + cmd.SortByLogId = "DESC"
  100 + cmd.Context = ParseContext(controller.BaseController)
  101 + total, data, err := logService.SearchLog(cmd)
  102 + ResponseGrid(controller.BaseController, total, data, err)
  103 +}
  104 +
94 func (controller *LogController) VerifiedStepLog() { 105 func (controller *LogController) VerifiedStepLog() {
95 logService := service.NewLogService(nil) 106 logService := service.NewLogService(nil)
96 cmd := &command.SearchLogCommand{} 107 cmd := &command.SearchLogCommand{}
@@ -15,4 +15,5 @@ func init() { @@ -15,4 +15,5 @@ func init() {
15 web.Router("/data/logs/table-operate-Log", &controllers.LogController{}, "Post:TableOperateLog") 15 web.Router("/data/logs/table-operate-Log", &controllers.LogController{}, "Post:TableOperateLog")
16 web.Router("/data/logs/verified-step-Log", &controllers.LogController{}, "Post:VerifiedStepLog") 16 web.Router("/data/logs/verified-step-Log", &controllers.LogController{}, "Post:VerifiedStepLog")
17 web.Router("/data/logs/query-set-log", &controllers.LogController{}, "Post:QuerySetLog") 17 web.Router("/data/logs/query-set-log", &controllers.LogController{}, "Post:QuerySetLog")
  18 + web.Router("/data/logs/formula-log", &controllers.LogController{}, "Post:FormulaLog")
18 } 19 }