|
@@ -71,6 +71,8 @@ func SendActivityBeginMsg(cont context.Context) (err error) {
|
|
|
//SendWxMsgWithFrequency(first, v.ActivityName, reserveResults, v.ActivityTimeText, v.Address, remark, openIdList, v.ActivityId)
|
|
|
SendWxMsgWithFrequencyBycategory(v.ActivityName, v.ActivityTime, openIdList, v.ActivityId)
|
|
|
}
|
|
|
+
|
|
|
+ go SendActivityBeginMsgMfyx() //买方研选推送会议开始消息提醒60分钟前
|
|
|
if len(signupIds) == 0 {
|
|
|
return
|
|
|
}
|
|
@@ -84,6 +86,44 @@ func SendActivityBeginMsg(cont context.Context) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// 买方研选推送会议开始消息提醒60分钟前
|
|
|
+func SendActivityBeginMsgMfyx() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg("买方研选推送会议开始消息提醒60分钟前 SendActivityBeginMsgMfyx"+err.Error(), 2)
|
|
|
+ fmt.Println("发送失败,Err:", err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ endDate := time.Now().Add(+time.Minute * 60).Format(utils.FormatDateTime)
|
|
|
+ listActivity, err := models.GetActivitySendMsgListAllMfyx(endDate)
|
|
|
+ fmt.Println(len(listActivity))
|
|
|
+ //return
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetActivitySendMsgListAllMfyx Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(listActivity) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //var remark = "点击查看活动详情"
|
|
|
+ var signupIds string
|
|
|
+ for _, v := range listActivity {
|
|
|
+ signupIds += strconv.Itoa(v.Id) + ","
|
|
|
+ openIdItem := new(models.OpenIdList)
|
|
|
+ openIdItem.OpenId = v.OpenId
|
|
|
+ openIdItem.UserId = v.UserId
|
|
|
+ openIdList := make([]*models.OpenIdList, 0)
|
|
|
+ openIdList = append(openIdList, openIdItem)
|
|
|
+ SendWxMsgWithFrequencyBycategoryMfyx(v.ActivityName, v.ActivityTime, openIdList, v.ActivityId)
|
|
|
+ }
|
|
|
+ if len(signupIds) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ signupIds = strings.TrimRight(signupIds, ",")
|
|
|
+ err = models.UPdateSendedMsgStatus(signupIds)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
//func init() {
|
|
|
// SendActivityBeginMsgMeeting()
|
|
|
//}
|
|
@@ -114,6 +154,101 @@ func SendActivityBeginMsgMeeting(cont context.Context) (err error) {
|
|
|
//var signupIds string
|
|
|
//var remark = "点击查看活动详情"
|
|
|
|
|
|
+ var activityIds []int
|
|
|
+ //同一时间举办的活动不多所以这里循环查询
|
|
|
+ for _, v := range listActivity {
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
+ var mobiles []string
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = ` AND activity_id = ? AND is_send_wx_msg = 0 `
|
|
|
+ pars = append(pars, v.ActivityId)
|
|
|
+ //获取设置消息提醒的用户列表
|
|
|
+ listxReminder, e := models.GetCygxReminderListByUser(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxReminderListByUser, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, vReminder := range listxReminder {
|
|
|
+ mobiles = append(mobiles, vReminder.Mobile)
|
|
|
+ }
|
|
|
+
|
|
|
+ pars = make([]interface{}, 0)
|
|
|
+ condition = ` AND do_fail_type = 0 AND activity_id = ? AND signup_type = 1 AND is_send_wx_msg = 0 `
|
|
|
+ pars = append(pars, v.ActivityId)
|
|
|
+ //获取设置预约外呼的用户列表
|
|
|
+ listSignup, e := models.GetActivitySignupList(condition, pars)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetActivitySignupList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, vSignup := range listSignup {
|
|
|
+ mobiles = append(mobiles, vSignup.Mobile)
|
|
|
+ }
|
|
|
+ //获取这些手机号对应的Openid
|
|
|
+ listOpenid, e := models.GetUserRecordListByMobileArr(mobiles)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetUserRecordListByMobileArr, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ openIdList := make([]*models.OpenIdList, 0)
|
|
|
+ for _, vOpenid := range listOpenid {
|
|
|
+ openIdItem := new(models.OpenIdList)
|
|
|
+ openIdItem.OpenId = vOpenid.OpenId
|
|
|
+ openIdItem.UserId = vOpenid.UserId
|
|
|
+ openIdList = append(openIdList, openIdItem)
|
|
|
+ }
|
|
|
+ //var reserveResults string
|
|
|
+ //var keyword2 string
|
|
|
+ //reserveResults = "--"
|
|
|
+ //keyword2 = "将在15分钟后开始"
|
|
|
+ //SendWxMsgWithFrequency(keyword2, v.ActivityName, reserveResults, v.ActivityTimeText, "--", remark, openIdList, v.ActivityId)
|
|
|
+ SendWxMsgWithFrequencyBycategory(v.ActivityName, v.ActivityTime, openIdList, v.ActivityId)
|
|
|
+
|
|
|
+ //如果是研选活动,发送研选类目模板消息
|
|
|
+ if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+ //获取这些手机号对应的Openid
|
|
|
+ listOpenidMfyx, e := models.GetMfyxUserRecordListByMobileArr(mobiles)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetUserRecordListByMobileArr, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ openIdListMfyx := make([]*models.OpenIdList, 0)
|
|
|
+ for _, vOpenid := range listOpenidMfyx {
|
|
|
+ openIdItem := new(models.OpenIdList)
|
|
|
+ openIdItem.OpenId = vOpenid.OpenId
|
|
|
+ openIdItem.UserId = vOpenid.UserId
|
|
|
+ openIdListMfyx = append(openIdListMfyx, openIdItem)
|
|
|
+ }
|
|
|
+ SendWxMsgWithFrequencyBycategoryMfyx(v.ActivityName, v.ActivityTime, openIdListMfyx, v.ActivityId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ err = models.UpdateSendedMsgMeetingSendWxMsg(activityIds)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// 买方研选推送会议开始消息提醒15分钟前
|
|
|
+func SendActivityBeginMsgMeetingMfyx() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("买方研选推送会议开始消息提醒15分钟前 失败 SendActivityBeginMsgMeetingMfyx Err:", err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ endDate := time.Now().Add(+time.Minute * 15).Format(utils.FormatDateTime)
|
|
|
+ condition = ` AND activity_time <= ? AND activity_time >= NOW() AND publish_status = 1 `
|
|
|
+ pars = append(pars, endDate)
|
|
|
+ listActivity, e := models.GetCygxActivityList(condition, pars, 0, 100000)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxActivityList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(listActivity) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //var signupIds string
|
|
|
+ //var remark = "点击查看活动详情"
|
|
|
+
|
|
|
var activityIds []int
|
|
|
//同一时间举办的活动不多所以这里循环查询
|
|
|
for _, v := range listActivity {
|