package com.hzs.system.base.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 意见反馈VO
 *
 * @Description:
 * @Author: ljc
 * @Time: 2023/2/5 14:05
 * @Classname: Feedback
 * @Package_name: com.hzs.system.base.vo
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FeedbackVO implements Serializable {
    private static final long serialVersionUID = -847776348100846568L;

    /**
     * 主键
     */
    private Long pkId;

    /**
     * 会员主键
     */
    private Long pkMember;


    /**
     * 国家 ID
     */
    private Integer pkCountry;


    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 会员名称
     */
    @Excel(name = "会员姓名")
    private String memberName;
    /**
     * 体系名称
     */
    @Excel(name = "隶属体系")
    private String vertexName;
    /**
     * 团队名称
     */
    @Excel(name = "隶属团队")
    private String teamName;


    /**
     * 类型：1：业务 2：平台BUG 3：客服问题 4：商品问题
     */
    @Transaction(transactionKey = EnumsPrefixConstants.FEEDBACK_TYPE)
    private Integer type;

    @Excel(name = "类型")
    private String typeVal;

    /**
     * 意见
     */
    @Excel(name = "个人意见")
    private String idea;

    /**
     * 状态（1：已反馈 2：未反馈"）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.FEEDBACK_STATUS)
    private Integer status;

    @Excel(name = "反馈状态")
    private String statusVal;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "填写日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

    /**
     * 会员昵称
     */
    private String nickName;


    /**
     * 会员头像
     */
    private String headPath;

    /**
     * 是否显示七天的数据
     */
    private Integer isShowDay;

    /**
     * 修改人ID
     */
    private Long pkModified;

    /**
     * 开始时间
     */
    private String startDate;
    /**
     * 结束时间
     */
    private String endDate;
    /**
     * 隶属体系
     */
    private Integer pkVertex;
    /**
     * 隶属团队
     */
    private Integer pkTeamCode;





    /**
     * 回复信息
     */
    private List<BdFeedbackReplyVO> feedbackReplyList;
}
