package com.mortals.xhx.module.feedback.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.feedback.model.vo.FeedbackVo;
import lombok.Data;
/**
 * 反馈信息实体对象
 *
 * @author zxfei
 * @date 2023-10-07
 */
@Data
public class FeedbackEntity extends FeedbackVo {
    private static final long serialVersionUID = 1L;

    /**
     * 标题
     */
    private String title;
    /**
     * 内容
     */
    private String content;
    /**
     * 是否公开 (0.否，1.是)
     */
    private Integer isShow;
    /**
     * 反馈人姓名
     */
    private String feedbackName;
    /**
     * 单位名称
     */
    private String companyName;
    /**
     * 联系方式
     */
    private String contactInfo;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 地址
     */
    private String address;
    /**
     * 邮箱地址
     */
    private String email;
    /**
     * 是否回复 (0.否，1.是)
     */
    private Integer reply;
    /**
     * 回复人
     */
    private String replyPerson;
    /**
     * 回复
     */
    private String replyContent;
    /**
     * 所属部门
     */
    private Long deptId;
    /**
     * 所属部门名称
     */
    private String deptName;
    /**
     * 反馈类型 (1.建议,2.问题,3.表扬)
     */
    private Integer feedbackType;
    /**
     * 附件名称，多个逗号分割
     */
    private String fileName;
    /**
     * 附件地址，多个逗号分割
     */
    private String filePath;
    /**
     * 回复附件名称，多个逗号分割
     */
    private String replyFileName;
    /**
     * 回复附件地址，多个逗号分割
     */
    private String replyFilePath;
    /**
     * 回复时间
     */
    private Date replyTime;
    /**
     * 处理人id
     */
    private Long processId;
    /**
     * 处理人名称
     */
    private String processName;
    /**
     * 处理状态(1.未处理,2.已处理)
     */
    private Integer processStatus;
    /**
     * 处理意见
     */
    private String processComments;
    /**
     * 处理时间
     */
    private Date processTime;
    /**
     * 备注
     */
    private String remark;
    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof FeedbackEntity) {
            FeedbackEntity tmp = (FeedbackEntity) obj;
            if (this.getId() == tmp.getId()) {
                return true;
            }
        }
        return false;
    }

    public void initAttrValue(){
        this.title = "";
        this.content = "";
        this.isShow = 0;
        this.feedbackName = "";
        this.companyName = "";
        this.contactInfo = "";
        this.idCard = "";
        this.address = "";
        this.email = "";
        this.reply = 0;
        this.replyPerson = "";
        this.replyContent = "";
        this.deptId = null;
        this.deptName = "";
        this.feedbackType = 1;
        this.fileName = "";
        this.filePath = "";
        this.replyFileName = "";
        this.replyFilePath = "";
        this.replyTime = new Date();
        this.processId = null;
        this.processName = "";
        this.processStatus = 1;
        this.processComments = "";
        this.processTime = new Date();
        this.remark = "";
    }
}