diff --git a/pkg/service/account/account.go b/pkg/service/account/account.go index 51b5a19..cd09f04 100644 --- a/pkg/service/account/account.go +++ b/pkg/service/account/account.go @@ -2,18 +2,14 @@ package account import ( "context" - "errors" "fmt" "fonchain-fiee/api/account" - "fonchain-fiee/pkg/cache" "fonchain-fiee/pkg/e" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/model/union" "fonchain-fiee/pkg/service" "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" - "github.com/go-redis/redis" - "time" ) func UserApproval(c *gin.Context) { @@ -74,45 +70,46 @@ func SendMsg(c *gin.Context) { if req.Zone != e.ZoneCn && req.Zone != "" { // ============================== redis检查ip开始 ip := c.ClientIP() - daykey := "day_sms_limit:" + ip - minutekey := "minute_sms_limit:" + ip - duration := time.Second - isBlacklisted, blackErr := cache.RedisClient.SIsMember("nation_sms_blacklist", ip).Result() - if blackErr != nil { - service.Error(c, errors.New("Redis error")) - return - } - if isBlacklisted { - fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) - service.Success(c, "succes!!") - return - } - - // 一分钟5次,一天30次 - if dayCount, redisErr := cache.RedisClient.Get(daykey).Int(); redisErr == redis.Nil { - cache.RedisClient.Set(daykey, 1, 24*time.Hour) - } else if redisErr != nil { - service.Error(c, errors.New("Redis error")) - return - } else if dayCount >= 30 { - cache.RedisClient.SAdd("nation_sms_blacklist", ip) - cache.RedisClient.Expire("nation_sms_blacklist", 24*time.Hour) // 黑名单记录有效期为24小时 - fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) - service.Success(c, "succes!!") - return - } - if minuteCount, redisErr := cache.RedisClient.Get(minutekey).Int(); redisErr == redis.Nil { - cache.RedisClient.Set(minutekey, 1, duration) - } else if redisErr != nil { - service.Error(c, errors.New("Redis error")) - return - } else if minuteCount >= 5 { - fmt.Println("当前ip触发每分钟5次限制:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) - service.Success(c, "succes!!") - return - } - cache.RedisClient.Incr(daykey) - cache.RedisClient.Incr(minutekey) + fmt.Println("当前ip:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) + //daykey := "day_sms_limit:" + ip + //minutekey := "minute_sms_limit:" + ip + //duration := time.Second + //isBlacklisted, blackErr := cache.RedisClient.SIsMember("nation_sms_blacklist", ip).Result() + //if blackErr != nil { + // service.Error(c, errors.New("Redis error")) + // return + //} + //if isBlacklisted { + // fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) + // service.Success(c, "succes!!") + // return + //} + // + //// 一分钟5次,一天30次 + //if dayCount, redisErr := cache.RedisClient.Get(daykey).Int(); redisErr == redis.Nil { + // cache.RedisClient.Set(daykey, 1, 24*time.Hour) + //} else if redisErr != nil { + // service.Error(c, errors.New("Redis error")) + // return + //} else if dayCount >= 30 { + // cache.RedisClient.SAdd("nation_sms_blacklist", ip) + // cache.RedisClient.Expire("nation_sms_blacklist", 24*time.Hour) // 黑名单记录有效期为24小时 + // fmt.Println("当前ip手机号在黑名单中:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) + // service.Success(c, "succes!!") + // return + //} + //if minuteCount, redisErr := cache.RedisClient.Get(minutekey).Int(); redisErr == redis.Nil { + // cache.RedisClient.Set(minutekey, 1, duration) + //} else if redisErr != nil { + // service.Error(c, errors.New("Redis error")) + // return + //} else if minuteCount >= 5 { + // fmt.Println("当前ip触发每分钟5次限制:", ip, ";手机号:", req.TelNum, ";domain:", req.Domain) + // service.Success(c, "succes!!") + // return + //} + //cache.RedisClient.Incr(daykey) + //cache.RedisClient.Incr(minutekey) // ============================== redis检查ip结束 tempReq := &account.SendNationMsgRequest{