ip.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package http
  2. import (
  3. "encoding/base64"
  4. "strconv"
  5. "time"
  6. "go-common/app/interface/main/app-wall/model"
  7. "go-common/library/ecode"
  8. log "go-common/library/log"
  9. bm "go-common/library/net/http/blademaster"
  10. "go-common/library/net/metadata"
  11. )
  12. func userOperatorIP(c *bm.Context) {
  13. res := map[string]interface{}{}
  14. params := c.Request.Form
  15. usermob := params.Get("usermob")
  16. operator := params.Get("operator")
  17. mobiApp := params.Get("mobi_app")
  18. buildStr := params.Get("build")
  19. build, _ := strconv.Atoi(buildStr)
  20. if operator == "" {
  21. c.JSON(nil, ecode.RequestErr)
  22. return
  23. }
  24. ipStr := metadata.String(c, metadata.RemoteIP)
  25. ip := model.InetAtoN(ipStr)
  26. switch operator {
  27. case "unicom":
  28. res["data"] = unicomSvc.UserUnciomIP(ip, ipStr, usermob, mobiApp, build, time.Now())
  29. case "mobile":
  30. res["data"] = mobileSvc.IsMobileIP(ip, ipStr, usermob)
  31. default:
  32. c.JSON(nil, ecode.RequestErr)
  33. return
  34. }
  35. returnDataJSON(c, res, nil)
  36. }
  37. func mOperatorIP(c *bm.Context) {
  38. res := map[string]interface{}{}
  39. params := c.Request.Form
  40. usermob := params.Get("usermob")
  41. operator := params.Get("operator")
  42. ipStr := params.Get("ip")
  43. ip := model.InetAtoN(ipStr)
  44. switch operator {
  45. case "unicom":
  46. var usermobStr string
  47. if usermob != "" {
  48. var (
  49. _aesKey = []byte("9ed226d9")
  50. )
  51. bs, err := base64.StdEncoding.DecodeString(usermob)
  52. if err != nil {
  53. log.Error("base64.StdEncoding.DecodeString(%s) error(%v)", usermob, err)
  54. c.JSON(nil, ecode.RequestErr)
  55. return
  56. }
  57. bs, err = unicomSvc.DesDecrypt(bs, _aesKey)
  58. if err != nil {
  59. log.Error("unicomSvc.DesDecrypt error(%v)", err)
  60. c.JSON(nil, ecode.RequestErr)
  61. return
  62. }
  63. if len(bs) > 32 {
  64. usermobStr = string(bs[:32])
  65. } else {
  66. usermobStr = string(bs)
  67. }
  68. }
  69. res["data"] = unicomSvc.UserUnciomIP(ip, ipStr, usermobStr, "missevan", 0, time.Now())
  70. case "mobile":
  71. res["data"] = mobileSvc.IsMobileIP(ip, ipStr, usermob)
  72. default:
  73. c.JSON(nil, ecode.RequestErr)
  74. return
  75. }
  76. returnDataJSON(c, res, nil)
  77. }