|
@@ -472,14 +472,14 @@ func SendEmailFileForAskMsgResearch(cont context.Context) (err error) {
|
|
|
if sellerItem != nil {
|
|
|
openIpItem, _ := models.GetUserRecordByMobile(4, utils.ActSendMsgMobile)
|
|
|
if openIpItem != nil && openIpItem.OpenId != "" {
|
|
|
- SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, openIpItem.OpenId, activityInfo.ActivityId)
|
|
|
+ SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, activityInfo.ActivityId, openIpItem)
|
|
|
}
|
|
|
}
|
|
|
//给所属销售推送消息
|
|
|
if sellerItem != nil {
|
|
|
openIpItem, _ := models.GetUserRecordByMobile(4, sellerItem.Mobile)
|
|
|
if openIpItem != nil && openIpItem.OpenId != "" {
|
|
|
- SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, openIpItem.OpenId, activityInfo.ActivityId)
|
|
|
+ SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, activityInfo.ActivityId, openIpItem)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -560,14 +560,14 @@ func SendEmailFileForAskMsg(cont context.Context) (err error) {
|
|
|
if sellerItem != nil {
|
|
|
openIpItem, _ := models.GetUserRecordByMobile(4, sendMobile)
|
|
|
if openIpItem != nil && openIpItem.OpenId != "" {
|
|
|
- SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, openIpItem.OpenId, activityInfo.ActivityId)
|
|
|
+ SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, activityInfo.ActivityId, openIpItem)
|
|
|
}
|
|
|
}
|
|
|
//给销售推送模板消息
|
|
|
if sellerItem != nil {
|
|
|
openIpItem, _ := models.GetUserRecordByMobile(4, sellerItem.Mobile)
|
|
|
if openIpItem != nil && openIpItem.OpenId != "" {
|
|
|
- SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, openIpItem.OpenId, activityInfo.ActivityId)
|
|
|
+ SendActivityAskApplyTemplateMsg(user.RealName+"——"+user.CompanyName+"(所属销售:"+sellerItem.RealName+")", v2.CreateTime, v2.Content, activityInfo.ActivityName, activityInfo.ActivityId, openIpItem)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -969,135 +969,6 @@ func AddCygxActivityRestrictSignupByAdmin(activityId int) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//活动带问提醒
|
|
|
-func SendActivityAskApplyTemplateMsg(applyName, applyTime, askContent, activityName, openId string, activityId 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)
|
|
|
- }
|
|
|
- if msg != "" {
|
|
|
- utils.FileLog.Info("发送模版消息失败,msg:%s", msg)
|
|
|
- }
|
|
|
- }()
|
|
|
-
|
|
|
- var accessToken string
|
|
|
- if utils.RunMode == "release" {
|
|
|
- accessToken, err = models.GetWxAccessTokenByXzs()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- accessToken, err = models.GetWxAccessToken()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
-
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
- sendData := make(map[string]interface{})
|
|
|
-
|
|
|
- first := "有新的客户提问"
|
|
|
- keyword1 := applyName
|
|
|
- keyword2 := "-"
|
|
|
- keyword3 := applyTime
|
|
|
- keyword4 := askContent
|
|
|
- remark := activityName
|
|
|
- fontColor := "#D9001B"
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": fontColor}
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": fontColor}
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": fontColor}
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": fontColor}
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": fontColor}
|
|
|
- sendData["remark"] = map[string]interface{}{"value": remark, "color": fontColor}
|
|
|
- if utils.RunMode == "release" {
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApplyXzs
|
|
|
- } else {
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApply
|
|
|
- }
|
|
|
- sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityId)}
|
|
|
- sendMap["data"] = sendData
|
|
|
- sendTemplateMsg(sendUrl, openId, sendMap)
|
|
|
- fmt.Println("send end")
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
-//专项产业调研模板消息推送
|
|
|
-func SendSpecialTemplateMsg(applyName, applyTime, mobile, activityName, openId, resource 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)
|
|
|
- }
|
|
|
- if msg != "" {
|
|
|
- utils.FileLog.Info("发送模版消息失败,msg:%s", msg)
|
|
|
- }
|
|
|
- }()
|
|
|
- var accessToken string
|
|
|
- if utils.RunMode == "release" {
|
|
|
- accessToken, err = models.GetWxAccessTokenByXzs()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- accessToken, err = models.GetWxAccessToken()
|
|
|
- if err != nil {
|
|
|
- msg = "GetWxAccessToken Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if accessToken == "" {
|
|
|
- msg = "accessToken is empty"
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
|
|
|
- sendMap := make(map[string]interface{})
|
|
|
- sendData := make(map[string]interface{})
|
|
|
- var first string
|
|
|
- if resource == "sale" {
|
|
|
- first = "有客户对专项调研感兴趣"
|
|
|
- } else {
|
|
|
- first = "有5家公司预报名专项调研"
|
|
|
- }
|
|
|
-
|
|
|
- keyword1 := applyName
|
|
|
- keyword2 := mobile
|
|
|
- keyword3 := applyTime
|
|
|
- keyword4 := activityName
|
|
|
-
|
|
|
- fontColor := "#D9001B"
|
|
|
- sendData["first"] = map[string]interface{}{"value": first, "color": fontColor}
|
|
|
- sendData["keyword1"] = map[string]interface{}{"value": keyword1, "color": fontColor}
|
|
|
- sendData["keyword2"] = map[string]interface{}{"value": keyword2, "color": fontColor}
|
|
|
- sendData["keyword3"] = map[string]interface{}{"value": keyword3, "color": fontColor}
|
|
|
- sendData["keyword4"] = map[string]interface{}{"value": keyword4, "color": fontColor}
|
|
|
- if utils.RunMode == "release" {
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApplyXzs
|
|
|
- } else {
|
|
|
- sendMap["template_id"] = utils.WxMsgTemplateIdApply
|
|
|
- }
|
|
|
- sendMap["data"] = sendData
|
|
|
- sendTemplateMsg(sendUrl, openId, sendMap)
|
|
|
- return
|
|
|
-}
|
|
|
-
|
|
|
//判断预约纪要按钮是否显示
|
|
|
func IsShowAppointment(activityTypeId int, chartPermissionName string) (isShowAppointment bool) {
|
|
|
if activityTypeId == 1 || activityTypeId == 2 || activityTypeId == 3 || activityTypeId == 4 {
|