Browse Source

no message

xingzai 1 year ago
parent
commit
986db5666d

+ 0 - 2
controllers/cygx/activity_signup.go

@@ -1448,8 +1448,6 @@ func (this *ActivitySignupCoAntroller) SignupFailExport() {
 		return
 	}
 
-	return
-
 	//创建excel
 	dir, err := os.Executable()
 	exPath := filepath.Dir(dir)

+ 9 - 5
models/cygx/cygx_user_record.go

@@ -389,7 +389,7 @@ func GetUserRecordListByMobileArr(bindAccount []string) (items []*OpenIdList, er
 
 // 获取单个用户openid
 func GetUserRecordOpenidByMobile(bindAccount string) (item *OpenIdList, err error) {
-	o := orm.NewOrm()
+	o := orm.NewOrmUsingDB("hz_cygx")
 	var sql string
 	sql = `SELECT cr.open_id,u.cygx_user_id as  user_id
 			FROM cygx_user_record AS cr 
@@ -400,45 +400,49 @@ func GetUserRecordOpenidByMobile(bindAccount string) (item *OpenIdList, err erro
 
 // 获取预约活动的用户的openID
 func GetActivityOpenIdList(activityId int) (items []*OpenIdList, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT DISTINCT cr.open_id,u.cygx_user_id as  user_id
 			FROM
 			cygx_my_schedule AS m
 			INNER JOIN cygx_user_record AS cr ON cr.cygx_bind_account = m.mobile 
 			WHERE m.activity_id = ?  `
-	_, err = orm.NewOrm().Raw(sql, activityId).QueryRows(&items)
+	_, err = o.Raw(sql, activityId).QueryRows(&items)
 	return
 }
 
 // 获取预约活动的用户的openID
 func GetActivitySpecialOpenIdList() (items []*OpenIdList, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT DISTINCT cr.open_id,u.cygx_user_id as  user_id
 			FROM
 			cygx_user_follow_special AS m
 			INNER JOIN cygx_user_record AS cr ON cr.cygx_bind_account = m.mobile  `
-	_, err = orm.NewOrm().Raw(sql).QueryRows(&items)
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
 
 // 获取关注作者的用户的openID
 func GetFollowDepartmentOpenIdList(departmentId int) (items []*OpenIdList, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT  DISTINCT cr.open_id,u.cygx_user_id as  user_id
 			FROM
 				cygx_article_department_follow AS f
 				INNER JOIN cygx_user_record AS cr  ON cr.cygx_bind_account = f.mobile   
 			WHERE
 				f.department_id = ? `
-	_, err = orm.NewOrm().Raw(sql, departmentId).QueryRows(&items)
+	_, err = o.Raw(sql, departmentId).QueryRows(&items)
 	return
 }
 
 // 获取关注产业的用户的openID
 func GetFollowindustrialOpenIdList(industrialManagementId int) (items []*OpenIdList, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
 	sql := `SELECT DISTINCT cr.open_id,u.cygx_user_id as  user_id
 			FROM
 			cygx_industry_fllow AS f
 			INNER JOIN cygx_user_record AS cr  ON cr.cygx_bind_account = f.mobile   
 			WHERE
 			f.industrial_management_id = ? `
-	_, err = orm.NewOrm().Raw(sql, industrialManagementId).QueryRows(&items)
+	_, err = o.Raw(sql, industrialManagementId).QueryRows(&items)
 	return
 }

+ 24 - 9
services/cygx/acitvity.go

@@ -1164,7 +1164,7 @@ func DoActivityOnenIdWxTemplateMsg(activityId int) (err error) {
 		}
 	}
 	//获取拒绝接收推送的的用户的 openid
-	//return
+
 	mapOpenidRefuset := make(map[int]string)
 	openidRefusetList, err := cygx.GetCygxUserRefusetOpenid()
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -1265,19 +1265,34 @@ func DoActivityOnenIdWxTemplateMsg(activityId int) (err error) {
 	if len(OpenIdList) == 0 {
 		return err
 	}
-	//
-	//for _, v := range OpenIdList {
-	//	fmt.Println(v)
-	//}
-	//return err
+
+	openIdArr := make([]string, len(OpenIdList))
+	for i, v := range OpenIdList {
+		openIdArr[i] = v.OpenId
+	}
+
 	activityInfo.ActivityTypeName = strings.Replace(activityInfo.ActivityTypeName, "(C类)", "", -1)
 	first := "您关注的赛道,有【" + activityInfo.ActivityTypeName + "】活动发布,欢迎参与"
 	keyword1 := "新活动:" + activityInfo.ActivityName
 	keyword2 := activityInfo.ActivityTimeText + ",【" + activityInfo.Label + "】"
-	keyword3 := ""
-	keyword4 := ""
 
-	services.SendActivityOnenIdWxTemplateMsg(first, keyword1, keyword2, keyword3, keyword4, OpenIdList, activityInfo.ActivityId)
+	redirectUrl := utils.WX_MSG_PATH_ACTIVITY_DETAIL + strconv.Itoa(activityId)
+	sendInfo := new(services.SendWxTemplate)
+	sendInfo.First = first
+	sendInfo.Keyword1 = keyword1
+	sendInfo.Keyword2 = keyword2
+
+	sendInfo.TemplateId = utils.WxMsgTemplateIdActivityChangeApplyXzs
+	sendInfo.RedirectUrl = redirectUrl
+	sendInfo.RedirectTarget = 3
+	sendInfo.Resource = strconv.Itoa(activityId)
+	sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_LIMIT_PEOPLE
+	sendInfo.OpenIdArr = openIdArr
+	e := services.SendTemplateMsg(sendInfo)
+	if e != nil {
+		err = errors.New("SendTemplateMsg, Err: " + e.Error())
+		return
+	}
 	return
 }
 

+ 0 - 149
services/wechat_send_msg.go

@@ -1914,155 +1914,6 @@ func SendWxMsgWithCygxActivityAppointmentNew(first, keyword1, keyword2, keyword3
 	return
 }
 
-// 处理活动是否进行模板消息推送
-func SendActivityOnenIdWxTemplateMsg(first, keyword1, keyword2, keyword3, keyword4 string, openIdList []*models.OpenIdList, activityId int) (err error) {
-	var msg string
-	defer func() {
-		if err != nil {
-			go alarm_msg.SendAlarmMsg("查研观向处理活动是否进行模板消息推送发送模版消息失败,Err:"+err.Error()+";msg:"+msg, 3)
-			utils.FileLogCygx.Info(fmt.Sprintf("发送模版消息失败,Err:%s,%s", err.Error(), 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
-		}
-	}
-	sendMap := make(map[string]interface{})
-	sendData := make(map[string]interface{})
-	redirectUrl := ""
-	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["remark"] = map[string]interface{}{"value": "点击查看活动详情", "color": "#173177"}
-	sendUrl := "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken
-	if utils.RunMode == "release" {
-		sendMap["template_id"] = utils.WxMsgTemplateIdActivityChangeApplyXzs
-	} else {
-		sendMap["template_id"] = utils.WxMsgTemplateIdActivityChangeApply
-	}
-	sendMap["url"] = redirectUrl
-	sendMap["data"] = sendData
-	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxCygxAppId, "pagepath": "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityId) + "&IsSendWx=1"}
-	sendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(activityId), utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD)
-
-	//openIdArr := make([]string, len(openIdList))
-	//for i, v := range openIdList {
-	//	openIdArr[i] = v.OpenId
-	//}
-	//
-	//sendInfo := new(SendWxTemplate)
-	//sendInfo.First = first
-	//sendInfo.Keyword1 = keyword1
-	//sendInfo.Keyword2 = keyword2
-	//sendInfo.Remark = "点击查看活动详情"
-	//if utils.RunMode == "release" {
-	//	sendInfo.TemplateId = utils.WxMsgTemplateIdActivityChangeApplyXzs
-	//} else {
-	//	sendInfo.TemplateId = utils.WxMsgTemplateIdActivityChangeApply
-	//}
-	//sendInfo.RedirectUrl = "activityPages/activityDetail/activityDetail?id=" + strconv.Itoa(activityId)
-	//sendInfo.RedirectTarget = 3
-	//sendInfo.Resource = strconv.Itoa(activityId)
-	//sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_UPDATE
-	//sendInfo.OpenIdArr = openIdArr
-	//err = SendTemplateMsg(sendInfo)
-	return
-}
-
-// SendWxMsgWithCygxMicroRoadshowVideo 处理微路演视频关联的视频进行推送
-func SendWxMsgWithCygxMicroRoadshowVideo(first, keyword1, keyword2, keyword3, keyword4 string, item *models.OpenIdList, articleId int) (err error) {
-	var msg string
-	defer func() {
-		if err != nil {
-			fmt.Println("err:", err)
-			go alarm_msg.SendAlarmMsg("查研观向,推送预约研选的纪要活动、策略报告、研选报告,Err:"+err.Error()+";msg:"+msg, 3)
-			utils.FileLog.Info(fmt.Sprintf("发送模版消息失败,Err:%s,%s", err.Error(), msg))
-		}
-		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
-		}
-	}
-	var openIdList []*models.OpenIdList
-	openIdList = append(openIdList, item)
-	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{})
-	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"}
-	sendData["remark"] = map[string]interface{}{"value": "点击进入产业资源包详情页", "color": "#173177"}
-	sendMap["template_id"] = utils.TemplateIdByProductXzs
-	sendMap["miniprogram"] = map[string]interface{}{"appid": utils.WxCygxAppId, "pagepath": "reportPages/IndustryReport/IndustryReport?id=" + strconv.Itoa(articleId)}
-	sendMap["data"] = sendData
-	sendTemplateMsg(sendUrl, sendMap, openIdList, strconv.Itoa(articleId), utils.TEMPLATE_MSG_CYGX_ARTICLE)
-
-	//openIdArr := make([]string, len(openIdList))
-	//for i, v := range openIdList {
-	//	openIdArr[i] = v.OpenId
-	//}
-	//sendInfo := new(SendWxTemplate)
-	//sendInfo.First = first
-	//sendInfo.Keyword1 = keyword1
-	//sendInfo.Keyword2 = keyword2
-	//sendInfo.Keyword3 = keyword3
-	//sendInfo.Keyword4 = keyword4
-	//sendInfo.Remark = "点击查看报告详情"
-	//sendInfo.TemplateId = utils.TemplateIdByProductXzs
-	//sendInfo.RedirectUrl = "pageMy/reportDetail/reportDetail?id=" + strconv.Itoa(articleId)
-	//sendInfo.RedirectTarget = 3
-	//sendInfo.Resource = strconv.Itoa(articleId)
-	//sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ARTICLE
-	//sendInfo.OpenIdArr = openIdArr
-	//err = SendTemplateMsg(sendInfo)
-	return
-}
-
 type SendWxTemplate struct {
 	WxAppId        string   `description:"公众号appId"`
 	First          string   `description:"模板消息first字段"`