Переглянути джерело

wip:地区code重复处理

wangkaiyue 1 рік тому
батько
коміт
f91580528a

+ 3 - 3
internal/service/areaStruct.go

@@ -16,7 +16,7 @@ var (
 type (
 type (
 	AreaRoot struct {
 	AreaRoot struct {
 		areaTree          map[string]*AreaNode //层级关系
 		areaTree          map[string]*AreaNode //层级关系
-		areaCodeMap       map[string]*AreaNode //所有节点平铺 key:code
+		areaCodeMap       map[string]*AreaNode //所有节点平铺 key:code (部分城市有重复,请根据省份+GetChildNode code获取 ⚠️suzhou yulin yichun fuzhou taizhou)
 		areaNameMap       map[string]*AreaNode //所有节点平铺 key:name
 		areaNameMap       map[string]*AreaNode //所有节点平铺 key:name
 		rootList          []*AreaNode          //根节点
 		rootList          []*AreaNode          //根节点
 		Location          []*AreaLocation      //区位
 		Location          []*AreaLocation      //区位
@@ -112,7 +112,7 @@ func (aRoot *AreaRoot) LoadAreasFrom(ctx context.Context) {
 					AdLink: val.AdLink,
 					AdLink: val.AdLink,
 				}
 				}
 				for _, cityCode := range val.Hots {
 				for _, cityCode := range val.Hots {
-					if city := areaCodeMap[cityCode]; city != nil {
+					if city := node.GetChildNode(cityCode); city != nil {
 						cfg.Hots = append(cfg.Hots, city)
 						cfg.Hots = append(cfg.Hots, city)
 					}
 					}
 				}
 				}
@@ -175,7 +175,7 @@ func (an *AreaNode) GetChildNode(code string) *AreaNode {
 	return nil
 	return nil
 }
 }
 
 
-// GetNodeByCode 根据code
+// GetNodeByCode 根据code (部分城市有重复,请根据省份+GetChildNode code获取 ⚠️suzhou yulin yichun fuzhou taizhou)
 func (aRoot *AreaRoot) GetNodeByCode(code string) *AreaNode {
 func (aRoot *AreaRoot) GetNodeByCode(code string) *AreaNode {
 	return aRoot.areaCodeMap[code]
 	return aRoot.areaCodeMap[code]
 }
 }

+ 5 - 5
internal/tags/other.go

@@ -57,13 +57,13 @@ func GetAreaHotBidding(areaCode string, num int) []*service.InfoList {
 }
 }
 
 
 // GetCityBidding 获取城市下的标讯信息
 // GetCityBidding 获取城市下的标讯信息
-func GetCityBidding(areaCode string, num int) []*service.InfoList {
-	areaNode := service.JyBxSeoAreaRoot.GetNodeByCode(areaCode)
-	if areaNode == nil || areaNode.Type != 2 {
+func GetCityBidding(areaCode, cityCode string, num int) []*service.InfoList {
+	cityNode := service.JyBxSeoAreaRoot.GetNodeByCode(areaCode).GetChildNode(cityCode)
+	if cityNode == nil || cityNode.Type != 2 {
 		return nil
 		return nil
 	}
 	}
-	query := service.NewBiddingQuery().EquipArea(areaNode).QueryState(consts.CityBidding)
-	rData, err := query.GetOnceData(context.Background(), num, "GetCityBidding", service.JyBxSeoAreaRoot.GetData)
+	query := service.NewBiddingQuery().EquipArea(cityNode).QueryState(consts.CityBidding)
+	rData, err := query.GetOnceData(context.Background(), num, "GetCityBiddingNew", service.JyBxSeoAreaRoot.GetData)
 	if err != nil {
 	if err != nil {
 		return nil
 		return nil
 	}
 	}

+ 1 - 1
resource/template/pc/area_index.html

@@ -102,7 +102,7 @@
             {{if eq $global.areaNode.Type 1}}
             {{if eq $global.areaNode.Type 1}}
             <!-- 地区招标类型列表-->
             <!-- 地区招标类型列表-->
               {{range $city:=$Cfg.Hots}}
               {{range $city:=$Cfg.Hots}}
-                {{include "pc/components/tags-seo-card.html" (CardFormat (concat $global.areaNode.Name $city.Name "招标信息") $city.Code (GetCityBidding $city.Code 8))}}
+                {{include "pc/components/tags-seo-card.html" (CardFormat (concat $global.areaNode.Name $city.Name "招标信息") $city.Code (GetCityBidding $global.areaNode.Code $city.Code 8))}}
               {{end}}
               {{end}}
             {{else if eq $global.areaNode.Type 3}}
             {{else if eq $global.areaNode.Type 3}}
             <!-- 直辖市展示其他行业-->
             <!-- 直辖市展示其他行业-->