package cn.iocoder.yudao.module.server.controller.admin.policycommunications.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.*;

@Schema(description = "管理后台 - 政策沟通交流匿名创建 Request VO")
@Data
@ToString(callSuper = true)
public class PolicyCommunicationsAnonymousCreateReqVO {

    @Schema(description = "政策ID", required = true, example = "1024")
    @NotNull(message = "政策ID不能为空")
    private Long policyId;

    @Schema(description = "政策标题", required = true, example = "某某政策")
    @NotBlank(message = "政策标题不能为空")
    private String policyTitle;

    @Schema(description = "处理部门id", required = true, example = "100")
    @NotNull(message = "处理部门id不能为空")
    private String replyDeptid;

    @Schema(description = "用户姓名", required = true, example = "张三")
    //@NotBlank(message = "用户姓名不能为空")
    private String userName;

    @Schema(description = "用户ID", required = true, example = "123456")
    @NotBlank(message = "用户ID不能为空")
    private String userId;

    @Schema(description = "联系电话", required = true, example = "13800138000")
    //@NotBlank(message = "联系电话不能为空")
    private String mobile;

    @Schema(description = "沟通类型", required = true, example = "1")
    @NotBlank(message = "沟通类型不能为空")
    private String submitType;

    @Schema(description = "沟通主题", required = true, example = "关于政策实施的建议")
    @NotBlank(message = "沟通主题不能为空")
    private String title;

    @Schema(description = "沟通内容", required = true)
    @NotBlank(message = "沟通内容不能为空")
    private String content;

    @Schema(description = "是否公开：1-是，0-否", required = true, example = "1")
    @NotNull(message = "是否公开不能为空")
    private Integer submitIsPublic;

    @Schema(description = "附件", example = "http://example.com/file.pdf")
    private String attachment;

    /**
     * 处理部门id
     */
    private Long departmentId;
    private Long departmentIdT;

    @Schema(description = "政策发布地址")
    private String puburl;


    // ================== 传统验证码字段 ==================
    @Schema(description = "验证码UUID", required = true, example = "9b7ff6b0-5b1a-4b7a-9b2a-3b5b9b3b5b9b")
    @NotBlank(message = "验证码UUID不能为空")
    private String captchaUuid;

    @Schema(description = "验证码值", required = true, example = "1234")
    @NotBlank(message = "验证码不能为空")
    private String captchaCode;

}