Przeglądaj źródła

Merge branch 'bzq/dev' of eta_mini/eta_mini_bridge into master

鲍自强 6 miesięcy temu
rodzic
commit
b0e7a97c41
2 zmienionych plików z 33 dodań i 7 usunięć
  1. 31 6
      controllers/report.go
  2. 2 1
      models/classify.go

+ 31 - 6
controllers/report.go

@@ -130,6 +130,9 @@ func (this *ReportController) List() {
 			return
 		}
 		for _, v := range classifyList {
+			if v.HasChild == 1 {
+				continue
+			}
 			switch v.Level {
 			case 1:
 				classifyFirstIds = append(classifyFirstIds, v.Id)
@@ -195,6 +198,9 @@ func (this *ReportController) List() {
 			return
 		}
 		for _, v := range classifyList {
+			if v.HasChild == 1 {
+				continue
+			}
 			switch v.Level {
 			case 1:
 				classifyFirstIds = append(classifyFirstIds, v.Id)
@@ -371,8 +377,9 @@ func (this *ReportController) Detail() {
 
 	resp := new(response.ReportDetailResp)
 	if !IsPublic {
-		// 如果是私有报告,用户权限过期直接返回有效期已过
-		if vailStatus == 1 {
+		// 私有报告
+		// 用户权限过期或处于禁用状态,直接返回有效期已过
+		if vailStatus == 1 || user.Status == utils.UserStatusNo {
 			resp.Report = report
 			resp.Status = utils.ReportPermissionStatusExpired
 			report.Content = ""
@@ -381,8 +388,8 @@ func (this *ReportController) Detail() {
 			br.Msg = "用户权限不足"
 			return
 		}
-		// 如果被禁用或是潜在用户,直接返回无阅读报告权限
-		if user.Status == utils.UserStatusNo || user.Status == utils.UserStatusPotential {
+		// 潜在用户,直接返回无阅读报告权限
+		if user.Status == utils.UserStatusPotential {
 			resp.Report = report
 			resp.Status = utils.ReportPermissionStatusNo
 			report.Content = ""
@@ -391,6 +398,7 @@ func (this *ReportController) Detail() {
 			br.Msg = "用户权限不足"
 			return
 		}
+		// 正式用户,判断是否有权限查看
 		chartPermissionIds, err := models.GetChartPermissionIdByUserId(userId)
 		if err != nil {
 			br.Msg = "获取用户权限失败"
@@ -399,7 +407,7 @@ func (this *ReportController) Detail() {
 		}
 		if len(chartPermissionIds) <= 0 {
 			resp.Report = report
-			resp.Status = utils.ReportPermissionStatusNo
+			resp.Status = utils.ReportPermissionStatusNoPermission
 			report.Content = ""
 			br.Ret = 200
 			br.Data = resp
@@ -421,9 +429,20 @@ func (this *ReportController) Detail() {
 			br.Msg = "用户权限不足"
 			return
 		}
+		var reportClassifyId int
+		if report.ClassifyIdFirst > 0 {
+			reportClassifyId = report.ClassifyIdFirst
+		}
+		if report.ClassifyIdSecond > 0 {
+			reportClassifyId = report.ClassifyIdSecond
+		}
+		if report.ClassifyIdThird > 0 {
+			reportClassifyId = report.ClassifyIdThird
+		}
 		for _, v := range classifyIds {
-			if v == report.ClassifyIdSecond {
+			if v == reportClassifyId {
 				IsHas = true
+				break
 			}
 		}
 		if !IsHas {
@@ -846,6 +865,9 @@ func (this *ReportNoAuthController) List() {
 			return
 		}
 		for _, v := range classifyList {
+			if v.HasChild == 1 {
+				continue
+			}
 			switch v.Level {
 			case 1:
 				classifyFirstIds = append(classifyFirstIds, v.Id)
@@ -911,6 +933,9 @@ func (this *ReportNoAuthController) List() {
 			return
 		}
 		for _, v := range classifyList {
+			if v.HasChild == 1 {
+				continue
+			}
 			switch v.Level {
 			case 1:
 				classifyFirstIds = append(classifyFirstIds, v.Id)

+ 2 - 1
models/classify.go

@@ -12,6 +12,7 @@ type Classify struct {
 	ClassifyName string    `description:"分类名称"`
 	Sort         int       `json:"-"`
 	ParentId     int       `description:"父级分类id"`
+	HasChild     int       `description:"是否有子分类"`
 	CreateTime   time.Time `description:"创建时间"`
 	ModifyTime   time.Time `description:"修改时间"`
 	Level        int       `description:"分类层级"`
@@ -25,7 +26,7 @@ type ClassifyView struct {
 	CreateTime   time.Time       `description:"创建时间"`
 	ModifyTime   time.Time       `description:"修改时间"`
 	Level        int             `description:"分类层级"`
-	HasChild     int             `description:"是否有子分类0:下面没有子分类,1:下面有子分类"`
+	HasChild     int             `description:"是否有子分类0:下面没有子分类,1:下面有子分类" json:"-"`
 	Child        []*ClassifyView `description:"子分类"`
 }