package com.hotwj.platform.securityManagement.serviceQualityComplaint.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.securityManagement.serviceQualityComplaint.domain.HotServiceQualityComplaint;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;

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


/**
 * 服务质量投诉视图对象 hot_service_quality_complaint
 *
 * @author shihongwei
 * @date 2026-01-07
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotServiceQualityComplaint.class)
public class HotServiceQualityComplaintVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 公司ID
     */
    @ExcelProperty(value = "公司ID")
    private Long companyId;

    /**
     * 投诉对象(1=人员 2=企业 3=车辆)
     */
    @ExcelProperty(value = "投诉对象(1=人员 2=企业 3=车辆)")
    private String complaintTarget;

    /**
     * 受理人ID
     */
    @ExcelProperty(value = "受理人ID")
    private Long acceptorId;

    /**
     * 受理人
     */
    @ExcelProperty(value = "受理人")
    private String acceptorName;

    /**
     * 处理人ID
     */
    @ExcelProperty(value = "处理人ID")
    private Long handlerId;

    /**
     * 处理人
     */
    @ExcelProperty(value = "处理人")
    private String handlerName;

    /**
     * 案件发生时间
     */
    @ExcelProperty(value = "案件发生时间")
    private Date caseTime;

    /**
     * 投诉人
     */
    @ExcelProperty(value = "投诉人")
    private String complainantName;

    /**
     * 投诉人电话
     */
    @ExcelProperty(value = "投诉人电话")
    private String complainantPhone;

    /**
     * 投诉方式
     */
    @ExcelProperty(value = "投诉方式")
    private String complaintChannel;

    /**
     * 投诉服务
     */
    @ExcelProperty(value = "投诉服务")
    private String complaintService;

    /**
     * 案件发生地点
     */
    @ExcelProperty(value = "案件发生地点")
    private String casePlace;

    /**
     * 案件概况
     */
    @ExcelProperty(value = "案件概况")
    private String caseSummary;

    /**
     * 处理情况
     */
    @ExcelProperty(value = "处理情况")
    private String handleResult;

    /**
     * 投诉诉求
     */
    @ExcelProperty(value = "投诉诉求")
    private String complaintRequest;

    /**
     * 相关文件图片URL（多个图片,隔开）
     */
    @ExcelProperty(value = "相关文件图片URL", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "多=个图片,隔开")
    private String attachmentUrl;

    /**
     * 相关文件图片URL（多个图片,隔开）Url
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "attachmentUrl")
    private String attachmentUrlUrl;
    /**
     * 受理人签名图片URL
     */
    @ExcelProperty(value = "受理人签名图片URL")
    private String acceptorSignImage;

    /**
     * 受理人签名图片URLUrl
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "acceptorSignImage")
    private String acceptorSignImageUrl;
    /**
     * 处理人签名图片URL
     */
    @ExcelProperty(value = "处理人签名图片URL")
    private String handlerSignImage;

    /**
     * 处理人签名图片URLUrl
     */
    @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "handlerSignImage")
    private String handlerSignImageUrl;
    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;


}
