Browse Source

修改短信发送逻辑

kobe6258 6 months ago
parent
commit
42460cb05b

+ 7 - 4
common/component/config/ht_biz_config.go

@@ -8,7 +8,7 @@ type HTOpts struct {
 	MediaIndex  string
 	Encode      string
 	DesCode     string
-	ConfigPath  string
+	Task        string
 }
 type HTBizConfig struct {
 	BaseConfig
@@ -29,8 +29,11 @@ func (e *HTBizConfig) NeedEncode() bool {
 	}
 	return false
 }
-func (e *HTBizConfig) ConfigPath() string {
-	return e.opts.ConfigPath
+func (e *HTBizConfig) EnableTask() bool {
+	if e.opts.Task == "true" {
+		return true
+	}
+	return false
 }
 func (e *HTBizConfig) GetDesCode() string {
 	return e.opts.DesCode
@@ -41,7 +44,7 @@ func (e *HTBizConfig) InitConfig() {
 		MediaIndex:  e.GetString("es_media_index"),
 		Encode:      e.GetString("response.encode"),
 		DesCode:     e.GetString("response.des_code"),
-		ConfigPath:  e.GetString("config_path"),
+		Task:        e.GetString("task"),
 	}
 	e.opts = opts
 }

+ 1 - 1
controllers/user/auth_controller.go

@@ -94,7 +94,7 @@ func (a *AuthController) SMSCode() {
 		mobile := new(SmsCodeReq)
 		a.GetPostParams(mobile)
 		if mobile.AreaCode == "" || !checkValidAreaCode(mobile.AreaCode) {
-			a.FailedResult("登录失败", result)
+			a.FailedResult("发送短信失败", result)
 			err = exception.New(exception.IllegalAreaCode)
 			return
 		}

+ 0 - 60
eta_mini_ht_api/conf/app.conf

@@ -1,60 +0,0 @@
-appname = wechat
-httpport = 80
-runmode = dev
-autorender = false
-copyrequestbody = true
-EnableDocs = true
-sqlconn =
-file.path="./conf"
-file.notice="海通小程序注册用户须知.txt"
-file.disclaimer="海通免责声明.txt"
-file.publicKey ="MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIwpWwsvZB2bZSSuFzjv5GE+spQdnd5sW2bDjnGM9hw8Zf1kXuOO2ThuokXgr0iHjQU5WHbrkcefUcvJmQ9NLJ0CAwEAAQ=="
-[dev]
-#系统配置
-
-#验证码长度
-auth.code.length=6
-#redis配置
-#redis.host = 192.168.77.130:6379,127.0.0.1:6379
-redis.host = 192.168.77.130:6379
-redis.password = ""
-redis.db = 0
-redis.maxidle = 50
-redis.maxactive = 100
-redis.timeout = 300
-
-#HT
-ht.es_report_index = "ht_test_report_v1"
-ht.es_media_index="ht_test_media_v1"
-#ht.config_path="/home/code/config/eta_mini_ht_api/conf/app.conf"
-#ht.es_report_index = "report_index"
-#ht.es_media_index="media_index"
-ht.response.encode="false"
-ht.response.des_code="5filp4vSvLVQK8SLioNlKm3q"
-#wechat配置
-#wechat.appid = wx49f965502877530a
-#wechat.secret= eef0b899951d5d5074915e1f56c5e87a
-wechat.appid = wxcc4ac5526a578908
-wechat.secret= a289a3a3289e4ede54932216931ed16f
-#短信
-sms.sms_type = "juhe"
-sms.juhe.tlp_id="254663"
-sms.juhe.expire_minute=3
-sms.juhe.key="4c8504c49dd335e99cfd7b6a3a9e2415"
-sms.emas.url="root:199118@(localhost:3306)/emas?timeout=5000ms&readTimeout=5000ms&writeTimeout=5000ms&charset=utf8mb4&parseTime=true&loc=Local"
-sms.emas.expire_minute=3
-sms.emas.template="【期海通行】您的期海通行小程序验证码为:{{.Code}},请在{{.ExpireMinute}}分钟内完成验证。"
-#database配置
-database.driver = "mysql"
-database.url="hz_technology:hongze@2021@tcp(rm-uf67kg347rhjfep5c1o.mysql.rds.aliyuncs.com:3306)/test_eta_mini_master_ht?charset=utf8mb4&loc=Asia%2FShanghai&parseTime=true"
-#database.url="root:199118@tcp(localhost:3306)/wechat?charset=utf8mb4&loc=Asia%2FShanghai&parseTime=true"
-#eta数据库配置
-eta.database.url= "hz_technology:hongze@2021@tcp(rm-uf67kg347rhjfep5c1o.mysql.rds.aliyuncs.com:3306)/test_v2_hongze_rddp?charset=utf8mb4&loc=Asia%2FShanghai&parseTime=true"
-#钢联数据库配置
-gl.database.url= "hz_technology:hongze@2021@tcp(rm-uf67kg347rhjfep5c1o.mysql.rds.aliyuncs.com:3306)/test_eta_mini_master_ht?charset=utf8mb4&loc=Asia%2FShanghai&parseTime=true"
-#ES配置
-#es.url="http://192.168.77.130:9200"
-es.url="http://es-cn-nif227b580019rgw6.public.elasticsearch.aliyuncs.com:9200"
-es.username="elastic"
-es.password="hongze@2021"
-#es.password="DV=NPV7pTEbRJ4JnMNnt"

+ 0 - 57
eta_mini_ht_api/conf/log/log_config.json

@@ -1,57 +0,0 @@
-{
-  "filepath": "./etalogs",
-  "appenders": [
-    {
-      "type": "console",
-      "rotate": true,
-      "level": "info",
-      "color": true
-    },
-    {
-      "type": "file",
-      "filename": "file/error.log",
-      "maxlines": 1000000,
-      "maxsize": 268435456,
-      "daily": true,
-      "maxdays": 7,
-      "rotate": true,
-      "level": "error",
-      "color": true
-    },
-    {
-      "type": "file",
-      "filename": "file/info.log",
-      "maxlines": 1000000,
-      "maxsize": 268435456,
-      "daily": true,
-      "maxdays": 30,
-      "rotate": true,
-      "level": "info",
-      "color": true
-    },
-    {
-      "filter": "apiRequest",
-      "type": "file",
-      "filename": "api/api.log",
-      "maxlines": 1000000,
-      "maxsize": 268435456,
-      "daily": true,
-      "maxdays": 30,
-      "rotate": true,
-      "level": "info",
-      "color": true
-    },
-    {
-      "filter": "coin,orm....*",
-      "type": "file",
-      "filename": "db/db.log",
-      "maxlines": 1000000,
-      "maxsize": 268435456,
-      "daily": false,
-      "maxdays": 30,
-      "rotate": true,
-      "level": "info",
-      "color": true
-    }
-  ]
-}

File diff suppressed because it is too large
+ 0 - 0
eta_mini_ht_api/conf/海通免责声明.txt


File diff suppressed because it is too large
+ 0 - 0
eta_mini_ht_api/conf/海通小程序注册用户须知.txt


BIN
eta_mini_ht_api/eta_mini_ht_api


+ 4 - 1
models/sms/verification_record.go

@@ -71,7 +71,10 @@ func updateByConditions(conditions map[string]interface{}, record VerificationRe
 	return
 }
 func InsertVerificationRecord(record VerificationRecord) (smId int, err error) {
-	err = models.Main().Create(&record).Error
+	db := models.Main()
+	logger.Info("过期其他的所有验证码,smId:%v", smId)
+	_ = db.Model(&VerificationRecord{}).Where("mobile = ? ", record.Mobile).Update("status", StatusExpired).Error
+	err = db.Create(&record).Error
 	if err != nil {
 		logger.Error("插入验证码记录失败:%v", err)
 	}

+ 54 - 25
service/auth/auth_service.go

@@ -42,34 +42,63 @@ func wx() *wechat.Client {
 	return wechatClient
 }
 func SendSMSCode(mobile string) (err error) {
+	//code := rd().GetString(redis.GenerateSmsKey(mobile))
+	//if stringUtils.IsEmptyOrNil(code) {
+	//	code, err = authUtils.GenerateCode(6)
+	//	if err != nil {
+	//		logger.Warn("生成验证码失败:%v", err)
+	//		return exception.New(exception.SMSCodeGenerateFailed)
+	//	}
+	//	codeDTO := smsService.CodeDTO{
+	//		Mobile:       mobile,
+	//		Code:         code,
+	//		ExpireMinute: message().GetExpireMinute(),
+	//	}
+	//	//消息domain层
+	//	var smid int
+	//	smid, err = smsService.SendSMSCode(codeDTO)
+	//	if err != nil {
+	//		logger.Error("发送短信失败:%v", err)
+	//		err = exception.New(exception.SendingSMSFailed)
+	//	}
+	//	logger.Debug("验证码:%v", code)
+	//	_, err = message().SendSms(mobile, code, smid)
+	//	if err != nil {
+	//		logger.Error("发送短信失败:%v", err)
+	//		err = exception.New(exception.SendingSMSFailed)
+	//	}
+	//	return
+	//}
+	//return exception.New(exception.SMSCodeAlreadySent)
 	code := rd().GetString(redis.GenerateSmsKey(mobile))
 	if stringUtils.IsEmptyOrNil(code) {
-		code, err = authUtils.GenerateCode(6)
-		if err != nil {
-			logger.Warn("生成验证码失败:%v", err)
-			return exception.New(exception.SMSCodeGenerateFailed)
-		}
-		codeDTO := smsService.CodeDTO{
-			Mobile:       mobile,
-			Code:         code,
-			ExpireMinute: message().GetExpireMinute(),
-		}
-		//消息domain层
-		var smid int
-		smid, err = smsService.SendSMSCode(codeDTO)
-		if err != nil {
-			logger.Error("发送短信失败:%v", err)
-			err = exception.New(exception.SendingSMSFailed)
-		}
-		logger.Debug("验证码:%v", code)
-		_, err = message().SendSms(mobile, code, smid)
-		if err != nil {
-			logger.Error("发送短信失败:%v", err)
-			err = exception.New(exception.SendingSMSFailed)
-		}
-		return
+		logger.Info("更新验证码 手机号[%v],旧验证码[%v]", mobile, code)
 	}
-	return exception.New(exception.SMSCodeAlreadySent)
+	code, err = authUtils.GenerateCode(6)
+	logger.Info("更新验证码 手机号[%v],新验证码[%v]", mobile, code)
+	if err != nil {
+		logger.Warn("生成验证码失败:%v", err)
+		return exception.New(exception.SMSCodeGenerateFailed)
+	}
+	codeDTO := smsService.CodeDTO{
+		Mobile:       mobile,
+		Code:         code,
+		ExpireMinute: message().GetExpireMinute(),
+	}
+	//消息domain层
+	var smid int
+	smid, err = smsService.SendSMSCode(codeDTO)
+	if err != nil {
+		logger.Error("发送短信失败:%v", err)
+		err = exception.New(exception.SendingSMSFailed)
+	}
+	logger.Debug("验证码:%v", code)
+	_, err = message().SendSms(mobile, code, smid)
+	if err != nil {
+		logger.Error("发送短信失败:%v", err)
+		err = exception.New(exception.SendingSMSFailed)
+	}
+	return
 }
 
 func CheckUser(mobile string, code string) (err error) {

+ 6 - 1
task/task_starter.go

@@ -1,6 +1,8 @@
 package task
 
 import (
+	"eta/eta_mini_ht_api/common/component/config"
+	"eta/eta_mini_ht_api/common/contants"
 	"eta/eta_mini_ht_api/task/base"
 	_ "eta/eta_mini_ht_api/task/eta/author"
 	_ "eta/eta_mini_ht_api/task/message"
@@ -21,7 +23,10 @@ func AddTasksToScheduler() {
 
 // StartScheduler 启动任务调度器
 func StartScheduler() {
-	task.StartTask()
+	htConfig := config.GetConfig(contants.HT).(*config.HTBizConfig)
+	if htConfig.EnableTask() {
+		task.StartTask()
+	}
 }
 
 func init() {

Some files were not shown because too many files changed in this diff