|
@@ -1235,9 +1235,23 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
|
|
|
}
|
|
|
//获取提交过推送规则的用户的 openid
|
|
|
mapUserIdChooseSend := make(map[int]int)
|
|
|
+ mapUserIdChooseSendTypeNoPermission := make(map[int]int)
|
|
|
chooseSendtList, err := models.GetCygxXzsChooseSend()
|
|
|
for _, v := range chooseSendtList {
|
|
|
mapUserIdChooseSend[v.UserId] = v.UserId
|
|
|
+ if v.IsRefuse == 1 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //获取选择主客观赛道的用户
|
|
|
+ if reportMapDetail.PermissionType == 1 {
|
|
|
+ if v.IsSubjective == 1 {
|
|
|
+ mapUserIdChooseSendTypeNoPermission[v.UserId] = v.UserId
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if v.IsObjective == 1 {
|
|
|
+ mapUserIdChooseSendTypeNoPermission[v.UserId] = v.UserId
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//已经推送了的openid
|
|
|
mapOpenidPushed := make(map[int]string)
|
|
@@ -1258,6 +1272,7 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
|
|
|
keyword2 := articleInfo.Title
|
|
|
keyword3 := articleInfo.PublishDate
|
|
|
keyword4 := articleInfo.Abstract
|
|
|
+ mapAlreadySend := make(map[int]int)
|
|
|
//如果是策略就按照策略的推送方式来写
|
|
|
if reportMapDetail.ChartPermissionName == utils.CE_LUE_NAME {
|
|
|
//获取提交过推送规则的用户的 openid
|
|
@@ -1278,12 +1293,61 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
|
|
|
openIditem.OpenId = v
|
|
|
first := "您关注的赛道,有新的报告发布/更新,欢迎查看"
|
|
|
keyword1 := "所属赛道:" + industryName
|
|
|
+ mapActivityUserId := make(map[int]string)
|
|
|
+ if articleInfo.IsSummary == 1 {
|
|
|
+ sliceSubjectId, _ := models.GetSubjectIds(articleId)
|
|
|
+ if sliceSubjectId != ""{
|
|
|
+ appointmentList, err := models.GetCygxAppointmentSummaryBySubjectId(sliceSubjectId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetCygxAppointmentSummaryListBySubjectId Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ var userIds []string
|
|
|
+ if len(appointmentList) > 0 {
|
|
|
+ for _, v := range appointmentList {
|
|
|
+ //fmt.Println("mapActivityUserId:", v.UserId)
|
|
|
+ userIds = append(userIds, strconv.Itoa(v.UserId))
|
|
|
+ mapActivityUserId[v.UserId] += v.ActivityName + ","
|
|
|
+ }
|
|
|
+ userIdstr := strings.Join(userIds, ",")
|
|
|
+ openIdLists, err := models.GetOpenIdByUserIds(userIdstr)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetOpenIdByUserIds Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ for _, item := range openIdLists {
|
|
|
+ first := "您预约的调研,有关联的纪要发布/更新了1"
|
|
|
+ keyword1 := industryName
|
|
|
+ openIditem := new(models.OpenIdList)
|
|
|
+ openIditem.OpenId = item.OpenId
|
|
|
+ openIditem.UserId = item.UserId
|
|
|
+ if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
|
|
|
+ SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ fmt.Println("AlreadySend:", openIditem.UserId)
|
|
|
+ mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //fmt.Println("openIditem.UserId:", openIditem.UserId)
|
|
|
+ //if _,ok := mapActivityUserId[openIditem.UserId]; ok{
|
|
|
+ // first = "您预约的调研,有关联的纪要发布/更新了"
|
|
|
+ // keyword1 = industryName
|
|
|
+ // SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ // delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ // mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ //}
|
|
|
+ }
|
|
|
+ _, ok := mapAlreadySend[openIditem.UserId]
|
|
|
//如果有权限而且小助手没有提交过信息的 就做正常推送
|
|
|
- if mapUserIdChooseSend[openIditem.UserId] == 0 {
|
|
|
+ if mapUserIdChooseSend[openIditem.UserId] == 0 && !ok {
|
|
|
+ fmt.Println("1:", articleId)
|
|
|
SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
}
|
|
|
//如果小助手勾选了对应的权限信息 就做正常推送
|
|
|
- if mapUserIdChooseSend[openIditem.UserId] != 0 && mapUserFllowCeLue[openIditem.UserId] != "" {
|
|
|
+ if mapUserIdChooseSend[openIditem.UserId] != 0 && mapUserFllowCeLue[openIditem.UserId] != "" && !ok {
|
|
|
+ fmt.Println("2:", articleId)
|
|
|
SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
}
|
|
|
}
|
|
@@ -1306,8 +1370,12 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
|
|
|
if v.IsSubjective == 1 {
|
|
|
mapUserIdChooseSendType[v.UserId] = v.UserId
|
|
|
}
|
|
|
- } else {
|
|
|
- if v.IsSubjective == 1 {
|
|
|
+ } else if reportMapDetail.PermissionType == 2 {
|
|
|
+ if v.IsObjective == 1 {
|
|
|
+ mapUserIdChooseSendType[v.UserId] = v.UserId
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if v.IsSubjective == 1 || v.IsObjective == 1 {
|
|
|
mapUserIdChooseSendType[v.UserId] = v.UserId
|
|
|
}
|
|
|
}
|
|
@@ -1317,13 +1385,120 @@ func DoArticleOnenIdWxTemplateMsg(articleId int) (err error) {
|
|
|
openIditem.OpenId = v
|
|
|
first := "您关注的赛道,有新的报告发布/更新,欢迎查看"
|
|
|
keyword1 := "所属赛道:" + industryName
|
|
|
+ mapActivityUserId := make(map[int]string)
|
|
|
+ if articleInfo.IsSummary == 1 {
|
|
|
+ sliceSubjectId, _ := models.GetSubjectIds(articleId)
|
|
|
+ if sliceSubjectId != ""{
|
|
|
+ appointmentList, err := models.GetCygxAppointmentSummaryBySubjectId(sliceSubjectId)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetCygxAppointmentSummaryListBySubjectId Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ var userIds []string
|
|
|
+ if len(appointmentList) > 0 {
|
|
|
+ for _, v := range appointmentList {
|
|
|
+ //fmt.Println("mapActivityUserId:", v.UserId)
|
|
|
+ userIds = append(userIds, strconv.Itoa(v.UserId))
|
|
|
+ mapActivityUserId[v.UserId] += v.ActivityName + ","
|
|
|
+ }
|
|
|
+ userIdstr := strings.Join(userIds, ",")
|
|
|
+ openIdLists, err := models.GetOpenIdByUserIds(userIdstr)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetOpenIdByUserIds Err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ for _, item := range openIdLists {
|
|
|
+ first := "您预约的调研,有关联的纪要发布/更新了1"
|
|
|
+ keyword1 := industryName
|
|
|
+ openIditem := new(models.OpenIdList)
|
|
|
+ openIditem.OpenId = item.OpenId
|
|
|
+ openIditem.UserId = item.UserId
|
|
|
+ if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
|
|
|
+ SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ fmt.Println("AlreadySend:", openIditem.UserId)
|
|
|
+ mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //fmt.Println("openIditem.UserId:", openIditem.UserId)
|
|
|
+ //if _,ok := mapActivityUserId[openIditem.UserId]; ok{
|
|
|
+ // first = "您预约的调研,有关联的纪要发布/更新了"
|
|
|
+ // keyword1 = industryName
|
|
|
+ // SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ // delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ // mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ //}
|
|
|
+ }
|
|
|
+
|
|
|
//如果有权限而且小助手没有提交过信息的 就做正常推送
|
|
|
- if mapUserIdChooseSend[openIditem.UserId] == 0 {
|
|
|
+ _, ok := mapAlreadySend[openIditem.UserId]
|
|
|
+ if mapUserIdChooseSend[openIditem.UserId] == 0 && !ok {
|
|
|
SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
}
|
|
|
//如果小助手勾选了对应的权限信息 就做正常推送
|
|
|
- if mapUserIdChooseSend[openIditem.UserId] != 0 && mapOpenidFllow[openIditem.UserId] != "" && mapUserIdChooseSendType[openIditem.UserId] > 0 {
|
|
|
+ if mapUserIdChooseSend[openIditem.UserId] != 0 && mapOpenidFllow[openIditem.UserId] != "" && mapUserIdChooseSendType[openIditem.UserId] > 0 && !ok {
|
|
|
SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取提交过推送规则的用户的 openid 并推送模版消息
|
|
|
+ openIditem := new(models.OpenIdList)
|
|
|
+ first := "您关注的赛道,有新的报告发布/更新,欢迎查看"
|
|
|
+ keyword1 := "所属赛道:" + industryName
|
|
|
+ //mapActivityUserId := make(map[int]string)
|
|
|
+ //if articleInfo.IsSummary == 1 {
|
|
|
+ // sliceSubjectId, _ := models.GetSubjectIds(articleId)
|
|
|
+ // if sliceSubjectId != ""{
|
|
|
+ // appointmentList, err := models.GetCygxAppointmentSummaryBySubjectId(sliceSubjectId)
|
|
|
+ // if err != nil {
|
|
|
+ // fmt.Println("GetCygxAppointmentSummaryListBySubjectId Err:", err.Error())
|
|
|
+ // return err
|
|
|
+ // }
|
|
|
+ // if len(appointmentList) > 0 {
|
|
|
+ // for _, v := range appointmentList {
|
|
|
+ // fmt.Println("mapActivityUserId:", v.UserId)
|
|
|
+ // mapActivityUserId[v.UserId] += v.ActivityName + ","
|
|
|
+ // first = "您预约的调研,有关联的纪要发布/更新了"
|
|
|
+ // keyword1 = industryName
|
|
|
+ // if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
|
|
|
+ // SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ // delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ // mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // //fmt.Println("openIditem.UserId:", openIditem.UserId)
|
|
|
+ // //if _,ok := mapActivityUserId[openIditem.UserId]; ok{
|
|
|
+ // // first = "您预约的调研,有关联的纪要发布/更新了"
|
|
|
+ // // keyword1 = industryName
|
|
|
+ // // SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ // // delete(mapUserIdChooseSendTypeNoPermission, openIditem.UserId)
|
|
|
+ // // mapAlreadySend[openIditem.UserId] = openIditem.UserId
|
|
|
+ // //}
|
|
|
+ //}
|
|
|
+ var ids []string
|
|
|
+ for k, _ := range mapUserIdChooseSendTypeNoPermission {
|
|
|
+ ids = append(ids, strconv.Itoa(k))
|
|
|
+ }
|
|
|
+ if len(ids) > 0 {
|
|
|
+ idStr := strings.Join(ids, ",")
|
|
|
+ openidIlist, err := models.GetCygxXzsChooseSendOpenIdByUserIds(idStr)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ for _, item := range openidIlist {
|
|
|
+ openIditem.OpenId = item.OpenId
|
|
|
+ openIditem.UserId = item.UserId
|
|
|
+ if _, ok := mapAlreadySend[openIditem.UserId]; !ok{
|
|
|
+ SendWxMsgWithArticleUpdate(first, keyword1, keyword2, keyword3, keyword4, openIditem, articleId)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|