package cc.iotkit.data.model;

import cc.iotkit.common.tenant.dao.TenantAware;
import cc.iotkit.common.tenant.listener.TenantListener;

import cc.iotkit.model.FeedBackEvaluation.FeedBackEvaluationDO;
import com.sun.xml.bind.v2.TODO;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.*;
import org.hibernate.annotations.Filter;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.ParamDef;

import javax.persistence.*;

/**
 * 意见反馈评价 DO
 *
 * @author zhp
 */
// 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@Entity
@Table(name = "t_d_feedback_evaluation")
@AutoMapper(target= FeedBackEvaluationDO.class)
@FilterDef(name = "tenantFilter", parameters = {@ParamDef(name = "tenantId", type = "long")})
@Filter(name = "tenantFilter", condition = "tenant_id = :tenantId")
@EntityListeners(TenantListener.class)
public class TbFeedBackEvaluation extends BaseEntity implements TenantAware {

    /**
     * ID
     */
    @Id
    @GeneratedValue(generator = "SnowflakeIdGenerator")
    @GenericGenerator(name = "SnowflakeIdGenerator", strategy = "cc.iotkit.data.config.id.SnowflakeIdGenerator")
    private Long id;
    /**
     * 内容
     */
    private String content;
    /**
     * 问题截图
     */
    private String problemScreenshot;
    /**
     * 消息
     */
    private String message;
    /**
     * 客户姓名
     */
    private String customerName;
    /**
     * 评价类型1意见反馈,2用户评价,3师傅评价 
     *
     * 枚举 {@link TODO evaluation_type 对应的类}
     */
    private String evaluationType;
    /**
     * 服务满意度
     */
    private String serviceSatisfaction;
    /**
     * 设备ID
     */
    private String deviceId;
    /**
     * 工单ID
     */
    private String worderId;
    /**
     * 问题是否解决1解决2未解决
     *
     * 枚举 {@link TODO is_solve 对应的类}
     */
    private String isSolve;
    /**
     * 客户电话
     */
    private String customerPhone;
    /**
     *租户id
     */
    private Long tenantId;

}