kaiyu
2021-05-12 4ad2f089780e34bfe0611b99285b76c2d30fa0f7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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;
    }
}