|
@@ -124,10 +124,16 @@ func ContentRecommendation() []KeyType {
|
|
|
return data
|
|
|
}
|
|
|
|
|
|
+type Signal struct {
|
|
|
+ Name string `json:"name"`
|
|
|
+ Url string `json:"url"`
|
|
|
+ Data []map[string]interface{} `json:"data"`
|
|
|
+}
|
|
|
+
|
|
|
// 推荐标讯
|
|
|
-func RecommendationBeacon() map[string]interface{} {
|
|
|
+func RecommendationBeacon() []Signal {
|
|
|
if bytes, err := redis.GetBytes(RedisNameNew, "recommendationBeacon"); err == nil && bytes != nil {
|
|
|
- rData := make(map[string]interface{})
|
|
|
+ var rData []Signal
|
|
|
log.Println()
|
|
|
if err := json.Unmarshal(*bytes, &rData); err != nil {
|
|
|
log.Printf("[MANAGER-ERR]recommendationBeacon GetData Error %v \n", err)
|
|
@@ -135,10 +141,11 @@ func RecommendationBeacon() map[string]interface{} {
|
|
|
}
|
|
|
return rData
|
|
|
}
|
|
|
- data := make(map[string]interface{})
|
|
|
+
|
|
|
sy := sync.RWMutex{}
|
|
|
wg := sync.WaitGroup{}
|
|
|
- for _, v := range []string{"招标预告,招标公告,招标结果,招标信用信息"} {
|
|
|
+ var data []Signal
|
|
|
+ for _, v := range []string{"招标预告", "招标公告", "招标结果", "招标信用信息"} {
|
|
|
wg.Add(1)
|
|
|
go func(vst string) {
|
|
|
defer wg.Done()
|
|
@@ -159,8 +166,12 @@ func RecommendationBeacon() map[string]interface{} {
|
|
|
}
|
|
|
list = *lists
|
|
|
}
|
|
|
+ var d Signal
|
|
|
+ d.Name = vst
|
|
|
+ d.Url = fmt.Sprintf("/jylab/supsearch/index.html?toptype=%s", vst)
|
|
|
+ d.Data = list
|
|
|
sy.Lock()
|
|
|
- data[vst] = list
|
|
|
+ data = append(data, d)
|
|
|
sy.Unlock()
|
|
|
}(v)
|
|
|
}
|