1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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)
- }
|