package com.cool.store.entity.tp;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

/**
 * <p>
 * 十二分制-奖惩规则
 * </p>
 *
 * @author wangff
 * @since 2025/11/4
 */
@Table(name = "zxjp_tp_rule")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TpRuleDO {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 规则编码
     */
    @Column(name = "rule_no")
    private String ruleNo;

    /**
     * 规则类型，0扣分 1加分
     */
    private Integer type;

    /**
     * 问题分类
     */
    @Column(name = "problem_classification")
    private String problemClassification;

    /**
     * 项目大类
     */
    @Column(name = "project_category")
    private String projectCategory;

    /**
     * 惩处项目名称
     */
    @Column(name = "project_name")
    private String projectName;

    /**
     * 警告上限次数
     */
    @Column(name = "warning_limit")
    private Integer warningLimit;

    /**
     * 分值
     */
    private BigDecimal score;

    /**
     * 罚款金额
     */
    private BigDecimal amount;

    /**
     * 复议申请时效
     */
    @Column(name = "appeal_deadline")
    private Integer appealDeadline;

    /**
     * 启用状态，0未启用 1启用
     */
    private Integer status;

    /**
     * 项目描述
     */
    private String remark;

    /**
     * 是否加满
     */
    @Column(name = "is_full")
    private Integer isFull;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @Column(name = "update_time")
    private Date updateTime;

    /**
     * 是否删除 0否1是
     */
    private Integer deleted;
}