package services import ( ) // //func SendWxTemplateMsg(reportId int) (err error) { // var msg string // defer func() { // if err != nil { // go utils.SendEmail("发送模版消息失败"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers) // utils.FileLog.Info("发送模版消息失败,Err:%s,%s", err.Error(), msg) // } // if msg != "" { // utils.FileLog.Info("发送模版消息失败,msg:%s", msg) // } // }() // utils.FileLog.Info("%s", "services SendMsg") // // report, err := models.GetReportById(reportId) // if err != nil { // msg = "GetReportInfo Err:" + err.Error() // return // } // if report == nil { // utils.FileLog.Info("报告信息不存在") // return // } // accessToken, err := models.GetWxAccessToken() // if err != nil { // msg = "GetWxAccessToken Err:" + err.Error() // return // } // if accessToken == "" { // msg = "accessToken is empty" // return // } // openIdList, err := models.GetOpenIdList() // if err != nil { // msg = "get openIdList err:" + err.Error() // return // } // fmt.Println("openIdListCount:", len(openIdList)) // // sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken // fmt.Println("send start") // utils.FileLog.Info("send start") // //if report.MsgIsSend == 0 { // sendMap := make(map[string]interface{}) // sendData := make(map[string]interface{}) // // redirectUrl := utils.TemplateRedirectUrl + strconv.Itoa(reportId) // keyword1 := "弘则日度点评" // first := "Hi,最新一期日度点评已上线,欢迎查看" // keyword2 := report.Title // //keyword3 := report.PublishTime.Format(utils.FormatDateTime) // keyword3 := report.PublishTime // keyword4 := report.Abstract // // sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"} // sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"} // sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": "#173177"} // sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": "#173177"} // sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": "#173177"} // // sendMap["template_id"] = utils.TemplateIdByProduct // sendMap["url"] = redirectUrl // sendMap["data"] = sendData // sendTemplateMsg(sendUrl, sendMap, openIdList) // //} // fmt.Println("send end") // utils.FileLog.Info("send end") // return //} // //func sendTemplateMsg(sendUrl string, sendMap map[string]interface{}, items []*models.OpenIdList) (err error) { // for _, v := range items { // sendMap["touser"] = v.OpenId // data, err := json.Marshal(sendMap) // if err != nil { // fmt.Println("SendTemplateMsgOne Marshal Err:", err.Error()) // utils.FileLog.Info("SendTemplateMsgOne Marshal Err:%s", err.Error()) // return err // } // err = toSendTemplateMsg(sendUrl, data) // if err != nil { // fmt.Println("send err:", err.Error()) // utils.FileLog.Info("ToSendTemplateMsg Err:%s", err.Error()) // } // } // return //} // //func toSendTemplateMsg(sendUrl string, data []byte) (err error) { // utils.FileLog.Info("Send:%s", string(data)) // client := http.Client{} // resp, err := client.Post(sendUrl, "application/json", bytes.NewBuffer(data)) // if err != nil { // return // } // defer resp.Body.Close() // // body, _ := ioutil.ReadAll(resp.Body) // utils.FileLog.Info("SendResult:%s", string(body)) // var templateResponse SendTemplateResponse // err = json.Unmarshal(body, &templateResponse) // if err != nil { // utils.FileLog.Info("SendResult Unmarshal Err:%s", err.Error()) // return err // } // return //} // //type SendTemplateResponse struct { // Errcode int `json:"errcode"` // Errmsg string `json:"errmsg"` // MsgID int `json:"msgid"` //} // //func SendCompanyApplyWxTemplateMsg(mobile, applyType string) (err error) { // var msg string // defer func() { // if err != nil { // go utils.SendEmail("发送模版消息失败"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToUsers) // utils.FileLog.Info("发送模版消息失败,Err:%s,%s", err.Error(), msg) // } // if msg != "" { // utils.FileLog.Info("发送模版消息失败,msg:%s", msg) // } // }() // utils.FileLog.Info("%s", "services SendMsg") // // accessToken, err := models.GetWxAccessToken() // if err != nil { // msg = "GetWxAccessToken Err:" + err.Error() // return // } // if accessToken == "" { // msg = "accessToken is empty" // return // } // utils.FileLog.Info("mobile:%s", mobile) // openIdList, err := models.GetOpenIdListByMobile(mobile) // if err != nil { // msg = "get openIdList err:" + err.Error() // return // } // utils.FileLog.Info("openIdListCount:%s", len(openIdList)) // //fmt.Println("openIdListCount:", len(openIdList)) // if len(openIdList) > 0 && utils.TemplateIdByCompanyApply != "" { // utils.FileLog.Info("start send") // sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken // fmt.Println("send start") // utils.FileLog.Info("send start") // sendMap := make(map[string]interface{}) // sendData := make(map[string]interface{}) // // redirectUrl := "" //utils.TemplateRedirectUrl + strconv.Itoa(reportId) // keyword1 := applyType // first := "Hi,有新的订单需要审批" // keyword2 := time.Now().Format(utils.FormatDateTime) // keyword3 := "" // remark := "" // // sendData["first"] = map[string]interface{}{"value": first, "color": "#173177"} // sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": "#173177"} // sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": "#173177"} // sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": "#173177"} // sendData["remark"] = map[string]interface{}{"value": remark, "color": "#173177"} // // sendMap["template_id"] = utils.TemplateIdByCompanyApply // sendMap["url"] = redirectUrl // sendMap["data"] = sendData // sendTemplateMsg(sendUrl, sendMap, openIdList) // } // utils.FileLog.Info("send end") // return //}