12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package servers
- import (
- . "app.yhyue.com/moapp/jybase/api"
- util "app.yhyue.com/moapp/jybase/common"
- "app.yhyue.com/moapp/jybase/go-xweb/xweb"
- "app.yhyue.com/moapp/jybase/redis"
- "fmt"
- "jy-docs/public"
- "log"
- )
- type Ad struct {
- *xweb.Action
- ad xweb.Mapper `xweb:"/getAdvertisement"` //广告位图片
- }
- func (ad *Ad) Ad() {
- rData, errMsg := func() (interface{}, error) {
- var i_num int = -1
- s_code := ad.GetString("code") //广告位代码
- if i_num_req, err := ad.GetInteger("num"); err == nil { //数量 -1取一个
- i_num = i_num_req
- }
- obj := redis.Get("other", "ad_"+s_code)
- if obj != nil {
- return util.ObjArrToMapArr(obj.([]interface{})), nil
- } else {
- f := ""
- if i_num > -1 {
- f = `{"a_son":{"$slice":[0,` + fmt.Sprintf("%d", i_num) + `]}}`
- } else {
- f = `{"a_son":1}`
- }
- res, ok := public.MQFW.FindOneByField("ad", `{"s_code":"`+s_code+`"}`, f)
- if ok && res != nil && (*res)["a_son"] != nil {
- son := (*res)["a_son"].([]interface{})
- resmap := util.ObjArrToMapArr(son)
- redis.PutCKV("other", "ad_"+s_code, resmap)
- return resmap, nil
- }
- }
- return nil, nil
- }()
- if errMsg != nil {
- log.Printf("Ad err:%s\n", errMsg.Error())
- }
- ad.ServeJson(NewResult(rData, errMsg))
- }
|