|
@@ -84,7 +84,7 @@ type Block struct {
|
|
|
BPackage *BlockPackage //分包信息
|
|
|
Tag map[string]bool //块标签
|
|
|
Block []*Block //子块
|
|
|
- Classify []string //块分类
|
|
|
+ Classify map[string]bool //块分类
|
|
|
Winnerorder []map[string]interface{} //块中,中标候选人排序
|
|
|
}
|
|
|
|
|
@@ -179,21 +179,16 @@ type BlockClassify struct {
|
|
|
Classify map[string]*TagFile
|
|
|
}
|
|
|
|
|
|
-func (b *BlockClassify) GetClassify(tp string, src []string) []string {
|
|
|
- exists := map[string]bool{}
|
|
|
- ret := []string{}
|
|
|
+func (b *BlockClassify) GetClassify(tp string, src []string) map[string]bool {
|
|
|
+ m := map[string]bool{}
|
|
|
for _, v := range src {
|
|
|
v = TrimLRAll(v, "")
|
|
|
for _, vv := range b.Type[tp] {
|
|
|
if ok, _ := b.Classify[vv.Name].Match(v); ok {
|
|
|
- if exists[vv.Code] {
|
|
|
- break
|
|
|
- }
|
|
|
- exists[vv.Code] = true
|
|
|
- ret = append(ret, vv.Code)
|
|
|
+ m[vv.Code] = true
|
|
|
break
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return ret
|
|
|
+ return m
|
|
|
}
|