|
@@ -218,84 +218,83 @@ func (td *TD) tdHasTable(bsontable *bool, tr *TR) {
|
|
|
}
|
|
|
stag = str
|
|
|
}
|
|
|
- for _, tv := range tabs {
|
|
|
- if IsHide(tv) {
|
|
|
- continue
|
|
|
- }
|
|
|
- sonts := NewTableResult(ts.Id, ts.Toptype, stag, td.Html, 2, td.TR.Table.TableResult.RuleBlock)
|
|
|
- sonts.GoqueryTabs = tv
|
|
|
- sonts.Analy()
|
|
|
-
|
|
|
- //sonts := AnalyTableV2(tabs, ts.Toptype, stag, td.Html, 2, ts.Id, table.TableResult.RuleBlock) //又一次调用解析表格入口
|
|
|
- td.BH = false
|
|
|
- if td.TR.Table.TableResult == nil {
|
|
|
- td.TR.Table.TableResult = NewTableResult(sonts.Id, sonts.Toptype, sonts.BlockTag, sonts.Html, sonts.Itype, sonts.RuleBlock)
|
|
|
- }
|
|
|
- MergeKvTags(td.TR.Table.TableResult.KvTags, sonts.KvTags)
|
|
|
- td.SonTableResult = sonts
|
|
|
- //for _, k := range sonts.SortKV.Keys {
|
|
|
- //u.Debug(k, sonts.SortKV.Map[k])
|
|
|
- // td.TR.Table.StandKV[k] = sonts.SortKV.Map[k].(string)
|
|
|
- // td.TR.Table.StandKVWeight[k] = sonts.SortKVWeight[k]
|
|
|
- //}
|
|
|
- //增加brand (子表)
|
|
|
- //fmt.Println("sonsHasKey=============", sonts.HasKey)
|
|
|
- //fmt.Println("sonsHasGoods========", sonts.HasGoods)
|
|
|
- //fmt.Println("sonsHasBrand========", sonts.HasBrand)
|
|
|
- if sonts.HasKey != 0 {
|
|
|
- td.TR.Table.TableResult.HasKey = sonts.HasKey
|
|
|
- }
|
|
|
- if sonts.HasGoods != 0 {
|
|
|
- td.TR.Table.TableResult.HasGoods = sonts.HasGoods
|
|
|
- }
|
|
|
- if sonts.HasBrand != 0 {
|
|
|
- td.TR.Table.TableResult.HasBrand = sonts.HasBrand
|
|
|
- }
|
|
|
- if sonts.BrandData != nil && len(sonts.BrandData) > 0 { //子table
|
|
|
- for _, v := range sonts.BrandData {
|
|
|
- if len(v) > 0 {
|
|
|
- td.TR.Table.TableResult.BrandData = append(td.TR.Table.TableResult.BrandData, v)
|
|
|
- }
|
|
|
+ }
|
|
|
+ for _, tv := range tabs {
|
|
|
+ if IsHide(tv) {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ sonts := NewTableResult(ts.Id, ts.Toptype, stag, td.Html, 2, td.TR.Table.TableResult.RuleBlock)
|
|
|
+ sonts.GoqueryTabs = tv
|
|
|
+ sonts.Analy()
|
|
|
+
|
|
|
+ //sonts := AnalyTableV2(tabs, ts.Toptype, stag, td.Html, 2, ts.Id, table.TableResult.RuleBlock) //又一次调用解析表格入口
|
|
|
+ td.BH = false
|
|
|
+ if td.TR.Table.TableResult == nil {
|
|
|
+ td.TR.Table.TableResult = NewTableResult(sonts.Id, sonts.Toptype, sonts.BlockTag, sonts.Html, sonts.Itype, sonts.RuleBlock)
|
|
|
+ }
|
|
|
+ MergeKvTags(td.TR.Table.TableResult.KvTags, sonts.KvTags)
|
|
|
+ td.SonTableResult = sonts
|
|
|
+ //for _, k := range sonts.SortKV.Keys {
|
|
|
+ //u.Debug(k, sonts.SortKV.Map[k])
|
|
|
+ // td.TR.Table.StandKV[k] = sonts.SortKV.Map[k].(string)
|
|
|
+ // td.TR.Table.StandKVWeight[k] = sonts.SortKVWeight[k]
|
|
|
+ //}
|
|
|
+ //增加brand (子表)
|
|
|
+ //fmt.Println("sonsHasKey=============", sonts.HasKey)
|
|
|
+ //fmt.Println("sonsHasGoods========", sonts.HasGoods)
|
|
|
+ //fmt.Println("sonsHasBrand========", sonts.HasBrand)
|
|
|
+ if sonts.HasKey != 0 {
|
|
|
+ td.TR.Table.TableResult.HasKey = sonts.HasKey
|
|
|
+ }
|
|
|
+ if sonts.HasGoods != 0 {
|
|
|
+ td.TR.Table.TableResult.HasGoods = sonts.HasGoods
|
|
|
+ }
|
|
|
+ if sonts.HasBrand != 0 {
|
|
|
+ td.TR.Table.TableResult.HasBrand = sonts.HasBrand
|
|
|
+ }
|
|
|
+ if sonts.BrandData != nil && len(sonts.BrandData) > 0 { //子table
|
|
|
+ for _, v := range sonts.BrandData {
|
|
|
+ if len(v) > 0 {
|
|
|
+ td.TR.Table.TableResult.BrandData = append(td.TR.Table.TableResult.BrandData, v)
|
|
|
}
|
|
|
}
|
|
|
- if sonts.WinnerOrder != nil && len(sonts.WinnerOrder) > 0 {
|
|
|
- td.TR.Table.TableResult.WinnerOrder = sonts.WinnerOrder
|
|
|
- }
|
|
|
- if sonts.IsMultiPackage {
|
|
|
- td.TR.Table.BPackage = true
|
|
|
- tb1 := td.TR.Table.BlockPackage
|
|
|
- for k, v := range sonts.PackageMap.Map {
|
|
|
- v1 := v.(*u.BlockPackage)
|
|
|
- if tb1.Map[k] == nil {
|
|
|
- tb1.AddKey(k, v)
|
|
|
- } else {
|
|
|
- bp := tb1.Map[k].(*u.BlockPackage)
|
|
|
- if bp != nil && v1.TableKV != nil {
|
|
|
- for k2, v2 := range v1.TableKV.KvTags {
|
|
|
- if bp.TableKV == nil {
|
|
|
- bp.TableKV = u.NewJobKv()
|
|
|
- }
|
|
|
- isExists := false
|
|
|
- for _, v2v := range v2 {
|
|
|
- for _, v2vv := range bp.TableKV.KvTags[k2] {
|
|
|
- if v2v.Value == v2vv.Value {
|
|
|
- isExists = true
|
|
|
- break
|
|
|
- }
|
|
|
- }
|
|
|
- if !isExists {
|
|
|
- bp.TableKV.KvTags[k2] = append(bp.TableKV.KvTags[k2], v2v)
|
|
|
- bp.Text += fmt.Sprintf("%v:%v\n", k2, v2)
|
|
|
+ }
|
|
|
+ if sonts.WinnerOrder != nil && len(sonts.WinnerOrder) > 0 {
|
|
|
+ td.TR.Table.TableResult.WinnerOrder = sonts.WinnerOrder
|
|
|
+ }
|
|
|
+ if sonts.IsMultiPackage {
|
|
|
+ td.TR.Table.BPackage = true
|
|
|
+ tb1 := td.TR.Table.BlockPackage
|
|
|
+ for k, v := range sonts.PackageMap.Map {
|
|
|
+ v1 := v.(*u.BlockPackage)
|
|
|
+ if tb1.Map[k] == nil {
|
|
|
+ tb1.AddKey(k, v)
|
|
|
+ } else {
|
|
|
+ bp := tb1.Map[k].(*u.BlockPackage)
|
|
|
+ if bp != nil && v1.TableKV != nil {
|
|
|
+ for k2, v2 := range v1.TableKV.KvTags {
|
|
|
+ if bp.TableKV == nil {
|
|
|
+ bp.TableKV = u.NewJobKv()
|
|
|
+ }
|
|
|
+ isExists := false
|
|
|
+ for _, v2v := range v2 {
|
|
|
+ for _, v2vv := range bp.TableKV.KvTags[k2] {
|
|
|
+ if v2v.Value == v2vv.Value {
|
|
|
+ isExists = true
|
|
|
+ break
|
|
|
}
|
|
|
}
|
|
|
+ if !isExists {
|
|
|
+ bp.TableKV.KvTags[k2] = append(bp.TableKV.KvTags[k2], v2v)
|
|
|
+ bp.Text += fmt.Sprintf("%v:%v\n", k2, v2)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //u.Debug(fmt.Sprintf("%v", td.TR.Table.BlockPackage.Map["1"]))
|
|
|
}
|
|
|
+ //u.Debug(fmt.Sprintf("%v", td.TR.Table.BlockPackage.Map["1"]))
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|