|
@@ -79,6 +79,7 @@ type SubSet struct {
|
|
OriginalKeys []string //原始关键词
|
|
OriginalKeys []string //原始关键词
|
|
Areas []string //区域-省份
|
|
Areas []string //区域-省份
|
|
Area map[string]interface{} //区域-省份
|
|
Area map[string]interface{} //区域-省份
|
|
|
|
+ District map[string]interface{} //区域-区县
|
|
Subtype []interface{} //信息类型-二级分类
|
|
Subtype []interface{} //信息类型-二级分类
|
|
Subtypes []string //信息类型-二级分类
|
|
Subtypes []string //信息类型-二级分类
|
|
Buyerclass []interface{} //采购单位行业
|
|
Buyerclass []interface{} //采购单位行业
|
|
@@ -398,6 +399,7 @@ func (u *UserInfo) GetSubSet(isFreeUser bool, userId string, obj map[string]inte
|
|
subSet.Buyerclass, _ = obj["a_buyerclass"].([]interface{})
|
|
subSet.Buyerclass, _ = obj["a_buyerclass"].([]interface{})
|
|
subSet.Subtype, _ = obj["a_infotype"].([]interface{})
|
|
subSet.Subtype, _ = obj["a_infotype"].([]interface{})
|
|
subSet.Area, _ = obj["o_area"].(map[string]interface{})
|
|
subSet.Area, _ = obj["o_area"].(map[string]interface{})
|
|
|
|
+ subSet.District, _ = obj["o_district"].(map[string]interface{})
|
|
}
|
|
}
|
|
for _, v := range subSet.Buyerclass {
|
|
for _, v := range subSet.Buyerclass {
|
|
s_v, _ := v.(string)
|
|
s_v, _ := v.(string)
|
|
@@ -582,7 +584,7 @@ func (u *UserInfo) AddArea(m *map[string]map[*UserInfo]bool) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-// 添加区域城市映射关系
|
|
|
|
|
|
+//添加省市映射关系
|
|
func (u *UserInfo) AddAreaCity(area, city *map[string]map[*UserInfo]bool) {
|
|
func (u *UserInfo) AddAreaCity(area, city *map[string]map[*UserInfo]bool) {
|
|
if len(u.SubSet.Area) == 0 {
|
|
if len(u.SubSet.Area) == 0 {
|
|
u.Add("", area)
|
|
u.Add("", area)
|
|
@@ -607,6 +609,47 @@ func (u *UserInfo) AddAreaCity(area, city *map[string]map[*UserInfo]bool) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//添加省市县映射关系
|
|
|
|
+func (u *UserInfo) AddAreaCityDistrict(area, city *map[string]map[*UserInfo]bool, district *map[string]map[string]map[*UserInfo]bool) {
|
|
|
|
+ if len(u.SubSet.Area) == 0 {
|
|
|
|
+ u.Add("", area)
|
|
|
|
+ } else {
|
|
|
|
+ for k, v := range u.SubSet.Area {
|
|
|
|
+ if k == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ vs, _ := v.([]interface{})
|
|
|
|
+ if len(vs) == 0 {
|
|
|
|
+ u.Add(k, area)
|
|
|
|
+ } else {
|
|
|
|
+ for _, vv := range vs {
|
|
|
|
+ s_vv, _ := vv.(string)
|
|
|
|
+ if s_vv == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ d_vv, _ := u.SubSet.District[s_vv].([]interface{})
|
|
|
|
+ if len(d_vv) == 0 {
|
|
|
|
+ u.Add(s_vv, city)
|
|
|
|
+ } else {
|
|
|
|
+ for _, vvv := range d_vv {
|
|
|
|
+ s_vvv, _ := vvv.(string)
|
|
|
|
+ if s_vvv == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ d_mm := (*district)[s_vv]
|
|
|
|
+ if d_mm == nil {
|
|
|
|
+ d_mm = map[string]map[*UserInfo]bool{}
|
|
|
|
+ }
|
|
|
|
+ u.Add(s_vvv, &d_mm)
|
|
|
|
+ (*district)[s_vv] = d_mm
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
// 把用户挂在词下面
|
|
// 把用户挂在词下面
|
|
func (u *UserInfo) MakeKeyUser(keys []string, key_user *map[string]*[]*UserInfo) {
|
|
func (u *UserInfo) MakeKeyUser(keys []string, key_user *map[string]*[]*UserInfo) {
|
|
mp := map[string]bool{}
|
|
mp := map[string]bool{}
|