|
@@ -27,7 +27,7 @@ func FrequencyByDay() (err error) {
|
|
|
return
|
|
|
}
|
|
|
if len(items) <= 0 {
|
|
|
- err=errors.New("没有需要推送的数据")
|
|
|
+ err = errors.New("没有需要推送的数据")
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -114,11 +114,11 @@ func FrequencyByDay() (err error) {
|
|
|
openIdItem.OpenId = openId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
|
|
|
- first := v.SecName + " :数据录入提醒"
|
|
|
- keyword1 := "弘则-数据录入"
|
|
|
- keyword2 := v.Frequency + ":" + v.NoticeTime
|
|
|
-
|
|
|
- err = SendWxMsgWithFrequencyByDay(first, keyword1, keyword2, openIdList)
|
|
|
+ first := "数据录入提醒"
|
|
|
+ keyword1 := v.SecName
|
|
|
+ keyword2 := "每日 " + v.NoticeTime
|
|
|
+ remark := v.SecName + "该更新了"
|
|
|
+ err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
@@ -136,73 +136,59 @@ func FrequencyByWeek() (err error) {
|
|
|
}
|
|
|
}()
|
|
|
frequency := "周度"
|
|
|
- items, err := models.GetEdbInfoByFrequency(frequency)
|
|
|
+ nowWeekDay := utils.GetWeekDay()
|
|
|
+ fmt.Println("nowWeekDay:", nowWeekDay)
|
|
|
+ items, err := models.GetEdbInfoByFrequencyWeek(frequency, nowWeekDay)
|
|
|
if err != nil {
|
|
|
fmt.Println("GetFrequencyByDay err:", err.Error())
|
|
|
return
|
|
|
}
|
|
|
if len(items) <= 0 {
|
|
|
- err=errors.New("没有需要推送的数据,FrequencyByWeek")
|
|
|
+ err = errors.New("没有需要推送的数据,FrequencyByWeek")
|
|
|
return
|
|
|
}
|
|
|
|
|
|
for _, v := range items {
|
|
|
+
|
|
|
+ count, err := models.GetEdbinfoSendMsgCount(v.UserId, v.TradeCode)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetEdbinfoSendMsgCount Err:" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ fmt.Println(v.UserId, v.TradeCode, "当天已发送")
|
|
|
+ continue
|
|
|
+ }
|
|
|
noticeTime := v.NoticeTime
|
|
|
if noticeTime == "" {
|
|
|
err = errors.New("NoticeTime 参数错误:NoticeTime is empty ")
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
weekArr := strings.Split(noticeTime, " ")
|
|
|
if len(weekArr) < 2 {
|
|
|
err = errors.New("NoticeTime 参数错误: " + noticeTime)
|
|
|
- return
|
|
|
- }
|
|
|
- week := weekArr[0]
|
|
|
- var weekVal string
|
|
|
- switch week {
|
|
|
- case "周一":
|
|
|
- weekVal = "Monday"
|
|
|
- break
|
|
|
- case "周二":
|
|
|
- weekVal = "Tuesday"
|
|
|
- break
|
|
|
- case "周三":
|
|
|
- weekVal = "Wednesday"
|
|
|
- break
|
|
|
- case "周四":
|
|
|
- weekVal = "Thursday"
|
|
|
- break
|
|
|
- case "周五":
|
|
|
- weekVal = "Friday"
|
|
|
- break
|
|
|
- case "周六":
|
|
|
- weekVal = "Saturday"
|
|
|
- break
|
|
|
- case "周日":
|
|
|
- weekVal = "Sunday"
|
|
|
- break
|
|
|
- default:
|
|
|
- weekVal = ""
|
|
|
- break
|
|
|
+ return err
|
|
|
}
|
|
|
+ weekVal := weekArr[0]
|
|
|
+ weekVal = strings.Trim(weekVal, " ")
|
|
|
if weekVal == "" {
|
|
|
err = errors.New("weekVal 参数错误: weekVal:" + weekVal)
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
- nowWeek := time.Now().Weekday().String()
|
|
|
- if weekVal != nowWeek {
|
|
|
- err = errors.New("不是当前日期,不需要发送消息: weekVal:" + weekVal + "; nowWeek:" + nowWeek)
|
|
|
- return
|
|
|
+ fmt.Println("weekVal:", weekVal, " nowWeek:", nowWeekDay)
|
|
|
+ if weekVal != nowWeekDay {
|
|
|
+ err = errors.New("不是当前日期,不需要发送消息: weekVal:" + weekVal + "; nowWeek:" + nowWeekDay)
|
|
|
+ return err
|
|
|
}
|
|
|
noticeStr := weekArr[1]
|
|
|
if noticeStr == "" {
|
|
|
err = errors.New("noticeStr 参数错误: noticeStr:" + noticeStr)
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
noticeTimeArr := strings.Split(noticeStr, ":")
|
|
|
if len(noticeTimeArr) < 3 {
|
|
|
err = errors.New("NoticeTime 参数错误,noticeTime:" + noticeTime)
|
|
|
- return
|
|
|
+ return err
|
|
|
}
|
|
|
noticeHour, err := strconv.Atoi(noticeTimeArr[0])
|
|
|
if err != nil {
|
|
@@ -276,14 +262,26 @@ func FrequencyByWeek() (err error) {
|
|
|
openIdItem.OpenId = openId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
|
|
|
- first := v.SecName + " :数据录入提醒"
|
|
|
- keyword1 := "弘则-数据录入"
|
|
|
- keyword2 := v.Frequency + ":" + v.NoticeTime
|
|
|
+ first := "数据录入提醒"
|
|
|
+ keyword1 := v.SecName
|
|
|
+ keyword2 := "每周 " + v.NoticeTime
|
|
|
+ remark := v.SecName + "该更新了"
|
|
|
|
|
|
- err = SendWxMsgWithFrequencyByDay(first, keyword1, keyword2, openIdList)
|
|
|
+ err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
+ //发送成功,记录发送日志
|
|
|
+ {
|
|
|
+ sendRecord := new(models.EdbinfoSendMsgRecord)
|
|
|
+ sendRecord.UserId = v.UserId
|
|
|
+ sendRecord.TradeCode = v.TradeCode
|
|
|
+ sendRecord.CreateTime = time.Now()
|
|
|
+ err = models.AddEdbinfoSendMsgRecord(sendRecord)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return
|
|
@@ -420,11 +418,12 @@ func FrequencyByMonth() (err error) {
|
|
|
openIdItem.OpenId = openId
|
|
|
openIdList = append(openIdList, openIdItem)
|
|
|
|
|
|
- first := v.SecName + " :数据录入提醒"
|
|
|
- keyword1 := "弘则-数据录入"
|
|
|
- keyword2 := v.Frequency + ":" + v.NoticeTime
|
|
|
+ first := "数据录入提醒"
|
|
|
+ keyword1 := v.SecName
|
|
|
+ keyword2 := "每月 " + v.NoticeTime
|
|
|
+ remark := v.SecName + "该更新了"
|
|
|
|
|
|
- err = SendWxMsgWithFrequencyByDay(first, keyword1, keyword2, openIdList)
|
|
|
+ err = SendWxMsgWithFrequency(first, keyword1, keyword2, remark, openIdList)
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|