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<UnitConversionVO> 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<UnitConversionDTO> dtos = dto.getUnitConversionDTOs(); 
 | 
        List<UnitConversionVO> 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; 
 | 
    } 
 | 
} 
 |