Browse Source

no message

xingzai 1 year ago
parent
commit
c5da3c53df
2 changed files with 119 additions and 0 deletions
  1. 4 0
      services/cygx/activity_ocr.go
  2. 115 0
      services/cygx/activity_wx_msg.go

+ 4 - 0
services/cygx/activity_ocr.go

@@ -183,6 +183,8 @@ func UpdateActivityVideoAndVoice(activityInfo *cygx.ActivityDetail, itemVoice *c
 				return
 			}
 			go UpdateResourceData(int(newId), utils.CYGX_OBJ_ACTIVITYVOICE, "add", activityInfo.ActivityTime) // 把活动音频的数据添加到 cygx_resource_data 表
+
+			go SendWxMsgWithUpdateActivityVideoAndVoice(activityId, itemVoice.VoiceName) //  已结束的活动上传音频或视频后给已关注这个活动关联的产业的正式、试用 客户发送模板信息
 		} else {
 			e = cygx.UpdateCygxActivityVoice(itemVoice)
 			if e != nil {
@@ -209,6 +211,8 @@ func UpdateActivityVideoAndVoice(activityInfo *cygx.ActivityDetail, itemVoice *c
 				return
 			}
 			go UpdateResourceData(int(newId), utils.CYGX_OBJ_ACTIVITYVIDEO, "add", activityInfo.ActivityTime) // 把活动视频的数据添加到 cygx_resource_data 表
+
+			go SendWxMsgWithUpdateActivityVideoAndVoice(activityId, itemVideo.VideoName) //  已结束的活动上传音频或视频后给已关注这个活动关联的产业的正式、试用 客户发送模板信息
 		} else {
 			e = cygx.UpdateCygxActivityVideo(itemVideo)
 			if e != nil {

+ 115 - 0
services/cygx/activity_wx_msg.go

@@ -4,6 +4,7 @@ import (
 	"errors"
 	"fmt"
 	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/models/company"
 	"hongze/hz_crm_api/models/cygx"
 	"hongze/hz_crm_api/services"
 	"hongze/hz_crm_api/services/alarm_msg"
@@ -192,3 +193,117 @@ func SendWxMsgWithCygxActivitySignUpBySell(items []*cygx.CygxSignupUser) (err er
 	}
 	return
 }
+
+// 已结束的活动上传音频或视频后给已关注这个活动关联的产业的正式、试用 客户发送模板信息
+func SendWxMsgWithUpdateActivityVideoAndVoice(activityId int, fileName string) (err error) {
+	defer func() {
+		if err != nil {
+			fmt.Println(err)
+			go alarm_msg.SendAlarmMsg(fmt.Sprint("已结束的活动上传音频或视频后给已关注这个活动关联的产业的正式、试用 客户发送模板信息失败,Err:"+err.Error()+";activityId:", activityId), 3)
+			//utils.FileLogCygx.Info(fmt.Sprintf("发送模版消息失败,Err:%s,%s", err.Error(), msg))
+		}
+	}()
+	activityInfo, e := cygx.GetAddActivityInfoById(activityId)
+	if e != nil {
+		err = errors.New("活动不存在, Err: " + e.Error())
+		return
+	}
+	if activityInfo == nil {
+		return
+	}
+	industrialList, e := cygx.GetIndustrialActivityGroupListByactivityIds(strconv.Itoa(activityId))
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetIndustrialActivityGroupListByactivityIds: " + e.Error())
+		return
+	}
+
+	//if len(industrialList) == 0 {
+	//	return
+	//}
+
+	var industrialManagementIds []int
+
+	for _, v := range industrialList {
+		industrialManagementIds = append(industrialManagementIds, v.IndustrialManagementId)
+	}
+	lenindustrialManagementIds := len(industrialManagementIds)
+	if lenindustrialManagementIds == 0 {
+		return
+	}
+
+	var condition string
+	var pars []interface{}
+
+	//获取试用正式权益客户
+	condition = "  AND product_id = 2 AND `status` IN('正式','试用')  "
+	listCompany, e := company.GetCompanyProductList(condition, pars)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCompanyProductList, Err: " + e.Error())
+		return
+	}
+	var companyIds []int
+	for _, v := range listCompany {
+		companyIds = append(companyIds, v.CompanyId)
+	}
+	lencompanyIds := len(companyIds)
+	if lencompanyIds == 0 {
+		return
+	}
+
+	//根据产业关注ID,与有权限的公司ID获取对应的用户列表
+	condition = " AND  industrial_management_id IN (" + utils.GetOrmInReplace(lenindustrialManagementIds) + ")  AND company_id IN (" + utils.GetOrmInReplace(lencompanyIds) + ") "
+	pars = append(pars, industrialManagementIds, companyIds)
+	userFllowList, e := cygx.GetCygxIndustryFllowList(condition, pars, 0, 0)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetCygxIndustryFllowList, Err: " + e.Error())
+		return
+	}
+
+	//获取这些用户的手机号
+	var mobileArr []string
+	for _, v := range userFllowList {
+		mobileArr = append(mobileArr, v.Mobile)
+	}
+	mobileLen := len(mobileArr)
+	if mobileLen == 0 {
+		return
+	}
+
+	openIdList, e := cygx.GetUserRecordListByMobileArr(mobileArr)
+	if e != nil {
+		err = errors.New("GetWxOpenIdBList, Err: " + e.Error())
+		return
+	}
+	if len(openIdList) == 0 {
+		return
+	}
+	openIdArr := make([]string, len(openIdList))
+	for _, v := range openIdList {
+		openIdArr = append(openIdArr, v.OpenId)
+	}
+
+	keyword1 := fileName
+	keyword2 := "路演回放已发布,欢迎查看"
+	keyword3 := ""
+	keyword4 := ""
+
+	redirectUrl := utils.WX_MSG_PATH_ACTIVITY_DETAIL + strconv.Itoa(activityId)
+	sendInfo := new(services.SendWxTemplate)
+	sendInfo.Keyword1 = keyword1
+	sendInfo.Keyword2 = keyword2
+	sendInfo.Keyword3 = keyword3
+	sendInfo.Keyword4 = keyword4
+
+	sendInfo.TemplateId = utils.WxMsgTemplateIdActivityChangeApplyXzs
+	sendInfo.RedirectUrl = redirectUrl
+	sendInfo.RedirectTarget = 3
+	sendInfo.Resource = strconv.Itoa(activityId)
+	sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_LIMIT_PEOPLE
+	sendInfo.OpenIdArr = openIdArr
+	e = services.SendTemplateMsg(sendInfo)
+	if e != nil {
+		err = errors.New("SendTemplateMsg, Err: " + e.Error())
+		return
+	}
+	return
+}