|  |  | 
 |  |  | 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()); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |