|  |  |  | 
|---|
|  |  |  | package com.zy.common.utils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public interface Synchro { | 
|---|
|  |  |  | import com.core.exception.CoolException; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void sync(String matnr,String maktx,String specs,String model,String color,String brand,String unit,Double price,String sku,Double units,String barcode,String origin,String manu,String manuDate,String itemNum,Double safeQty,Double weight,Double length,Double volume,String threeCode,String supp,String suppCode,Integer beBatch,String deadTime,Integer deadWarn,Integer source,Integer check,Integer danger); | 
|---|
|  |  |  | import java.beans.BeanInfo; | 
|---|
|  |  |  | import java.beans.Introspector; | 
|---|
|  |  |  | import java.beans.PropertyDescriptor; | 
|---|
|  |  |  | import java.lang.reflect.Method; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by vincent on 2022/4/1 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public class Synchro { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void Copy(Object source, Object dest) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | BeanInfo sourceBean = Introspector.getBeanInfo(source.getClass(),Object.class); | 
|---|
|  |  |  | PropertyDescriptor[] sourceProperty = sourceBean.getPropertyDescriptors(); | 
|---|
|  |  |  | BeanInfo destBean = Introspector.getBeanInfo(dest.getClass(),Object.class); | 
|---|
|  |  |  | PropertyDescriptor[] destProperty = destBean.getPropertyDescriptors(); | 
|---|
|  |  |  | for (PropertyDescriptor propertyDescriptor : sourceProperty) { | 
|---|
|  |  |  | for (PropertyDescriptor descriptor : destProperty) { | 
|---|
|  |  |  | if (propertyDescriptor.getName().equals(descriptor.getName()) && propertyDescriptor.getPropertyType() == descriptor.getPropertyType()) { | 
|---|
|  |  |  | Method readMethod = propertyDescriptor.getReadMethod(); | 
|---|
|  |  |  | Method writeMethod = descriptor.getWriteMethod(); | 
|---|
|  |  |  | if (null != writeMethod && null != readMethod) { | 
|---|
|  |  |  | writeMethod.invoke(dest, readMethod.invoke(source)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | throw new CoolException("属性复制失败:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|