package com.muyu.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 车辆故障对象 sys_car_fault
 * @author Yang鹏
 * @date 2024-09-18
 */

@EqualsAndHashCode(callSuper = true)
@Data
@Setter
@Getter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "sys_car_fault", autoResultMap = true)
@Tag(name = "车辆故障对象")
public class SysCarFault extends BaseEntity{
    private static final Long serialVersionUID = 1L;

    /** 自增主键 */
    @TableId( type = IdType.AUTO,value = "id")
    @Schema(name = "自增主键")
    private Long id;

    /** 车辆故障编码; */
    @Schema(name = "车辆故障编码;")
    private String faultCode;

    /** 车辆故障名称 */
    @Schema(name = "车辆故障名称")
    private String faultName;

    /** 车辆故障类型 */
    @Schema(name = "车辆故障类型")
    private String faultType;

    /** 故障VIN编码 */
    @Schema(name = "故障VIN编码")
    private String carVin;

    /** 车辆故障标签 */
    @Schema(name = "车辆故障标签")
    private String faultLabel;

    /** 车辆故障位 */
    @Schema(name = "车辆故障位")
    private String faultBit;

    /** 车辆故障值 */
    @Schema(name = "车辆故障值")
    private String faultValue;

    /** 故障级别; */
    @Schema(name = "故障级别;")
    private String faultWarn;

    /** 报警状态（Y.是，N.否） */
    @Schema(name = "报警状态")
    private String warnStatus;

    /** 故障描述信息 */
    @Schema(name = "故障描述信息")
    private String faultDesc;

    /** 启用状态(1.待处理 2.处理中 3.已处理 4.忽略) */
    @Schema(name = "启用状态(1.待处理 2.处理中 3.已处理 4.忽略)")
    private String state;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("faultCode", getFaultCode())
            .append("faultName", getFaultName())
            .append("faultType", getFaultType())
            .append("carVin", getCarVin())
            .append("faultLabel", getFaultLabel())
            .append("faultBit", getFaultBit())
            .append("faultValue", getFaultValue())
            .append("faultWarn", getFaultWarn())
            .append("warnStatus", getWarnStatus())
            .append("faultDesc", getFaultDesc())
            .append("state", getState())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
