瀏覽代碼

活动回放视频权限校验

xingzai 2 年之前
父節點
當前提交
75d6e62e02
共有 3 個文件被更改,包括 51 次插入2 次删除
  1. 48 2
      controllers/activity.go
  2. 2 0
      models/activity.go
  3. 1 0
      services/activity.go

+ 48 - 2
controllers/activity.go

@@ -309,19 +309,65 @@ func (this *ActivityController) ActivityListNew() {
 		return
 	}
 
+	//用户权限
+	authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取用户权限失败, Err: " + e.Error()
+		return
+	}
+
 	for k, v := range list {
+
+		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
+			}
+		}
+		// 无权限的弹框提示
+		if au.HasPermission != 1 {
+			if au.OperationMode == services.UserPermissionOperationModeCall {
+				if v.FileType == 1 {
+					au.PopupMsg = services.UserPermissionPopupMsgCallActivity
+				} else {
+					au.PopupMsg = services.UserPermissionPopupMsgCallMicroVideo
+				}
+			} else {
+				if v.FileType == 1 {
+					au.PopupMsg = services.UserPermissionPopupMsgApplyActivity
+				} else {
+					au.PopupMsg = services.UserPermissionPopupMsgApplyMicroVideo
+				}
+			}
+			list[k].AuthInfo = au
+		}
+
 		if mapActivityVoice[v.ActivityId] != nil {
 			list[k].FileType = 1
 			list[k].AudioLink = true
-			list[k].VoiceList = mapActivityVoice[v.ActivityId]
+			if au.HasPermission == 1 {
+				list[k].VoiceList = mapActivityVoice[v.ActivityId]
+			}
+
 		}
 		if mapActivityVideo[v.ActivityId] != nil {
 			list[k].FileType = 2
 			list[k].AudioLink = true
-			list[k].VideoDetail = mapActivityVideo[v.ActivityId]
+			if au.HasPermission == 1 {
+				list[k].VideoDetail = mapActivityVideo[v.ActivityId]
+			}
+
 		}
+
 		//fmt.Println(v)
 		activityList = append(activityList, services.ActivityButtonShow(v, user))
+
 	}
 
 	// 查研观向7.4-判断标签是否为产业, 为产业时是否跳转资源包

+ 2 - 0
models/activity.go

@@ -137,6 +137,7 @@ type ActivityDetail struct {
 	SourceType              int                        `description:"活动来源。 1:活动 、2:专项产业调研"`
 	TripImgLink             string                     `description:"专项产业调研行程链接"`
 	ActivityTimeEnd         string                     `description:"专项产业调研活动预期结束时间"`
+	AuthInfo                *UserPermissionAuthInfo    `description:"用户查看视频的权限"`
 }
 
 //活动详情
@@ -196,6 +197,7 @@ type ActivityListResp struct {
 	YidongActivityUrl       string                     `description:"易董活动跳转地址"`
 	ArticleList             []*ActivityArticleResp
 	Listndustrial           []*IndustrialManagementRep `description:"活动关联的产业信息"`
+	AuthInfo                *UserPermissionAuthInfo    `description:"用户查看视频的权限"`
 }
 
 type ActivityArticleResp struct {

+ 1 - 0
services/activity.go

@@ -515,6 +515,7 @@ func ActivityButtonShow(item *models.ActivityDetail, user *models.WxUserItem) (i
 		SourceType:              v.SourceType,
 		SignupNum:               v.SignupNum,
 		YidongActivityUrl:       yidongActivityUrl,
+		AuthInfo:                v.AuthInfo,
 	}
 	return
 }