82 lines
2.0 KiB
Go
82 lines
2.0 KiB
Go
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)
|
|
}
|