lhs преди 5 години
родител
ревизия
1e400a7ea5
променени са 3 файла, в които са добавени 8 реда и са изтрити 2 реда
  1. 2 0
      errors/error.go
  2. 1 1
      go.mod
  3. 5 1
      service/auth.go

+ 2 - 0
errors/error.go

@@ -36,6 +36,7 @@ const (
 	JsonToMaptErr           ErrorCode = 30013
 	HrSensorsUpdateErr      ErrorCode = 30014
 	GetDuInfoUpdateErr      ErrorCode = 30015
+	SmsCodeRepeatErr        ErrorCode = 30016
 	CodeParam                         = ErrorCode(errors.CodeParam)
 )
 
@@ -49,6 +50,7 @@ var (
 	ErrHrSensorsTimeOut = NewServiceErr(HrSensorsTimeOutErr, "心率系统连接超时")
 	ErrHrSensorsUpdate  = NewServiceErr(HrSensorsUpdateErr, "心率系统更新Sn报错")
 	ErrGetDuInfo        = NewServiceErr(GetDuInfoUpdateErr, "心率系统查询用户当前显示单元和对应身体信息报错")
+	ErrSmsCodeRepeat    = NewServiceErr(SmsCodeRepeatErr, "短信验证码不能频繁发送")
 )
 
 func (e ErrorCode) ShowMsg() string {

+ 1 - 1
go.mod

@@ -10,7 +10,7 @@ require (
 	github.com/ZR233/session v1.1.5
 	github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
 	github.com/gin-gonic/gin v1.6.3
-	github.com/go-redis/redis v6.15.9+incompatible // indirect
+	github.com/go-redis/redis v6.15.9+incompatible
 	github.com/go-redis/redis/v7 v7.2.0
 	github.com/hashicorp/consul/api v1.8.1
 	github.com/jackc/pgconn v1.8.0

+ 5 - 1
service/auth.go

@@ -94,8 +94,12 @@ func (a Auth) GenVFCode(codeType int, phone string, ip string) (err error) {
 	//smsCode :=  strconv.Itoa(smsInt)
 	smsCode := "12345678"
 
-	//存储短信验证码
+	//存储短信验证码前判断redis中是否有该手机号对应验证码,有说明还没失效
 	redisdb := rdb.GetRedis()
+	tmpCode, _ := redisdb.Get(global.ProjectName + ":" + global.AppName + ":" + "smsCode:" + phone).Result()
+	if tmpCode != "" {
+		err = errors.ErrSmsCodeRepeat
+	}
 	redisdb.Set(global.ProjectName+":"+global.AppName+":"+"smsCode:"+phone, []byte(smsCode), 3*time.Minute)
 	//发送短信
 	fmt.Println(smsCode)