From d74e5663908f6530ee32d074b1a747c49cb05589 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期五, 25 八月 2023 16:55:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 88 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java index 7bf4b8b..4ccbc9b 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java @@ -5,6 +5,8 @@ // (powered by FernFlower decompiler) // +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.baomidou.mybatisplus.annotation.TableField; @@ -17,6 +19,7 @@ import com.vci.ubcs.starter.web.wrapper.VciQueryWrapperForDO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springblade.core.tool.utils.Func; import org.springframework.util.CollectionUtils; import org.springframework.util.ResourceUtils; @@ -35,8 +38,6 @@ import java.math.BigInteger; import java.net.InetAddress; import java.net.NetworkInterface; -import java.sql.Timestamp; -import java.text.SimpleDateFormat; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -52,7 +53,12 @@ } public static String getPk() { - return UUID.randomUUID().toString(); + return String.valueOf(getPKLong(1,1)); + } + + public static Long getPKLong(long workerId,long dataCenterId){ + Snowflake snowflake = IdUtil.getSnowflake(workerId,dataCenterId); + return snowflake.nextId(); } public static int getIntForBoolean(boolean b) { @@ -862,7 +868,7 @@ } public static String getTableName(String btmname) { - return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "pl_code_" : "vcibt_") + btmname.trim().toLowerCase(); + return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "vcibt_" : "pl_code_") + btmname.trim().toLowerCase(); } public static Field getTsField(Class c) { @@ -1136,7 +1142,38 @@ public static <T> Collection<Collection<T>> switchCollectionForOracleIn(Collection<T> list) { return switchCollectionForOracleIn(list, 500); } - + /** + * oracle in 鏌ヨ涓嶈兘瓒呰繃1000锛岃浆鎹竴涓嬮泦鍚� + * 鐢变簬SQL璇彞1000涓彲鑳藉緢闀匡紝瓒呰繃oracle10g锛屾墍浠ョ壓鐗叉�ц兘鍒嗛厤涓�500涓暟缁� + * @param list 闇�瑕佽浆鎹㈢殑鍒楄〃鍐呭 + * @return 鍒嗙粍鍚庣殑list + */ + public static <T> List<List<T>> switchListForOracleIn(List<T> list) { + List<List<T>> listHasList = new ArrayList<List<T>>(); + if(list == null){ + return listHasList; + } + List<T> newList = new ArrayList<T>(); + for(Object obj : list){ + //涓轰簡璁﹍ist杩樺彲浠ユ坊鍔犲唴瀹癸紝鍥犱负浣跨敤sublist鍚庯紝list涓嶈兘鍐岮dd浜� + newList.add((T)obj); + } + int muti = 1; + if(newList.size() >500){ + int balance = newList.size()%500; + muti = (newList.size() - balance)/500 + (balance == 0?0:1); + } + for(int i = 0 ; i < muti; i ++){ + int start = i*500; + int end = start + 500; + if(i == muti-1 || end >newList.size() ){ + end = newList.size(); + } + List subList = newList.subList(start,end); + listHasList.add(subList); + } + return listHasList; + } public static <T> Collection<Collection<T>> switchCollectionForOracleIn(Collection<T> collection, int preSize) { Collection<Collection<T>> listHasList = new ArrayList(); if (collection == null) { @@ -1256,13 +1293,14 @@ * @return Map瀵硅薄 * @version 2016骞�3鏈�20鏃� 11:03:01 */ - public static Map convertBean2Map(Object bean) throws Exception { + public static Map convertBean2Map(Object bean,Set<String> existFild) throws Exception { Class type = bean.getClass(); Map returnMap = new HashMap(); BeanInfo beanInfo = Introspector.getBeanInfo(type); PropertyDescriptor[] propertyDescriptors = beanInfo .getPropertyDescriptors(); Field[] declaredFields = type.getDeclaredFields(); + Map<String, String> fieldMap = new HashMap(); String existField = ""; for (Field declaredField : declaredFields) { declaredField.setAccessible(true); @@ -1275,9 +1313,13 @@ if(fieldValue == false){ existField += declaredField.getName().toLowerCase()+","; } + String value = tableField.value(); + if(net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils.isNotBlank(value)){ + fieldMap.put(declaredField.getName(), value); + } } } - + Map mapData = new HashMap<>(); for (int i = 0, n = propertyDescriptors.length; i <n ; i++) { PropertyDescriptor descriptor = propertyDescriptors[i]; String propertyName = descriptor.getName(); @@ -1289,13 +1331,25 @@ if (result != null) { if ("data".equals(propertyName)){ - returnMap.putAll((Map) result); - }else { - returnMap.put(propertyName, result); + mapData = (Map) result; + }else if(existFild.contains((fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName).toLowerCase())){ + returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName).toLowerCase():propertyName.toLowerCase(), result); } - } else { - returnMap.put(propertyName, ""); + } else if(existFild.contains((fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName).toLowerCase())){ + returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName).toLowerCase():propertyName.toLowerCase(), ""); } + } + } + //浣滅敤涓昏鐢ㄤ簬宸睲AP涓殑鏁版嵁涓哄噯锛宐ean閲岄潰閬囧埌瀛楁鐩稿悓涓攎ap閲岄潰鏁版嵁涓虹┖锛屽垯浣跨敤bean閲岄潰鐨勫��, +// Map resulMapChild = (Map) mapData; + for (Object o : mapData.keySet()) { + if(existFild == null || existFild.contains(String.valueOf(o).toLowerCase())){ + if((Func.isNotBlank(String.valueOf(returnMap.get(String.valueOf(o).toLowerCase()))) + && returnMap.get(String.valueOf(o).toLowerCase()) !=null) + && Func.isBlank(String.valueOf(mapData.get(o)))){ + continue; + } + returnMap.put(String.valueOf(o).toLowerCase(),mapData.get(o)); } } return returnMap; @@ -1319,9 +1373,14 @@ // String sqlField = camelToUnderscore(key); - if (map.containsKey(key.toUpperCase())) { + if (map.containsKey(key.toUpperCase(Locale.ROOT))||map.containsKey(key.toLowerCase(Locale.ROOT))) { try { - Object value = map.get(key.toUpperCase()); + Object value=""; + if (map.containsKey(key.toUpperCase(Locale.ROOT))) { + value = map.get(key.toUpperCase()); + }else if(map.containsKey(key.toLowerCase(Locale.ROOT))){ + value = map.get(key.toLowerCase()); + } // 寰楀埌property瀵瑰簲鐨剆etter鏂规硶 Method setter = property.getWriteMethod(); Class<?> type = property.getPropertyType(); @@ -1343,6 +1402,7 @@ return beanList; } + public static String camelToUnderscore(String name) { if (name == null && name.length() <= 0) { return name; -- Gitblit v1.9.3