package config import ( logger "eta/eta_mini_ht_api/common/component/log" permissionService "eta/eta_mini_ht_api/domian/config" "fmt" "strconv" "strings" ) func GetHighestRiskLevel(permissions []permissionService.PermissionDTO) (riskLevelNum int) { for _, permission := range permissions { pRiskNum, err := ParseRiskLevel(permission.RiskLevel) if err != nil { logger.Error("解析风险等级失败:%v", err) continue } if riskLevelNum == 0 { riskLevelNum = pRiskNum } else { if riskLevelNum < pRiskNum { riskLevelNum = pRiskNum } } } return } func ParseRiskLevel(level string) (int, error) { parts := strings.Split(level, "R") if len(parts) < 2 { return 0, fmt.Errorf("无效的风险等级: %s", level) } numberStr := parts[1] number, err := strconv.Atoi(numberStr) if err != nil { return 0, fmt.Errorf("无法将风险等级转换为数字: %s", err) } return number, nil } func GetPermissionByName(name string) (dto permissionService.PermissionDTO, err error) { return permissionService.GetPermissionByName(name) } func GetSecondPermissionsByClassifyId(id int) (dtoList []permissionService.PermissionDTO, err error) { return permissionService.GetSecondPermissionsByClassifyId(id) }