package com.yhy.module.core.dal.dataobject.resource;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
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.math.BigDecimal;
import java.time.OffsetDateTime;

/**
 * 工料机价格 DO，对应表 yhy_resource_price。
 */
@TableName("yhy_resource_price")
@KeySequence("yhy_resource_price_id_seq")
@Data
@EqualsAndHashCode(callSuper = true)
public class ResourcePriceDO extends TenantBaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;

    /**
     * 资源项ID
     */
    private Long resourceId;

    /**
     * 地区码
     */
    private String regionCode;

    /**
     * 有效期(tstzrange)
     */
    @TableField("price_period")
    private String pricePeriod;

    /**
     * 有效期开始时间（非数据库字段）
     */
    @TableField(exist = false)
    private OffsetDateTime periodStart;

    /**
     * 有效期结束时间（非数据库字段）
     */
    @TableField(exist = false)
    private OffsetDateTime periodEnd;

    /**
     * 不含税价格
     */
    private BigDecimal priceTaxExcl;

    /**
     * 含税价格
     */
    private BigDecimal priceTaxIncl;

    /**
     * 价格来源
     */
    private String source;
}
