kobe6258 4 сар өмнө
parent
commit
a0fced0327

+ 1 - 1
domian/report/report_service.go

@@ -129,7 +129,7 @@ func GetGetReportById(reportId int) (ReportDTO ReportDTO, err error) {
 func GetTotalPageCount() (total int64, latestId int64, err error) {
 	return reportDao.GetTotalPageCount()
 }
-func GetTotalPageCountByAnalyst(analyst string, permissionIds []int) (total int64, latestId int64, ids []int) {
+func GetTotalPageCountByAnalyst(analyst string, permissionIds []int, riskLevel string) (total int64, latestId int64, ids []int) {
 	ids, err := reportDao.GetReportsByAnalyst(analyst)
 	if err != nil {
 		logger.Error("查询研究研报告列表id失败:%v", err)

+ 50 - 42
service/report/report_service.go

@@ -431,45 +431,45 @@ func SearchReportList(key string, Ids []int, pageInfo page.PageInfo, isLogin boo
 	return
 }
 func RangeSearchByAnalyst(analystName string, userId int) (total int64, latestId int64, ids []int) {
-	var err error
-	//登录了需要校验风险等级,如果风险等级没做或者过期直接返回空,做了就筛选风险等级
-	userProfile, userErr := user.GetUserProfile(userId)
-	if userErr != nil {
-		if errors.Is(userErr, gorm.ErrRecordNotFound) {
-			err = exception.New(exception.TemplateUserNotFound)
-		} else {
-			err = exception.New(exception.TemplateUserFoundFailed)
-		}
-		logger.Error("分页查询报告列表失败:%v", err)
-		return
-	}
-	//获取产品风险等级
-	if userProfile.RiskLevel == user.RiskUnTest {
-		logger.Error("客户未做风险等级测评,mobile:%v", userProfile.Mobile)
-		return
-	}
-	if userProfile.RiskLevelStatus == user.RiskExpired {
-		logger.Error("客户风险等级已过期,mobile:%v", userProfile.Mobile)
-		return
-	}
-	mapping, mappingErr := permissionService.GetRiskMappingByCustomerRiskLevel(userProfile.RiskLevel)
-	if mappingErr != nil {
-		logger.Error("查询产品风险等级映射失败:%v", mappingErr)
-		return
-	}
-	var permissionList []permissionService.PermissionDTO
-	//获取所有设置风险等级的品种
-	permissionList, err = permissionService.GetPermissionListWithRisk()
-	permissionList = filterPermissionsByRisk(permissionList, mapping.ProductRiskLevel)
-	if len(permissionList) == 0 {
-		return
-	}
-	var filterPermissionIds []int
-	for _, permission := range permissionList {
-		filterPermissionIds = append(filterPermissionIds, permission.PermissionId)
-	}
+	return getCountByAnalyst(nil, true, userId, analystName)
+	////登录了需要校验风险等级,如果风险等级没做或者过期直接返回空,做了就筛选风险等级
+	//userProfile, userErr := user.GetUserProfile(userId)
+	//if userErr != nil {
+	//	if errors.Is(userErr, gorm.ErrRecordNotFound) {
+	//		err = exception.New(exception.TemplateUserNotFound)
+	//	} else {
+	//		err = exception.New(exception.TemplateUserFoundFailed)
+	//	}
+	//	logger.Error("分页查询报告列表失败:%v", err)
+	//	return
+	//}
+	////获取产品风险等级
+	//if userProfile.RiskLevel == user.RiskUnTest {
+	//	logger.Error("客户未做风险等级测评,mobile:%v", userProfile.Mobile)
+	//	return
+	//}
+	//if userProfile.RiskLevelStatus == user.RiskExpired {
+	//	logger.Error("客户风险等级已过期,mobile:%v", userProfile.Mobile)
+	//	return
+	//}
+	//mapping, mappingErr := permissionService.GetRiskMappingByCustomerRiskLevel(userProfile.RiskLevel)
+	//if mappingErr != nil {
+	//	logger.Error("查询产品风险等级映射失败:%v", mappingErr)
+	//	return
+	//}
+	//var permissionList []permissionService.PermissionDTO
+	////获取所有设置风险等级的品种
+	//permissionList, err = permissionService.GetPermissionListWithRisk()
+	//permissionList = filterPermissionsByRisk(permissionList, mapping.ProductRiskLevel)
+	//if len(permissionList) == 0 {
+	//	return
+	//}
+	//var filterPermissionIds []int
+	//for _, permission := range permissionList {
+	//	filterPermissionIds = append(filterPermissionIds, permission.PermissionId)
+	//}
 
-	return reportService.GetTotalPageCountByAnalyst(analystName, filterPermissionIds)
+	//return reportService.GetTotalPageCountByAnalyst(analystName, filterPermissionIds)
 }
 func RangeSearch(isLogin bool, userId int) (total int64, latestId int64, orgIds map[string][]int) {
 	return getCount(nil, isLogin, userId)
@@ -1019,16 +1019,15 @@ func checkUserRisk(permissionIds []int, isLogin bool, userId int) (filterPermiss
 		}
 		//获取产品风险等级
 		if userProfile.RiskLevel == user.RiskUnTest {
-			logger.Error("客户未做风险等级测评,mobile:%v", userProfile.Mobile)
-			return
+			logger.Warn("客户未做风险等级测评,mobile:%v", userProfile.Mobile)
 		}
 		if userProfile.RiskLevelStatus == user.RiskExpired {
-			logger.Error("客户风险等级已过期,mobile:%v", userProfile.Mobile)
-			return
+			logger.Warn("客户风险等级已过期,mobile:%v", userProfile.Mobile)
 		}
 		mapping, mappingErr := permissionService.GetRiskMappingByCustomerRiskLevel(userProfile.RiskLevel)
 		if mappingErr != nil {
 			logger.Error("查询产品风险等级映射失败:%v", mappingErr)
+			err = mappingErr
 			return
 		}
 		var permissionList []permissionService.PermissionDTO
@@ -1075,3 +1074,12 @@ func getCount(permissionIds []int, isLogin bool, userId int) (total int64, lates
 	}
 	return reportService.GetTotalPageCountByPermissionIds(filterPermissionIds, riskLevel)
 }
+
+func getCountByAnalyst(permissionIds []int, isLogin bool, userId int, analystName string) (total int64, latestId int64, ids []int) {
+	filterPermissionIds, riskLevel, err := checkUserRisk(permissionIds, isLogin, userId)
+	if err != nil {
+		logger.Error("校验用户风险等级失败:%v", err)
+		return
+	}
+	return reportService.GetTotalPageCountByAnalyst(analystName, filterPermissionIds, riskLevel)
+}