|
@@ -0,0 +1,119 @@
|
|
|
+package services
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "errors"
|
|
|
+ "fmt"
|
|
|
+ "hongze/hongze_mobile_admin/models"
|
|
|
+ "hongze/hongze_mobile_admin/services/alarm_msg"
|
|
|
+ "hongze/hongze_mobile_admin/utils"
|
|
|
+ "io/ioutil"
|
|
|
+ "net/http"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+type SendWxCategoryTemplate struct {
|
|
|
+ WxAppId string `description:"公众号appId"`
|
|
|
+ Keywords []string `description:"模板消息keyword字段"`
|
|
|
+ TemplateId string `description:"模板id"`
|
|
|
+ RedirectUrl string `description:"跳转地址"`
|
|
|
+ RedirectTarget int `description:"小程序跳转目标:1:弘则研报小程序,2:随手办公小程序,3:查研观向,4:买方研选"`
|
|
|
+ Resource string `description:"资源唯一标识"`
|
|
|
+ SendType int `description:"发送的消息类型:1:报告,2:指标更新提醒,3:审批通知,4:销售领取客户通知,5:活动取消通知,6活动更改时间通知,7:关注的作者发布报告通知,8:发送日报(周报、双周报、月报)模板消息,9:活动预约/报名时间通知"`
|
|
|
+ OpenIdArr []string `description:"消息接收者openid"`
|
|
|
+}
|
|
|
+
|
|
|
+// 推送类目模板消息
|
|
|
+func SendCategoryTemplateMsg(sendInfo *SendWxCategoryTemplate) (err error) {
|
|
|
+ postData, err := json.Marshal(sendInfo)
|
|
|
+ if err != nil {
|
|
|
+ alarm_msg.SendAlarmMsg("SendCategoryTemplateMsg json.Marshal Err:"+err.Error(), 1)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ body := ioutil.NopCloser(strings.NewReader(string(postData)))
|
|
|
+ client := &http.Client{}
|
|
|
+ req, err := http.NewRequest("POST", utils.SendWxCategoryTemplateMsgUrl, body)
|
|
|
+ if err != nil {
|
|
|
+ alarm_msg.SendAlarmMsg("SendCategoryTemplateMsg http.NewRequest Err:"+err.Error(), 1)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ contentType := "application/json;charset=utf-8"
|
|
|
+ req.Header.Set("Content-Type", contentType)
|
|
|
+ req.Header.Set("Authorization", utils.SendTemplateMsgAuthorization)
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("http client.Do Err:" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+ b, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ result := new(BaseResponse)
|
|
|
+ err = json.Unmarshal(b, &result)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if result.Ret != 200 {
|
|
|
+ err = errors.New(string(b))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// SendWxCategoryMsgWithRaiSell 权益销售客户申请转正后,消息群发给所有销售
|
|
|
+func SendWxCategoryMsgWithRaiSell(keyword1, keyword2, keyword3, keyword4 string, openIdList []*models.OpenIdList) (err error) {
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("err:", err)
|
|
|
+ go alarm_msg.SendAlarmMsg("权益销售客户申请转正后,消息群发给所有销售,Err:"+err.Error()+";msg:"+msg, 3)
|
|
|
+ }
|
|
|
+ if msg != "" {
|
|
|
+ utils.FileLog.Info("发送类目模版消息失败,msg:%s", msg)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ openIdArr := make([]string, len(openIdList))
|
|
|
+ for i, v := range openIdList {
|
|
|
+ openIdArr[i] = v.OpenId
|
|
|
+ }
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdCompanyApprovalMessageRai
|
|
|
+ sendInfo.RedirectUrl = ""
|
|
|
+ sendInfo.RedirectTarget = 4
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ fmt.Println(sendInfo)
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// SendWxCategoryMsgWithRaiWangYang 客户研选行业转正时(王芳审批通过),模板消息提醒 董衡、高亦文、吴昂迪和沈涛
|
|
|
+func SendWxCategoryMsgWithRaiWangYang(keyword1, keyword2, keyword3, keyword4 string, openIdList []*models.OpenIdList) (err error) {
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("err:", err)
|
|
|
+ go alarm_msg.SendAlarmMsg("客户研选行业转正时(王芳审批通过),类目模板消息提醒汪洋,Err:"+err.Error()+";msg:"+msg, 3)
|
|
|
+ }
|
|
|
+ if msg != "" {
|
|
|
+ utils.FileLog.Info("发送类目模版消息失败,msg:%s", msg)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ openIdArr := make([]string, len(openIdList))
|
|
|
+ for i, v := range openIdList {
|
|
|
+ openIdArr[i] = v.OpenId
|
|
|
+ }
|
|
|
+ sendInfo := new(SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = []string{keyword1, keyword2, keyword3, keyword4}
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdCompanyApprovalMessageRai
|
|
|
+ sendInfo.RedirectUrl = ""
|
|
|
+ sendInfo.RedirectTarget = 4
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_APPLY
|
|
|
+ sendInfo.OpenIdArr = openIdArr
|
|
|
+ err = SendCategoryTemplateMsg(sendInfo)
|
|
|
+ return
|
|
|
+}
|
|
|
+
|