This commit is contained in:
蒋海成 2025-02-26 15:11:28 +08:00
commit 6bf02405c6
6 changed files with 99 additions and 100 deletions

View File

@ -20,6 +20,7 @@ package main
import ( import (
"fmt" "fmt"
"fonchain-fiee/cmd/config" "fonchain-fiee/cmd/config"
"fonchain-fiee/pkg/cache"
"fonchain-fiee/pkg/router" "fonchain-fiee/pkg/router"
) )
@ -44,14 +45,14 @@ func bootstrap() (err error) {
fmt.Println(config.AppConfig) fmt.Println(config.AppConfig)
////redis ////redis
//redisConfig := cache.RedisConfig{ redisConfig := cache.RedisConfig{
// RedisDB: configEnv.Redis.RedisDB, RedisDB: configEnv.Redis.RedisDB,
// RedisAddr: configEnv.Redis.RedisAddr, RedisAddr: configEnv.Redis.RedisAddr,
// RedisPw: configEnv.Redis.RedisPW, RedisPw: configEnv.Redis.RedisPW,
// RedisDbName: configEnv.Redis.RedisDBNAme, RedisDbName: configEnv.Redis.RedisDBNAme,
//} }
//
//cache.LoadRedis(redisConfig) cache.LoadRedis(redisConfig)
// //
//gpt.InitSet(configEnv.Ai.Host, configEnv.Ai.TelNum, configEnv.Ai.Password) //gpt.InitSet(configEnv.Ai.Host, configEnv.Ai.TelNum, configEnv.Ai.Password)
return nil return nil

View File

@ -21,10 +21,11 @@ BucketName = "fontree-test"
BaseDir = "fonchain-main" BaseDir = "fonchain-main"
CdnHost = "https://cdn-test.szjixun.cn" CdnHost = "https://cdn-test.szjixun.cn"
[redis] [redis]
RedisDB = "1" RedisDB = "2"
RedisAddr = "127.0.0.1:6379" RedisAddr = "127.0.0.1:6379"
RedisPW = "" RedisPW = ""
RedisDBNAme = "1" RedisDBNAme = "2"
[ai] [ai]
Host = "https://erpapi.fontree.cn" Host = "https://erpapi.fontree.cn"

View File

@ -22,10 +22,10 @@ BaseDir = "fiee"
CdnHost = "https://cdn-test.szjixun.cn" CdnHost = "https://cdn-test.szjixun.cn"
[redis] [redis]
RedisDB = "1" RedisDB = "2"
RedisAddr = "172.16.100.114:6379" RedisAddr = "172.16.100.114:6379"
RedisPW = "kP6tW4tS3qB2dW4aE6uI5cX2" RedisPW = "kP6tW4tS3qB2dW4aE6uI5cX2"
RedisDBNAme = "1" RedisDBNAme = "2"
[ai] [ai]
Host = "https://erpapi.fontree.cn" Host = "https://erpapi.fontree.cn"

View File

@ -14,10 +14,10 @@ BosBaseDir = "fonchain-main"
BosHttp = "https://" BosHttp = "https://"
[redis] [redis]
RedisDB = "1" RedisDB = "2"
RedisAddr = "svc-fontree-redis-service:6379" RedisAddr = "svc-fontree-redis-service:6379"
RedisPW = "fonchain_opv:kP6tW4tS3qB2dW4aE6uI5cX2" RedisPW = "fonchain_opv:kP6tW4tS3qB2dW4aE6uI5cX2"
RedisDBNAme = "1" RedisDBNAme = "2"
[ai] [ai]
Host = "https://erpapi.fontree.cn" Host = "https://erpapi.fontree.cn"

View File

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