feat(REQ-3488): 单位联系人接口定义
This commit is contained in:
parent
60879a7822
commit
a430394912
@ -0,0 +1,44 @@
|
||||
package cn.axzo.orgmanax.api.contact;
|
||||
|
||||
import cn.axzo.foundation.page.PageResp;
|
||||
import cn.axzo.foundation.result.ApiResult;
|
||||
import cn.axzo.orgmanax.dto.unit.contact.req.OperateOrgContactReq;
|
||||
import cn.axzo.orgmanax.dto.unit.contact.req.PageOrgContactReq;
|
||||
import cn.axzo.orgmanax.dto.unit.contact.req.SaveBatchOrgContactReq;
|
||||
import cn.axzo.orgmanax.dto.unit.dto.OrgUnitContactDTO;
|
||||
import java.util.List;
|
||||
import javax.validation.Valid;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* 组织联系人api
|
||||
*/
|
||||
@FeignClient(
|
||||
value = "orgmanax",
|
||||
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
|
||||
public interface OrgContactApi {
|
||||
|
||||
/**
|
||||
* 批量新增单位联系人
|
||||
*/
|
||||
@PostMapping("/api/unit/contact/save-batch")
|
||||
ApiResult<List<OrgUnitContactDTO>> saveBatch(@RequestBody @Valid SaveBatchOrgContactReq req);
|
||||
|
||||
/**
|
||||
* 编辑单位联系人 or 删除单位联系人
|
||||
*/
|
||||
@PostMapping("/api/unit/contact/update")
|
||||
ApiResult<OrgUnitContactDTO> update(@RequestBody @Valid OperateOrgContactReq req);
|
||||
|
||||
/**
|
||||
* 分页获取单位联系人列表
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/api/unit/contact/page")
|
||||
ApiResult<PageResp<OrgUnitContactDTO>> page(@RequestBody @Valid PageOrgContactReq req);
|
||||
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package cn.axzo.orgmanax.dto.unit.contact.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2024/12/31
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ContactOperateEnum {
|
||||
|
||||
/**
|
||||
* 编辑联系人
|
||||
*/
|
||||
UPDATE(1, "编辑联系人"),
|
||||
/**
|
||||
* 删除联系人
|
||||
*/
|
||||
DELETE(2, "删除联系人"),
|
||||
|
||||
;
|
||||
|
||||
private final Integer code;
|
||||
private final String desc;
|
||||
|
||||
|
||||
public static ContactOperateEnum getByCode(Integer code) {
|
||||
return Arrays.stream(values()).filter(it -> it.getCode().equals(code))
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,68 @@
|
||||
package cn.axzo.orgmanax.dto.unit.contact.req;
|
||||
|
||||
import cn.axzo.orgmanax.dto.unit.contact.enums.ContactOperateEnum;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
/**
|
||||
* 编辑单位联系人
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OperateOrgContactReq {
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
@NotNull(message = "操作类型不能为空")
|
||||
private ContactOperateEnum operateEnum;
|
||||
|
||||
/**
|
||||
* 联系人id
|
||||
*/
|
||||
@NotNull(message = "联系人id不能为空")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
// @NotNull(message = "联系人所属单位不能为空")
|
||||
private Long organizationalUnitId;
|
||||
|
||||
/**
|
||||
* 联系人姓名
|
||||
*/
|
||||
// @NotBlank(message = "联系人姓名不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 联系人手机号码
|
||||
*/
|
||||
// @NotBlank(message = "联系人手机号码不能为空")
|
||||
@Pattern(regexp = "^1\\d{10}$", message = "手机号格式不正确")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 联系人职务
|
||||
*/
|
||||
// @NotBlank(message = "联系人职务不能为空")
|
||||
@Length(max = 20, message = "职位名字最长为20个字符")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String memo;
|
||||
|
||||
/**
|
||||
* 操作人ID
|
||||
*/
|
||||
private Long operatorId;
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package cn.axzo.orgmanax.dto.unit.contact.req;
|
||||
|
||||
import cn.axzo.foundation.page.PageReqV2;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2024/12/16
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageOrgContactReq extends PageReqV2 {
|
||||
|
||||
/**
|
||||
* 联系人ID
|
||||
*/
|
||||
private Long contactId;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Long unitId;
|
||||
|
||||
/**
|
||||
* 手机号码
|
||||
*/
|
||||
// TODO 注意这个现在还是明文需要修改 需要咨询陈文健
|
||||
private String phone;
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package cn.axzo.orgmanax.dto.unit.contact.req;
|
||||
|
||||
import java.util.List;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author syl
|
||||
* @date 2024/12/16
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaveBatchOrgContactReq {
|
||||
|
||||
/**
|
||||
* 单位联系人列表
|
||||
*/
|
||||
@Valid
|
||||
@NotEmpty(message = "单位联系人列表不能为空")
|
||||
private List<SaveOrgContactReq> contacts;
|
||||
/**
|
||||
* 操作人ID
|
||||
*/
|
||||
private Long operatorId;
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package cn.axzo.orgmanax.dto.unit.contact.req;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
/**
|
||||
* 新增单位联系人
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class SaveOrgContactReq {
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@NotNull(message = "联系人所属单位不能为空")
|
||||
private Long organizationalUnitId;
|
||||
|
||||
/**
|
||||
* 联系人姓名
|
||||
*/
|
||||
@NotBlank(message = "联系人姓名不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 联系人手机号码
|
||||
*/
|
||||
@NotBlank(message = "联系人手机号码不能为空")
|
||||
//数据清洗暂时屏蔽
|
||||
//@Pattern(regexp = "^1\\d{10}$", message = "手机号格式不正确")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 联系人职务
|
||||
*/
|
||||
// @NotBlank(message = "联系人职务不能为空")
|
||||
@Length(max = 20, message = "职位名字最长为20个字符")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
// @NotBlank(message = "备注不能为空")
|
||||
private String memo;
|
||||
}
|
||||
@ -38,6 +38,12 @@ public class OrgUnitContactDTO implements Serializable {
|
||||
*/
|
||||
private String phoneEncode;
|
||||
|
||||
/**
|
||||
* 联系人手机号码
|
||||
* // todo 实际使用时看是否使用
|
||||
*/
|
||||
private String phoneDecode;
|
||||
|
||||
/**
|
||||
* 联系人职务
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user