package com.hz.pm.api.common.model.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * <p>
 * DataDTO
 * </p>
 *
 * @author ZPF
 * @since 16:40 2023/12/05
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DataDTO {

    public static DataDTO of(String name,Integer num){
        DataDTO dataDTO = new DataDTO();
        dataDTO.setName(name);
        dataDTO.setNum(num);
        return dataDTO;
    }

    public static DataDTO of(String name,String code,Integer num){
        DataDTO dataDTO = new DataDTO();
        dataDTO.setName(name);
        dataDTO.setCode(code);
        dataDTO.setNum(num);
        return dataDTO;
    }

    public static DataDTO of(String name,BigDecimal amount){
        DataDTO dataDTO = new DataDTO();
        dataDTO.setName(name);
        dataDTO.setAmount(amount);
        return dataDTO;
    }

    public static DataDTO of(String name,String code,BigDecimal amount){
        DataDTO dataDTO = new DataDTO();
        dataDTO.setName(name);
        dataDTO.setCode(code);
        dataDTO.setAmount(amount);
        return dataDTO;
    }

    public static DataDTO ofRate(String name,BigDecimal rate){
        DataDTO dataDTO = new DataDTO();
        dataDTO.setName(name);
        dataDTO.setRate(rate);
        return dataDTO;
    }

    @ApiModelProperty("编号")
    private String code;

    @ApiModelProperty("名称")
    private String name;

    @ApiModelProperty("数量")
    private Integer num = 0;

    @ApiModelProperty("金额")
    private BigDecimal amount = BigDecimal.ZERO;

    @ApiModelProperty("比例")
    private BigDecimal rate = BigDecimal.ZERO;
}
