zwxi 11 months ago
parent
commit
24f8e116ca
3 changed files with 106 additions and 1 deletions
  1. 1 0
      controllers/activity.go
  2. 1 0
      services/activity.go
  3. 104 1
      services/wx_category_template_msg.go

+ 1 - 0
controllers/activity.go

@@ -1052,6 +1052,7 @@ func (this *ActivityCoAntroller) SignupCancel() {
 	// 如果是买方研选下的专家沙龙,同时推给内容组四人
 	if activityInfo.ActivityTypeId == 5 {
 		go services.SendActivitieCancelSignTemplateMsg(user, activityInfo)
+		go services.SendActivitieCancelSignCategoryTemplateMsg(user, activityInfo)
 	}
 
 	go services.SendResearchActivitiesTemplateMsg(user, activityInfo, "取消报名") //公司线下调研活动客户报名后给建会人,所属销售推送模板信息

+ 1 - 0
services/activity.go

@@ -725,6 +725,7 @@ func ActivityUserRemind(user *models.WxUserItem, activityDetail *models.Activity
 	// 如果是买方研选下的专家沙龙,同时推给内容组四人
 	if activityDetail.ActivityTypeId == 5 {
 		go SendNeiRongZuActivitieSignTemplateMsg(user, activityDetail)
+		go SendNeiRongZuActivitieSignCategoryTemplateMsg(user, activityDetail)
 	}
 	//获取销售手机号
 	sellerItemQy, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)

+ 104 - 1
services/wx_category_template_msg.go

@@ -12,6 +12,7 @@ import (
 	"strings"
 	"time"
 )
+
 type SendWxCategoryTemplate struct {
 	WxAppId        string   `description:"公众号appId"`
 	Keywords       []string `description:"模板消息keyword字段"`
@@ -62,7 +63,6 @@ func SendCategoryTemplateMsg(sendInfo *SendWxCategoryTemplate) (err error) {
 	return
 }
 
-
 // 发送用户操作活动消息提醒
 func SendWxCategoryMsgWithActivityUserRemind(keyWord1, keyWord2 string, openIdList []*models.OpenIdList, activityId int) (err error) {
 	if len(openIdList) == 0 {
@@ -147,3 +147,106 @@ func SendPermissionApplyCategoryTemplateMsg(realName, companyName, mobile, apply
 	err = SendCategoryTemplateMsg(sendInfo)
 	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())
+		}
+	}()
+	accessToken, err := models.GetWxAccessTokenByXzs()
+	if err != nil {
+		msg = "GetWxAccessToken Err:" + err.Error()
+		return
+	}
+	if accessToken == "" {
+		msg = "accessToken is empty"
+		return
+	}
+	sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	configCode := utils.TPL_MSG_NEI_RONG_ZU
+	cnf, e := models.GetConfigByCode(configCode)
+	if e != nil {
+		err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
+		return
+	}
+	openIdList, e := models.GetUserRecordListByMobile(4, cnf.ConfigValue+","+sellerItemQy.Mobile+utils.MobileShenTao)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
+		return
+	}
+
+	var keywords []string
+	keywords = append(keywords, user.RealName, user.CompanyName,
+		sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
+		"报名"+"【"+activityDetail.ActivityName+"】")
+
+	sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
+	templateId := utils.WxCategoryMsgTemplateIdApplyXzs
+	sendMap := make(map[string]interface{})
+	sendData := make(map[string]interface{})
+	sendMap["template_id"] = templateId
+	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityDetail.ActivityId)}
+	sendData["keywords"] = map[string]interface{}{"value": keywords, "color": "#173177"}
+	sendMap["data"] = sendData
+	WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityDetail.ActivityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
+	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())
+		}
+	}()
+	accessToken, err := models.GetWxAccessTokenByXzs()
+	if err != nil {
+		msg = "GetWxAccessToken Err:" + err.Error()
+		return
+	}
+	if accessToken == "" {
+		msg = "accessToken is empty"
+		return
+	}
+	sellerItemQy, err := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	configCode := utils.TPL_MSG_NEI_RONG_ZU
+	cnf, e := models.GetConfigByCode(configCode)
+	if e != nil {
+		err = errors.New("GetConfigByCode, Err: " + e.Error() + configCode)
+		return
+	}
+	openIdList, e := models.GetUserRecordListByMobile(4, cnf.ConfigValue+","+sellerItemQy.Mobile+utils.MobileShenTao)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetUserRecordListByMobile, Err: " + e.Error() + cnf.ConfigValue)
+		return
+	}
+
+	var keywords []string
+	keywords = append(keywords, user.RealName, user.CompanyName,
+		sellerItemQy.RealName, time.Now().Format(utils.FormatDateTimeMinute2),
+		"取消报名"+"【"+activityDetail.ActivityName+"】")
+
+	sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
+	templateId := utils.WxCategoryMsgTemplateIdApplyXzs
+	sendMap := make(map[string]interface{})
+	sendData := make(map[string]interface{})
+	sendMap["template_id"] = templateId
+	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId}
+	sendData["keywords"] = map[string]interface{}{"value": keywords, "color": "#173177"}
+	sendMap["data"] = sendData
+	WxSendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityDetail.ActivityId), utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD)
+	return
+}