|
@@ -24,8 +24,6 @@ type PcIndex struct {
|
|
|
*xweb.Action
|
|
|
newSordfish xweb.Mapper `xweb:"/"` //剑鱼标讯pc首页
|
|
|
newSordfishC xweb.Mapper `xweb:"/pcindex.html"` //剑鱼标讯pc首页-统计
|
|
|
- newBlog xweb.Mapper `xweb:"/newBlog"` //最新资讯
|
|
|
- newArticle xweb.Mapper `xweb:"/newArticle"` //最新公告信息
|
|
|
searchResult xweb.Mapper `xweb:"/list/(\\w+)/(\\w+).html"` //剑鱼标讯分类 地区结果列表
|
|
|
labelUrl xweb.Mapper `xweb:"/index/labelUrl"` //首页链接跳转地址
|
|
|
}
|
|
@@ -55,16 +53,25 @@ func (m *PcIndex) NewSordfish() error {
|
|
|
m.T["avatar"] = util.ObjToString(m.GetSession("s_avatar"))
|
|
|
return m.Render("/pc/mobileindex.html", &m.T)
|
|
|
} else {
|
|
|
- if ret := redis.Get("other", "jypcindex"); ret != nil {
|
|
|
- return m.SetBody([]byte(ret.(string)))
|
|
|
- } else {
|
|
|
- m.T["live_Preheat_Start"] = config.ActiveConfig.Live_Preheat_Start
|
|
|
- m.T["live_Active_End"] = config.ActiveConfig.Live_Active_End
|
|
|
- content, _ := m.Render4Cache("/pc/index.html", &m.T)
|
|
|
- // content, _ := m.Render4Cache("/frontRouter/pc/squeeze/sess/test.html", &m.T)
|
|
|
- redis.Put("other", "jypcindex", string(content), 60*60*2)
|
|
|
- return m.SetBody(content)
|
|
|
+ // if ret := redis.Get("other", "jypcindex"); ret != nil {
|
|
|
+ // return m.SetBody([]byte(ret.(string)))
|
|
|
+ // } else {
|
|
|
+ m.T["live_Preheat_Start"] = config.ActiveConfig.Live_Preheat_Start
|
|
|
+ m.T["live_Active_End"] = config.ActiveConfig.Live_Active_End
|
|
|
+ //最新资讯
|
|
|
+ m.T["blog"] = GetNewBlog()
|
|
|
+ //最新公告信息
|
|
|
+ for _, v := range []int{1, 2, 3, 4} { //1拟建 2招标预告 3招标公告 4招标结果
|
|
|
+ m.T[fmt.Sprintf("newArticle_%d", v)] = GetNewArticle(v)
|
|
|
+ }
|
|
|
+ //前端需要跳转的路由
|
|
|
+ for _, v := range []int{1, 2, 3} {
|
|
|
+ m.T[fmt.Sprintf("labUrl_%d", v)] = GetLabUrl(v) //1地域 2信息类型 3热门招标
|
|
|
}
|
|
|
+ content, _ := m.Render4Cache("/pc/index.html", &m.T)
|
|
|
+ //redis.Put("other", "jypcindex", string(content), 60*60*2)
|
|
|
+ return m.SetBody(content)
|
|
|
+ // }
|
|
|
}
|
|
|
return m.Render("/pc/index.html", &m.T)
|
|
|
}
|
|
@@ -89,76 +96,104 @@ func (m *PcIndex) NewSordfishC() error {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//首页资讯(博客)
|
|
|
-func (p *PcIndex) NewBlog() {
|
|
|
- d := func() (r *[]map[string]interface{}) {
|
|
|
- rediskey := "pcindex_blog"
|
|
|
- if data, ok := redis.Get("other", rediskey).(*[]map[string]interface{}); ok && data != nil && len(*data) > 0 {
|
|
|
- r = data
|
|
|
- } else {
|
|
|
- r, _ = SearhWebContentblog(map[string]string{
|
|
|
- "contentType": "jybk",
|
|
|
- })
|
|
|
- if r != nil && len(*r) > 4 {
|
|
|
- *r = (*r)[0:5]
|
|
|
- for _, v := range *r {
|
|
|
- delete(v, "praise")
|
|
|
- delete(v, "s_contenttype")
|
|
|
- delete(v, "s_source")
|
|
|
- }
|
|
|
+//首页资讯
|
|
|
+func GetNewBlog() (r *[]map[string]interface{}) {
|
|
|
+ rediskey := "pcindex_blog"
|
|
|
+ if data, ok := redis.Get("other", rediskey).(*[]map[string]interface{}); ok && data != nil && len(*data) > 0 {
|
|
|
+ r = data
|
|
|
+ } else {
|
|
|
+ r, _ = SearhWebContentblog(map[string]string{
|
|
|
+ "contentType": "jybk",
|
|
|
+ })
|
|
|
+ if r != nil && len(*r) > 4 {
|
|
|
+ *r = (*r)[0:5]
|
|
|
+ for _, v := range *r {
|
|
|
+ delete(v, "praise")
|
|
|
+ delete(v, "s_contenttype")
|
|
|
+ delete(v, "s_source")
|
|
|
}
|
|
|
- redis.Put("other", rediskey, r, 24*60*60)
|
|
|
}
|
|
|
- return r
|
|
|
- }()
|
|
|
- p.ServeJson(map[string]interface{}{
|
|
|
- "data": d,
|
|
|
- })
|
|
|
+ redis.Put("other", rediskey, r, 24*60*60)
|
|
|
+ }
|
|
|
+ return r
|
|
|
}
|
|
|
|
|
|
//最新公告信息
|
|
|
-func (p *PcIndex) NewArticle() {
|
|
|
- data := func() (list []map[string]interface{}) {
|
|
|
- typ, _ := p.GetInteger("typ")
|
|
|
- if typ == 0 {
|
|
|
- typ = 1
|
|
|
+func GetNewArticle(typ int) (list []map[string]interface{}) {
|
|
|
+ if typ == 0 {
|
|
|
+ typ = 1
|
|
|
+ }
|
|
|
+ rediskey := fmt.Sprintf("pcindex_newArticle_%d", typ)
|
|
|
+ subtype := ""
|
|
|
+ switch typ {
|
|
|
+ case 1:
|
|
|
+ //拟建
|
|
|
+ subtype = "拟建"
|
|
|
+ case 2:
|
|
|
+ //招标预告
|
|
|
+ subtype = "预告"
|
|
|
+ case 3:
|
|
|
+ //招标公告
|
|
|
+ subtype = "招标,邀标,询价,竞谈,单一,竞价,变更,其他"
|
|
|
+ case 4:
|
|
|
+ //招标结果
|
|
|
+ subtype = "中标,成交,废标,流标"
|
|
|
+ }
|
|
|
+ if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
|
|
|
+ list = util.ObjArrToMapArr(l)
|
|
|
+ } else {
|
|
|
+ _, _, lists := getBidSearchData("", "", "", subtype, "", "", "", 1, false, "", "")
|
|
|
+ if lists != nil && len(*lists) > 5 {
|
|
|
+ *lists = (*lists)[0:6]
|
|
|
+ for _, v := range *lists {
|
|
|
+ v["_id"] = util.EncodeArticleId2ByCheck(v["_id"].(string))
|
|
|
+ delete(v, "toptype")
|
|
|
+ delete(v, "s_subscopeclass")
|
|
|
+ }
|
|
|
+ list = *lists
|
|
|
+ redis.Put("other", rediskey, list, 2*60*60)
|
|
|
}
|
|
|
- rediskey := fmt.Sprintf("pcindex_newArticle_%d", typ)
|
|
|
- subtype := ""
|
|
|
- switch typ {
|
|
|
- case 1:
|
|
|
- //拟建
|
|
|
- subtype = "拟建"
|
|
|
- case 2:
|
|
|
- //招标预告
|
|
|
- subtype = "预告"
|
|
|
- case 3:
|
|
|
- //招标公告
|
|
|
- subtype = "招标,邀标,询价,竞谈,单一,竞价,变更,其他"
|
|
|
- case 4:
|
|
|
- //招标结果
|
|
|
- subtype = "中标,成交,废标,流标"
|
|
|
+ }
|
|
|
+ return list
|
|
|
+}
|
|
|
+
|
|
|
+//前端跳转地址
|
|
|
+func GetLabUrl(typ int) interface{} {
|
|
|
+ if typ == 1 { //地区
|
|
|
+ m := map[string][]map[string]interface{}{}
|
|
|
+ cityMap := getCityMap()
|
|
|
+ r := public.PushMysql.SelectBySql(`select a.name province,b.name city from
|
|
|
+(select name,cid from province where level =1) a left join province b on a.cid =b.pid`)
|
|
|
+ if r != nil && len(*r) > 0 {
|
|
|
+ for _, v := range *r {
|
|
|
+ province := util.ObjToString(v["province"])
|
|
|
+ city := util.ObjToString(v["city"])
|
|
|
+ m[province] = append(m[province], map[string]interface{}{
|
|
|
+ "city": city,
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
- if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
|
|
|
- list = util.ObjArrToMapArr(l)
|
|
|
- } else {
|
|
|
- _, _, lists := getBidSearchData("", "", "", subtype, "", "", "", 1, false, "", "")
|
|
|
- if lists != nil && len(*lists) > 5 {
|
|
|
- *lists = (*lists)[0:6]
|
|
|
- for _, v := range *lists {
|
|
|
- v["_id"] = util.EncodeArticleId2ByCheck(v["_id"].(string))
|
|
|
- delete(v, "toptype")
|
|
|
- delete(v, "s_subscopeclass")
|
|
|
- }
|
|
|
- list = *lists
|
|
|
- redis.Put("other", rediskey, list, 2*60*60)
|
|
|
+ for _, vv := range m {
|
|
|
+ for _, vvv := range vv {
|
|
|
+ city := util.ObjToString(vvv["city"])
|
|
|
+ vvv["url"] = fmt.Sprintf("/list/city/%s.html", cityMap[city])
|
|
|
}
|
|
|
}
|
|
|
- return list
|
|
|
- }()
|
|
|
- p.ServeJson(map[string]interface{}{
|
|
|
- "list": data,
|
|
|
- })
|
|
|
+ return m
|
|
|
+ } else if typ == 2 { //信息类型
|
|
|
+ stypeMap := getstypeMap()
|
|
|
+ for _, v := range stypeMap {
|
|
|
+ // stypeMap[k] = fmt.Sprintf("/list/stype/%s.html", v)
|
|
|
+ for _, vv := range v {
|
|
|
+ vv["url"] = fmt.Sprintf("/list/stype/%s.html", vv["url"])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return stypeMap
|
|
|
+ } else if typ == 3 { //热门招标
|
|
|
+ keysMap := getkeysMap()
|
|
|
+ return keysMap
|
|
|
+ }
|
|
|
+ return nil
|
|
|
}
|
|
|
|
|
|
//标签查询
|