RoleEnum.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package com.boman.domain;
  2. import com.alibaba.fastjson.JSONObject;
  3. import java.util.*;
  4. import java.util.stream.Collectors;
  5. /**
  6. * @author tjf
  7. * @Date: 2021/04/22/15:16
  8. */
  9. public enum RoleEnum {
  10. /** 新增 */
  11. A("A","新增"),
  12. /** 修改 */
  13. M("M","修改"),
  14. /** 删除 */
  15. D("D","删除"),
  16. /** 查询 */
  17. Q("Q","查询"),
  18. /** 提交 */
  19. S("S","提交"),
  20. /** 反提交 */
  21. U("U","反提交"),
  22. /** 导入 */
  23. I("I","导入"),
  24. /** 导出 */
  25. E("E","导出");
  26. private final String role;
  27. private final String name;
  28. RoleEnum(String role, String name) {
  29. this.role = role;
  30. this.name = name;
  31. }
  32. public String getRole() {
  33. return role;
  34. }
  35. public String getName() {
  36. return name;
  37. }
  38. /**
  39. *
  40. * @param role
  41. * @return
  42. */
  43. public static String getValue(String role) {
  44. if(null != role){
  45. for(RoleEnum roleEnum : RoleEnum.values()){
  46. if(role.equals(roleEnum.getRole())){
  47. return roleEnum.getName();
  48. }
  49. }
  50. }
  51. return null;
  52. }
  53. /**
  54. * 功能描述: 拿到所有的名称 eg: 新增、修改.....
  55. *
  56. * @param
  57. * @return java.util.List<java.lang.String>
  58. */
  59. public static List<String> names(){
  60. RoleEnum[] values = RoleEnum.values();
  61. return Arrays.stream(values).map(RoleEnum::getName).collect(Collectors.toList());
  62. }
  63. /**
  64. * 功能描述: 拿到所有的roles, 顺序很重要
  65. * eg: A、M.....
  66. *
  67. * @return java.util.List<java.lang.String>
  68. */
  69. public static List<String> roles(){
  70. RoleEnum[] values = RoleEnum.values();
  71. return Arrays.stream(values).map(RoleEnum::getRole).collect(Collectors.toList());
  72. }
  73. /**
  74. * 功能描述: 拿到所有的roles eg: A、M.....
  75. *
  76. * @return java.util.List<java.lang.String>
  77. */
  78. public static List<Map<String, String>> all() {
  79. RoleEnum[] values = RoleEnum.values();
  80. List<Map<String, String>> result = new ArrayList<>(values.length);
  81. for (RoleEnum value : values) {
  82. Map<String, String> map = new HashMap<>(2);
  83. map.put("name", value.name);
  84. map.put("role", value.role);
  85. result.add(map);
  86. }
  87. return result;
  88. }
  89. /**
  90. * 功能描述: 拿到所有的roles eg: A、M.....
  91. *
  92. * @return java.util.List<java.lang.String>
  93. */
  94. public static List<JSONObject> initData() {
  95. List<String> roles = roles();
  96. List<JSONObject> result = new ArrayList<>(roles.size());
  97. for (String role : roles) {
  98. JSONObject jsonObject = new JSONObject(2);
  99. jsonObject.put("name", role);
  100. jsonObject.put("type", "0");
  101. result.add(jsonObject);
  102. }
  103. return result;
  104. }
  105. }