|
@@ -520,6 +520,16 @@ func HandleActivityTypeHomeList(listType []*models.ActivityTypeHome, listActivit
|
|
|
}
|
|
|
item.Resource = 1
|
|
|
item.ActivityId = v.ActivityId
|
|
|
+
|
|
|
+ if v.ChartPermissionId == utils.CHART_PERMISSION_ID_YANXUAN {
|
|
|
+ item.IsResearch = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //易董同步过来的活动只展示外部资源标签
|
|
|
+ if v.YidongActivityId != "" {
|
|
|
+ item.IsResearchPoints = false
|
|
|
+ item.IsResearch = false
|
|
|
+ }
|
|
|
if v.IsExternalLabel > 0 {
|
|
|
item.IsExternalLabel = true
|
|
|
}
|
|
@@ -609,8 +619,9 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem, pe
|
|
|
if strings.Contains(activityDetail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
activityDetail.IsResearch = true
|
|
|
}
|
|
|
- //如果是 公司调研电话会:3,或 专家线下沙龙:5 而且 除易董同步过来的以外的研选类型活动
|
|
|
- if (activityDetail.ActivityTypeId == 3 || activityDetail.ActivityTypeId == 5) && activityDetail.YidongActivityId == "" && strings.Contains(activityDetail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+
|
|
|
+ //勾选【研选扣点】且扣点对象为参会人的活动,需要有买方研选的正式权限
|
|
|
+ if strings.Contains(activityDetail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) && activityPointsByUserAllMap[activityDetail.ActivityId] {
|
|
|
activityDetail.IsResearchSpecial = true
|
|
|
}
|
|
|
if activityDetail.SiginupDeadline == utils.FormatDateTimeInit { //报名截止时间处理
|
|
@@ -702,6 +713,12 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem, pe
|
|
|
activityDetail.IsShowSignup = true
|
|
|
activityDetail.IsShowMeetingReminder = true
|
|
|
}
|
|
|
+
|
|
|
+ //买方线下交流 8 // 查研观向 11.0
|
|
|
+ if activityDetail.ActivityTypeId == 8 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+
|
|
|
//如果是易董创建的活动,展示我要报名,不展示预约外呼
|
|
|
if activityDetail.IsYidongConduct {
|
|
|
activityDetail.IsShowSignup = true
|
|
@@ -709,12 +726,19 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem, pe
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
activityDetail.IsResearchPoints = activityPointsByUserAllMap[activityDetail.ActivityId]
|
|
|
authInfo, permissionArr, e := GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
|
|
|
if e != nil {
|
|
|
e = errors.New("获取用户权限失败, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
+ //如果是易董同步过来的,只展示外部资源标签
|
|
|
+ if activityDetail.YidongActivityId != "" {
|
|
|
+ activityDetail.IsExternalLabel = true
|
|
|
+ activityDetail.IsResearch = false
|
|
|
+ activityDetail.IsResearchSpecial = false
|
|
|
+ }
|
|
|
v := activityDetail
|
|
|
itemActivity = &models.ActivityListResp{
|
|
|
ActivityId: v.ActivityId,
|
|
@@ -796,6 +820,13 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem, pe
|
|
|
if v.ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, v.ChartPermissionName) {
|
|
|
au.HasPermission = 2
|
|
|
}
|
|
|
+
|
|
|
+ //如果是易董的活动,主、副权限有一个满足即可 查研观向 11.0
|
|
|
+ if v.YidongActivityId != "" {
|
|
|
+ if utils.InArrayByStr(permissionArr, v.ChartPermissionName) || utils.InArrayByStr(permissionArr, v.ChartPermissionNameDeputy) {
|
|
|
+ au.HasPermission = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 无权限的弹框提示
|
|
@@ -834,6 +865,277 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem, pe
|
|
|
//itemActivity.TripImgLink = itemActivity.TripImgLinkFix
|
|
|
//activityDetail.Explain = utils.ACtIVITY_SPECIAL_TRIP_EXPLAIN
|
|
|
}
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func ActivityArrButtonShow(items []*models.ActivityDetail, user *models.WxUserItem, permissionArr []string) (itemsActivity []*models.ActivityListResp) {
|
|
|
+
|
|
|
+ var activityIds []int
|
|
|
+ authInfo, permissionArr, e := GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
|
|
|
+ if e != nil {
|
|
|
+ e = errors.New("获取用户权限失败, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ activityPointsByUserAllMap := GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动
|
|
|
+ for _, activityDetail := range items {
|
|
|
+
|
|
|
+ //IsShowAppointment bool `description:"是否展示预约纪要"`
|
|
|
+ //IsShowOutboundCall bool `description:"是否展示预约外呼"`
|
|
|
+ //IsShowMeetingReminder bool `description:"是否展示会议提醒"`
|
|
|
+ //IsShowHelpSsk bool `description:"是否展示帮我带问"`
|
|
|
+ //IsShowSignup bool `description:"是否展示我要报名"`
|
|
|
+
|
|
|
+ if strings.Contains(activityDetail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ activityDetail.IsResearch = true
|
|
|
+ }
|
|
|
+ //如果是 公司调研电话会:3,或 专家线下沙龙:5 而且 除易董同步过来的以外的研选类型活动
|
|
|
+ //if (activityDetail.ActivityTypeId == 3 || activityDetail.ActivityTypeId == 5) && activityDetail.YidongActivityId == "" && strings.Contains(activityDetail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ // activityDetail.IsResearchSpecial = true
|
|
|
+ //}
|
|
|
+ //勾选【研选扣点】且扣点对象为参会人的活动,需要有买方研选的正式权限
|
|
|
+ if strings.Contains(activityDetail.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) && activityPointsByUserAllMap[activityDetail.ActivityId] {
|
|
|
+ activityDetail.IsResearchSpecial = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if activityDetail.SiginupDeadline == utils.FormatDateTimeInit { //报名截止时间处理
|
|
|
+ activityDetail.SiginupDeadline = ""
|
|
|
+ }
|
|
|
+ //如果报名截止时间不规范,或者是非研选扣点活动就把截止时间设置为空
|
|
|
+ if activityDetail.CancelDeadline == utils.FormatDateTimeInit || !activityDetail.IsResearchPoints {
|
|
|
+ activityDetail.CancelDeadline = ""
|
|
|
+ }
|
|
|
+
|
|
|
+ activityTimeText := activityDetail.ActivityTimeText
|
|
|
+ activityTimeText = strings.Replace(activityTimeText, "(", "(", -1)
|
|
|
+ activityTimeText = strings.Replace(activityTimeText, ")", ")", -1)
|
|
|
+ activityDetail.ActivityTimeText = activityTimeText
|
|
|
+ var yidongActivityUrl string
|
|
|
+ activityDetail.IsShowAppointment = false
|
|
|
+ //易董的操作按钮都隐藏
|
|
|
+ if activityDetail.YidongActivityId != "" {
|
|
|
+ activityDetail.IsShowSignup = false
|
|
|
+ activityDetail.IsShowDetails = true
|
|
|
+
|
|
|
+ if activityDetail.YidongActivityId != "" {
|
|
|
+ ydTgc, _ := GetYiDongCreateUserInfo(user)
|
|
|
+ yidongLongLink, _ := GetYiDongOriginalLink(activityDetail)
|
|
|
+ if yidongLongLink != "" {
|
|
|
+ yidongActivityUrl = yidongLongLink + "%26source=11%26fromHz=true%26tgc=" + ydTgc
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+
|
|
|
+ //专家电话会 1
|
|
|
+ if activityDetail.ActivityTypeId == 1 && activityDetail.IsLimitPeople == 0 && (activityDetail.ActiveState == "1" || activityDetail.ActiveState == "2") {
|
|
|
+ activityDetail.IsShowHelpSsk = true
|
|
|
+ }
|
|
|
+ if activityDetail.ActiveState == "1" {
|
|
|
+ //新的是否展示规则
|
|
|
+ if activityDetail.IsCanAppointmentMinutes == 1 {
|
|
|
+ activityDetail.IsShowAppointment = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //专家电话会 1
|
|
|
+ if activityDetail.ActivityTypeId == 1 {
|
|
|
+ if activityDetail.LimitPeopleNum == 0 {
|
|
|
+ activityDetail.IsShowOutboundCall = true
|
|
|
+ } else {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+ activityDetail.IsShowMeetingReminder = true
|
|
|
+ activityDetail.IsShowHelpSsk = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //分析师电话会 2
|
|
|
+ if activityDetail.ActivityTypeId == 2 {
|
|
|
+ if activityDetail.LimitPeopleNum == 0 {
|
|
|
+ activityDetail.IsShowOutboundCall = true
|
|
|
+ } else {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+ activityDetail.IsShowMeetingReminder = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if activityDetail.ActivityTypeId == 3 {
|
|
|
+ //司调研电话会(3)、扣点的研选活动只展示我要报名
|
|
|
+ if activityDetail.IsResearchPoints || activityDetail.LimitPeopleNum > 0 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ } else {
|
|
|
+ activityDetail.IsShowMeetingReminder = true
|
|
|
+ activityDetail.IsShowOutboundCall = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //公司线下调研 4
|
|
|
+ if activityDetail.ActivityTypeId == 4 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //专家线下沙龙 5
|
|
|
+ if activityDetail.ActivityTypeId == 5 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //分析师线下沙龙 6
|
|
|
+ if activityDetail.ActivityTypeId == 6 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //分析师电话会(C类) 7
|
|
|
+ if activityDetail.ActivityTypeId == 7 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ activityDetail.IsShowMeetingReminder = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //买方线下交流 8 // 查研观向 11.0
|
|
|
+ if activityDetail.ActivityTypeId == 8 {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果是易董创建的活动,展示我要报名,不展示预约外呼
|
|
|
+ if activityDetail.IsYidongConduct {
|
|
|
+ activityDetail.IsShowSignup = true
|
|
|
+ activityDetail.IsShowOutboundCall = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ activityDetail.IsResearchPoints = activityPointsByUserAllMap[activityDetail.ActivityId]
|
|
|
+
|
|
|
+ v := activityDetail
|
|
|
+ itemActivity := &models.ActivityListResp{
|
|
|
+ ActivityId: v.ActivityId,
|
|
|
+ ActivityTypeId: v.ActivityTypeId,
|
|
|
+ ActivityTypeName: v.ActivityTypeName,
|
|
|
+ ChartPermissionId: v.ChartPermissionId,
|
|
|
+ ChartPermissionName: v.ChartPermissionName,
|
|
|
+ IsLimitPeople: v.IsLimitPeople,
|
|
|
+ LimitPeopleNum: v.LimitPeopleNum,
|
|
|
+ LastUpdatedTime: v.LastUpdatedTime,
|
|
|
+ ActivityTime: v.ActivityTime,
|
|
|
+ ActivityTimeText: v.ActivityTimeText,
|
|
|
+ DistinguishedGuest: v.DistinguishedGuest,
|
|
|
+ Host: v.Host,
|
|
|
+ Speaker: v.Speaker,
|
|
|
+ MainlandTell: v.MainlandTell,
|
|
|
+ HongKongTell: v.HongKongTell,
|
|
|
+ TaiwanTell: v.TaiwanTell,
|
|
|
+ AmericaTell: v.AmericaTell,
|
|
|
+ ParticipationCode: v.ParticipationCode,
|
|
|
+ Theme: v.Theme,
|
|
|
+ Expert: v.Expert,
|
|
|
+ ActivityName: v.ActivityName,
|
|
|
+ OnlineParticipation: v.OnlineParticipation,
|
|
|
+ ReportLink: v.ReportLink,
|
|
|
+ AppAttendance: v.AppAttendance,
|
|
|
+ ConferencePassword: v.ConferencePassword,
|
|
|
+ City: v.City,
|
|
|
+ Address: v.Address,
|
|
|
+ Highlights: v.Highlights,
|
|
|
+ Remarks: v.Remarks,
|
|
|
+ IsSignup: v.IsSignup,
|
|
|
+ IsCancelMeetingReminder: v.IsCancelMeetingReminder,
|
|
|
+ IsAppointment: v.IsAppointment,
|
|
|
+ ActiveState: v.ActiveState,
|
|
|
+ IsShowSustainable: v.IsShowSustainable,
|
|
|
+ Description: v.Description,
|
|
|
+ IsResearch: v.IsResearch,
|
|
|
+ IsHideAppointment: v.IsHideAppointment,
|
|
|
+ IsCClassMeeting: v.IsCClassMeeting,
|
|
|
+ Label: v.Label,
|
|
|
+ ImgUrl: v.ImgUrl,
|
|
|
+ ImgUrlText: v.ImgUrlText,
|
|
|
+ ActivityType: v.ActivityType,
|
|
|
+ IsShowOutboundCall: v.IsShowOutboundCall,
|
|
|
+ IsShowMeetingReminder: v.IsShowMeetingReminder,
|
|
|
+ IsShowHelpSsk: v.IsShowHelpSsk,
|
|
|
+ IsShowSignup: v.IsShowSignup,
|
|
|
+ IsShowAppointment: v.IsShowAppointment,
|
|
|
+ IsShowDetails: v.IsShowDetails,
|
|
|
+ AudioLink: v.AudioLink,
|
|
|
+ VoiceDetail: v.VoiceList,
|
|
|
+ VideoDetail: v.VideoDetail,
|
|
|
+ FileType: v.FileType,
|
|
|
+ SourceType: v.SourceType,
|
|
|
+ SignupNum: v.SignupNum,
|
|
|
+ YidongActivityUrl: yidongActivityUrl,
|
|
|
+ Explain: utils.ACtIVITY_SPECIAL_EXPLAIN,
|
|
|
+ TripImgLink: v.TripImgLink,
|
|
|
+ Days: v.Days,
|
|
|
+ SignupType: v.SignupType,
|
|
|
+ IsYidongConduct: v.IsYidongConduct,
|
|
|
+ IsCanOutboundCall: v.IsCanOutboundCall,
|
|
|
+ TencentConferenceNumber: v.TencentConferenceNumber,
|
|
|
+ IsResearchSpecial: v.IsResearchSpecial,
|
|
|
+ LinkParticipants: v.LinkParticipants,
|
|
|
+ IsResearchPoints: v.IsResearchPoints,
|
|
|
+ IsExternalLabel: v.IsExternalLabel,
|
|
|
+ SiginupDeadline: v.SiginupDeadline,
|
|
|
+ CancelDeadline: v.CancelDeadline,
|
|
|
+ }
|
|
|
+ au := new(models.UserPermissionAuthInfo)
|
|
|
+ au.SellerName = authInfo.SellerName
|
|
|
+ au.SellerMobile = authInfo.SellerMobile
|
|
|
+ au.HasPermission = authInfo.HasPermission
|
|
|
+ au.OperationMode = authInfo.OperationMode
|
|
|
+ if au.HasPermission == 1 {
|
|
|
+ // 非宏观权限进一步判断是否有权限
|
|
|
+ if v.ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, v.ChartPermissionName) {
|
|
|
+ au.HasPermission = 2
|
|
|
+ }
|
|
|
+ //如果是易董的活动,主、副权限有一个满足即可 查研观向 11.0
|
|
|
+ if v.YidongActivityId != "" {
|
|
|
+ if utils.InArrayByStr(permissionArr, v.ChartPermissionName) || utils.InArrayByStr(permissionArr, v.ChartPermissionNameDeputy) {
|
|
|
+ au.HasPermission = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 无权限的弹框提示
|
|
|
+ if au.HasPermission != 1 {
|
|
|
+ if au.OperationMode == UserPermissionOperationModeCall {
|
|
|
+ if v.FileType == 1 {
|
|
|
+ au.PopupMsg = UserPermissionPopupMsgCallMicroVoice
|
|
|
+ } else {
|
|
|
+ au.PopupMsg = UserPermissionPopupMsgCallMicroVideo
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if v.FileType == 1 {
|
|
|
+ au.PopupMsg = UserPermissionPopupMsgApplyMicroVoice
|
|
|
+ } else {
|
|
|
+ au.PopupMsg = UserPermissionPopupMsgApplyMicroVideo
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果是易董同步过来的,只展示外部资源标签
|
|
|
+ if activityDetail.YidongActivityId != "" {
|
|
|
+ itemActivity.IsExternalLabel = true
|
|
|
+ itemActivity.IsResearch = false
|
|
|
+ itemActivity.IsResearchSpecial = false
|
|
|
+ }
|
|
|
+ itemActivity.AuthInfo = au
|
|
|
+ //处理用户已经报名了的行程
|
|
|
+ activityIds = append(activityIds, v.ActivityId)
|
|
|
+ itemsActivity = append(itemsActivity, itemActivity)
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理专项调研
|
|
|
+ UserMap, e := GetSpecialTripUserMap(activityIds, user.UserId)
|
|
|
+ if e != nil {
|
|
|
+ e = errors.New("GetSpecialTripUserMap, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range itemsActivity {
|
|
|
+ if _, ok := UserMap[v.ActivityId]; ok {
|
|
|
+ v.IsTrip = 1
|
|
|
+ }
|
|
|
+ if v.Days == 0 {
|
|
|
+ v.TripStatus = 1
|
|
|
+ } else {
|
|
|
+ v.TripStatus = 2
|
|
|
+ }
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -972,6 +1274,11 @@ func GetIndustryNewLabelMap(industryIds []int) (labelMap map[int]bool, err error
|
|
|
func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.ActivityDetail) (havePower, isResearchSpecial bool, err error) {
|
|
|
var companyDetailStatus string
|
|
|
var userTypeStr string
|
|
|
+ activityPointsByUserAllMap := GetActivityPointsByUserAllMap() // 获取对用户进行研选扣点的活动
|
|
|
+ //勾选【研选扣点】且扣点对象为参会人的活动,需要有买方研选的正式权限
|
|
|
+ if strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) && activityPointsByUserAllMap[activityInfo.ActivityId] {
|
|
|
+ isResearchSpecial = true
|
|
|
+ }
|
|
|
|
|
|
//如果是弘则的用户或者宏观的权限不做校验
|
|
|
if (GetBelongingRai(user.Mobile) && user.CompanyId == utils.HZ_COMPANY_ID) || activityInfo.ChartPermissionName == utils.HONG_GUAN_NAME {
|
|
@@ -983,14 +1290,20 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
|
|
|
err = errors.New("GetCompanyPermissionUpgrade, Err: " + e.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ //如果是易董的活动,主、副权限有一个满足即可
|
|
|
+ if activityInfo.YidongActivityId != "" {
|
|
|
+ if strings.Contains(permissionStr, activityInfo.ChartPermissionName) || strings.Contains(permissionStr, activityInfo.ChartPermissionNameDeputy) {
|
|
|
+ havePower = true
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//如果权限不包含那么直接返回
|
|
|
if !strings.Contains(permissionStr, activityInfo.ChartPermissionName) {
|
|
|
return
|
|
|
}
|
|
|
- //如果是 公司调研电话会:3,或 专家线下沙龙:5 而且 除易董同步过来的以外的研选类型活动
|
|
|
- if (activityInfo.ActivityTypeId == 3 || activityInfo.ActivityTypeId == 5) && activityInfo.YidongActivityId == "" && strings.Contains(activityInfo.ChartPermissionName, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
- isResearchSpecial = true
|
|
|
- }
|
|
|
+
|
|
|
//如果是 对用户的研选扣点的必须要有研选的正式权限
|
|
|
if activityInfo.IsResearchPoints {
|
|
|
//获取活动对用户要扣的点
|
|
@@ -1000,10 +1313,10 @@ func GetActivityDetailUserPower(user *models.WxUserItem, activityInfo *models.Ac
|
|
|
return
|
|
|
}
|
|
|
if userPointsNum > 0 {
|
|
|
- if !strings.Contains(permissionStr, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
- //如果连试用权限都没有,那么久按照普通的研选样式展示
|
|
|
- isResearchSpecial = false
|
|
|
- }
|
|
|
+ //if !strings.Contains(permissionStr, utils.CHART_PERMISSION_NAME_YANXUAN) {
|
|
|
+ // //如果连试用权限都没有,那么久按照普通的研选样式展示
|
|
|
+ // isResearchSpecial = false
|
|
|
+ //}
|
|
|
if !strings.Contains(permissionStrZhengShi, activityInfo.ChartPermissionName) {
|
|
|
havePower = false
|
|
|
return
|