|
@@ -0,0 +1,102 @@
|
|
|
+package cygx
|
|
|
+
|
|
|
+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"
|
|
|
+ "hongze/hz_crm_api/utils"
|
|
|
+ "strconv"
|
|
|
+)
|
|
|
+
|
|
|
+//func init() {
|
|
|
+// SendWxMsgCygxQuestionnaire(2)
|
|
|
+//}
|
|
|
+
|
|
|
+// 投票发布时,给所有开通买方研选正式试用的客户
|
|
|
+func SendWxMsgCygxQuestionnaire(questionnaireId int) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go alarm_msg.SendAlarmMsg(fmt.Sprint("投票发布时,给所有开通买方研选正式试用的客户,questionnaireId:", questionnaireId, err.Error()), 2)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ //获取问卷详情
|
|
|
+ detail, e := cygx.GetCygxQuestionnaireDetail(questionnaireId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCygxQuestionnaireDetail, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var keyword1 string
|
|
|
+ var keyword2 string
|
|
|
+ var keyword3 string
|
|
|
+ var keyword4 string
|
|
|
+ var companyIds []int
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+ condition = " AND chart_permission_id = 31 AND `status` IN ('正式','试用') "
|
|
|
+ //获取所有开通买方研选正式试用的客户列表
|
|
|
+ listCompany, e := company.GetCompanyReportPermissionList(condition, pars, 0, 0)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxQuestionnaireDetail, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range listCompany {
|
|
|
+ companyIds = append(companyIds, v.CompanyId)
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取相关的用户
|
|
|
+ userList, e := models.GetWxUserByCompanyIds(companyIds)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetWxUserByCompanyIds, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ mobile := make([]string, 0)
|
|
|
+ for _, v := range userList {
|
|
|
+ mobile = append(mobile, v.Mobile)
|
|
|
+ }
|
|
|
+ //获取用户对应的Openid
|
|
|
+ openIdList, e := cygx.GetUserRecordListByMobileArr(mobile)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSellerByAdminId, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(openIdList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ keyword1 = "买方研选【" + detail.ActivityTypeName + "】主题投票"
|
|
|
+ keyword2 = "请选择您感兴趣的主题"
|
|
|
+
|
|
|
+ openIdArr := make([]string, 0)
|
|
|
+ for _, v := range openIdList {
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+ }
|
|
|
+ redirectUrl := ""
|
|
|
+ if utils.RunMode == "release" {
|
|
|
+ redirectUrl = utils.WX_MSG_PATH_QUESTIONNAIRE_DETAIL + strconv.Itoa(questionnaireId)
|
|
|
+ }
|
|
|
+ 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(questionnaireId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+
|
|
|
+ err = services.SendTemplateMsg(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|