package org.dromara.system.domain.bo;

import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.system.domain.SysComplaint;

/**
 * 投诉建议业务对象 sys_complaint
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SysComplaint.class, reverseConvertGenerate = false)
public class SysComplaintBo extends BaseEntity {

    /**
     * 投诉建议ID
     */
    private Long id;

    /**
     * 反馈类型（字典值）
     */
    private String feedbackType;

    /**
     * 反馈内容
     */
    @NotBlank(message = "反馈内容不能为空")
    @Size(max = 2000, message = "反馈内容长度不能超过{max}个字符")
    private String content;

    /**
     * 图片OSS ID列表（JSON数组字符串）
     */
    private String images;

    /**
     * 投诉员工ID
     */
    private Long employeeId;

    /**
     * 员工姓名（模糊搜索用，不持久化）
     */
    private String employeeName;

    /**
     * 状态（0-待处理 1-已处理）
     * @Author: Antigravity
     */
    private String status;

    /**
     * 处理结果
     * @Author: Antigravity
     */
    private String dealResult;

    /**
     * 处理凭证（图片OSS ID逗号分隔）
     * @Author: Antigravity
     */
    private String dealImages;

}
