package com.phm.manage.domain; import java.io.Serializable; import java.util.Date; import org.dromara.easyes.annotation.HighLight; import org.dromara.easyes.annotation.IndexField; import org.dromara.easyes.annotation.IndexId; import org.dromara.easyes.annotation.IndexName; import org.dromara.easyes.annotation.rely.Analyzer; import org.dromara.easyes.annotation.rely.FieldStrategy; import org.dromara.easyes.annotation.rely.FieldType; import org.dromara.easyes.annotation.rely.IdType; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.phm.common.annotation.Excel; import lombok.Data; /** * 故障案例信息对象 phm_fault_case * * @author phm * @date 2023-08-22 */ @Data @IndexName("fault_case") public class FaultCase implements Serializable { private static final long serialVersionUID = 1L; /** * 唯一ID */ @JsonSerialize(using = ToStringSerializer.class) @IndexField(exist = false) private long id; @IndexField("id") @IndexId(type = IdType.CUSTOMIZE) private String esId; /** * 案例文件名称 */ @IndexField(exist = false) private String caseFileName; /** * 案例案例名称 */ @Excel(name = "案例名称") @IndexField(fieldType = FieldType.TEXT, strategy = FieldStrategy.NOT_EMPTY, analyzer = Analyzer.IK_MAX_WORD, searchAnalyzer = Analyzer.IK_MAX_WORD) private String caseName; /** * 案例编号 */ @Excel(name = "案例编号") @IndexField(fieldType = FieldType.TEXT, strategy = FieldStrategy.NOT_EMPTY) private String caseNumber; /** * 故障描述 */ @Excel(name = "故障描述") @IndexField(value = "content", fieldType = FieldType.TEXT, strategy = FieldStrategy.NOT_EMPTY, analyzer = Analyzer.IK_MAX_WORD, searchAnalyzer = Analyzer.IK_MAX_WORD) @HighLight(mappingField = "highlightContent", preTag = "", postTag = "") private String description; /** * 案例特征参数 */ @Excel(name = "案例特征参数") @IndexField(fieldType = FieldType.TEXT, strategy = FieldStrategy.NOT_EMPTY, analyzer = Analyzer.IK_MAX_WORD, searchAnalyzer = Analyzer.IK_MAX_WORD) private String parameter; /** * 故障定位 */ @Excel(name = "故障定位") @IndexField(fieldType = FieldType.TEXT, strategy = FieldStrategy.NOT_EMPTY, analyzer = Analyzer.IK_MAX_WORD, searchAnalyzer = Analyzer.IK_MAX_WORD) private String location; /** * 故障描述 */ @Excel(name = "故障描述") @IndexField(fieldType = FieldType.TEXT, strategy = FieldStrategy.NOT_EMPTY, analyzer = Analyzer.IK_MAX_WORD, searchAnalyzer = Analyzer.IK_MAX_WORD) private String solution; private String highlightContent; /** * 创建者 */ @IndexField(fieldType = FieldType.TEXT) private String createBy; /** * 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis") private Date createTime; /** * 更新者 */ @IndexField(fieldType = FieldType.TEXT) private String updateBy; /** * 更新时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @IndexField(fieldType = FieldType.DATE, dateFormat = "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis") private Date updateTime; /** * 备注 */ @IndexField(fieldType = FieldType.TEXT) private String remark; /** * 数据是否删除(1:删除,0有效) */ @IndexField(fieldType = FieldType.LONG) private Integer isDelete; }