package com.yuchen.saas.park.api.dto.property;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkunion.park.service.common.utils.AmtUtil;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.Size;
import java.math.BigDecimal;

@Data
public class PropertyBillReadjustDto extends PropertyCashDeskBaseDto {

    /**
     * 费用调整类型; 1-欠费调整，2-滞纳金调整
     */
    @NotNull(message = "调整类型参数不能为空")
    private Integer readJustType;

    /**
     * 是否总额调整，0-否（每一笔），1-是（总额）
     */
    @NotNull(message = "是否总额调整参数不能为空")
    private Integer isTotal;

    /**
     * 是否减少，0-否（增加），1-是（减少）
     */
    @NotNull(message = "是否减少参数不能为空")
    private Integer isReduce;

    /**
     * 调整金额
     */
    @NotNull(message = "调整金额不能为空")
    @Positive(message = "调整金额必须大于")
    private BigDecimal readjustAmt;

    @JsonIgnore
    private long readjustAmtFen;
    public long getReadjustAmtFen() {
        return AmtUtil.yuanToFen(this.readjustAmt);
    }

    @NotNull(message = "原因不能为空")
    @Size(max = 200,message = "原因长度不超过200")
    private String readjustReason;

}
