001package top.cenze.rulepolicy.entity.dto;
002
003import com.fasterxml.jackson.annotation.JsonInclude;
004import lombok.Data;
005import top.cenze.rulepolicy.enums.FeeRuleEnum;
006import top.cenze.rulepolicy.enums.TaxWayEnum;
007
008import java.math.BigDecimal;
009
010/**
011 * @desc: 费用计算结果
012 * @author: chengze
013 * @createByDate: 2023/8/9 16:11
014 */
015@Data
016@JsonInclude(JsonInclude.Include.NON_NULL)
017public class FeeDTO {
018    /**
019     * 计算规则
020     */
021    private FeeRuleEnum feeRule;
022
023    /**
024     * 计算所得费用保留小数点位数
025     */
026    private Integer scale;
027
028    /**
029     * 重量
030     */
031    private BigDecimal weight;
032
033    /**
034     * 重量小数点位数
035     */
036    private Integer weightScale;
037
038    /**
039     * 数量
040     */
041    private BigDecimal quantity;
042
043    /**
044     * 数量小数点位数
045     */
046    private Integer quantityScale;
047
048    /**
049     * 体积
050     */
051    private BigDecimal volume;
052
053    /**
054     * 体积小数点位数
055     */
056    private Integer volumeScale;
057
058    /**
059     * 单价
060     */
061    private BigDecimal price;
062
063    /**
064     * 单价小数点位数
065     */
066    private Integer priceScale;
067
068    /**
069     * 税率
070     */
071    private BigDecimal taxRate;
072
073    /**
074     * 税率小数点位数
075     */
076    private Integer taxScale;
077
078    /**
079     * 计税方式
080     */
081    private TaxWayEnum taxWay;
082
083    /**
084     * 不含税金额
085     */
086    private BigDecimal originalAmount;
087
088    /**
089     * 含税金额
090     */
091    private BigDecimal actualAmount;
092
093    /**
094     * 税额
095     */
096    private BigDecimal taxAmount;
097}