Test.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. package cn.com.lzt.common.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import cn.com.lzt.common.dto.RoleUserDto;
  7. import cn.com.lzt.common.dto.VisibleRangeDto;
  8. public class Test {
  9. public static void main(String[] args) {
  10. // testSpiltStr();
  11. // pretreatment();
  12. // getVisibleRangeList();
  13. bulidRoleUserMap();
  14. }
  15. private static void testSpiltStr() {
  16. String s0 = "lasjflsdf";
  17. String s1 = "P:0-900;A:0-300;M:0-99";
  18. String s2 = "P:0-900;A:0-300;M:0-99;C:0-90;D:0-199";
  19. List<String> list = new ArrayList<String>();
  20. String [] arr0 = s2.split(";");
  21. for(int i=0; i<arr0.length; i++){
  22. String aa = arr0[i];
  23. String [] arr1 = aa.split(";");
  24. for(int j=0; j<arr1.length; j++){
  25. list.add(arr1[j]);
  26. }
  27. }
  28. System.out.println("list:" + list);
  29. }
  30. private static List<String> pretreatment(){
  31. String rangeCodeStrs = "P:0-900; A:0-300 ; M:0-99;C:0-90;D:0-199;100-299";
  32. List<String> rangeCodeList = new ArrayList<String>();
  33. String [] arr0 = rangeCodeStrs.split(";");
  34. for(int i=0; i<arr0.length; i++){
  35. String aa = arr0[i].trim();
  36. String [] arr1 = aa.split(";");
  37. for(int j=0; j<arr1.length; j++){
  38. rangeCodeList.add(arr1[j].trim());
  39. }
  40. }
  41. System.out.println("rangeCodeList:" + rangeCodeList);
  42. return rangeCodeList;
  43. }
  44. private static List<VisibleRangeDto> getVisibleRangeList(){
  45. String s1 = "P:0-900";
  46. String s2 = " A : 0 - 300 ";
  47. String s3 = "M:0-99";
  48. String s4 = "C:0-90";
  49. String s5 = "D:0-199";
  50. String s6 = "100-299";
  51. List<String> rangeCodeList = new ArrayList<String>();
  52. rangeCodeList.add(s1);
  53. rangeCodeList.add(s2);
  54. rangeCodeList.add(s3);
  55. rangeCodeList.add(s4);
  56. rangeCodeList.add(s5);
  57. rangeCodeList.add(s6);
  58. List<VisibleRangeDto> rangeList = new ArrayList<VisibleRangeDto>();
  59. for(String rangeCode : rangeCodeList){
  60. if(rangeCode.contains(":") || rangeCode.contains(":")){
  61. String [] arr1 = rangeCode.split(":");// 半角分隔
  62. if(arr1.length > 1){
  63. String code = arr1[0].trim();
  64. String rangeVal = arr1[1].trim();
  65. if(rangeVal.contains("-") || rangeVal.contains("-")){
  66. String[] r1 = rangeVal.split("-");// 半角分隔
  67. if(r1.length > 1){
  68. VisibleRangeDto rangeDto = new VisibleRangeDto();
  69. rangeDto.setCode(code);
  70. rangeDto.setLeftVal(Integer.parseInt(r1[0].trim()));
  71. rangeDto.setRightVal(Integer.parseInt(r1[1].trim()));
  72. rangeDto.setRangeVal(rangeVal);
  73. rangeList.add(rangeDto);
  74. }else{
  75. String[] r2 = rangeCode.split("-");// 全角分隔
  76. if(r2.length > 1){
  77. VisibleRangeDto rangeDto = new VisibleRangeDto();
  78. rangeDto.setCode(code);
  79. rangeDto.setLeftVal(Integer.parseInt(r2[0].trim()));
  80. rangeDto.setRightVal(Integer.parseInt(r2[1].trim()));
  81. rangeDto.setRangeVal(rangeVal);
  82. rangeList.add(rangeDto);
  83. }
  84. }
  85. }
  86. }else{
  87. String [] arr2 = rangeCode.split(":");// 全角分隔
  88. if(arr2.length > 1){
  89. String code = arr2[0].trim();
  90. String rangeVal = arr2[1].trim();
  91. if(rangeVal.contains("-") || rangeVal.contains("-")){
  92. String[] r1 = rangeVal.split("-");// 半角分隔
  93. if(r1.length > 1){
  94. VisibleRangeDto rangeDto = new VisibleRangeDto();
  95. rangeDto.setCode(code);
  96. rangeDto.setLeftVal(Integer.parseInt(r1[0].trim()));
  97. rangeDto.setRightVal(Integer.parseInt(r1[1].trim()));
  98. rangeDto.setRangeVal(rangeVal);
  99. rangeList.add(rangeDto);
  100. }else{
  101. String[] r2 = rangeCode.split("-");// 全角分隔
  102. if(r2.length > 1){
  103. VisibleRangeDto rangeDto = new VisibleRangeDto();
  104. rangeDto.setCode(code);
  105. rangeDto.setLeftVal(Integer.parseInt(r2[0].trim()));
  106. rangeDto.setRightVal(Integer.parseInt(r2[1].trim()));
  107. rangeDto.setRangeVal(rangeVal);
  108. rangeList.add(rangeDto);
  109. }
  110. }
  111. }
  112. }
  113. }
  114. }else{
  115. if(rangeCode.contains("-") || rangeCode.contains("-")){
  116. String[] r1 = rangeCode.split("-");// 半角分隔
  117. if(r1.length > 1){
  118. VisibleRangeDto rangeDto = new VisibleRangeDto();
  119. rangeDto.setCode(null);
  120. rangeDto.setLeftVal(Integer.parseInt(r1[0].trim()));
  121. rangeDto.setRightVal(Integer.parseInt(r1[1].trim()));
  122. rangeDto.setRangeVal(rangeCode);
  123. rangeList.add(rangeDto);
  124. }else{
  125. String[] r2 = rangeCode.split("-");// 全角分隔
  126. if(r2.length > 1){
  127. VisibleRangeDto rangeDto = new VisibleRangeDto();
  128. rangeDto.setCode(null);
  129. rangeDto.setLeftVal(Integer.parseInt(r2[0].trim()));
  130. rangeDto.setRightVal(Integer.parseInt(r2[1].trim()));
  131. rangeDto.setRangeVal(rangeCode);
  132. rangeList.add(rangeDto);
  133. }
  134. }
  135. }
  136. }
  137. }
  138. System.out.println("rangeList:" + rangeList);
  139. return rangeList;
  140. }
  141. /**
  142. * 构建用户与角色的关系Map key:userid, value:RoleUserDto
  143. */
  144. private static void bulidRoleUserMap (){
  145. List<RoleUserDto> roleUserList = new ArrayList<RoleUserDto>();
  146. RoleUserDto dto1 = new RoleUserDto("zhangsan","a","100");
  147. RoleUserDto dto2 = new RoleUserDto("zhangsan","b","200");
  148. RoleUserDto dto3 = new RoleUserDto("zhangsan","c","300");
  149. roleUserList.add(dto1);
  150. roleUserList.add(dto2);
  151. roleUserList.add(dto3);
  152. RoleUserDto dto4 = new RoleUserDto("lisi","b","200");
  153. RoleUserDto dto5 = new RoleUserDto("lisi","c","300");
  154. roleUserList.add(dto4);
  155. roleUserList.add(dto5);
  156. RoleUserDto dto6 = new RoleUserDto("wuzun","c","300");
  157. RoleUserDto dto7 = new RoleUserDto("wuzun","d","400");
  158. RoleUserDto dto8 = new RoleUserDto("wuzun","e","500");
  159. roleUserList.add(dto6);
  160. roleUserList.add(dto7);
  161. roleUserList.add(dto8);
  162. RoleUserDto dto9 = new RoleUserDto("zhengshuang","d","400");
  163. roleUserList.add(dto9);
  164. RoleUserDto dto10 = new RoleUserDto("liudehua","f","600");
  165. roleUserList.add(dto10);
  166. if(roleUserList != null && roleUserList.size() > 0){
  167. Map<String, List<RoleUserDto>> ruMap = new HashMap<String, List<RoleUserDto>>();
  168. for(RoleUserDto dto : roleUserList){
  169. if(ruMap.containsKey(dto.getUserid())){
  170. ruMap.get(dto.getUserid()).add(dto);
  171. }else{
  172. List<RoleUserDto> dtoList = new ArrayList<RoleUserDto>();
  173. dtoList.add(dto);
  174. ruMap.put(dto.getUserid(), dtoList);
  175. }
  176. }
  177. System.out.println("-------------------");
  178. }
  179. }
  180. }