You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.0 KiB
81 lines
2.0 KiB
package http |
|
|
|
import ( |
|
"encoding/base64" |
|
"strconv" |
|
"time" |
|
|
|
"go-common/app/interface/main/app-wall/model" |
|
"go-common/library/ecode" |
|
log "go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/net/metadata" |
|
) |
|
|
|
func userOperatorIP(c *bm.Context) { |
|
res := map[string]interface{}{} |
|
params := c.Request.Form |
|
usermob := params.Get("usermob") |
|
operator := params.Get("operator") |
|
mobiApp := params.Get("mobi_app") |
|
buildStr := params.Get("build") |
|
build, _ := strconv.Atoi(buildStr) |
|
if operator == "" { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
ipStr := metadata.String(c, metadata.RemoteIP) |
|
ip := model.InetAtoN(ipStr) |
|
switch operator { |
|
case "unicom": |
|
res["data"] = unicomSvc.UserUnciomIP(ip, ipStr, usermob, mobiApp, build, time.Now()) |
|
case "mobile": |
|
res["data"] = mobileSvc.IsMobileIP(ip, ipStr, usermob) |
|
default: |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
returnDataJSON(c, res, nil) |
|
} |
|
|
|
func mOperatorIP(c *bm.Context) { |
|
res := map[string]interface{}{} |
|
params := c.Request.Form |
|
usermob := params.Get("usermob") |
|
operator := params.Get("operator") |
|
ipStr := params.Get("ip") |
|
ip := model.InetAtoN(ipStr) |
|
switch operator { |
|
case "unicom": |
|
var usermobStr string |
|
if usermob != "" { |
|
var ( |
|
_aesKey = []byte("9ed226d9") |
|
) |
|
bs, err := base64.StdEncoding.DecodeString(usermob) |
|
if err != nil { |
|
log.Error("base64.StdEncoding.DecodeString(%s) error(%v)", usermob, err) |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
bs, err = unicomSvc.DesDecrypt(bs, _aesKey) |
|
if err != nil { |
|
log.Error("unicomSvc.DesDecrypt error(%v)", err) |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if len(bs) > 32 { |
|
usermobStr = string(bs[:32]) |
|
} else { |
|
usermobStr = string(bs) |
|
} |
|
} |
|
res["data"] = unicomSvc.UserUnciomIP(ip, ipStr, usermobStr, "missevan", 0, time.Now()) |
|
case "mobile": |
|
res["data"] = mobileSvc.IsMobileIP(ip, ipStr, usermob) |
|
default: |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
returnDataJSON(c, res, nil) |
|
}
|
|
|