|
@@ -228,28 +228,6 @@ func getHTReportDetail(report *reportService.ReportDTO) (url string, err error)
|
|
|
func GetTotalPageCountByPermissionIds(permissionIds []int, isLogin bool, userId int) (total int64, latestId int64, ids map[string][]int) {
|
|
|
return getCount(permissionIds, isLogin, userId)
|
|
|
}
|
|
|
-func filterPermissionsByRisk(permissionList []permissionService.PermissionDTO, riskLevel string) (resultList []permissionService.PermissionDTO) {
|
|
|
- if riskLevel != "" {
|
|
|
- riskLevelNum, err := config.ParseRiskLevel(riskLevel)
|
|
|
- if err != nil {
|
|
|
- logger.Error("风险等级解析失败:%v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- for _, permission := range permissionList {
|
|
|
- pRiskNum, riskErr := config.ParseRiskLevel(permission.RiskLevel)
|
|
|
- if riskErr != nil {
|
|
|
- logger.Error("解析品种风险等级失败 permission:%d,risk:%v", permission.PermissionId, permission.RiskLevel)
|
|
|
- continue
|
|
|
- }
|
|
|
- if pRiskNum <= riskLevelNum {
|
|
|
- resultList = append(resultList, permission)
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- resultList = permissionList
|
|
|
- }
|
|
|
- return
|
|
|
-}
|
|
|
|
|
|
// ParseRiskLevel 解析风险等级字符串,并返回数字部分
|
|
|
|
|
@@ -640,73 +618,11 @@ func GetReportByIdListByOrgIds(orgIds map[string][]int) (ids []int, err error) {
|
|
|
}
|
|
|
|
|
|
func RangePermissionIds(isLogin bool, userId int) (filterPermissionIds []int, riskLevel string, err error) {
|
|
|
- return CheckUserRisk(nil, isLogin, userId)
|
|
|
-}
|
|
|
-func CheckUserRisk(permissionIds []int, isLogin bool, userId int) (filterPermissionIds []int, riskLevel string, err error) {
|
|
|
- if isLogin {
|
|
|
- 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.RiskLevelStatus == user.RiskUnTest {
|
|
|
- logger.Warn("客户未做风险等级测评,mobile:%v", userProfile.Mobile)
|
|
|
- }
|
|
|
- if userProfile.RiskLevelStatus == user.RiskExpired {
|
|
|
- logger.Warn("客户风险等级已过期,mobile:%v", userProfile.Mobile)
|
|
|
- }
|
|
|
- var mapping permissionService.CustomerProductRiskMappingDTO
|
|
|
- if userProfile.RiskLevel != "" {
|
|
|
- mapping, err = permissionService.GetRiskMappingByCustomerRiskLevel(userProfile.RiskLevel)
|
|
|
- if err != nil {
|
|
|
- logger.Error("查询产品风险等级映射失败:%v", err)
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
- var permissionList []permissionService.PermissionDTO
|
|
|
- if len(permissionIds) == 0 {
|
|
|
- //获取所有设置风险等级的品种
|
|
|
- permissionList, err = permissionService.GetPermissionListWithRisk()
|
|
|
- } else {
|
|
|
- //更具id过滤设置了风险等级的品种
|
|
|
- permissionList, err = permissionService.GetPermissionListByIds(permissionIds)
|
|
|
- }
|
|
|
- permissionList = filterPermissionsByRisk(permissionList, mapping.ProductRiskLevel)
|
|
|
- riskLevel = mapping.ProductRiskLevel
|
|
|
- if len(permissionList) == 0 {
|
|
|
- return
|
|
|
- }
|
|
|
- for _, permission := range permissionList {
|
|
|
- filterPermissionIds = append(filterPermissionIds, permission.PermissionId)
|
|
|
- }
|
|
|
- return
|
|
|
- } else { //没有登录的时候展示所有设置了风险等级的品种报告,筛选的时候过滤传入ID中没有设置风险等级的品种
|
|
|
- var permissionList []permissionService.PermissionDTO
|
|
|
- if len(permissionIds) == 0 {
|
|
|
- //获取所有设置风险等级的品种
|
|
|
- permissionList, err = permissionService.GetPermissionListWithRisk()
|
|
|
- } else {
|
|
|
- //更具id过滤设置了风险等级的品种
|
|
|
- permissionList, err = permissionService.GetPermissionListByIds(permissionIds)
|
|
|
- }
|
|
|
- if err != nil {
|
|
|
- logger.Error("根据ID查询品种列表失败:%v", err)
|
|
|
- }
|
|
|
- for _, permission := range permissionList {
|
|
|
- filterPermissionIds = append(filterPermissionIds, permission.PermissionId)
|
|
|
- }
|
|
|
- //查询品种
|
|
|
- return
|
|
|
- }
|
|
|
+ return user.CheckUserRisk(nil, isLogin, userId)
|
|
|
}
|
|
|
+
|
|
|
func getCount(permissionIds []int, isLogin bool, userId int) (total int64, latestId int64, ids map[string][]int) {
|
|
|
- filterPermissionIds, riskLevel, err := CheckUserRisk(permissionIds, isLogin, userId)
|
|
|
+ filterPermissionIds, riskLevel, err := user.CheckUserRisk(permissionIds, isLogin, userId)
|
|
|
if err != nil {
|
|
|
logger.Error("校验用户风险等级失败:%v", err)
|
|
|
return
|
|
@@ -715,7 +631,7 @@ func getCount(permissionIds []int, isLogin bool, userId int) (total int64, lates
|
|
|
}
|
|
|
|
|
|
func getCountByAnalyst(permissionIds []int, isLogin bool, userId int, analystName string) (total int64, latestId int64, ids []int) {
|
|
|
- filterPermissionIds, riskLevel, err := CheckUserRisk(permissionIds, isLogin, userId)
|
|
|
+ filterPermissionIds, riskLevel, err := user.CheckUserRisk(permissionIds, isLogin, userId)
|
|
|
if err != nil {
|
|
|
logger.Error("校验用户风险等级失败:%v", err)
|
|
|
return
|