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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 反向代理配置新增/修改 Request VO")
@Data
public class ReverseProxySaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28182")
    private Long id;

    @Schema(description = "关联的网站ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11145")
    @NotNull(message = "关联的网站ID不能为空")
    private Long websiteId;

    @Schema(description = "业务系统名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "业务系统名称不能为空")
    private String businessSystem;

    @Schema(description = "内网地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
    @NotEmpty(message = "内网地址不能为空")
    private String internalUrl;

    @Schema(description = "外网代理路径", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "外网代理路径不能为空")
    private String externalPath;

    @Schema(description = "代理说明", example = "你说的对")
    private String description;

    @Schema(description = "代理日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "代理日期不能为空")
    private LocalDateTime proxyDate;

    @Schema(description = "申请函附件路径")
    private String attachment;

}