BaseUtil.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package com.uas.eis.utils;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.Iterator;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Set;
  8. import com.uas.eis.entity.ErrorMsg;
  9. import net.sf.json.JSONArray;
  10. import net.sf.json.util.JSONUtils;
  11. import com.alibaba.fastjson.JSON;
  12. import com.alibaba.fastjson.JSONObject;
  13. import com.uas.eis.exception.SystemException;
  14. public class BaseUtil {
  15. /**
  16. * 以抛出异常的方式将信息交给MyExceptionHandler MyExceptionHandler会捕捉信息并传给前台
  17. * 前台捕捉错误信息,并显示给用户
  18. *
  19. * @param error
  20. * 要在前台显示的信息
  21. */
  22. public static void showError(String error) {
  23. if (error != null && error.length() > 0)
  24. throw new SystemException(error);
  25. }
  26. public static void showError(ErrorMsg errorMsg) {
  27. if(errorMsg!=null){
  28. throw new SystemException(errorMsg);
  29. }
  30. }
  31. /**
  32. * List集合转化成字符串, null和空字符自动去掉
  33. *
  34. * @param list
  35. * 待转化集合
  36. * @param ch
  37. * 分割符
  38. * @param repeat
  39. * 是否去重 {true-是、false-否}
  40. */
  41. public static String parseList2Str(List<?> list, String ch, boolean repeat) {
  42. StringBuffer sb = new StringBuffer();
  43. for (Object s : list) {
  44. if (s != null && !s.toString().trim().equals("")) {
  45. if (repeat) {
  46. if (!sb.toString().contains(s + ch)) {
  47. sb.append(s);
  48. sb.append(ch);
  49. }
  50. } else {
  51. sb.append(s);
  52. sb.append(ch);
  53. }
  54. }
  55. }
  56. if (sb.length() > 0 && ch.length() > 0) {
  57. return sb.substring(0, sb.lastIndexOf(ch));
  58. }
  59. return sb.toString();
  60. }
  61. /**
  62. * 将gridStore解析成maps
  63. *
  64. * @param gridStore
  65. * 字符串形式的grid数据
  66. * @return map形式的grid数据
  67. */
  68. public static List<Map<Object, Object>> parseGridStoreToMaps(String gridStore) {
  69. List<Map<Object, Object>> list = new ArrayList<Map<Object, Object>>();
  70. try {
  71. if (!gridStore.startsWith("[")) {
  72. gridStore = "[" + gridStore + "]";
  73. }
  74. if (gridStore.length() > 409600) {
  75. list = JacksonUtil.fromJsonArray(gridStore);
  76. } else {
  77. list = FlexJsonUtil.fromJsonArray(gridStore, HashMap.class);
  78. }
  79. } catch (Exception e) {
  80. list = JSONUtil.toMapList(gridStore);
  81. }
  82. return list;
  83. }
  84. /**
  85. * 数组转化成字符串, null和空字符自动去掉
  86. *
  87. * @param arr
  88. * 待转化数组
  89. * @param ch
  90. * 分割符
  91. */
  92. public static String parseArray2Str(Object[] arr, String ch) {
  93. StringBuffer sb = new StringBuffer();
  94. for (Object s : arr) {
  95. if (s != null && !s.toString().trim().equals("")) {
  96. sb.append(s);
  97. sb.append(ch);
  98. }
  99. }
  100. if (sb.length() > 0 && ch.length() > 0) {
  101. return sb.substring(0, sb.lastIndexOf(ch));
  102. }
  103. return sb.toString();
  104. }
  105. /**
  106. * 数据转换,将传入的数据转成需要调用接口规定的数据格式
  107. * @param jsonStr 传入的数据
  108. * @param keyMap UAS与外部系统的键 映射
  109. * @return
  110. */
  111. public static Map<String, Object> jsonToMap(String jsonStr, Map<String, String> keyMap){
  112. Map<String, Object> map = new HashMap<String, Object>();
  113. Map<String, Object> jsonMap = JSONObject.parseObject(jsonStr);
  114. Set<String> set = jsonMap.keySet();
  115. Iterator<String> it = set.iterator();
  116. while(it.hasNext()){
  117. String key = it.next();
  118. if(keyMap.containsKey(key)){
  119. map.put(keyMap.get(key), jsonMap.get(key));
  120. }
  121. }
  122. return map;
  123. }
  124. public static String parseDataToJson(Map<String, Object> formMap,List<Map<String, Object>> gridList){
  125. JSONObject json = new JSONObject();
  126. json.put("form", JSON.toJSON(formMap));
  127. json.put("grid", JSONArray.fromObject(gridList));
  128. return json.toString();
  129. }
  130. }