123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package http
- import (
- "net/url"
- "strconv"
- pushmdl "go-common/app/service/main/push/model"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- )
- const (
- timeZoneMin = -12
- timeZoneMax = 14
- )
- func report(c *bm.Context) {
- var (
- mid int64
- params = c.Request.Form
- )
- midItf, _ := c.Get("mid")
- if midItf != nil {
- mid = midItf.(int64)
- }
- platform := params.Get("mobi_app")
- if platform == "" {
- c.JSON(nil, ecode.RequestErr)
- log.Warn("mobi_app is empty")
- return
- }
- buvid := params.Get("buvid")
- if buvid == "" {
- c.JSON(nil, ecode.RequestErr)
- log.Warn("buvid is empty")
- return
- }
- dt := params.Get("device_token")
- build, _ := strconv.Atoi(params.Get("build"))
- if build < 1 {
- c.JSON(nil, ecode.RequestErr)
- log.Warn("build is wrong: %s", params.Get("build"))
- return
- }
- pushSDK, _ := strconv.Atoi(params.Get("push_sdk"))
- platformID := pushmdl.Platform(platform, pushSDK)
- if platformID == pushmdl.PlatformUnknown {
- c.JSON(nil, ecode.RequestErr)
- log.Warn("push_sdk is wrong: %s", params.Get("push_sdk"))
- return
- }
- tm, _ := strconv.Atoi(params.Get("time_zone"))
- if tm < timeZoneMin || tm > timeZoneMax {
- c.JSON(nil, ecode.RequestErr)
- log.Warn("time_zone is wrong: %s", params.Get("time_zone"))
- return
- }
- ns, _ := strconv.Atoi(params.Get("notify_switch"))
- if ns != 0 && ns != 1 {
- c.JSON(nil, ecode.RequestErr)
- log.Warn("notify_switch is wrong: %s", params.Get("notify_switch"))
- return
- }
- // tp, _ := strconv.Atoi(params.Get("type"))
- appID, _ := strconv.ParseInt(params.Get("app_id"), 10, 64)
- if appID == 0 {
- appID = pushmdl.APPIDBBPhone
- }
- deviceBrand, _ := url.QueryUnescape(params.Get("mobile_brand"))
- deviceModel, _ := url.QueryUnescape(params.Get("mobile_model"))
- osVersion, _ := url.QueryUnescape(params.Get("mobile_version"))
- r := &pushmdl.Report{
- APPID: appID,
- PlatformID: platformID,
- Mid: mid,
- Buvid: buvid,
- DeviceToken: dt,
- Build: build,
- TimeZone: tm,
- NotifySwitch: ns,
- DeviceBrand: deviceBrand,
- DeviceModel: deviceModel,
- OSVersion: osVersion,
- }
- if dt == "" {
- log.Warn("device_token is empty(%+v)", r)
- c.JSON(nil, nil) // iOS可能取不到device token
- return
- }
- c.JSON(nil, pushSrv.PubReport(c, r))
- }
- func reportOld(ctx *bm.Context) {
- var params = ctx.Request.Form
- buvid := params.Get("buvid")
- if buvid == "" {
- log.Warn("buvid is empty")
- ctx.JSON(nil, nil)
- return
- }
- token := params.Get("device_token")
- if token == "" {
- log.Warn("device_token is empty")
- ctx.JSON(nil, nil)
- return
- }
- ma := params.Get("mobi_app")
- if ma != "" && ma != "android" && ma != "iphone" && ma != "ipad" {
- log.Warn("invalid mobi_app(%s)", ma)
- ctx.JSON(nil, nil)
- return
- }
- mid, _ := strconv.ParseInt(params.Get("mid"), 10, 64)
- pid, _ := strconv.Atoi(params.Get("pid"))
- timezone, _ := strconv.Atoi(params.Get("time_zone"))
- version := params.Get("ver")
- ctx.JSON(nil, pushSrv.ReportOld(ctx, token, buvid, version, mid, pid, timezone))
- }
|