package com.moral.api.pojo.vo.unitConversion; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.SysDictData; import com.moral.api.entity.UnitConversion; import com.moral.api.pojo.dto.unitConversion.UnitConversionDTO; import com.moral.api.pojo.dto.unitConversion.UnitConversionQueryDTO; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * @ClassName UnitConversionQueryVO * @Description TODO * @Author 陈凯裕 * @Date 2021/5/12 9:17 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class UnitConversionQueryVO { private long pages; private long total; private long current; private long size; private List unitConversions; public static UnitConversionQueryVO convert(UnitConversionQueryDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; UnitConversionQueryVO vo = new UnitConversionQueryVO(); long pages = dto.getPages(); long total = dto.getTotal(); long current = dto.getCurrent(); long size = dto.getSize(); List dtos = dto.getUnitConversionDTOs(); List unitConversions = new ArrayList<>(); for (UnitConversionDTO unitConversionDTO : dtos) { UnitConversionVO unitConversionVO = convertToQueryPage(unitConversionDTO); unitConversions.add(unitConversionVO); } vo.setPages(pages); vo.setTotal(total); vo.setCurrent(current); vo.setSize(size); vo.setUnitConversions(unitConversions); return vo; } private static UnitConversionVO convertToQueryPage(UnitConversionDTO dto) { UnitConversionVO vo = new UnitConversionVO(); UnitConversion unitConversion = dto.getUnitConversion(); SysDictData originalUnit = dto.getOriginalUnit(); SysDictData targetUnit = dto.getTargetUnit(); vo.setId(unitConversion.getId()); vo.setOriginalUnitName(originalUnit.getDataValue()); vo.setTargetUnitName(targetUnit.getDataValue()); vo.setFormula(unitConversion.getFormula()); return vo; } /** * @Description: 将带有占位符的公式转为带有原单位,目标单位的公式 * @Param: [formula] * @return: java.lang.String * @Author: 陈凯裕 * @Date: 2021/5/12 */ public static String formulaConvert(String formula, String originalUnitName, String targetUnitName) { formula = formula.replace(Constants.FORMULA_PLACEHOLDER, originalUnitName); formula += "=" + targetUnitName; return formula; } }