|
@@ -73,6 +73,13 @@ func (this *TemplateController) TemplateAdd() { |
|
@@ -73,6 +73,13 @@ func (this *TemplateController) TemplateAdd() { |
|
73
|
if len(request.Videos) == 0 {
|
73
|
if len(request.Videos) == 0 {
|
|
74
|
request.Videos = make([]string, 0)
|
74
|
request.Videos = make([]string, 0)
|
|
75
|
}
|
75
|
}
|
|
|
|
76
|
+ if len(request.SelfCheck) > 0 {
|
|
|
|
77
|
+ err := auditFlowMustActionTypeOr(request.AuditFlowConfig)
|
|
|
|
78
|
+ if err != nil {
|
|
|
|
79
|
+ msg = protocol.NewReturnResponse(nil, err)
|
|
|
|
80
|
+ return
|
|
|
|
81
|
+ }
|
|
|
|
82
|
+ }
|
|
76
|
if err := checkSelfCheckData(request.SelfCheck); err != nil {
|
83
|
if err := checkSelfCheckData(request.SelfCheck); err != nil {
|
|
77
|
msg = protocol.NewReturnResponse(nil, err)
|
84
|
msg = protocol.NewReturnResponse(nil, err)
|
|
78
|
return
|
85
|
return
|
|
@@ -133,6 +140,13 @@ func (this *TemplateController) TemplateUpdate() { |
|
@@ -133,6 +140,13 @@ func (this *TemplateController) TemplateUpdate() { |
|
133
|
request.Videos = arrayFilter(request.Videos, "")
|
140
|
request.Videos = arrayFilter(request.Videos, "")
|
|
134
|
}
|
141
|
}
|
|
135
|
|
142
|
|
|
|
|
143
|
+ if len(request.SelfCheck) > 0 {
|
|
|
|
144
|
+ err := auditFlowMustActionTypeOr(request.AuditFlowConfig)
|
|
|
|
145
|
+ if err != nil {
|
|
|
|
146
|
+ msg = protocol.NewReturnResponse(nil, err)
|
|
|
|
147
|
+ return
|
|
|
|
148
|
+ }
|
|
|
|
149
|
+ }
|
|
136
|
if err := checkSelfCheckData(request.SelfCheck); err != nil {
|
150
|
if err := checkSelfCheckData(request.SelfCheck); err != nil {
|
|
137
|
msg = protocol.NewReturnResponse(nil, err)
|
151
|
msg = protocol.NewReturnResponse(nil, err)
|
|
138
|
return
|
152
|
return
|
|
@@ -425,18 +439,48 @@ func arrayFilter(arr1 []string, s string) (rsp []string) { |
|
@@ -425,18 +439,48 @@ func arrayFilter(arr1 []string, s string) (rsp []string) { |
|
425
|
return
|
439
|
return
|
|
426
|
}
|
440
|
}
|
|
427
|
|
441
|
|
|
|
|
442
|
+//checkSelfCheckData 校验自查内容数据
|
|
428
|
func checkSelfCheckData(data []protocol.TemplateSelfCheck) error {
|
443
|
func checkSelfCheckData(data []protocol.TemplateSelfCheck) error {
|
|
429
|
-
|
|
|
|
430
|
- var cnt int
|
|
|
|
431
|
- for _, v := range data {
|
444
|
+ var (
|
|
|
|
445
|
+ cnt int
|
|
|
|
446
|
+ )
|
|
|
|
447
|
+ titleMap := make(map[string]int)
|
|
|
|
448
|
+ for i, v := range data {
|
|
432
|
s := []rune(v.Title)
|
449
|
s := []rune(v.Title)
|
|
433
|
if len(s) == 0 || len(s) > 50 {
|
450
|
if len(s) == 0 || len(s) > 50 {
|
|
434
|
return protocol.NewErrWithMessage("10127")
|
451
|
return protocol.NewErrWithMessage("10127")
|
|
435
|
}
|
452
|
}
|
|
|
|
453
|
+ if _, ok := titleMap[v.Title]; ok {
|
|
|
|
454
|
+ return protocol.NewErrWithMessage("10130")
|
|
|
|
455
|
+ } else {
|
|
|
|
456
|
+ titleMap[v.Title] = 1
|
|
|
|
457
|
+ }
|
|
|
|
458
|
+ cnt++
|
|
|
|
459
|
+ childTitleMap := make(map[string]int)
|
|
|
|
460
|
+ for _, vv := range data[i].Child {
|
|
|
|
461
|
+ ss := []rune(vv.Title)
|
|
|
|
462
|
+ if len(ss) == 0 || len(ss) > 50 {
|
|
|
|
463
|
+ return protocol.NewErrWithMessage("10127")
|
|
|
|
464
|
+ }
|
|
|
|
465
|
+ if _, ok := childTitleMap[vv.Title]; ok {
|
|
|
|
466
|
+ return protocol.NewErrWithMessage("10130")
|
|
|
|
467
|
+ } else {
|
|
|
|
468
|
+ titleMap[vv.Title] = 1
|
|
|
|
469
|
+ }
|
|
436
|
cnt++
|
470
|
cnt++
|
|
437
|
}
|
471
|
}
|
|
|
|
472
|
+ }
|
|
438
|
if cnt > 30 {
|
473
|
if cnt > 30 {
|
|
439
|
return protocol.NewErrWithMessage("10128")
|
474
|
return protocol.NewErrWithMessage("10128")
|
|
440
|
}
|
475
|
}
|
|
441
|
return nil
|
476
|
return nil
|
|
442
|
}
|
477
|
}
|
|
|
|
478
|
+
|
|
|
|
479
|
+func auditFlowMustActionTypeOr(auditflow protocol.AuditFlowConfig) error {
|
|
|
|
480
|
+ for _, v := range auditflow.ProcessConfig {
|
|
|
|
481
|
+ if v.AcitonType != models.ActionTypeOr {
|
|
|
|
482
|
+ return protocol.NewErrWithMessage("10129")
|
|
|
|
483
|
+ }
|
|
|
|
484
|
+ }
|
|
|
|
485
|
+ return nil
|
|
|
|
486
|
+} |