123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package http
- import (
- "strconv"
- "time"
- "go-common/app/interface/main/web/model"
- "go-common/library/ecode"
- "go-common/library/log/infoc"
- bm "go-common/library/net/http/blademaster"
- )
- func coins(c *bm.Context) {
- var (
- mid, aid int64
- err error
- )
- params := c.Request.Form
- midStr, _ := c.Get("mid")
- mid = midStr.(int64)
- aidStr := params.Get("aid")
- if aid, err = strconv.ParseInt(aidStr, 10, 64); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- c.JSON(webSvc.Coins(c, mid, aid))
- }
- func addCoin(c *bm.Context) {
- var (
- mid, aid, multiply int64
- err error
- like bool
- actLike = "cointolike"
- )
- params := c.Request.Form
- aidStr := params.Get("aid")
- multiStr := params.Get("multiply")
- avTypeStr := params.Get("avtype")
- business := params.Get("business")
- upIDStr := params.Get("upid")
- selectLikeStr := params.Get("select_like")
- selectLike, _ := strconv.Atoi(selectLikeStr)
- midStr, _ := c.Get("mid")
- mid = midStr.(int64)
- ck := c.Request.Header.Get("Cookie")
- if aid, err = strconv.ParseInt(aidStr, 10, 64); err != nil || aid <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if multiply, err = strconv.ParseInt(multiStr, 10, 64); err != nil || multiply <= 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- upID, _ := strconv.ParseInt(upIDStr, 10, 64)
- avtype, _ := strconv.ParseInt(avTypeStr, 10, 64)
- if avtype == 0 {
- avtype = model.CoinAddArcType
- }
- if avtype != model.CoinAddArcType && avtype != model.CoinAddArtType {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if avtype == model.CoinAddArtType && upID == 0 {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if business != "" {
- if business == model.CoinArcBusiness {
- avtype = model.CoinAddArcType
- } else if business == model.CoinArtBusiness {
- avtype = model.CoinAddArtType
- } else {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- } else {
- switch avtype {
- case model.CoinAddArcType:
- business = model.CoinArcBusiness
- case model.CoinAddArtType:
- business = model.CoinArtBusiness
- default:
- c.JSON(nil, ecode.RequestErr)
- return
- }
- }
- ua := c.Request.UserAgent()
- refer := c.Request.Referer()
- if like, err = webSvc.AddCoin(c, aid, mid, upID, multiply, avtype, business, ck, ua, refer, time.Now(), selectLike); err == nil {
- if webSvc.CheatInfoc != nil {
- itemType := infoc.ItemTypeAv
- if avtype == model.CoinAddArtType {
- itemType = "article"
- }
- webSvc.CheatInfoc.InfoAntiCheat2(c, strconv.FormatInt(upID, 10), strconv.FormatInt(aid, 10), strconv.FormatInt(mid, 10), strconv.FormatInt(aid, 10), itemType, "coin", "")
- if like {
- webSvc.CheatInfoc.InfoAntiCheat2(c, strconv.FormatInt(upID, 10), strconv.FormatInt(aid, 10), strconv.FormatInt(mid, 10), strconv.FormatInt(aid, 10), "av", actLike, "")
- }
- }
- }
- c.JSON(struct {
- Like bool `json:"like"`
- }{Like: like}, err)
- }
- func coinExp(c *bm.Context) {
- midStr, _ := c.Get("mid")
- mid := midStr.(int64)
- c.JSON(webSvc.CoinExp(c, mid))
- }
- func coinList(c *bm.Context) {
- var (
- ls []*model.CoinArc
- count int
- err error
- )
- v := new(struct {
- Mid int64 `form:"mid" validate:"min=1"`
- Pn int `form:"pn" default:"1" validate:"min=1"`
- Ps int `form:"ps" default:"20" validate:"min=1"`
- })
- if err = c.Bind(v); err != nil {
- return
- }
- if ls, count, err = webSvc.CoinList(c, v.Mid, v.Pn, v.Ps); err != nil {
- c.JSON(nil, err)
- return
- }
- c.JSONMap(map[string]interface{}{
- "count": count,
- "data": ls,
- }, err)
- }
|