rdluck il y a 4 ans
Parent
commit
27bbd60c3c
4 fichiers modifiés avec 26 ajouts et 8 suppressions
  1. 13 5
      models/data_entry.go
  2. 10 1
      services/data_entry.go
  3. 2 1
      services/task.go
  4. 1 1
      services/wx_template_msg.go

+ 13 - 5
models/data_entry.go

@@ -8,8 +8,8 @@ type EdbInfo struct {
 	UserId     int
 	SecName    string `orm:"column(SEC_NAME);" description:"指标名称"`
 	NoticeTime string
-	Frequency string
-	TradeCode string `orm:"column(TRADE_CODE);" description:"指标编码"`
+	Frequency  string
+	TradeCode  string `orm:"column(TRADE_CODE);" description:"指标编码"`
 }
 
 //获取日度指标
@@ -22,10 +22,18 @@ func GetEdbInfoByFrequency(frequency string) (items []*EdbInfo, err error) {
 }
 
 //获取日度指标
-func GetEdbInfoByFrequencyWeek(frequency,weekDay string) (items []*EdbInfo, err error) {
-	sql := `SELECT * FROM edbinfo WHERE frequency=? AND notice_time<>'' and left(notice_time,2)=? `
+func GetEdbInfoByFrequencyWeek(frequency, weekDay string) (items []*EdbInfo, err error) {
+	sql := `SELECT * FROM edbinfo WHERE frequency=? AND notice_time<>'' AND left(notice_time,2)=? `
 	o := orm.NewOrm()
 	o.Using("edb")
-	_, err = o.Raw(sql, frequency,weekDay).QueryRows(&items)
+	_, err = o.Raw(sql, frequency, weekDay).QueryRows(&items)
+	return
+}
+
+func GetEdbdataCount(tradeCode, nowDate string) (count int, err error) {
+	sql := `SELECT COUNT(1) AS count FROM edbdata WHERE TRADE_CODE=? AND DT=? `
+	o := orm.NewOrm()
+	o.Using("edb")
+	err = o.Raw(sql, tradeCode, nowDate).QueryRow(&count)
 	return
 }

+ 10 - 1
services/data_entry.go

@@ -148,8 +148,17 @@ func FrequencyByWeek() (err error) {
 		return
 	}
 
+	nowDate := time.Now().Format(utils.FormatDate)
 	for _, v := range items {
-
+		//判断指标当天数据是否已录入
+		dataCount, err := models.GetEdbdataCount(v.TradeCode, nowDate)
+		if err != nil {
+			return err
+		}
+		if dataCount > 0 {
+			utils.FileLog.Info("%s", v.TradeCode+" :当天数据已录入,无需提醒")
+			continue
+		}
 		count, err := models.GetEdbinfoSendMsgCount(v.UserId, v.TradeCode)
 		if err != nil {
 			fmt.Println("GetEdbinfoSendMsgCount Err:" + err.Error())

+ 2 - 1
services/task.go

@@ -15,6 +15,7 @@ func Task() {
 	toolbox.AddTask("oneMinute", oneMinute)
 
 	toolbox.StartTask()
+
 	fmt.Println("task end")
 }
 
@@ -38,4 +39,4 @@ func OneMinute() (err error) {
 	//月度
 	//FrequencyByMonth()
 	return
-}
+}

+ 1 - 1
services/wx_template_msg.go

@@ -70,7 +70,7 @@ func WxSendTemplateMsg(sendUrl string, sendMap map[string]interface{}, items []*
 	return
 }
 
-func SendTemplateMsg(sendUrl string, data []byte) (err error) {
+func 	SendTemplateMsg(sendUrl string, data []byte) (err error) {
 	client := http.Client{}
 	resp, err := client.Post(sendUrl, "application/json", bytes.NewBuffer(data))
 	if err != nil {