package com.casic.missiles.utils; import cn.hutool.core.bean.BeanUtil; import com.casic.missiles.model.business.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; /** * @Description: 工具类-转换pojo或list * @Author: wangpeng * @Date: 2022/11/26 14:01 */ public class ConvertUtils { private static Logger logger = LoggerFactory.getLogger(ConvertUtils.class); public ConvertUtils() { } public static <T> T sourceToTarget(Object source, Class<T> target) { if (source == null) { return null; } else { T targetObject = null; try { targetObject = target.newInstance(); BeanUtil.copyProperties(source, targetObject); } catch (Exception var4) { logger.error("convert error ", var4); } return targetObject; } } public static <T> List<T> sourceToTarget(Collection<?> sourceList, Class<T> target) { if (sourceList == null) { return null; } else { ArrayList targetList = new ArrayList(sourceList.size()); try { Iterator var3 = sourceList.iterator(); while(var3.hasNext()) { Object source = var3.next(); T targetObject = target.newInstance(); BeanUtil.copyProperties(source, targetObject); targetList.add(targetObject); } } catch (Exception var6) { logger.error("convert error ", var6); } return targetList; } } /** * 深拷贝,拷贝Object中List */ public static BizBusinessDeviceMeasureApproval sourceToTargetDeep(BizBusinessDeviceMeasureApproval measureApproval, Class<BizBusinessDeviceMeasureApproval> target) { if (measureApproval == null) { return null; } else { BizBusinessDeviceMeasureApproval targetObject = null; try { targetObject = target.newInstance(); BeanUtil.copyProperties(measureApproval, targetObject); if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataCalibratorList())) { List<BizBusinessDeviceMeasureDataCalibrator> targetList = sourceToTarget(measureApproval.getMeasureDataCalibratorList(), BizBusinessDeviceMeasureDataCalibrator.class); targetObject.setMeasureDataCalibratorList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataOscilloscopeList())) { List<BizBusinessDeviceMeasureDataOscilloscope> targetList = sourceToTarget(measureApproval.getMeasureDataOscilloscopeList(), BizBusinessDeviceMeasureDataOscilloscope.class); targetObject.setMeasureDataOscilloscopeList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataPointMeterList())) { List<BizBusinessDeviceMeasureDataPointMeter> targetList = sourceToTarget(measureApproval.getMeasureDataPointMeterList(), BizBusinessDeviceMeasureDataPointMeter.class); targetObject.setMeasureDataPointMeterList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataCesiumAtomList())) { List<BizBusinessDeviceMeasureDataCesiumAtom> targetList = sourceToTarget(measureApproval.getMeasureDataCesiumAtomList(), BizBusinessDeviceMeasureDataCesiumAtom.class); targetObject.setMeasureDataCesiumAtomList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataDcPowerList())) { List<BizBusinessDeviceMeasureDataDcPower> targetList = sourceToTarget(measureApproval.getMeasureDataDcPowerList(), BizBusinessDeviceMeasureDataDcPower.class); targetObject.setMeasureDataDcPowerList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataElectricalSafetyList())) { List<BizBusinessDeviceMeasureDataElectricalSafety> targetList = sourceToTarget(measureApproval.getMeasureDataElectricalSafetyList(), BizBusinessDeviceMeasureDataElectricalSafety.class); targetObject.setMeasureDataElectricalSafetyList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataETwoList())) { List<BizBusinessDeviceMeasureDataETwo> targetList = sourceToTarget(measureApproval.getMeasureDataETwoList(), BizBusinessDeviceMeasureDataETwo.class); targetObject.setMeasureDataETwoList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataLowPowerList())) { List<BizBusinessDeviceMeasureDataLowPower> targetList = sourceToTarget(measureApproval.getMeasureDataLowPowerList(), BizBusinessDeviceMeasureDataLowPower.class); targetObject.setMeasureDataLowPowerList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataMicrowaveAttenuationList())) { List<BizBusinessDeviceMeasureDataMicrowaveAttenuation> targetList = sourceToTarget(measureApproval.getMeasureDataMicrowaveAttenuationList(), BizBusinessDeviceMeasureDataMicrowaveAttenuation.class); targetObject.setMeasureDataMicrowaveAttenuationList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataPistonGaugeList())) { List<BizBusinessDeviceMeasureDataPistonGauge> targetList = sourceToTarget(measureApproval.getMeasureDataPistonGaugeList(), BizBusinessDeviceMeasureDataPistonGauge.class); targetObject.setMeasureDataPistonGaugeList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataResistanceThermometerList())) { List<BizBusinessDeviceMeasureDataResistanceThermometer> targetList = sourceToTarget(measureApproval.getMeasureDataResistanceThermometerList(), BizBusinessDeviceMeasureDataResistanceThermometer.class); targetObject.setMeasureDataResistanceThermometerList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSafetyValueList())) { List<BizBusinessDeviceMeasureDataSafetyValue> targetList = sourceToTarget(measureApproval.getMeasureDataSafetyValueList(), BizBusinessDeviceMeasureDataSafetyValue.class); targetObject.setMeasureDataSafetyValueList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSignalGeneratorList())) { List<BizBusinessDeviceMeasureDataSignalGenerator> targetList = sourceToTarget(measureApproval.getMeasureDataSignalGeneratorList(), BizBusinessDeviceMeasureDataSignalGenerator.class); targetObject.setMeasureDataSignalGeneratorList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSParamList())) { List<BizBusinessDeviceMeasureDataSParam> targetList = sourceToTarget(measureApproval.getMeasureDataSParamList(), BizBusinessDeviceMeasureDataSParam.class); targetObject.setMeasureDataSParamList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataSpectrumAnalyzerList())) { List<BizBusinessDeviceMeasureDataSpectrumAnalyzer> targetList = sourceToTarget(measureApproval.getMeasureDataSpectrumAnalyzerList(), BizBusinessDeviceMeasureDataSpectrumAnalyzer.class); targetObject.setMeasureDataSpectrumAnalyzerList(targetList); } else if (!CollectionUtils.isEmpty(measureApproval.getMeasureDataLowFrequencySignalList())) { List<BizBusinessDeviceMeasureDataLowFrequencySignal> targetList = sourceToTarget(measureApproval.getMeasureDataLowFrequencySignalList(), BizBusinessDeviceMeasureDataLowFrequencySignal.class); targetObject.setMeasureDataLowFrequencySignalList(targetList); } } catch (Exception var4) { logger.error("convert error ", var4); } return targetObject; } } }