config.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package config
  2. import (
  3. logger "eta/eta_mini_ht_api/common/component/log"
  4. permissionService "eta/eta_mini_ht_api/domian/config"
  5. "fmt"
  6. "strconv"
  7. "strings"
  8. )
  9. func GetHighestRiskLevel(permissions []permissionService.PermissionDTO) (riskLevelNum int) {
  10. for _, permission := range permissions {
  11. pRiskNum, err := ParseRiskLevel(permission.RiskLevel)
  12. if err != nil {
  13. logger.Error("解析风险等级失败:%v", err)
  14. continue
  15. }
  16. if riskLevelNum == 0 {
  17. riskLevelNum = pRiskNum
  18. } else {
  19. if riskLevelNum < pRiskNum {
  20. riskLevelNum = pRiskNum
  21. }
  22. }
  23. }
  24. return
  25. }
  26. func ParseRiskLevel(level string) (int, error) {
  27. parts := strings.Split(level, "R")
  28. if len(parts) < 2 {
  29. return 0, fmt.Errorf("无效的风险等级: %s", level)
  30. }
  31. numberStr := parts[1]
  32. number, err := strconv.Atoi(numberStr)
  33. if err != nil {
  34. return 0, fmt.Errorf("无法将风险等级转换为数字: %s", err)
  35. }
  36. return number, nil
  37. }
  38. func GetPermissionByName(name string) (dto permissionService.PermissionDTO, err error) {
  39. return permissionService.GetPermissionByName(name)
  40. }
  41. func GetSecondPermissionsByClassifyId(id int) (dtoList []permissionService.PermissionDTO, err error) {
  42. return permissionService.GetSecondPermissionsByClassifyId(id)
  43. }