From 9e18636bed4fc3fceec08ca25d6c7916d4d9a429 Mon Sep 17 00:00:00 2001 From: wangting <wangting@vci-tech.com> Date: 星期三, 25 十二月 2024 17:20:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 110 insertions(+), 10 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java index 913d390..105768a 100644 --- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java +++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/VciBaseUtil.java @@ -1,8 +1,12 @@ package com.vci.starter.web.util; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; +import com.vci.common.exception.VciExceptionTool; +import com.vci.corba.common.PLException; import com.vci.starter.web.annotation.Id; import com.vci.starter.web.annotation.VciBtmType; import com.vci.starter.web.annotation.VciLinkType; @@ -48,6 +52,23 @@ public class VciBaseUtil { /** + * 鑾峰彇寮傚父淇℃伅,鍥犱负鎶涘嚭鐨勫紓甯镐笉鍚岋紝鑾峰彇閿欒淇℃伅鐨勬柟寮忓瓨鍦ㄥ樊寮傛墍浠ユ棤娉曠粺涓�鑾峰彇 + * 鍚庣画鏈夊叾浠栧紓甯搁渶瑕佽幏鍙栵紝鑷娣诲姞澶勭悊閫昏緫锛� + * @param e + * @return + */ + public static String getExceptionMessage(Throwable e){ + String exceptionStr = VciExceptionTool.getExceptionStr(e); + if(exceptionStr.contains("VciBaseException")){ + return e.getMessage(); + }else if(exceptionStr.contains("PLException")){ + return Arrays.stream(((PLException) e).messages).collect(Collectors.joining("\n")); + }else { + return e.getMessage(); + } + } + + /** * 鏃ュ織瀵硅薄 */ private static Logger log = LoggerFactory.getLogger(VciBaseUtil.class); @@ -59,6 +80,19 @@ */ public static String getPk() { return UUID.randomUUID().toString(); + } + + /** + * 闆姳ID + * @return + */ + public static String getSnowflakePk() { + return String.valueOf(getSnowflakePk(1,1)); + } + + public static Long getSnowflakePk(long workerId,long dataCenterId){ + Snowflake snowflake = IdUtil.getSnowflake(workerId,dataCenterId); + return snowflake.nextId(); } /** @@ -253,6 +287,28 @@ } /** + * 鍘婚櫎鏈�鍓嶉潰鐨剆piltFilter锛屽幓闄ゅ悗闈㈢殑spiltFilter + * @param s 瀛楃涓� + * @param spiltFilter,鍒嗛殧绗� + * @return 鍘婚櫎鏈熬閫楀彿 + */ + public static String removeComma(String s,String spiltFilter){ + if(s == null || s.trim().length() == 0) { + return s; + } + else{ + if(s.startsWith(spiltFilter)) { + s = s.substring(spiltFilter.length(), s.length()); + } + if(s.endsWith(spiltFilter)) { + s = s.substring(0, s.length() - spiltFilter.length()); + } + return s; + } + } + + + /** * 涓簊ql涓娇鐢╥n鏃讹紝鎻愪緵杞崲锛屾敞鎰廼n閲岀殑鍊间笉鑳借秴杩�1000 * @param s 瀛楃涓� * @return 杩斿洖sql璇彞 @@ -438,6 +494,21 @@ charMap.put(String.valueOf(c), (!charMap.containsKey(String.valueOf(c))? 1 : charMap.get(String.valueOf(c)) + 1)); } return charMap.get(String.valueOf(findC)); + } + + /** + * 甯﹂�楀彿鐨勫瓧绗︿覆杞负list + * @param s 瀛楃涓� + * @return 瀛楃涓插垪琛� + */ + public static List<String> str2List(String s,String spilter){ + if (isNull(s)) { + return null; + } else { + List<String> l = new ArrayList<String>(); + Collections.addAll(l,removeComma(s,spilter).split(spilter)); + return l; + } } /** @@ -743,7 +814,7 @@ if(c.isArray()){ return isBasicType(c.getComponentType()); } - return ClassUtil.isPrimitive(c); + return ClassUtilForVCI.isPrimitive(c); } /** @@ -1210,7 +1281,7 @@ * @return 浼氳瘽瀵硅薄 */ public static SessionInfo getCurrentUserSessionInfoNotException() { - return WebThreadLocalUtil.getCurrentUserSessionInfoInThread().get(); + return WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); } /** @@ -1218,7 +1289,7 @@ * @param sessionInfo 鐢ㄦ埛瀵硅薄 */ public static void setCurrentUserSessionInfo(SessionInfo sessionInfo){ - WebThreadLocalUtil.getCurrentUserSessionInfoInThread().set(sessionInfo); + WebThreadLocalUtil.setCurrentUserSessionInfoInThread(sessionInfo); } /** @@ -1226,7 +1297,7 @@ * @return true琛ㄧず鏌ヨ */ public static boolean isQueryTotal(){ - String needQueryTotal = WebThreadLocalUtil.getNeedQueryTotalInThread().get(); + String needQueryTotal = WebThreadLocalUtil.getNeedQueryTotalInThread(); if("false".equalsIgnoreCase(needQueryTotal)){ return false; }else{ @@ -1251,7 +1322,7 @@ Map<String,Object> map = new HashMap<String,Object>(); if(o!=null) { String jsonString = JSONObject.toJSONStringWithDateFormat(o, VciDateUtil.DateTimeMillFormat, SerializerFeature.WriteDateUseDateFormat); - if(org.apache.commons.lang3.StringUtils.isNotBlank(jsonString)) { + if(StringUtils.isNotBlank(jsonString)) { JSONObject jsonObject = JSONObject.parseObject(jsonString); if(jsonObject!=null){ for(String key : jsonObject.keySet()){ @@ -1272,7 +1343,7 @@ Map<String,String> map = new HashMap<String,String>(); if(o!=null) { String jsonString = JSONObject.toJSONStringWithDateFormat(o, VciDateUtil.DateTimeMillFormat, SerializerFeature.WriteDateUseDateFormat); - if(org.apache.commons.lang3.StringUtils.isNotBlank(jsonString)) { + if(StringUtils.isNotBlank(jsonString)) { JSONObject jsonObject = JSONObject.parseObject(jsonString); if(jsonObject!=null){ for(String key : jsonObject.keySet()){ @@ -1299,6 +1370,25 @@ } } + + /** + * 鏁扮粍杞崲涓篠tring + * @param array 鏁扮粍瀵硅薄 + * @param spiltFiter 鍒嗛殧绗� + * @return 閫楀彿閾炬帴鐨勫瓧绗︿覆 + */ + public static String array2String(String[] array,String spiltFiter) { + if(null == array || array.length == 0) { + return ""; + } else{ + String ss = ""; + for(String s : array){ + ss += s + spiltFiter; + //1.8鍙互 + } + return removeComma(ss,spiltFiter); + } + } /** * 鏁扮粍杞崲涓篠tring * @param array 鏁扮粍瀵硅薄 @@ -1724,14 +1814,13 @@ return name; } - /** * 鏍规嵁涓氬姟绫诲瀷鑾峰彇琛ㄦ牸鍚嶇О * @param btmname 涓氬姟绫诲瀷锛屽苟涓斾笉鑳芥槸瑙嗗浘 * @return 鏁版嵁搴撹〃鏍煎悕绉� */ public static String getTableName(String btmname) { - return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY?"platformbtm_":"vcibt_") + btmname.trim().toLowerCase(); + return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY?"pbt_":"vcibt_") + btmname.trim().toLowerCase(); } /** @@ -1740,7 +1829,7 @@ * @return 鏁版嵁搴撹〃鏍煎悕绉� */ public static String getLinkTableName(String linkName){ - return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY?"platformlt_":"vcilt_")+ linkName.trim().toLowerCase(); + return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY?"plt_":"vcilt_")+ linkName.trim().toLowerCase(); } /** @@ -1788,7 +1877,7 @@ * @param replaceMap 浣跨敤鏇挎崲鐨勬暟鎹簮 * @return 鏇挎崲鍚庣殑鍊� */ - public static String replaceByFreeMarker(String freemarker,Map<String,String> replaceMap){ + public static String replaceByFreeMarker(String freemarker,Map<String,Object> replaceMap){ if(StringUtils.isBlank(freemarker)){ return ""; } @@ -1929,4 +2018,15 @@ } return new String(c); } + + /** + * 灏唖tring闆嗗悎杞负stirng鏁扮粍 + * @param strCollection string闆嗗悎 + * @return string鏁扮粍 + */ + public static String[] collection2StrArr(Collection<String> strCollection){ + String[] strArr = new String[strCollection.size()]; + strCollection.toArray(strArr); + return strArr; + } } -- Gitblit v1.9.3