|
@@ -1227,6 +1227,7 @@ func DoActivityOnenIdWxTemplateMsg(activityId int) (err error) {
|
|
|
mapUserIdChooseTypeSend[v.UserId] = v.UserId
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//fmt.Println(chooseSendtList)
|
|
|
//获取关注这个活动对应产业的用户的 openid
|
|
|
mapOpenidFllow := make(map[int]string)
|
|
@@ -1239,12 +1240,12 @@ func DoActivityOnenIdWxTemplateMsg(activityId int) (err error) {
|
|
|
}
|
|
|
|
|
|
//fmt.Println(mapOpenidFllow)
|
|
|
- openidPowerByActivitySetList, err := cygx.GetCygxUserRecordPowerByActivitySet(chartPermissionIds, condition)
|
|
|
+ openidPowerByActivitySetList, openidPowerByActivitySetListYx, err := cygx.GetCygxUserRecordPowerByActivitySet(chartPermissionIds, condition)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
return err
|
|
|
}
|
|
|
//已经推送过的不做二次推送
|
|
|
- listSendOpendId, err := models.GeUserTemplateRecordListBysendType(utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD, strconv.Itoa(activityId))
|
|
|
+ listSendOpendId, err := cygx.GeCygxActivityUserTemplateRecordListByActivityId(activityId, utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
return err
|
|
|
}
|
|
@@ -1271,67 +1272,126 @@ func DoActivityOnenIdWxTemplateMsg(activityId int) (err error) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if len(OpenIdList) == 0 {
|
|
|
- return err
|
|
|
- }
|
|
|
|
|
|
- openIdArr := make([]string, len(OpenIdList))
|
|
|
- for i, v := range OpenIdList {
|
|
|
- openIdArr[i] = v.OpenId
|
|
|
+ var openiditems []*cygx.CygxActivityUserTemplateRecord
|
|
|
+
|
|
|
+ var openIdArr []string
|
|
|
+ for _, v := range OpenIdList {
|
|
|
+ //openIdArr[i] = v.OpenId
|
|
|
+ openIdArr = append(openIdArr, v.OpenId)
|
|
|
+
|
|
|
+ openiditem := new(cygx.CygxActivityUserTemplateRecord)
|
|
|
+ openiditem.ActivityId = activityId
|
|
|
+ openiditem.UserId = v.UserId
|
|
|
+ openiditem.OpenId = v.OpenId
|
|
|
+ openiditem.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD
|
|
|
+ openiditem.CreateTime = time.Now()
|
|
|
+ openiditems = append(openiditems, openiditem)
|
|
|
}
|
|
|
|
|
|
- activityInfo.ActivityTypeName = strings.Replace(activityInfo.ActivityTypeName, "(C类)", "", -1)
|
|
|
- first := "您关注的赛道,有【" + activityInfo.ActivityTypeName + "】活动发布,欢迎参与"
|
|
|
- keyword1 := "新活动:" + activityInfo.ActivityName
|
|
|
- keyword2 := activityInfo.ActivityTimeText + ",【" + activityInfo.Label + "】"
|
|
|
-
|
|
|
- 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
|
|
|
+ var OpenIdListYx []*models.OpenIdList
|
|
|
+ for _, v := range openidPowerByActivitySetListYx {
|
|
|
+ if mapSendOpenid[v.OpenId] > 0 {
|
|
|
+ //fmt.Println("已经推过了")
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ item := new(models.OpenIdList)
|
|
|
+ item.UserId = v.UserId
|
|
|
+ item.OpenId = v.OpenId
|
|
|
+ if mapUserIdChooseSend[v.UserId] == 0 {
|
|
|
+ //如果小助手没有选择过权限信息,那么做消息推送
|
|
|
+ OpenIdListYx = append(OpenIdListYx, item)
|
|
|
+ } else {
|
|
|
+ //如果勾选了权限信息,则要满足 1选择产业,2没有选择不接受任何消息推送,3活动对应的主客观跟自己选择的一致。
|
|
|
+ if mapOpenidFllow[v.UserId] != "" && mapOpenidRefuset[v.UserId] == "" && mapUserIdChooseTypeSend[v.UserId] != 0 {
|
|
|
+ OpenIdListYx = append(OpenIdListYx, item)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- industrialName := ""
|
|
|
- for _, v := range industrialList {
|
|
|
- industrialName += v.IndustryName + ","
|
|
|
+ var openIdArrYx []string
|
|
|
+ for _, v := range OpenIdListYx {
|
|
|
+ //openIdArr[i] = v.OpenId
|
|
|
+ openIdArrYx = append(openIdArrYx, v.OpenId)
|
|
|
+
|
|
|
+ openiditem := new(cygx.CygxActivityUserTemplateRecord)
|
|
|
+ openiditem.ActivityId = activityId
|
|
|
+ openiditem.UserId = v.UserId
|
|
|
+ openiditem.OpenId = v.OpenId
|
|
|
+ openiditem.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD
|
|
|
+ openiditem.CreateTime = time.Now()
|
|
|
+ openiditems = append(openiditems, openiditem)
|
|
|
}
|
|
|
- industrialName = strings.TrimRight(industrialName, ",")
|
|
|
- // 发类目模版消息
|
|
|
- if activityInfo.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
- actTime, _ := time.Parse(utils.FormatDateTime, activityInfo.ActivityTime)
|
|
|
- first := industrialName
|
|
|
- keyword1 := "发布了新活动"
|
|
|
- keyword2 := utils.TruncateActivityNameString(activityInfo.ActivityName)
|
|
|
- keyword3 := actTime.Format(utils.FormatDateTimeMinute2)
|
|
|
|
|
|
- redirectUrl := utils.WX_MSG_PATH_YX_ACTIVITY_DETAIL + strconv.Itoa(activityId)
|
|
|
- sendInfo := new(services.SendWxCategoryTemplate)
|
|
|
- sendInfo.Keywords = []string{first, keyword1, keyword2, keyword3}
|
|
|
+ if len(OpenIdList)+len(OpenIdListYx) == 0 {
|
|
|
+ return err
|
|
|
+ }
|
|
|
|
|
|
- sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdActivityPublishApply
|
|
|
+ activityInfo.ActivityTypeName = strings.Replace(activityInfo.ActivityTypeName, "(C类)", "", -1)
|
|
|
+ if len(openIdArr) > 0 {
|
|
|
+ first := "您关注的赛道,有【" + activityInfo.ActivityTypeName + "】活动发布,欢迎参与"
|
|
|
+ keyword1 := "新活动:" + activityInfo.ActivityName
|
|
|
+ keyword2 := activityInfo.ActivityTimeText + ",【" + activityInfo.Label + "】"
|
|
|
+
|
|
|
+ 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.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD
|
|
|
sendInfo.OpenIdArr = openIdArr
|
|
|
- e := services.SendCategoryTemplateMsg(sendInfo)
|
|
|
+ e := services.SendTemplateMsg(sendInfo)
|
|
|
if e != nil {
|
|
|
err = errors.New("SendTemplateMsg, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if len(OpenIdListYx) > 0 {
|
|
|
+ industrialName := ""
|
|
|
+ for _, v := range industrialList {
|
|
|
+ industrialName += v.IndustryName + ","
|
|
|
+ }
|
|
|
+ industrialName = strings.TrimRight(industrialName, ",")
|
|
|
+ // 发类目模版消息
|
|
|
+ if activityInfo.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+ actTime, _ := time.Parse(utils.FormatDateTime, activityInfo.ActivityTime)
|
|
|
+ first := industrialName
|
|
|
+ keyword1 := "发布了新活动"
|
|
|
+ keyword2 := utils.TruncateActivityNameString(activityInfo.ActivityName)
|
|
|
+ keyword3 := actTime.Format(utils.FormatDateTimeMinute2)
|
|
|
+
|
|
|
+ redirectUrl := utils.WX_MSG_PATH_YX_ACTIVITY_DETAIL + strconv.Itoa(activityId)
|
|
|
+ sendInfo := new(services.SendWxCategoryTemplate)
|
|
|
+ sendInfo.Keywords = []string{first, keyword1, keyword2, keyword3}
|
|
|
+
|
|
|
+ sendInfo.TemplateId = utils.WxMsgCategoryTemplateIdActivityPublishApply
|
|
|
+ sendInfo.RedirectUrl = redirectUrl
|
|
|
+ sendInfo.RedirectTarget = 3
|
|
|
+ sendInfo.Resource = strconv.Itoa(activityId)
|
|
|
+ sendInfo.SendType = utils.TEMPLATE_MSG_CYGX_ACTIVITY_ADD
|
|
|
+ sendInfo.OpenIdArr = openIdArrYx
|
|
|
+ e := services.SendCategoryTemplateMsg(sendInfo)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("SendTemplateMsg, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //活动发布推送的Openid记录
|
|
|
+ if len(openiditems) > 0 {
|
|
|
+ e := cygx.AddCygxActivityUserTemplateRecordMulti(openiditems)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("AddCygxActivityUserTemplateRecordMulti, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|