123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- 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
- e = services.SendTemplateMsg(sendInfo)
- if e != nil {
- err = errors.New("SendTemplateMsg, Err: " + e.Error())
- return
- }
- return
- }
|