|
@@ -42,7 +42,8 @@ type UserProfile struct {
|
|
|
UserName string `json:"userName"`
|
|
|
}
|
|
|
|
|
|
-func CheckUserRisk(permissionIds []int, isLogin bool, userId int) (filterPermissionIds []int, riskLevel string, err error) {
|
|
|
+
|
|
|
+func GetRiskLevelPermissionList(permissionIds []int, isLogin bool, userId int) (filterPermissionIds []int, riskLevel string, err error) {
|
|
|
if isLogin {
|
|
|
userProfile, userErr := GetUserProfile(userId)
|
|
|
if userErr != nil {
|
|
@@ -51,36 +52,39 @@ func CheckUserRisk(permissionIds []int, isLogin bool, userId int) (filterPermiss
|
|
|
} else {
|
|
|
err = exception.New(exception.TemplateUserFoundFailed)
|
|
|
}
|
|
|
- logger.Error("分页查询列表失败:%v", err)
|
|
|
+ logger.Error("获取临时客户信息失败:%v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var permissionList []permissionService.PermissionDTO
|
|
|
+ if len(permissionIds) == 0 {
|
|
|
+
|
|
|
+ permissionList, err = permissionService.GetPermissionListWithRisk()
|
|
|
+ } else {
|
|
|
+
|
|
|
+ permissionList, err = permissionService.GetPermissionListByIds(permissionIds)
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("查询有风险等级的品种列表失败:%v", err)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
if userProfile.RiskLevelStatus == RiskUnTest {
|
|
|
logger.Warn("客户未做风险等级测评,mobile:%v", userProfile.Mobile)
|
|
|
+
|
|
|
}
|
|
|
if userProfile.RiskLevelStatus == RiskExpired {
|
|
|
logger.Warn("客户风险等级已过期,mobile:%v", userProfile.Mobile)
|
|
|
+
|
|
|
}
|
|
|
- var mapping permissionService.CustomerProductRiskMappingDTO
|
|
|
- if userProfile.RiskLevel != "" {
|
|
|
+ if userProfile.RiskLevel != "" && userProfile.RiskLevelStatus == RiskValid {
|
|
|
+ var mapping permissionService.CustomerProductRiskMappingDTO
|
|
|
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 {
|
|
|
-
|
|
|
- permissionList, err = permissionService.GetPermissionListByIds(permissionIds)
|
|
|
- }
|
|
|
- permissionList = filterPermissionsByRisk(permissionList, mapping.ProductRiskLevel)
|
|
|
- riskLevel = mapping.ProductRiskLevel
|
|
|
- if len(permissionList) == 0 {
|
|
|
- return
|
|
|
+ permissionList = filterPermissionsByRisk(permissionList, mapping.ProductRiskLevel)
|
|
|
+ riskLevel = mapping.ProductRiskLevel
|
|
|
}
|
|
|
for _, permission := range permissionList {
|
|
|
filterPermissionIds = append(filterPermissionIds, permission.PermissionId)
|
|
@@ -96,12 +100,12 @@ func CheckUserRisk(permissionIds []int, isLogin bool, userId int) (filterPermiss
|
|
|
permissionList, err = permissionService.GetPermissionListByIds(permissionIds)
|
|
|
}
|
|
|
if err != nil {
|
|
|
- logger.Error("根据ID查询品种列表失败:%v", err)
|
|
|
+ logger.Error("查询有风险等级的品种列表失败:%v", err)
|
|
|
+ return
|
|
|
}
|
|
|
for _, permission := range permissionList {
|
|
|
filterPermissionIds = append(filterPermissionIds, permission.PermissionId)
|
|
|
}
|
|
|
-
|
|
|
return
|
|
|
}
|
|
|
}
|