嘉兴访客系统

This commit is contained in:
zjf committed 2025-06-03 16:10:14 +08:00
1 parent b78c4938c1
commit ac709e77e6
27 files changed
+2166 -5

No files matched your search

@@ -27,6 +27,23 @@ import com.bsd.pjcloud.thirdparty.dto.visitor.request.make.RegisterAppointmentRe
import com.bsd.pjcloud.thirdparty.dto.visitor.request.make.VisitorAppointmentRequest;
import com.bsd.pjcloud.thirdparty.dto.visitor.response.make.AppointmentData;
import com.bsd.pjcloud.thirdparty.dto.visitor.response.make.RegisterAppointmentResponse;
import com.bsd.pjcloud.thirdparty.dto.person.AddPersonRequest;
import com.bsd.pjcloud.thirdparty.dto.person.AddPersonResponse;
import com.bsd.pjcloud.thirdparty.dto.person.BatchAddPersonRequest;
import com.bsd.pjcloud.thirdparty.dto.person.BatchAddPersonResponse;
import com.bsd.pjcloud.thirdparty.dto.person.UpdatePersonRequest;
import com.bsd.pjcloud.thirdparty.dto.person.UpdatePersonResponse;
import com.bsd.pjcloud.thirdparty.dto.person.BatchDeletePersonRequest;
import com.bsd.pjcloud.thirdparty.dto.person.BatchDeletePersonResponse;
import com.bsd.pjcloud.thirdparty.dto.face.AddFaceRequest;
import com.bsd.pjcloud.thirdparty.dto.face.AddFaceResponse;
import com.bsd.pjcloud.thirdparty.dto.face.UpdateFaceRequest;
import com.bsd.pjcloud.thirdparty.dto.face.DeleteFaceRequest;
import com.bsd.pjcloud.thirdparty.dto.face.DeleteFaceResponse;
import com.bsd.pjcloud.thirdparty.dto.person.GetPersonListRequest;
import com.bsd.pjcloud.thirdparty.dto.person.GetPersonListResponse;
import com.bsd.pjcloud.thirdparty.dto.person.GetPersonInfoRequest;
import com.bsd.pjcloud.thirdparty.dto.person.GetPersonInfoResponse;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient;
@@ -73,4 +90,85 @@ public interface RemoterVisitorService {
*/
@PostMapping("/visitors/checkout")
public R checkOut(@Valid @RequestBody CheckOutRequest request);
/**
* 添加人员信息v2
* @param request 添加人员请求参数
* @return 添加人员响应结果
*/
@PostMapping("/person/add")
@Operation(summary = "添加人员信息v2", description = "添加人员信息到海康平台")
public R<AddPersonResponse> addPersonV2(@Valid @RequestBody AddPersonRequest request);
/**
* 批量添加人员信息v1
* @param request 批量添加人员请求参数
* @return 批量添加人员响应结果
*/
@PostMapping("/person/batch-add")
@Operation(summary = "批量添加人员信息v1", description = "批量添加人员信息到海康平台")
public R<BatchAddPersonResponse> batchAddPersonV1(@Valid @RequestBody BatchAddPersonRequest request);
/**
* 修改人员信息v1
* @param request 修改人员请求参数
* @return 修改人员响应结果
*/
@PostMapping("/person/update")
@Operation(summary = "修改人员信息v1", description = "修改海康平台人员信息")
public R<UpdatePersonResponse> updatePersonV1(@Valid @RequestBody UpdatePersonRequest request);
/**
* 批量删除人员信息v1
* @param request 批量删除人员请求参数
* @return 批量删除人员响应结果
*/
@PostMapping("/person/batch-delete")
@Operation(summary = "批量删除人员信息v1", description = "批量删除海康平台人员信息")
public R<BatchDeletePersonResponse> batchDeletePersonV1(@Valid @RequestBody BatchDeletePersonRequest request);
/**
* 添加人脸信息v1
* @param request 添加人脸请求参数
* @return 添加人脸响应结果
*/
@PostMapping("/face/add")
@Operation(summary = "添加人脸信息v1", description = "添加人脸信息到海康平台")
public R<AddFaceResponse> addFaceV1(@Valid @RequestBody AddFaceRequest request);
/**
* 修改人脸信息v1
* @param request 修改人脸请求参数
* @return 修改人脸响应结果
*/
@PostMapping("/face/update")
@Operation(summary = "修改人脸信息v1", description = "修改海康平台人脸信息")
public R<AddFaceResponse> updateFaceV1(@Valid @RequestBody UpdateFaceRequest request);
/**
* 删除人脸信息v1
* @param request 删除人脸请求参数
* @return 删除人脸响应结果
*/
@PostMapping("/face/delete")
@Operation(summary = "删除人脸信息v1", description = "删除海康平台人脸信息")
public R<DeleteFaceResponse> deleteFaceV1(@Valid @RequestBody DeleteFaceRequest request);
/**
* 获取组织下人员列表v2
* @param request 获取人员列表请求参数
* @return 获取人员列表响应结果
*/
@PostMapping("/person/list")
@Operation(summary = "获取组织下人员列表v2", description = "根据组织编号获取组织下的人员信息列表")
public R<GetPersonListResponse> getPersonListV2(@Valid @RequestBody GetPersonListRequest request);
/**
* 根据人员唯一字段获取人员详细信息v1
* @param request 获取人员详细信息请求参数
* @return 获取人员详细信息响应结果
*/
@PostMapping("/person/detail")
@Operation(summary = "根据人员唯一字段获取人员详细信息v1", description = "根据实名标识精确查询人员详细信息")
public R<GetPersonInfoResponse> getPersonInfoV1(@Valid @RequestBody GetPersonInfoRequest request);
}
@@ -0,0 +1,23 @@
package com.bsd.pjcloud.thirdparty.dto.face;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
/**
* 添加人脸请求DTO
*/
@Data
public class AddFaceRequest {
/**
* 人员Id,必填
*/
@NotBlank(message = "人员ID不能为空")
private String personId;
/**
* 人脸图片base64编码后的字符数据,必填
*/
@NotBlank(message = "人脸图片数据不能为空")
private String faceData;
}
@@ -0,0 +1,44 @@
package com.bsd.pjcloud.thirdparty.dto.face;
import lombok.Data;
/**
* 添加人脸响应VO
*/
@Data
public class AddFaceResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 返回说明
*/
private String msg;
/**
* 返回数据
*/
private FaceData data;
@Data
public static class FaceData {
/**
* 人脸Id
*/
private String faceId;
/**
* 人脸图片Url
*/
private String faceUrl;
/**
* 人员ID
*/
private String personId;
}
}
@@ -0,0 +1,18 @@
package com.bsd.pjcloud.thirdparty.dto.face;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
/**
* 删除人脸请求DTO
*/
@Data
public class DeleteFaceRequest {
/**
* 人脸图片Id,必填
* 添加人脸接口返回报文中的faceId字段,或获取人员列表v2接口返回报文中的personPhotoIndexCode字段
*/
@NotBlank(message = "人脸ID不能为空")
private String faceId;
}
@@ -0,0 +1,25 @@
package com.bsd.pjcloud.thirdparty.dto.face;
import lombok.Data;
/**
* 删除人脸响应VO
*/
@Data
public class DeleteFaceResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 返回信息(注意:删除接口返回的是message字段,不是msg)
*/
private String message;
/**
* 删除成功则为空
*/
private String data;
}
@@ -0,0 +1,24 @@
package com.bsd.pjcloud.thirdparty.dto.face;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
/**
* 修改人脸请求DTO
*/
@Data
public class UpdateFaceRequest {
/**
* 人脸图片Id,必填
* 添加人脸接口返回报文中的faceId字段,或获取人员列表v2接口返回报文中的personPhotoIndexCode字段
*/
@NotBlank(message = "人脸ID不能为空")
private String faceId;
/**
* 人脸图片base64编码后的字符数据,必填
*/
@NotBlank(message = "人脸图片数据不能为空")
private String faceData;
}
@@ -0,0 +1,95 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.Valid;
import java.util.List;
/**
* 添加人员请求DTO
*/
@Data
public class AddPersonRequest {
/**
* 人员ID,可以指定人员personId,不允许与其他人员personId重复,包括已删除的人员。
* 为空时平台自动生成人员ID
*/
private String personId;
/**
* 人员名称,1~32个字符;不能包含 ' / \ : * ? " < >
*/
@NotBlank(message = "人员名称不能为空")
@Size(min = 1, max = 32, message = "人员名称长度必须在1-32个字符之间")
@Pattern(regexp = "^[^'/\\\\:*?\"<>]*$", message = "人员名称不能包含特殊字符:' / \\ : * ? \" < >")
private String personName;
/**
* 性别:1-男,2-女
*/
@NotBlank(message = "性别不能为空")
@Pattern(regexp = "^[12]$", message = "性别只能是1(男)或2(女)")
private String gender;
/**
* 所属组织标识,必须是已存在组织
*/
@NotBlank(message = "所属组织标识不能为空")
private String orgIndexCode;
/**
* 出生日期,举例:1992-09-12
*/
@Pattern(regexp = "^\\d{4}-\\d{2}-\\d{2}$", message = "出生日期格式必须为yyyy-MM-dd")
private String birthday;
/**
* 手机号,1-20位数字,平台上人员信息实名标识选择为手机号码时必填
*/
@Size(min = 1, max = 20, message = "手机号长度必须在1-20位之间")
@Pattern(regexp = "^\\d{1,20}$", message = "手机号只能包含数字")
private String phoneNo;
/**
* 邮箱,举例:hic@163.com
*/
@Email(message = "邮箱格式不正确")
private String email;
/**
* 证件类型,参考附录A数据字典,平台上人员信息实名标识选择为身份证件时必填
*/
private String certificateType;
/**
* 证件号码,1-20位数字字母,平台上人员信息实名标识选择为身份证件时必填
*/
@Size(min = 1, max = 20, message = "证件号码长度必须在1-20位之间")
@Pattern(regexp = "^[a-zA-Z0-9]{1,20}$", message = "证件号码只能包含数字和字母")
private String certificateNo;
/**
* 工号,1-32个字符,平台上人员信息实名标识选择为工号时必填
*/
@Size(min = 1, max = 32, message = "工号长度必须在1-32个字符之间")
private String jobNo;
/**
* 人脸信息
*/
@Valid
private List<FaceInfo> faces;
@Data
public static class FaceInfo {
/**
* 人脸图片base64编码后的字符
*/
@NotBlank(message = "人脸图片数据不能为空")
private String faceData;
}
}
@@ -0,0 +1,38 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
/**
* 添加人员响应VO
*/
@Data
public class AddPersonResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 返回说明
*/
private String msg;
/**
* 成功添加的人员信息
*/
private PersonData data;
@Data
public static class PersonData {
/**
* 成功添加的人员Id
*/
private String personId;
/**
* 成功添加的人脸Id
*/
private String faceId;
}
}
@@ -0,0 +1,29 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import com.bsd.pjcloud.thirdparty.dto.visitor.PersonInfo;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.Max;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import java.util.List;
/**
* 批量添加人员请求DTO
*/
@Data
public class BatchAddPersonRequest {
/**
* 待添加的人员列表,单次操作上限为1000条
*/
@NotEmpty(message = "人员列表不能为空")
@Size(max = 1000, message = "单次操作最多支持1000条记录")
@Valid
private List<PersonInfo> persons;
}
@@ -0,0 +1,73 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import java.util.List;
/**
* 批量添加人员响应VO
*/
@Data
public class BatchAddPersonResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 返回说明
*/
private String msg;
/**
* 返回结果
*/
private BatchPersonData data;
@Data
public static class BatchPersonData {
/**
* 批量添加成功的记录
*/
private List<SuccessRecord> successes;
/**
* 批量添加失败的记录
*/
private List<FailureRecord> failures;
}
@Data
public static class SuccessRecord {
/**
* 调用方指定人员临时标志
*/
private Long clientId;
/**
* 服务端生成的唯一标识
*/
private String personId;
}
@Data
public static class FailureRecord {
/**
* 调用方指定Id
*/
private Long clientId;
/**
* 错误码
*/
private String code;
/**
* 错误信息
*/
private String message;
}
}
@@ -0,0 +1,20 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import java.util.List;
/**
* 批量删除人员请求DTO
*/
@Data
public class BatchDeletePersonRequest {
/**
* 人员Id列表,单次操作上限为1000条
*/
@NotEmpty(message = "人员ID列表不能为空")
@Size(max = 1000, message = "单次操作最多支持1000条记录")
private List<String> personIds;
}
@@ -0,0 +1,45 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import java.util.List;
/**
* 批量删除人员响应VO
*/
@Data
public class BatchDeletePersonResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 返回说明
*/
private String msg;
/**
* 若执行结果为部分删除成功,则返回删除失败的人员标志和错误原因,若全部成功,则该字段为空
*/
private List<DeleteFailureRecord> data;
@Data
public static class DeleteFailureRecord {
/**
* 人员标志
*/
private String personId;
/**
* 错误码
*/
private String code;
/**
* 错误信息
*/
private String msg;
}
}
@@ -0,0 +1,34 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;
import jakarta.validation.constraints.Pattern;
import java.util.List;
/**
* 根据人员唯一字段获取人员详细信息请求DTO
*/
@Data
public class GetPersonInfoRequest {
/**
* 参数名,必填
* certificateNo:证件号码
* personId:人员Id
* phoneNo:手机号码
* jobNo:工号
*/
@NotBlank(message = "参数名不能为空")
@Pattern(regexp = "^(certificateNo|personId|phoneNo|jobNo)$",
message = "参数名只能是:certificateNo、personId、phoneNo、jobNo")
private String paramName;
/**
* 根据入参传对应的值,最大1000个
*/
@NotEmpty(message = "参数值列表不能为空")
@Size(max = 1000, message = "参数值最多支持1000个")
private List<String> paramValue;
}
@@ -0,0 +1,328 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import java.util.List;
/**
* 根据人员唯一字段获取人员详细信息响应VO
*/
@Data
public class GetPersonInfoResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 接口执行情况说明信息
*/
private String msg;
/**
* 返回数据
*/
private PersonInfoData data;
@Data
public static class PersonInfoData {
/**
* 结果总数
*/
private Integer total;
/**
* 人员信息列表
*/
private List<DetailedPersonInfo> list;
}
@Data
public static class DetailedPersonInfo {
/**
* 人员ID
*/
private String personId;
/**
* 姓名
*/
private String personName;
/**
* 性别:1-男,2-女
*/
private Integer gender;
/**
* 所属组织目录,以@符号分割,包含本组织,例如@root000000@
*/
private String orgPath;
/**
* 所属组织目录名称,以/分隔
*/
private String orgPathName;
/**
* 所属组织唯一标识码
*/
private String orgIndexCode;
/**
* 证件类型
*/
private Integer certificateType;
/**
* 证件号码
*/
private String certificateNo;
/**
* 工号
*/
private String jobNo;
/**
* 出生日期,例"1990-01-01"
*/
private String birthday;
/**
* 联系电话
*/
private String phoneNo;
/**
* 联系地址
*/
private String address;
/**
* 人员照片信息
*/
private List<PersonPhotoInfo> personPhoto;
/**
* 邮箱
*/
private String email;
/**
* 学历
*/
private Integer education;
/**
* 人员姓氏
*/
private String lastName;
/**
* 人员名称
*/
private String givenName;
/**
* 年龄
*/
private Integer age;
/**
* 职业
*/
private String job;
/**
* 职工性质
*/
private String staffProperty;
/**
* 工作单位
*/
private String company;
/**
* 职位
*/
private String employeePost;
/**
* 员工编号
*/
private String employeeNumber;
/**
* 岗位类别
*/
private String postType;
/**
* 身份类型
*/
private String identityType;
/**
* 国籍
*/
private String nationality;
/**
* 民族
*/
private Integer nation;
/**
* 籍贯
*/
private String birthplace;
/**
* 户籍
*/
private String censusRegister;
/**
* 婚姻状况
*/
private Integer marriaged;
/**
* 政治面貌
*/
private String politicalStatus;
/**
* 宗教
*/
private String religion;
/**
* 房间号
*/
private String roomNum;
/**
* 与户主关系
*/
private String houseHolderRel;
/**
* 学号
*/
private String studentId;
/**
* 学生入学时间,例"1990-01-01"
*/
private String stuStartTime;
/**
* 学生毕业时间,例"1990-01-01"
*/
private String stuEndTime;
/**
* 年级
*/
private String stuGrade;
/**
* 班级
*/
private String stuClass;
/**
* 学院
*/
private String academy;
/**
* 学生专业
*/
private String profession;
/**
* 宿舍楼
*/
private String dormitory;
/**
* 是否住校,1:是;2:否
*/
private Integer lodge;
/**
* 人员描述
*/
private String personDesc;
/**
* 同步标志类型
*/
private Integer syncFlag;
/**
* 拼音
*/
private String pinyin;
/**
* 发证机构
*/
private String certIssuer;
/**
* 发证地址
*/
private String certAddr;
/**
* 证件有效期
*/
private String certExpireTime;
/**
* 状态,小于0则代表资源已被删除
*/
private Integer status;
/**
* 创建时间,ISO8601格式
*/
private String createTime;
/**
* 更新时间,ISO8601格式
*/
private String updateTime;
}
@Data
public static class PersonPhotoInfo {
/**
* 图片唯一标示
*/
private String personPhotoIndexCode;
/**
* 图片相对url,从提取人员图片接口获取图片数据
*/
private String picUri;
/**
* 图片服务器唯一标示
*/
private String serverIndexCode;
/**
* 人员ID
*/
private String personId;
}
}
@@ -0,0 +1,32 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.Max;
/**
* 获取组织下人员列表v2请求DTO
*/
@Data
public class GetPersonListRequest {
/**
* 组织唯一标识码,必填
*/
@NotBlank(message = "组织唯一标识码不能为空")
private String orgIndexCode;
/**
* 当前页码,必填,需大于0
*/
@Min(value = 1, message = "当前页码需大于0")
private Integer pageNo;
/**
* 实际每页记录总数,必填,需大于0且小于等于1000
*/
@Min(value = 1, message = "每页记录数需大于0")
@Max(value = 1000, message = "每页记录数需小于等于1000")
private Integer pageSize;
}
@@ -0,0 +1,145 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import java.util.List;
/**
* 获取组织下人员列表v2响应VO
*/
@Data
public class GetPersonListResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 接口执行情况说明信息
*/
private String msg;
/**
* 人员信息结构体
*/
private PersonListData data;
@Data
public static class PersonListData {
/**
* 查询数据记录总数
*/
private Integer total;
/**
* 当前页码
*/
private Integer pageNo;
/**
* 每页记录总数
*/
private Integer pageSize;
/**
* 人员列表
*/
private List<PersonInfo> list;
}
@Data
public static class PersonInfo {
/**
* 人员ID
*/
private String personId;
/**
* 姓名
*/
private String personName;
/**
* 性别:1-男,2-女
*/
private Integer gender;
/**
* 所属组织唯一标识码
*/
private String orgIndexCode;
/**
* 联系电话
*/
private String phoneNo;
/**
* 工号
*/
private String jobNo;
/**
* 证件类型
* 111:身份证, 414:护照, 113:户口簿, 335:驾驶证
* 131:工作证, 133:学生证, 990:其他
*/
private Integer certificateType;
/**
* 证件号码
*/
private String certificateNo;
/**
* 创建时间(ISO8601格式)
*/
private String createTime;
/**
* 更新时间(ISO8601格式)
*/
private String updateTime;
/**
* 所属组织目录,@进行分割,例如 @root000000@
*/
private String orgPath;
/**
* 所属组织名称,@进行分割,如@默认部门@
*/
private String orgPathName;
/**
* 人员图片信息
*/
private PersonPhoto personPhoto;
}
@Data
public static class PersonPhoto {
/**
* 人脸图片唯一标示
*/
private String personPhotoIndexCode;
/**
* 图片相对url,通过提取人员图片接口获取图片数据
*/
private String picUri;
/**
* 图片服务器唯一标示,提取人员图片接口必要参数
*/
private String serverIndexCode;
/**
* 人员ID
*/
private String personId;
}
}
@@ -0,0 +1,81 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.Max;
/**
* 修改人员请求DTO
*/
@Data
public class UpdatePersonRequest {
/**
* 人员id,必填
*/
@NotBlank(message = "人员ID不能为空")
private String personId;
/**
* 人员名称,1~32个字符;不能包含 ' / \ : * ? " < >
*/
@Size(min = 1, max = 32, message = "人员名称长度必须在1-32个字符之间")
@Pattern(regexp = "^[^'/\\\\:*?\"<>]*$", message = "人员名称不能包含特殊字符:' / \\ : * ? \" < >")
private String personName;
/**
* 所属组织标识,必须是已存在组织
*/
private String orgIndexCode;
/**
* 性别:1-男,2-女
*/
@Min(value = 1, message = "性别值必须为1或2")
@Max(value = 2, message = "性别值必须为1或2")
private Integer gender;
/**
* 出生日期,举例:1992-09-12
*/
@Pattern(regexp = "^\\d{4}-\\d{2}-\\d{2}$", message = "出生日期格式必须为yyyy-MM-dd")
private String birthday;
/**
* 手机号,1-20位数字
*/
@Size(min = 1, max = 20, message = "手机号长度必须在1-20位之间")
@Pattern(regexp = "^\\d{1,20}$", message = "手机号只能包含数字")
private String phoneNo;
/**
* 邮箱,举例:hic@163.com
*/
@Email(message = "邮箱格式不正确")
private String email;
/**
* 证件类型
* 111: 身份证, 414: 护照, 113: 户口簿, 335: 驾驶证
* 131: 工作证, 133: 学生证, 990: 其他
*/
@Pattern(regexp = "^(111|414|113|335|131|133|990)$", message = "证件类型不正确")
private String certificateType;
/**
* 证件号码,1-20位数字字母
*/
@Size(min = 1, max = 20, message = "证件号码长度必须在1-20位之间")
@Pattern(regexp = "^[a-zA-Z0-9]{1,20}$", message = "证件号码只能包含数字和字母")
private String certificateNo;
/**
* 工号,1-32个字符
*/
@Size(min = 1, max = 32, message = "工号长度必须在1-32个字符之间")
private String jobNo;
}
@@ -0,0 +1,25 @@
package com.bsd.pjcloud.thirdparty.dto.person;
import lombok.Data;
/**
* 修改人员响应VO
*/
@Data
public class UpdatePersonResponse {
/**
* 返回码,0 – 成功,其他- 失败
*/
private String code;
/**
* 返回说明
*/
private String msg;
/**
* 成功则data为空
*/
private String data;
}
@@ -14,7 +14,7 @@ public class PersonInfo {
private String personId;
private String personName;
private Integer gender;
private String orgIndexCode;
private String orgIndexCode="1013f7bb18d94ec8962a9fb3eb1df44b";
private String phoneNo;
private String jobNo;
private Integer certificateType;