package com.usky.vpp.domain;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 响应量偏差价格调整表。
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("vpp_response_deviation_price")
public class VppResponseDeviationPrice implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 响应量系数下限，null 表示无下界。 */
    @TableField(value = "coeff_lower", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal coeffLower;

    /** 响应量系数上限，null 表示无上界。 */
    @TableField(value = "coeff_upper", updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal coeffUpper;

    /** 下限是否闭区间。 */
    @TableField("lower_inclusive")
    private Boolean lowerInclusive;

    /** 上限是否闭区间。 */
    @TableField("upper_inclusive")
    private Boolean upperInclusive;

    /** 命中区间后用于补贴计算的价格调整系数。 */
    @TableField("price_adjustment_coefficient")
    private BigDecimal priceAdjustmentCoefficient;

    private String remark;

    @TableField("tenant_id")
    private Integer tenantId;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_time")
    private LocalDateTime updateTime;
    @TableField("created_by")
    private String createdBy;
    @TableField("updated_by")
    private String updatedBy;
    @TableField("delete_flag")
    private Integer deleteFlag;
    @TableField("deleted_at")
    private LocalDateTime deletedAt;
}
