Przeglądaj źródła

品种列表改成本地同步表查询

kobe6258 8 miesięcy temu
rodzic
commit
e7ade34e66

+ 1 - 1
controllers/report/report_controller.go

@@ -196,7 +196,7 @@ func (r *ReportController) PublishRanked(permissionIds string, limit int, week b
 }
 
 // GetPermissions  @Title 获取品种列表
-// @Description 获取最新发布的报告列表
+// @Description获取品种列表
 // @Success 200 {object}
 // @router /permissionList [get]
 func (r *ReportController) GetPermissions() {

+ 46 - 0
domian/config/permission_service.go

@@ -1,6 +1,8 @@
 package config
 
 import (
+	logger "eta/eta_mini_ht_api/common/component/log"
+	"eta/eta_mini_ht_api/common/exception"
 	permissionDao "eta/eta_mini_ht_api/models/config"
 )
 
@@ -10,7 +12,51 @@ type PermissionDTO struct {
 	ParentId       int    `json:"parentId"`
 	Sort           int    `json:"sort"`
 }
+type PermissionNode struct {
+	ID       int               `json:"id"`
+	Name     string            `json:"name"`
+	ParentID int               `json:"parentId"`
+	Children []*PermissionNode `json:"children,omitempty"`
+}
 
+func assemblePermissionNode(list []PermissionDTO, node *PermissionNode, current int, level int) {
+	if node != nil && current < level {
+		for _, permission := range list {
+			if permission.ParentId == node.ID {
+				childNode := &PermissionNode{
+					ID:       permission.PermissionId,
+					Name:     permission.PermissionName,
+					ParentID: permission.ParentId,
+				}
+				node.Children = append(node.Children, childNode)
+				assemblePermissionNode(list, childNode, current+1, level)
+			}
+		}
+	}
+}
+func GetPermissionList() (root *PermissionNode, err error) {
+	list, err := permissionDao.GetPermissionList()
+	if err != nil {
+		logger.Error("获取品种列表失败:%v", err)
+		err = exception.New(exception.GetPermissionListFailed)
+		return
+	}
+	root = &PermissionNode{
+		ID:       0,
+		ParentID: 0,
+	}
+	var dtoList []PermissionDTO
+	for _, permission := range list {
+		dtoList = append(dtoList, PermissionDTO{
+			PermissionId:   permission.PermissionId,
+			PermissionName: permission.Name,
+			ParentId:       permission.ParentId,
+			Sort:           permission.Sort,
+		})
+	}
+	assemblePermissionNode(dtoList, root, 0, 2)
+	return
+}
 func SyncPermission(list []PermissionDTO) (err error) {
 	var permissionList []permissionDao.Permission
 	for _, dto := range list {

+ 10 - 0
models/config/permission.go

@@ -7,6 +7,10 @@ import (
 	"time"
 )
 
+const (
+	Columns = "permission_id,name,parent_id,risk_level,sort"
+)
+
 // Permission 定义权限表的结构
 type Permission struct {
 	Id           int       `gorm:"primaryKey;autoIncrement"`
@@ -35,3 +39,9 @@ func BatchInsertOrUpdate(list []Permission) (err error) {
 	err = db.Clauses(OnConflictFunc).Create(&list).Error
 	return
 }
+
+func GetPermissionList() (list []Permission, err error) {
+	db := models.Main()
+	err = db.Model(&Permission{}).Select(Columns).Order("parent_id asc").Order("sort asc").Find(&list).Error
+	return
+}

+ 35 - 34
service/report/report_service.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_mini_ht_api/common/exception"
 	"eta/eta_mini_ht_api/common/utils/date"
 	"eta/eta_mini_ht_api/common/utils/page"
+	permissionService "eta/eta_mini_ht_api/domian/config"
 	mediaService "eta/eta_mini_ht_api/domian/media"
 	reportService "eta/eta_mini_ht_api/domian/report"
 	userService "eta/eta_mini_ht_api/domian/user"
@@ -43,12 +44,12 @@ type HotRankedReport struct {
 	CoverUrl          string         `json:"coverUrl"`
 }
 
-type PermissionNode struct {
-	ID       int               `json:"id"`
-	Name     string            `json:"name"`
-	ParentID int               `json:"parentId"`
-	Children []*PermissionNode `json:"children,omitempty"`
-}
+//type PermissionNode struct {
+//	ID       int               `json:"id"`
+//	Name     string            `json:"name"`
+//	ParentID int               `json:"parentId"`
+//	Children []*PermissionNode `json:"children,omitempty"`
+//}
 
 type RecordCount struct {
 	UserId     int
@@ -310,36 +311,36 @@ func getReportPermissionsMap(id int, source string) (permissionMap map[int]strin
 	}
 	return
 }
-func GetPermissionList() (root *PermissionNode, err error) {
-	list, err := reportService.GetPermissionList()
-	if err != nil {
-		logger.Error("获取品种列表失败:%v", err)
-		err = exception.New(exception.GetPermissionListFailed)
-		return
-	}
-	root = &PermissionNode{
-		ID:       0,
-		ParentID: 0,
-	}
-	assemblePermissionNode(list, root, 0, 2)
-	return
+func GetPermissionList() (root *permissionService.PermissionNode, err error) {
+	return permissionService.GetPermissionList()
+	//if err != nil {
+	//	logger.Error("获取品种列表失败:%v", err)
+	//	err = exception.New(exception.GetPermissionListFailed)
+	//	return
+	//}
+	////root = &PermissionNode{
+	////	ID:       0,
+	////	ParentID: 0,
+	////}
+	////assemblePermissionNode(list, root, 0, 2)
+	//return
 }
 
-func assemblePermissionNode(list []reportService.PermissionDTO, node *PermissionNode, current int, level int) {
-	if node != nil && current < level {
-		for _, permission := range list {
-			if permission.ParentID == node.ID {
-				childNode := &PermissionNode{
-					ID:       permission.ID,
-					Name:     permission.Name,
-					ParentID: permission.ParentID,
-				}
-				node.Children = append(node.Children, childNode)
-				assemblePermissionNode(list, childNode, current+1, level)
-			}
-		}
-	}
-}
+//	func assemblePermissionNode(list []reportService.PermissionDTO, node *PermissionNode, current int, level int) {
+//		if node != nil && current < level {
+//			for _, permission := range list {
+//				if permission.ParentID == node.ID {
+//					childNode := &PermissionNode{
+//						ID:       permission.ID,
+//						Name:     permission.Name,
+//						ParentID: permission.ParentID,
+//					}
+//					node.Children = append(node.Children, childNode)
+//					assemblePermissionNode(list, childNode, current+1, level)
+//				}
+//			}
+//		}
+//	}
 func convertToHotRankedReport(dto reportService.ReportDTO) (report HotRankedReport) {
 	src, err := mediaService.GetImageSrc(dto.CoverSrc)
 	if err != nil {