From a472fa1f44b9976ce7e2b502814b130ec72e0f29 Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期三, 19 七月 2023 11:31:11 +0800 Subject: [PATCH] 1、主要解决在批量插入的时候通过业务类型去获取字段信息,对比字段没有的则不进行插入。 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 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 f43e99d..7bf46f2 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 @@ -1294,13 +1294,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); @@ -1312,6 +1313,10 @@ Boolean fieldValue = tableField.exist(); 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); } } } @@ -1327,12 +1332,21 @@ if (result != null) { if ("data".equals(propertyName)){ - returnMap.putAll((Map) result); + if(existFild == null){ + returnMap.putAll((Map) result); + }else{ + Map resulMap = (Map) result; + for (Object o : resulMap.keySet()) { + if(existFild.contains(o)){ + returnMap.put(o,resulMap.get(o)); + } + } + } }else { - returnMap.put(propertyName, result); + returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, result); } } else { - returnMap.put(propertyName, ""); + returnMap.put(fieldMap.containsKey(propertyName)?fieldMap.get(propertyName):propertyName, ""); } } } -- Gitblit v1.9.3