package com.cf.imes.module.system.controller.admin.organ.vo.organ;

import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.common.validation.Mobile;
import com.cf.imes.module.system.validation.common.CommonStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import jakarta.validation.constraints.Size;

@Schema(description = "管理后台 - 组织分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OrganPageReqVO extends PageParam {

    @Schema(description = "组织名", example = "晨丰")
    @Size(max = 30, message = "组织名长度不能超过30个字符")
    private String name;

    @Schema(description = "组织名", example = "晨丰")
    @Size(max = 30, message = "组织名长度不能超过30个字符")
    private String exactName;

    @Schema(description = "联系人", example = "晨丰")
    @Size(max = 30, message = "联系人长度不能超过30个字符")
    private String contactName;

    @Schema(description = "联系手机", example = "15601691300")
    @Mobile
    @Size(max = 11, message = "联系手机长度不能超过11个字符")
    private String contactMobile;

    @Schema(description = "组织状态（0正常 1停用）", example = "1")
    @CommonStatus
    private Integer status;

    /**
     * 拼音首字母
     */
    @Schema(hidden = true)
    private String pyFirstChar;

    /**
     * 全拼
     */
    @Schema(hidden = true)
    private String pyAll;

    @Schema(description = "省")
    @Size(max = 64, message = "省名称长度不能超过64个字符")
    private String province;

    @Schema(description = "市")
    @Size(max = 64, message = "市名称长度不能超过64个字符")
    private String city;

    @Schema(description = "区")
    @Size(max = 64, message = "区名称长度不能超过64个字符")
    private String county;

}
