qqwry.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package qqwry
  2. import (
  3. "flag"
  4. "strings"
  5. "time"
  6. "bet24.com/log"
  7. //"bet24.com/servers/coreservice/shop"
  8. )
  9. var mgr QQwry
  10. func Run() {
  11. datFile := flag.String("qqwry", "fishconf/qqwry.dat", "纯真 IP 库的地址")
  12. flag.Parse()
  13. IPData.FilePath = *datFile
  14. startTime := time.Now().UnixNano()
  15. res := IPData.InitIPData()
  16. if v, ok := res.(error); ok {
  17. log.Debug("%v", v)
  18. }
  19. mgr = NewQQwry()
  20. endTime := time.Now().UnixNano()
  21. log.Release("IP 库加载完成 共加载:%d 条 IP 记录, 耗时:%.1f ms\n", IPData.IPNum, float64(endTime-startTime)/1000000)
  22. }
  23. // findIP 查找 IP 地址的接口
  24. func FindIP(ip string) *ResultQQwry {
  25. if ip == "" {
  26. log.Error("请填写 IP 地址")
  27. return nil
  28. }
  29. rs := mgr.Find(ip)
  30. return &rs
  31. }
  32. // findIP 查找 IP 地址的接口
  33. func FindIPMore(ip string) []ResultQQwry {
  34. var rs []ResultQQwry
  35. if ip == "" {
  36. log.Error("请填写 IP 地址")
  37. return rs
  38. }
  39. ips := strings.Split(ip, ",")
  40. if len(ips) > 0 {
  41. for _, v := range ips {
  42. rs = append(rs, mgr.Find(v))
  43. }
  44. }
  45. log.Debug("%v", rs)
  46. return rs
  47. }
  48. // 根据ip获取币种
  49. /*
  50. func GetCurrency(ip string) string {
  51. currency := "SAR"
  52. if ip == "" || ip == "127.0.0.1" {
  53. return currency
  54. }
  55. info := FindIP(ip)
  56. if info == nil {
  57. return currency
  58. }
  59. list := shop.GetExchangeRateList()
  60. for _, v := range list {
  61. if strings.Contains(info.Country, v.CountryName) {
  62. return v.Currency
  63. }
  64. }
  65. return currency
  66. }
  67. */