|
@@ -9,6 +9,7 @@ import (
|
|
"math/rand"
|
|
"math/rand"
|
|
"qfw/util"
|
|
"qfw/util"
|
|
"qfw/util/bidsearch"
|
|
"qfw/util/bidsearch"
|
|
|
|
+ "qfw/util/elastic"
|
|
"qfw/util/jy"
|
|
"qfw/util/jy"
|
|
"qfw/util/redis"
|
|
"qfw/util/redis"
|
|
"strconv"
|
|
"strconv"
|
|
@@ -393,53 +394,97 @@ func Newbids(p string) []interface{} {
|
|
if len(p) > 0 {
|
|
if len(p) > 0 {
|
|
subtype = "拟建"
|
|
subtype = "拟建"
|
|
}
|
|
}
|
|
- intns := make([]int, 0)
|
|
|
|
- for i := 0; i < 10; i++ {
|
|
|
|
- if len(intns) == 0 {
|
|
|
|
- // intns = append(intns, rand.Intn(100))
|
|
|
|
- intns = append(intns, 0)
|
|
|
|
- } else {
|
|
|
|
- for {
|
|
|
|
- v := rand.Intn(intns[(i-1)] + 100)
|
|
|
|
- if v-intns[(i-1)] >= 30 {
|
|
|
|
- intns = append(intns, v)
|
|
|
|
- break
|
|
|
|
|
|
+ //查询置顶信息
|
|
|
|
+ var ss []map[string]interface{}
|
|
|
|
+ ls := top500(subtype)
|
|
|
|
+ if ls != nil && len(*ls) > 0 {
|
|
|
|
+ ss = append(ss, *ls...)
|
|
|
|
+ }
|
|
|
|
+ //pages = append(pages, ls)
|
|
|
|
+ if ls == nil || len(*ls) < 500 {
|
|
|
|
+ intns := make([]int, 0)
|
|
|
|
+ for i := 0; i < 10; i++ {
|
|
|
|
+ if len(intns) == 0 {
|
|
|
|
+ intns = append(intns, rand.Intn(100))
|
|
|
|
+ //intns = append(intns, 0)
|
|
|
|
+ } else {
|
|
|
|
+ for {
|
|
|
|
+ v := rand.Intn(intns[(i-1)] + 100)
|
|
|
|
+ if v-intns[(i-1)] > 50 {
|
|
|
|
+ intns = append(intns, v)
|
|
|
|
+ break
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ for i := 0; i < 10; i++ {
|
|
|
|
+ _, list = getLastNewsData("", "", "", "", subtype, "", "", "", "", "", "", "", "Y", intns[i], true, false, "")
|
|
|
|
+ ss = append(ss, *list...)
|
|
|
|
+ // pages = append(pages, list)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ data := duplicateRemoval(ss)
|
|
for i := 0; i < 10; i++ {
|
|
for i := 0; i < 10; i++ {
|
|
- _, list = getLastNewsData("", "", "", "", subtype, "", "", "", "", "", "", "", "Y", intns[i], true, false, "")
|
|
|
|
- for k, v := range *list {
|
|
|
|
- v["k"] = (k + 1) + i*50
|
|
|
|
- t := time.Unix(util.Int64All(v["publishtime"]), 0)
|
|
|
|
- v["timetemp"] = fmt.Sprint(util.Int64All(v["publishtime"]))
|
|
|
|
- v["_id"] = util.EncodeArticleId2ByCheck(util.InterfaceToStr(v["_id"]))
|
|
|
|
- v["time"] = util.TimeDiff(t)
|
|
|
|
- var stp = ""
|
|
|
|
- if v["subtype"] != nil {
|
|
|
|
- stp, _ = v["subtype"].(string)
|
|
|
|
- } else {
|
|
|
|
- stp = ""
|
|
|
|
- }
|
|
|
|
- if stp == "" && v["toptype"] != nil {
|
|
|
|
- stp, _ = v["toptype"].(string)
|
|
|
|
- }
|
|
|
|
- area, _ := v["area"].(string)
|
|
|
|
- indtry := util.ObjToString(v["industry"])
|
|
|
|
- v["stypeadd"], v["areaadd"], v["indadd"] = classify(stp, area, indtry)
|
|
|
|
- if v["filetext"] != nil {
|
|
|
|
- delete(v, "filetext")
|
|
|
|
- v["fileExists"] = true
|
|
|
|
- }
|
|
|
|
|
|
+ sta := i * 50
|
|
|
|
+ end := i*50 + 50
|
|
|
|
+ if end > len(data) {
|
|
|
|
+ pages = append(pages, data[end:])
|
|
|
|
+ break
|
|
}
|
|
}
|
|
- pages = append(pages, list)
|
|
|
|
|
|
+ pages = append(pages, data[sta:end])
|
|
}
|
|
}
|
|
redis.Put("other", "index_list"+p, pages, 60*60*24*2)
|
|
redis.Put("other", "index_list"+p, pages, 60*60*24*2)
|
|
pages, _ = redis.Get("other", "index_list"+p).([]interface{})
|
|
pages, _ = redis.Get("other", "index_list"+p).([]interface{})
|
|
}
|
|
}
|
|
return pages
|
|
return pages
|
|
}
|
|
}
|
|
|
|
+func duplicateRemoval(ss []map[string]interface{}) []map[string]interface{} {
|
|
|
|
+ d := make(map[string]interface{})
|
|
|
|
+ data := []map[string]interface{}{}
|
|
|
|
+ for _, v := range ss {
|
|
|
|
+ id := util.InterfaceToStr(v["_id"])
|
|
|
|
+ if _, ok := d[id]; ok || id == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ t := time.Unix(util.Int64All(v["publishtime"]), 0)
|
|
|
|
+ v["timetemp"] = fmt.Sprint(util.Int64All(v["publishtime"]))
|
|
|
|
+ v["_id"] = util.EncodeArticleId2ByCheck(id)
|
|
|
|
+ v["time"] = util.TimeDiff(t)
|
|
|
|
+ var stp = ""
|
|
|
|
+ if v["subtype"] != nil {
|
|
|
|
+ stp, _ = v["subtype"].(string)
|
|
|
|
+ } else {
|
|
|
|
+ stp = ""
|
|
|
|
+ }
|
|
|
|
+ if stp == "" && v["toptype"] != nil {
|
|
|
|
+ stp, _ = v["toptype"].(string)
|
|
|
|
+ }
|
|
|
|
+ area, _ := v["area"].(string)
|
|
|
|
+ indtry := util.ObjToString(v["industry"])
|
|
|
|
+ v["stypeadd"], v["areaadd"], v["indadd"] = classify(stp, area, indtry)
|
|
|
|
+ if v["filetext"] != nil {
|
|
|
|
+ delete(v, "filetext")
|
|
|
|
+ v["fileExists"] = true
|
|
|
|
+ }
|
|
|
|
+ if _, ok := d[id]; ok {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ d[id] = true
|
|
|
|
+ v["k"] = util.IntAll(v["k"]) + 1
|
|
|
|
+ data = append(data, v)
|
|
|
|
+ }
|
|
|
|
+ return data
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func top500(industry string) (list *[]map[string]interface{}) {
|
|
|
|
+ qstr := `{"query": {"bool": {"should": [{"term": {"dataweight": 1}}]}}}`
|
|
|
|
+ repl := elastic.GetAllByNgram(INDEX, TYPE, qstr, `"title"`, `{"publishtime":-1}`, bidSearch_field, 0, 500, 115, false)
|
|
|
|
+ if repl != nil && *repl != nil && len(*repl) > 0 {
|
|
|
|
+ public.BidListConvert(industry, repl)
|
|
|
|
+ list = repl
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+}
|
|
|
|
|
|
//二维码图片
|
|
//二维码图片
|
|
func (p *Pcsearch) Qr(t string) error {
|
|
func (p *Pcsearch) Qr(t string) error {
|