diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java index 9394c9a..622cb1f 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/node/req/ListNodeReq.java @@ -1,14 +1,11 @@ package cn.axzo.orgmanax.api.node.req; -import cn.axzo.foundation.dao.support.wrapper.CriteriaField; -import cn.axzo.foundation.dao.support.wrapper.Operator; import cn.axzo.foundation.page.IPageReq; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; import java.util.Set; @NoArgsConstructor @@ -101,6 +98,11 @@ public class ListNodeReq implements IPageReq { */ private Boolean needAdmin; + /** + * 需要返回父节点信息 + */ + private Boolean needParent; + /** * 岗位编码 */ diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitContactApi.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitContactApi.java index ea665f2..00cdaaa 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitContactApi.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/feign/OrgUnitContactApi.java @@ -1,6 +1,8 @@ package cn.axzo.orgmanax.api.unit.feign; import cn.axzo.foundation.result.ApiResult; +import cn.axzo.orgmanax.api.unit.req.CreateUnitContactReq; +import cn.axzo.orgmanax.api.unit.resp.CreateUnitContactResp; import cn.axzo.orgmanax.api.unit.resp.OrgUnitContactResp; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -20,4 +22,13 @@ public interface OrgUnitContactApi { */ @PostMapping("/api/unit/contact/list") ApiResult> list(List ouIds); + + + /** + * 批量创建单位联系人 + */ + @PostMapping("/api/org/unit/contact/create") + ApiResult> create(List contactReqList); + + } \ No newline at end of file diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitContactReq.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitContactReq.java new file mode 100644 index 0000000..9d87aea --- /dev/null +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/req/CreateUnitContactReq.java @@ -0,0 +1,52 @@ +package cn.axzo.orgmanax.api.unit.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import java.io.Serializable; + +/** + * 新增单位联系人 + */ +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Data +public class CreateUnitContactReq implements Serializable { + + /** + * 单位id + */ + @NotNull(message = "联系人所属单位不能为空") + private Long organizationalUnitId; + + /** + * 联系人姓名 + */ + @NotBlank(message = "联系人姓名不能为空") + private String name; + + /** + * 联系人手机号码 + */ + @NotBlank(message = "联系人手机号码不能为空") + @Pattern(regexp = "^1\\d{10}$", message = "手机号格式不正确") + private String phone; + + /** + * 联系人职务 + */ + @Length(max = 20, message = "职位名字最长为20个字符") + private String position; + + /** + * 备注 + */ + private String memo; +} diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitContactResp.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitContactResp.java new file mode 100644 index 0000000..14ac904 --- /dev/null +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitContactResp.java @@ -0,0 +1,16 @@ +package cn.axzo.orgmanax.api.unit.resp; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author : zhanghonghao@axzo.cn + * @since : 2024/12/19 + */ +@Data +public class CreateUnitContactResp implements Serializable { + + private Long id; + +} \ No newline at end of file diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitResp.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitResp.java index d9b855d..0781fa8 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitResp.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/CreateUnitResp.java @@ -3,9 +3,10 @@ package cn.axzo.orgmanax.api.unit.resp; import lombok.Data; import java.io.Serializable; + @Data public class CreateUnitResp implements Serializable { - private String test; - + private Long id; + } diff --git a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/OrgUnitContactResp.java b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/OrgUnitContactResp.java index cdcc334..f3af83d 100644 --- a/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/OrgUnitContactResp.java +++ b/orgmanax-api/src/main/java/cn/axzo/orgmanax/api/unit/resp/OrgUnitContactResp.java @@ -1,13 +1,11 @@ package cn.axzo.orgmanax.api.unit.resp; -import com.alibaba.fastjson.JSONObject; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; import java.io.Serializable; -import java.util.Date; @NoArgsConstructor @SuperBuilder diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitContactController.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitContactController.java index 68def60..ff0cda2 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitContactController.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/controller/UnitContactController.java @@ -2,6 +2,8 @@ package cn.axzo.orgmanax.server.unit.controller; import cn.axzo.foundation.result.ApiResult; import cn.axzo.orgmanax.api.unit.feign.OrgUnitContactApi; +import cn.axzo.orgmanax.api.unit.req.CreateUnitContactReq; +import cn.axzo.orgmanax.api.unit.resp.CreateUnitContactResp; import cn.axzo.orgmanax.api.unit.resp.OrgUnitContactResp; import cn.axzo.orgmanax.server.unit.service.UnitContactService; import lombok.RequiredArgsConstructor; @@ -29,4 +31,9 @@ public class UnitContactController implements OrgUnitContactApi { return ApiResult.success(unitContactService.list(ouIdSet)); } + @Override + public ApiResult> create(List contactReqList) { + return null; + } + } \ No newline at end of file diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitContactServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitContactServiceImpl.java index 524ec84..9e285da 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitContactServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/unit/service/impl/UnitContactServiceImpl.java @@ -3,6 +3,7 @@ package cn.axzo.orgmanax.server.unit.service.impl; import cn.axzo.orgmanax.api.unit.resp.OrgUnitContactResp; import cn.axzo.orgmanax.infra.dao.unit.repository.UnitContactQueryRepository; import cn.axzo.orgmanax.server.unit.service.UnitContactService; +import cn.axzo.trade.datasecurity.core.util.DataSecurityHelper; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import lombok.RequiredArgsConstructor; @@ -35,6 +36,8 @@ public class UnitContactServiceImpl implements UnitContactService { if (CollUtil.isEmpty(respList)) { return Collections.emptyList(); } - return BeanUtil.copyToList(respList, OrgUnitContactResp.class); + List resultList = BeanUtil.copyToList(respList, OrgUnitContactResp.class); + resultList.forEach(e -> e.setPhoneEncode(DataSecurityHelper.encrypt(e.getPhone()))); + return resultList; } }