Merge branch 'dev' of https://gitea-net.fontree.cn/fiee/fonchain-fiee into dev
This commit is contained in:
commit
6bf02405c6
17
cmd/app.go
17
cmd/app.go
@ -20,6 +20,7 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
"fonchain-fiee/cmd/config"
|
||||
"fonchain-fiee/pkg/cache"
|
||||
"fonchain-fiee/pkg/router"
|
||||
)
|
||||
|
||||
@ -44,14 +45,14 @@ func bootstrap() (err error) {
|
||||
fmt.Println(config.AppConfig)
|
||||
|
||||
////redis
|
||||
//redisConfig := cache.RedisConfig{
|
||||
// RedisDB: configEnv.Redis.RedisDB,
|
||||
// RedisAddr: configEnv.Redis.RedisAddr,
|
||||
// RedisPw: configEnv.Redis.RedisPW,
|
||||
// RedisDbName: configEnv.Redis.RedisDBNAme,
|
||||
//}
|
||||
//
|
||||
//cache.LoadRedis(redisConfig)
|
||||
redisConfig := cache.RedisConfig{
|
||||
RedisDB: configEnv.Redis.RedisDB,
|
||||
RedisAddr: configEnv.Redis.RedisAddr,
|
||||
RedisPw: configEnv.Redis.RedisPW,
|
||||
RedisDbName: configEnv.Redis.RedisDBNAme,
|
||||
}
|
||||
|
||||
cache.LoadRedis(redisConfig)
|
||||
//
|
||||
//gpt.InitSet(configEnv.Ai.Host, configEnv.Ai.TelNum, configEnv.Ai.Password)
|
||||
return nil
|
||||
|
@ -21,10 +21,11 @@ BucketName = "fontree-test"
|
||||
BaseDir = "fonchain-main"
|
||||
CdnHost = "https://cdn-test.szjixun.cn"
|
||||
[redis]
|
||||
RedisDB = "1"
|
||||
RedisDB = "2"
|
||||
RedisAddr = "127.0.0.1:6379"
|
||||
RedisPW = ""
|
||||
RedisDBNAme = "1"
|
||||
RedisDBNAme = "2"
|
||||
|
||||
|
||||
[ai]
|
||||
Host = "https://erpapi.fontree.cn"
|
||||
|
@ -22,10 +22,10 @@ BaseDir = "fiee"
|
||||
CdnHost = "https://cdn-test.szjixun.cn"
|
||||
|
||||
[redis]
|
||||
RedisDB = "1"
|
||||
RedisDB = "2"
|
||||
RedisAddr = "172.16.100.114:6379"
|
||||
RedisPW = "kP6tW4tS3qB2dW4aE6uI5cX2"
|
||||
RedisDBNAme = "1"
|
||||
RedisDBNAme = "2"
|
||||
|
||||
[ai]
|
||||
Host = "https://erpapi.fontree.cn"
|
||||
|
@ -14,10 +14,10 @@ BosBaseDir = "fonchain-main"
|
||||
BosHttp = "https://"
|
||||
|
||||
[redis]
|
||||
RedisDB = "1"
|
||||
RedisDB = "2"
|
||||
RedisAddr = "svc-fontree-redis-service:6379"
|
||||
RedisPW = "fonchain_opv:kP6tW4tS3qB2dW4aE6uI5cX2"
|
||||
RedisDBNAme = "1"
|
||||
RedisDBNAme = "2"
|
||||
|
||||
[ai]
|
||||
Host = "https://erpapi.fontree.cn"
|
||||
|
@ -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{
|
||||
|
Loading…
Reference in New Issue
Block a user