|
@@ -153,38 +153,36 @@ func SendPermissionApplyCategoryTemplateMsg(realName, companyName, mobile, apply
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// 发送用户操作活动消息提醒
|
|
|
+// 用户报名模板消息推送(研选公众号类目模版消息)
|
|
|
func SendNeiRongZuActivitieSignCategoryTemplateMsg(user *models.WxUserItem, activityDetail *models.ActivityDetail) (err error) {
|
|
|
- var msg string
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
- go utils.SendEmail("发送模版消息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,文章ID:", activityDetail.ActivityId), 2)
|
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
+ fmt.Println(err)
|
|
|
}
|
|
|
}()
|
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
+ sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
return
|
|
|
}
|
|
|
- sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- return
|
|
|
+ var mobile string
|
|
|
+ var sellerRealName string
|
|
|
+ var mobiles []string
|
|
|
+ mobiles = append(mobiles, utils.RAI_MOBILE_GAO_YI_WEN, utils.RAI_MOBILE_DONG_HENG, utils.RAI_MOBILE_WU_ANG_DI, utils.MobileShenTao, utils.MobileZhangChuanXin) //高亦文、董衡、吴昂迪手机号
|
|
|
+ if sellerItemQy != nil {
|
|
|
+ mobiles = append(mobiles, sellerItemQy.Mobile)
|
|
|
+ sellerRealName = sellerItemQy.RealName
|
|
|
+ } else {
|
|
|
+ sellerRealName = "__"
|
|
|
}
|
|
|
- configCode := utils.TPL_MSG_NEI_RONG_ZU
|
|
|
- cnf, e := models.GetConfigByCode(configCode)
|
|
|
+ mobile = strings.Join(mobiles, ",")
|
|
|
+ openIdList, e := models.GetMfyxWxOpenIdByMobileList(mobile)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
|
|
|
- return
|
|
|
+ err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ return err
|
|
|
}
|
|
|
- openIdList, e := models.GetUserRecordListByMobile(12, cnf.ConfigValue+","+sellerItemQy.Mobile+","+utils.MobileShenTao)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ err = nil
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -193,52 +191,49 @@ func SendNeiRongZuActivitieSignCategoryTemplateMsg(user *models.WxUserItem, acti
|
|
|
openIdArr = append(openIdArr, v.OpenId)
|
|
|
}
|
|
|
var keywords []string
|
|
|
- keywords = append(keywords, user.RealName, user.CompanyName,
|
|
|
- sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
|
|
|
- "报名:"+activityDetail.ActivityName)
|
|
|
-
|
|
|
- //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityDetail.ActivityId)}
|
|
|
+ keywords = append(keywords, user.RealName, user.CompanyName, sellerRealName, time.Now().Format(utils.FormatDateTimeMinute2), utils.TruncateActivityNameString("报名:"+activityDetail.ActivityName))
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_YX_ACTIVITY_DETAIL + strconv.Itoa(activityDetail.ActivityId) //活动详情地址
|
|
|
sendInfo := new(SendWxCategoryTemplate)
|
|
|
sendInfo.Keywords = keywords
|
|
|
sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
sendInfo.RedirectTarget = 4
|
|
|
sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
err = SendCategoryTemplateMsg(sendInfo)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+// 用户取消报名模板消息推送(研选公众号类目模版消息)
|
|
|
func SendActivitieCancelSignCategoryTemplateMsg(user *models.WxUserItem, activityDetail *models.ActivityDetail) (err error) {
|
|
|
- var msg string
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
- go utils.SendEmail("发送模版消息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers)
|
|
|
- go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,文章ID:", activityDetail.ActivityId), 2)
|
|
|
- utils.FileLog.Info("发送模版消息失败,Err:%s", err.Error())
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg(fmt.Sprint("发送用户操作活动消息提醒,活动ID:", activityDetail.ActivityId), 2)
|
|
|
}
|
|
|
}()
|
|
|
- accessToken, err := models.GetWxAccessTokenByXzs()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
+ sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
return
|
|
|
}
|
|
|
- sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- return
|
|
|
+ var mobile string
|
|
|
+ var sellerRealName string
|
|
|
+ var mobiles []string
|
|
|
+ mobiles = append(mobiles, utils.RAI_MOBILE_GAO_YI_WEN, utils.RAI_MOBILE_DONG_HENG, utils.RAI_MOBILE_WU_ANG_DI, utils.MobileShenTao, utils.MobileZhangChuanXin) //高亦文、董衡、吴昂迪手机号
|
|
|
+ if sellerItemQy != nil {
|
|
|
+ mobiles = append(mobiles, sellerItemQy.Mobile)
|
|
|
+ sellerRealName = sellerItemQy.RealName
|
|
|
+ } else {
|
|
|
+ sellerRealName = "__"
|
|
|
}
|
|
|
- configCode := utils.TPL_MSG_NEI_RONG_ZU
|
|
|
- cnf, e := models.GetConfigByCode(configCode)
|
|
|
+ mobile = strings.Join(mobiles, ",")
|
|
|
+ openIdList, e := models.GetMfyxWxOpenIdByMobileList(mobile)
|
|
|
if e != nil {
|
|
|
- err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
|
|
|
- return
|
|
|
+ err = errors.New("GetMfyxWxOpenIdByMobileList, Err: " + e.Error())
|
|
|
+ return err
|
|
|
}
|
|
|
- openIdList, e := models.GetUserRecordListByMobile(12, cnf.ConfigValue+","+sellerItemQy.Mobile+","+utils.MobileShenTao)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ err = nil
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -246,21 +241,16 @@ func SendActivitieCancelSignCategoryTemplateMsg(user *models.WxUserItem, activit
|
|
|
for _, v := range openIdList {
|
|
|
openIdArr = append(openIdArr, v.OpenId)
|
|
|
}
|
|
|
-
|
|
|
var keywords []string
|
|
|
- keywords = append(keywords, user.RealName, user.CompanyName,
|
|
|
- sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
|
|
|
- "取消报名"+"【"+activityDetail.ActivityName+"】")
|
|
|
-
|
|
|
- //sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId}
|
|
|
-
|
|
|
+ keywords = append(keywords, user.RealName, user.CompanyName, sellerRealName, time.Now().Format(utils.FormatDateTimeMinute2), utils.TruncateActivityNameString("取消报名:"+activityDetail.ActivityName))
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_YX_ACTIVITY_DETAIL + strconv.Itoa(activityDetail.ActivityId) //活动详情地址
|
|
|
sendInfo := new(SendWxCategoryTemplate)
|
|
|
- sendInfo.WxAppId = utils.WxAppId
|
|
|
sendInfo.Keywords = keywords
|
|
|
sendInfo.TemplateId = utils.WxCategoryMsgTemplateIdApplyXzs
|
|
|
sendInfo.RedirectTarget = 4
|
|
|
sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_APPLY
|
|
|
sendInfo.OpenIdArr = openIdArr
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
err = SendCategoryTemplateMsg(sendInfo)
|
|
|
return
|
|
|
}
|