فهرست منبع

分类ID关联权限

hsun 10 ماه پیش
والد
کامیت
ab46606c3a

+ 1 - 0
models/tables/chart_permission_search_key_word_mapping/chart_permission_search_key_word_mapping.go

@@ -7,6 +7,7 @@ type ChartPermissionSearchKeyWordMapping struct {
 	From               string `gorm:"column:from;type:varchar(100)" json:"from"`
 	TacticType         string `gorm:"column:tactic_type;type:varchar(100)" json:"tactic_type"`
 	TeleconferenceSort int    `gorm:"column:teleconference_sort;type:int(11)" json:"teleconference_sort"`
+	ClassifyId         int    `gorm:"column:classify_id;type:int(11)" json:"classify_id"`
 }
 
 func (c *ChartPermissionSearchKeyWordMapping) TableName() string {

+ 15 - 11
models/tables/chart_permission_search_key_word_mapping/query.go

@@ -6,9 +6,9 @@ import (
 )
 
 // GetChartPermissionIdsByKeyWord 查询二级分类中的权限
-func GetChartPermissionIdsByKeyWord(keyWord string) (ids []int, err error)  {
+func GetChartPermissionIdsByKeyWord(classifyId int) (ids []int, err error) {
 	var list []*ChartPermissionSearchKeyWordMapping
-	err = global.DEFAULT_MYSQL.Model(ChartPermissionSearchKeyWordMapping{}).Where("key_word = ? and `from` = 'rddp' ", keyWord).Scan(&list).Error
+	err = global.DEFAULT_MYSQL.Model(ChartPermissionSearchKeyWordMapping{}).Where("classify_id = ? and `from` = 'rddp' ", classifyId).Scan(&list).Error
 	if err != nil && err != utils.ErrNoRow {
 		return
 	}
@@ -20,9 +20,8 @@ func GetChartPermissionIdsByKeyWord(keyWord string) (ids []int, err error)  {
 	return
 }
 
-
 // GetChartPermissionByFrom 查询二级分类中的权限
-func GetChartPermissionByFrom(from string) (list []*ChartPermissionSearchKeyWordMapping, err error)  {
+func GetChartPermissionByFrom(from string) (list []*ChartPermissionSearchKeyWordMapping, err error) {
 	err = global.DEFAULT_MYSQL.Model(ChartPermissionSearchKeyWordMapping{}).Where("`from` = ? and chart_permission_id != 33", from).Scan(&list).Error
 	if err == utils.ErrNoRow {
 		err = nil
@@ -30,23 +29,28 @@ func GetChartPermissionByFrom(from string) (list []*ChartPermissionSearchKeyWord
 	return
 }
 
-// GetKeyWordsByChartPermissionId 根据权限ID, 查询二级分类名称
-func GetKeyWordsByChartPermissionId(charPermissionId int, from string) (keyWords []string, err error)  {
+// GetClassifyIdsByChartPermissionId 根据权限ID, 查询二级分类IDs
+func GetClassifyIdsByChartPermissionId(charPermissionId int, from string) (classifyIds []int, err error) {
 	var list []*ChartPermissionSearchKeyWordMapping
 	err = global.DEFAULT_MYSQL.Model(ChartPermissionSearchKeyWordMapping{}).Where("chart_permission_id = ? and `from` = ? ", charPermissionId, from).Scan(&list).Error
 	if err != nil && err != utils.ErrNoRow {
 		return
 	}
 	if len(list) > 0 {
+		exists := make(map[int]bool)
 		for _, item := range list {
-			keyWords = append(keyWords, item.KeyWord)
+			if exists[item.ClassifyId] {
+				continue
+			}
+			classifyIds = append(classifyIds, item.ClassifyId)
+			exists[item.ClassifyId] = true
 		}
 	}
 	return
 }
 
-// GetKeyWordsByChartPermissionId 根据权限ID, 查询二级分类名称
-func GetKeyWordsByChartPermissionIdOnly(charPermissionId int) (keyWords []string, err error)  {
+// GetKeyWordsByChartPermissionIdOnly 根据权限ID, 查询二级分类名称
+func GetKeyWordsByChartPermissionIdOnly(charPermissionId int) (keyWords []string, err error) {
 	var list []*ChartPermissionSearchKeyWordMapping
 	err = global.DEFAULT_MYSQL.Model(ChartPermissionSearchKeyWordMapping{}).Where("chart_permission_id = ? ", charPermissionId).Scan(&list).Error
 	if err != nil && err != utils.ErrNoRow {
@@ -61,7 +65,7 @@ func GetKeyWordsByChartPermissionIdOnly(charPermissionId int) (keyWords []string
 }
 
 // GetKeyWordsByChartPermissionByIds 根据权限ID, 查询二级分类名称
-func GetKeyWordsByChartPermissionByIds(charPermissionIds []int) (keyWords []string, err error)  {
+func GetKeyWordsByChartPermissionByIds(charPermissionIds []int) (keyWords []string, err error) {
 	var list []*ChartPermissionSearchKeyWordMapping
 	err = global.DEFAULT_MYSQL.Model(ChartPermissionSearchKeyWordMapping{}).Where("chart_permission_id IN (?) ", charPermissionIds).Scan(&list).Error
 	if err != nil && err != utils.ErrNoRow {
@@ -73,4 +77,4 @@ func GetKeyWordsByChartPermissionByIds(charPermissionIds []int) (keyWords []stri
 		}
 	}
 	return
-}
+}

+ 13 - 13
services/pc/report.go

@@ -15,7 +15,7 @@ import (
 	"hongze/hongze_yb/utils"
 )
 
-func GetClassifyDetail(user user.UserInfo, classifyIdSecond int) (detail *pc.ClassifyDetail, err error)  {
+func GetClassifyDetail(user user.UserInfo, classifyIdSecond int) (detail *pc.ClassifyDetail, err error) {
 	var errMsg string
 	defer func() {
 		if err != nil {
@@ -38,7 +38,7 @@ func GetClassifyDetail(user user.UserInfo, classifyIdSecond int) (detail *pc.Cla
 		return
 	}
 	//查询权限, 查询当前分类下的最新的报告,
-	permissionIds, err := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyInfo.ClassifyName)
+	permissionIds, err := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyIdSecond)
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("分类权限查询出错")
@@ -51,7 +51,7 @@ func GetClassifyDetail(user user.UserInfo, classifyIdSecond int) (detail *pc.Cla
 		return
 	}
 
-	comments,err := customer_comment.GetCustomerComment()
+	comments, err := customer_comment.GetCustomerComment()
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("客户评价查询出错")
@@ -97,22 +97,22 @@ func GetLatestReportList(user user.UserInfo, chartPermissionId int) (ret []*pc.L
 		return
 	}
 	// 除了晨报和周报以外的其他报告
-	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "rddp")
+	classifySecondIds, err := chart_permission_search_key_word_mapping.GetClassifyIdsByChartPermissionId(chartPermissionId, "rddp")
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("查询权限对应的分类出错")
 		return
 	}
 
-	var classifySecondIds []int
-	if len(classifyNames) > 0 {
-		classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
-		if err != nil {
-			errMsg = err.Error()
-			err = errors.New("查询分类出错")
-			return
-		}
-	}
+	//var classifySecondIds []int
+	//if len(classifyNames) > 0 {
+	//	classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
+	//	if err != nil {
+	//		errMsg = err.Error()
+	//		err = errors.New("查询分类出错")
+	//		return
+	//	}
+	//}
 
 	var reportList []*pc.LatestReport
 	if len(classifySecondIds) > 0 {

+ 2 - 2
services/report/classify.go

@@ -112,7 +112,7 @@ func GetClassifyDetail(user user.UserInfo, classifyIdSecond int) (detail *respon
 		return
 	}
 	//查询权限, 查询当前分类下的最新的报告,
-	permissionIds, err := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyInfo.ClassifyName)
+	permissionIds, err := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyIdSecond)
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("分类权限查询出错")
@@ -188,7 +188,7 @@ func GetClassifyReportList(user user.UserInfo, classifyIdSecond int, pageIndex,
 	//查询权限, 查询当前分类下的最新的报告,
 	var permissionIds []int
 	if productAuthOk {
-		permissionIds, err = chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyInfo.ClassifyName)
+		permissionIds, err = chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyIdSecond)
 		if err != nil {
 			errMsg = err.Error()
 			err = errors.New("分类权限查询出错")

+ 37 - 37
services/report/report.go

@@ -56,7 +56,7 @@ func GetLatestClassReport(permissionIds []int, userId uint64) (purchaseList []*p
 		return
 	}
 	classifyFirstIconMap := make(map[int]string)
-	classifySecondNameMap := make(map[string]int)
+	//classifySecondNameMap := make(map[int]int)
 	classifyFirstIdMap := make(map[int]bool)
 	classifySecondIdMap := make(map[int]bool)
 	for _, v := range classifys {
@@ -65,7 +65,7 @@ func GetLatestClassReport(permissionIds []int, userId uint64) (purchaseList []*p
 			classifyFirstIconMap[v.Id] = v.YbIconUrl
 		} else {
 			classifySecondIdMap[v.Id] = true
-			classifySecondNameMap[v.ClassifyName] = v.Id
+			//classifySecondNameMap[v.Id] = v.Id
 		}
 	}
 	//获取最新的晨报
@@ -105,10 +105,10 @@ func GetLatestClassReport(permissionIds []int, userId uint64) (purchaseList []*p
 		for _, v := range chartPermissions {
 			for _, myPerId := range permissionIds {
 				if v.ChartPermissionId == myPerId {
-					if classifyIdSecond, ok := classifySecondNameMap[v.KeyWord]; ok {
-						if _, ok2 := classifyIdSecondMap[classifyIdSecond]; !ok2 {
-							classifyIdSeconds = append(classifyIdSeconds, classifyIdSecond)
-							classifyIdSecondMap[classifyIdSecond] = true
+					if classifySecondIdMap[v.ClassifyId] {
+						if _, ok := classifyIdSecondMap[v.ClassifyId]; !ok {
+							classifyIdSeconds = append(classifyIdSeconds, v.ClassifyId)
+							classifyIdSecondMap[v.ClassifyId] = true
 						}
 					}
 					break
@@ -469,7 +469,7 @@ func GetReportDetail(userinfo user.UserInfo, reportId int) (reportDetail respons
 	} else {
 		// 音频播放条图片用分类图片
 		reportItem.VideoImg = utils.HZ_DEFAULT_AVATAR
-		permissionIds, tmpErr := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(reportItem.ClassifyNameSecond)
+		permissionIds, tmpErr := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(reportInfo.ClassifyIdSecond)
 		if tmpErr != nil {
 			errMsg = tmpErr.Error()
 			err = errors.New("查询报告权限失败")
@@ -656,9 +656,9 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 		}
 	}
 
-	permissionMap := make(map[string][]int)
-	checkPermissionMap := make(map[string]bool)
-	permissionImageMap := make(map[string]string)
+	permissionMap := make(map[int][]int)
+	checkPermissionMap := make(map[int]bool)
+	//permissionImageMap := make(map[string]string)
 	chartPermissionImageMap := make(map[int]string)
 	var classifyIdSeconds []int
 	//var reportImgUrl string
@@ -691,13 +691,13 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 		condition += " AND classify_id_second = ?"
 		pars = append(pars, classifyIdSecond)
 		//查询二级分类对应的权限
-		permissionIds, tErr := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyInfo.ClassifyName)
+		permissionIds, tErr := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyIdSecond)
 		if tErr != nil {
 			errMsg = tErr.Error()
 			err = errors.New("分类权限查询出错")
 			return
 		}
-		permissionMap[classifyInfo.ClassifyName] = permissionIds
+		permissionMap[classifyInfo.Id] = permissionIds
 		//if len(permissionIds) > 0 {
 		//	for _, v := range permissionIds {
 		//		reportImgUrl = chartPermissionImageMap[v]
@@ -719,8 +719,8 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 
 		if len(chartPermissions) > 0 {
 			for _, v := range chartPermissions {
-				permissionMap[v.KeyWord] = append(permissionMap[v.KeyWord], v.ChartPermissionId)
-				permissionImageMap[v.KeyWord] = chartPermissionImageMap[v.ChartPermissionId]
+				permissionMap[v.ClassifyId] = append(permissionMap[v.ClassifyId], v.ChartPermissionId)
+				//permissionImageMap[v.KeyWord] = chartPermissionImageMap[v.ChartPermissionId]
 			}
 		}
 
@@ -762,12 +762,12 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 	}
 
 	if len(validPermissionIdList) > 0 {
-		for classifyName, perIds := range permissionMap {
+		for cid, perIds := range permissionMap {
 		checkLoop:
 			for _, checkId := range perIds {
 				for _, validPerid := range validPermissionIdList {
 					if checkId == validPerid {
-						checkPermissionMap[classifyName] = true
+						checkPermissionMap[cid] = true
 						break checkLoop
 					}
 				}
@@ -980,7 +980,7 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 						}
 					}
 				}
-			} else if authOk, ok := checkPermissionMap[reportInfo.ClassifyNameSecond]; ok && authOk {
+			} else if authOk, ok := checkPermissionMap[reportInfo.ClassifyIdSecond]; ok && authOk {
 				if reportInfo.VideoUrl != "" {
 					videoTemp := new(response.VideoListItem)
 					videoTemp.VideoUrl = reportInfo.VideoUrl
@@ -1027,22 +1027,22 @@ func GetCollectReportList(user user.UserInfo, chartPermissionId, pageIndex, page
 		return
 	}
 	// 除了晨报和周报以外的其他报告
-	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "rddp")
+	classifySecondIds, err := chart_permission_search_key_word_mapping.GetClassifyIdsByChartPermissionId(chartPermissionId, "rddp")
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("查询权限对应的分类出错")
 		return
 	}
 
-	var classifySecondIds []int
-	if len(classifyNames) > 0 {
-		classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
-		if err != nil {
-			errMsg = err.Error()
-			err = errors.New("查询分类出错")
-			return
-		}
-	}
+	//var classifySecondIds []int
+	//if len(classifyNames) > 0 {
+	//	classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
+	//	if err != nil {
+	//		errMsg = err.Error()
+	//		err = errors.New("查询分类出错")
+	//		return
+	//	}
+	//}
 
 	// 查询晨报和周报相对应的章节ID
 	reportChapterTypeIds, err := report_chapter_type_permission.GetTypeIdsByChartPermissionId(chartPermissionId)
@@ -1360,21 +1360,21 @@ func GetVarietyReportList(user user.UserInfo, classifyId, chartPermissionId, pag
 	var allClassifySecondIds []int
 	var classifySecondIds []int
 
-	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "rddp")
+	allClassifySecondIds, err = chart_permission_search_key_word_mapping.GetClassifyIdsByChartPermissionId(chartPermissionId, "rddp")
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("查询权限对应的分类出错")
 		return
 	}
 
-	if len(classifyNames) > 0 {
-		allClassifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
-		if err != nil {
-			errMsg = err.Error()
-			err = errors.New("查询分类出错")
-			return
-		}
-	}
+	//if len(classifyNames) > 0 {
+	//	allClassifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
+	//	if err != nil {
+	//		errMsg = err.Error()
+	//		err = errors.New("查询分类出错")
+	//		return
+	//	}
+	//}
 
 	//根据所选一级分类id查询二级分类
 	classifyChild, err := classify.GetChildByPid(classifyId)
@@ -1533,7 +1533,7 @@ func GetVarietyReportList(user user.UserInfo, classifyId, chartPermissionId, pag
 //		return
 //	}
 //	// 除了晨报和周报以外的其他报告
-//	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "two_week")
+//	classifyNames, err := chart_permission_search_key_word_mapping.GetClassifyIdsByChartPermissionId(chartPermissionId, "two_week")
 //	if err != nil {
 //		errMsg = err.Error()
 //		err = errors.New("查询权限对应的分类出错")