Browse Source

过滤重复研报数据

kobe6258 3 months ago
parent
commit
5ca72dfee6
1 changed files with 32 additions and 23 deletions
  1. 32 23
      controllers/report/report_controller.go

+ 32 - 23
controllers/report/report_controller.go

@@ -181,10 +181,11 @@ func (r *ReportController) HotRanked(permissionIds string, limit int) {
 			err = exception.New(exception.GetHotRandListFailed)
 			return
 		}
+		reportFilterMap := make(map[int]int)
 		filterList := make([]report.HotRankedReport, 0)
+		var filterPermissionIds []int
 		if len(permissionIdList) > 0 {
 			//通过有权限的品种过滤查询品种
-			var filterPermissionIds []int
 			for _, permissionId := range permissionIdList {
 				for _, permissionIdWIthRisk := range permissionIdsWithRisk {
 					if permissionId == permissionIdWIthRisk {
@@ -192,17 +193,21 @@ func (r *ReportController) HotRanked(permissionIds string, limit int) {
 					}
 				}
 			}
-			for _, item := range list {
-				for _, permissionId := range filterPermissionIds {
-					if _, ok := item.SecondPermissions[permissionId]; ok {
-						filterList = append(filterList, item)
-					}
-				}
-			}
+			//for _, item := range list {
+			//	for _, permissionId := range filterPermissionIds {
+			//		if _, ok := item.SecondPermissions[permissionId]; ok {
+			//			filterList = append(filterList, item)
+			//		}
+			//	}
+			//}
 		} else {
-			for _, item := range list {
-				for _, permissionId := range permissionIdsWithRisk {
-					if _, ok := item.SecondPermissions[permissionId]; ok {
+			filterPermissionIds = permissionIdsWithRisk
+		}
+		for _, item := range list {
+			for _, permissionId := range filterPermissionIds {
+				if _, ok := item.SecondPermissions[permissionId]; ok {
+					if reportFilterMap[item.Id] == 0 {
+						reportFilterMap[item.Id] = 1
 						filterList = append(filterList, item)
 					}
 				}
@@ -258,11 +263,11 @@ func (r *ReportController) PublishRanked(permissionIds string, limit int, week b
 			err = exception.New(exception.GetPublishedRandListFailed)
 			return
 		}
-
+		reportFilterMap := make(map[int]int)
 		filterList := make([]report.PublishRankedReport, 0)
+		var filterPermissionIds []int
 		if len(permissionIdList) > 0 {
 			//通过有权限的品种过滤查询品种
-			var filterPermissionIds []int
 			for _, permissionId := range permissionIdList {
 				for _, permissionIdWIthRisk := range permissionIdsWithRisk {
 					if permissionId == permissionIdWIthRisk {
@@ -270,17 +275,21 @@ func (r *ReportController) PublishRanked(permissionIds string, limit int, week b
 					}
 				}
 			}
-			for _, item := range list {
-				for _, permissionId := range filterPermissionIds {
-					if _, ok := item.SecondPermissions[permissionId]; ok {
-						filterList = append(filterList, item)
-					}
-				}
-			}
+			//for _, item := range list {
+			//	for _, permissionId := range filterPermissionIds {
+			//		if _, ok := item.SecondPermissions[permissionId]; ok {
+			//			filterList = append(filterList, item)
+			//		}
+			//	}
+			//}
 		} else {
-			for _, item := range list {
-				for _, permissionId := range permissionIdsWithRisk {
-					if _, ok := item.SecondPermissions[permissionId]; ok {
+			filterPermissionIds = permissionIdsWithRisk
+		}
+		for _, item := range list {
+			for _, permissionId := range filterPermissionIds {
+				if _, ok := item.SecondPermissions[permissionId]; ok {
+					if reportFilterMap[item.Id] == 0 {
+						reportFilterMap[item.Id] = 1
 						filterList = append(filterList, item)
 					}
 				}