xingzai 2 lat temu
rodzic
commit
d317af569b

+ 23 - 1
controllers/chart_permission.go

@@ -15,6 +15,10 @@ type ChartPermissionAuthController struct {
 	BaseAuthController
 }
 
+type MobileChartPermissionAuthController struct {
+	BaseAuthMobileController
+}
+
 // @Title 获取所有品种
 // @Description 获取所有品种接口
 // @Success 200 {object} models.ChartPermissionListResp
@@ -75,12 +79,18 @@ func (this *ChartPermissionController) ListByReport() {
 // @Description 获取活动所有品种接口
 // @Success 200 {object} models.ChartPermissionListResp
 // @router /listByActivity [get]
-func (this *ChartPermissionController) ListByActivity() {
+func (this *MobileChartPermissionAuthController) ListByActivity() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
+	user := this.User
+	if user == nil {
+		br.Msg = "请重新登录"
+		br.Ret = 408
+		return
+	}
 	var condition string
 	var chartPermissionId string
 	chartPermissionId = strconv.Itoa(utils.YI_YAO_ID) + "," + strconv.Itoa(utils.XIAO_FEI_ID) + "," + strconv.Itoa(utils.KE_JI_ID) + "," + strconv.Itoa(utils.ZHI_ZAO_ID) + "," + strconv.Itoa(utils.CE_LUE_ID) + "," + strconv.Itoa(utils.CHART_PERMISSION_ID_YANXUAN)
@@ -92,6 +102,18 @@ func (this *ChartPermissionController) ListByActivity() {
 		return
 	}
 	resp := new(models.ChartPermissionListResp)
+	if user.CompanyId > 1 {
+		chartList, err := models.GetUserCompanyPermissionSand(user.CompanyId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		for _, v := range chartList {
+			resp.CheckList = append(resp.CheckList, v.ChartPermissionId)
+		}
+	}
+
 	resp.List = list
 	br.Ret = 200
 	br.Success = true

+ 1 - 1
controllers/home.go

@@ -278,7 +278,7 @@ func (this *MobileHomeController) NewList() {
 	var total int
 	resp := new(models.HomeResourceDataListResp)
 
-	//condition += " AND source = 'activityvideo' "
+	//condition += " AND source = 'activityvoice' "
 
 	total, err := models.GetResourceDataCount(condition, pars)
 	if err != nil {

+ 10 - 9
models/activity_voice.go

@@ -20,15 +20,16 @@ type CygxActivityVoice struct {
 
 // ActivityVoice 活动语音表结构体
 type CygxActivityVoiceResp struct {
-	ActivityVoiceId   int    `orm:"column(activity_voice_id);pk" description:"活动音频ID"`
-	ActivityId        int    ` description:"活动ID"`
-	VoiceUrl          string `description:"音频地址"`
-	VoiceName         string `description:"音频名称"`
-	VoicePlaySeconds  string `description:"音频时长"`
-	VoiceCounts       int    `description:"播放量"`
-	ModifyTime        string `description:"更新时间"`
-	CreateTime        string `description:"创建时间"`
-	ChartPermissionId int    `description:"权限id"`
+	ActivityVoiceId     int    `orm:"column(activity_voice_id);pk" description:"活动音频ID"`
+	ActivityId          int    ` description:"活动ID"`
+	VoiceUrl            string `description:"音频地址"`
+	VoiceName           string `description:"音频名称"`
+	VoicePlaySeconds    string `description:"音频时长"`
+	VoiceCounts         int    `description:"播放量"`
+	ModifyTime          string `description:"更新时间"`
+	CreateTime          string `description:"创建时间"`
+	ChartPermissionId   int    `description:"权限id"`
+	ChartPermissionName string `description:"行业名称"`
 }
 
 // ActivityVoiceReq 音频数据

+ 2 - 1
models/chart_permission.go

@@ -33,7 +33,8 @@ type CompanyReportPermission struct {
 }
 
 type ChartPermissionListResp struct {
-	List []*ChartPermissionResp
+	List      []*ChartPermissionResp
+	CheckList []int `description:"权限"`
 }
 
 func GetChartPermissionReportAll(condition string) (items []*ChartPermissionResp, err error) {

+ 1 - 0
models/resource_data.go

@@ -50,6 +50,7 @@ type CygxResourceDataResp struct {
 	Expert                  string `description:"专家"`
 	Speaker                 string `description:"主讲人"`
 	ActivityTime            string `description:"活动预期时间"`
+	ResourceUrl             string `description:"链接"`
 	AuthInfo                *UserPermissionAuthInfo
 }
 

+ 20 - 0
models/user.go

@@ -275,3 +275,23 @@ func GetWxUserByMobiles(mobiles []string) (items []*WxUser, err error) {
 	_, err = o.Raw(sql, mobiles).QueryRows(&items)
 	return
 }
+
+func GetUserCompanyPermissionSand(companyId int) (items []*ChartPermissionResp, err error) {
+	sql := ` SELECT b.*
+			FROM company_report_permission AS a
+			INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
+			INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
+			WHERE  a.company_id=?
+			AND a.product_id=2
+			AND c.is_suspend=0
+            AND b.cygx_auth=1
+            AND b.is_other=0
+			AND c.status IN('正式','试用','永续')
+			AND a.status IN('正式','试用','永续') 
+			AND b.chart_permission_name != '专家'
+			GROUP BY b.chart_permission_name
+			ORDER BY b.sort ASC `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, companyId).QueryRows(&items)
+	return
+}

+ 9 - 9
routers/commentsRouter.go

@@ -214,15 +214,6 @@ func init() {
             Filters: nil,
             Params: nil})
 
-    beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:ChartPermissionController"] = append(beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:ChartPermissionController"],
-        beego.ControllerComments{
-            Method: "ListByActivity",
-            Router: `/listByActivity`,
-            AllowHTTPMethods: []string{"get"},
-            MethodParams: param.Make(),
-            Filters: nil,
-            Params: nil})
-
     beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:ChartPermissionController"] = append(beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:ChartPermissionController"],
         beego.ControllerComments{
             Method: "ListByReport",
@@ -259,6 +250,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:MobileChartPermissionAuthController"] = append(beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:MobileChartPermissionAuthController"],
+        beego.ControllerComments{
+            Method: "ListByActivity",
+            Router: `/listByActivity`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:MobileHomeController"] = append(beego.GlobalControllerRouter["hongze/hongze_clpt/controllers:MobileHomeController"],
         beego.ControllerComments{
             Method: "List",

+ 1 - 0
routers/router.go

@@ -40,6 +40,7 @@ func init() {
 			web.NSInclude(
 				&controllers.ChartPermissionController{},
 				&controllers.ChartPermissionAuthController{},
+				&controllers.MobileChartPermissionAuthController{},
 			),
 		),
 		web.NSNamespace("/resource",

+ 34 - 3
services/resource_data.go

@@ -233,9 +233,10 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 	//处理路活动视频
 	if len(activityvideoIds) > 0 {
 		pars = make([]interface{}, 0)
+		fmt.Println(activityvideoIds)
 		condition = ` AND video_id IN (` + utils.GetOrmInReplace(len(activityvideoIds)) + `)`
 		pars = append(pars, activityvideoIds)
-		activityVideoList, e := models.GetActivityVideoList(condition, pars, startSize, len(roadshowIds))
+		activityVideoList, e := models.GetActivityVideoList(condition, pars, startSize, len(activityvideoIds))
 		if e != nil {
 			err = errors.New("GetResourceDataList, Err: " + e.Error())
 			return
@@ -247,6 +248,7 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 			err = errors.New("GetMicroRoadShowDefaultImgConfig, Err: " + e.Error())
 			return
 		}
+		fmt.Println(activityVideoList, "activityVideoList")
 		fmt.Println(videoMap)
 		for _, v := range activityVideoList {
 			fmt.Println(v)
@@ -269,16 +271,45 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 			return
 		}
 
+		// 用户权限
+		authInfo, permissionArr, e := GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
+		if e != nil {
+			err = errors.New("GetUserRaiPermissionInfo, Err: " + e.Error())
+			return
+		}
+
 		// 获取默认图配置
 		audioMap, _, _, _, e := GetMicroRoadShowDefaultImgConfig()
 		if e != nil {
 			err = errors.New("GetMicroRoadShowDefaultImgConfig, Err: " + e.Error())
 			return
 		}
-		for _, v := range activityVoiceList {
+		for i, v := range activityVoiceList {
+			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 activityVoiceList[i].ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, activityVoiceList[i].ChartPermissionName) {
+					au.HasPermission = 2
+				}
+			}
+			// 无权限的弹框提示
+			if au.HasPermission != 1 {
+				if au.OperationMode == UserPermissionOperationModeCall {
+					au.PopupMsg = UserPermissionPopupMsgCallActivity
+				} else {
+					au.PopupMsg = UserPermissionPopupMsgApplyActivity
+				}
+			}
+			mapItems[fmt.Sprint("activityvoice", v.ActivityVoiceId)].AuthInfo = au
 			mapItems[fmt.Sprint("activityvoice", v.ActivityVoiceId)].Title = v.VoiceName
 			mapItems[fmt.Sprint("activityvoice", v.ActivityVoiceId)].ImgUrl = audioMap[v.ChartPermissionId]
-			//mapItems[fmt.Sprint("activityvideo", v.Id)].PublishDate = v.CreateTime
+			if au.HasPermission == 1 {
+				mapItems[fmt.Sprint("activityvoice", v.ActivityVoiceId)].ResourceUrl = v.VoiceUrl
+			}
 		}
 	}
 	for _, v := range mapItems {