Parcourir la source

优化聚酯短信发送

tuoling805 il y a 1 an
Parent
commit
f80bfe3349
3 fichiers modifiés avec 38 ajouts et 40 suppressions
  1. 3 3
      controllers/alaram_msg.go
  2. 5 22
      controllers/sms.go
  3. 30 15
      services/sms_send.go

+ 3 - 3
controllers/alaram_msg.go

@@ -8,7 +8,7 @@ import (
 	"hongze/hongze_robot/utils"
 )
 
-//监控信息管理
+// 监控信息管理
 type AlarmMsgController struct {
 	BaseCommonController
 }
@@ -23,13 +23,13 @@ func (this *AlarmMsgController) SmsSend() {
 	var err error
 	defer func() {
 		if err != nil {
-			utils.FileLog.Info("send msg err: %s", err.Error())
+			utils.FileLog.Info("send msg err: " + err.Error())
 		}
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
 	reqBody := this.Ctx.Input.RequestBody
-	utils.FileLog.Info("%s", string(reqBody))
+	utils.FileLog.Info(string(reqBody))
 	var req *models.AlarmMsgReq
 	err = json.Unmarshal(reqBody, &req)
 	if err != nil {

+ 5 - 22
controllers/sms.go

@@ -2,8 +2,6 @@ package controllers
 
 import (
 	"encoding/json"
-	"fmt"
-	"hongze/hongze_robot/cache"
 	"hongze/hongze_robot/models"
 	"hongze/hongze_robot/services"
 	"hongze/hongze_robot/utils"
@@ -12,7 +10,7 @@ import (
 	"time"
 )
 
-//短信管理
+// 短信管理
 type SmsController struct {
 	BaseCommonController
 }
@@ -27,13 +25,13 @@ func (this *SmsController) SmsSend() {
 	var err error
 	defer func() {
 		if err != nil {
-			utils.FileLog.Info("send msg err: %s", err.Error())
+			utils.FileLog.Info("send msg err: " + err.Error())
 		}
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
 	reqBody := this.Ctx.Input.RequestBody
-	utils.FileLog.Info("%s", string(reqBody))
+	utils.FileLog.Info("send body:" + string(reqBody))
 	req := make([]*models.SmsReq, 0)
 	err = json.Unmarshal(reqBody, &req)
 	if err != nil {
@@ -57,23 +55,8 @@ func (this *SmsController) SmsSend() {
 			br.ErrMsg = "失败;Err:" + err.Error()
 			return
 		}
-		fmt.Println("count:", count)
-		item, err := cache.GetSmsConfigByCache("mobile")
-		if err != nil {
-			br.Msg = "失败,请联系技术"
-			br.ErrMsg = "获取配置信息失败;Err:" + err.Error()
-			return
-		}
-		if item.ConfigValue == "" {
-			br.Msg = "失败,请联系技术"
-			br.ErrMsg = "配置信息为空"
-			return
-		}
-		fmt.Println(item.ConfigValue)
-		fmt.Println(v.Address)
-		fmt.Println(strings.Contains(item.ConfigValue, v.Address))
 		//判断记录是否存在
-		if count <= 0 && strings.Contains(item.ConfigValue, v.Address) {
+		if count <= 0 && !strings.Contains(v.Body, "测试") {
 			var tm time.Time
 			if v.Date != "" {
 				smsDateInt64, _ := strconv.ParseInt(v.Date, 10, 64)
@@ -122,4 +105,4 @@ func (this *SmsController) SmsSend() {
 //	services.SendSms()
 //	fmt.Println("end")
 //	return
-//}
+//}

+ 30 - 15
services/sms_send.go

@@ -1,10 +1,13 @@
 package services
 
 import (
+	"errors"
 	"fmt"
 	"github.com/blinkbean/dingtalk"
+	"hongze/hongze_robot/cache"
 	"hongze/hongze_robot/models"
 	"hongze/hongze_robot/utils"
+	"strings"
 	"time"
 )
 
@@ -16,6 +19,15 @@ func SendSms() {
 			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "SendSms Err:"+err.Error(), utils.EmailSendToUsers)
 		}
 	}()
+	configItem, err := cache.GetSmsConfigByCache("mobile")
+	if err != nil {
+		return
+	}
+	if configItem.ConfigValue == "" {
+		err = errors.New("mobile-val is empty")
+		return
+	}
+
 	items, err := models.GetSmsRecord()
 	if err != nil {
 		return
@@ -35,20 +47,23 @@ func SendSms() {
 		}
 	}
 	for _, v := range items {
-		smsDateTime := v.SmsDateTime.Format(utils.FormatDateTime)
-		msg := []string{
-			"### " + v.Mobile,
-			"---",
-			"- <font>" + v.Body + "</font>",
-			"- " + smsDateTime,
-		}
-		cli := dingtalk.InitDingTalk(dingToken, "hongze")
-		//cli.SendTextMessage("content", dingtalk.WithAtAll())
-		err = cli.SendMarkDownMessageBySlice("华瑞信息", msg)
-		if err != nil {
-			return
+		if strings.Contains(configItem.ConfigValue, v.Mobile) {
+			smsDateTime := v.SmsDateTime.Format(utils.FormatDateTime)
+			msg := []string{
+				"### " + v.Mobile,
+				"---",
+				"- <font>" + v.Body + "</font>",
+				"- " + smsDateTime,
+			}
+			cli := dingtalk.InitDingTalk(dingToken, "hongze")
+			//cli.SendTextMessage("content", dingtalk.WithAtAll())
+			err = cli.SendMarkDownMessageBySlice("华瑞信息", msg)
+			if err != nil {
+				return
+			}
+			models.ModifySmsRecordIsSend(v.Mobile, v.SmsDate)
+			time.Sleep(1 * time.Second)
 		}
-		models.ModifySmsRecordIsSend(v.Mobile, v.SmsDate)
 	}
 }
 
@@ -59,7 +74,7 @@ func AddUnionCode() {
 		return
 	}
 	for _, v := range list {
-		fmt.Println(v.Id,v.Mobile)
+		fmt.Println(v.Id, v.Mobile)
 		unionCode := utils.MD5(v.Mobile + v.Body + v.SmsDate)
 		err = models.ModifySmsRecordUnicode(unionCode, v.Id)
 		if err != nil {
@@ -73,4 +88,4 @@ func AddUnionCode() {
 //	fmt.Println("start 111")
 //	AddUnionCode()
 //	fmt.Println("end 111")
-//}
+//}