diff --git a/README.md b/README.md
index 165b44a..7c1ca08 100644
--- a/README.md
+++ b/README.md
@@ -2,33 +2,73 @@
- 项目名称:Orgmanax:“Org” 代表 `organization(组织)`,`man` 表示 “人”,`ax` 象征对这些元素进行整合.
- 项目简介:维护单位、部门、人员、岗位相关的业务及数据,比如:通讯录、项目添加人员、添加班组、更换班组长等
+## 名词说明
+- 企业/单位(organizational_unit):分为企业(有营业执照)和团队(无营业执照);团队主要用于挂载班组;每个企业可以有自己的组织架构。
+项目场景下,称为参加单位;每个单位在不同的项目参建的身份(总包、分包、建设单位等)可以不一致。
+- 部门(organizational_node):分为普通部门和班组部门,每个部门可设置部门负责人,且此负责人可以不归属于该部门,只是挂职。
+- 岗位(org_job):岗位主数据,同一个人在一个单位,一个项目下只会存在一个岗位。
+- 人:人挂在部门下;同一个工人可以挂在不同单位/团队(受最大次数限制);同一个工人可以挂在同一个项目的不同部门/班组。
+
+所有人、岗、架相关数据发生变更,都要有统一的日志流水记录(按需发送消息事件)。
+
# 项目约束
-- 引用外部(其它域、第三方)SDK时,需要与Leader确认,禁止私自引入
-- service分为`foundation`(基础功能)与`biz`(业务功能)。`foundation`不可依赖`biz`,`biz`应依赖`foundation`完成部分功能。原则上`biz`与`biz`也不应该互相依赖
+- 引用外部(其它域、第三方)SDK时,需要与Leader确认,禁止私自引入。
- 枚举不要做成参数的返回值。防止使用方不发布版本,解析失败的问题。
-- 为每个接口定义自己的出入参,不要复用出入参
+- service层提供的出参与入参不能包含ApiResult。
+- 所有的写接口都必须经过foundation层进行收口。
+- Server 模块分为 Service 与 Foundation。Foundation 承担基础功能,Service 负责业务功能编排。同域 Service 只能用本域 Foundation,不可用他域 Foundation,若需跨域则必须调用他域 Service。
+- 业务上完全不用的数据,才能标记为is_delete,不使用全局默认值。
+- json框架使用fastjson。
+
+## 接口规范
- 所有接口统一采用POST,列表接口需要带上分页且设置默认大小1000条
+- 接口出入参,必须使用可扩展的对象类型。不能直接是 String,Integer,或者List这些无法扩展的类型。
+- 为每个接口定义自己的出入参,不要复用出入参
- 接口URL使用 【-】符号进行分割,比如: /orgmanax/node/create-team
-- service层提供的出参与入参不能包含ApiResult;
-- 提供出去的feign api,要自己注入spring容器
-
-
+- 接口定义规范: 使用```/api/org/${domain}/${affiliateDomain}/${action}``` 形式进行定义。如:
+```
+/api/org/unit/create
+/api/org/unit/update
+/api/org/node-user/list
+/api/org/org-user/page
+/api/org/org-user/page
+```
+* domain 为主要操作/查询的对象。包含以下值
+ ```
+● unit -> 单位
+● node -> 部门
+● cooperate-ship -> 协同关系
+● node-user -> 部门人员
+● org-user -> 组织人员
+● biz - 如确实无法评估接口归属,可使用biz,或其他
+ ```
+- action 的规定取值如下
+```
+● create
+● update
+● upsert - 创建/更新一体的接口(如幂等接口)
+● page
+● detail
+```
+- affiliateDomain 附属域模型 如快照,操作记录等。按需使用
# 项目结构
-
+
## 模块描述
-模块名称 | 功能 | 依赖
------- |--------------------------------------------------------------------------------------| ----
-`orgmanax-api` | API层,提供给二方的SDK,方便二方快速接入人岗架相关功能 |无
-`orgmanax-common`| 公共组件、UTIL等 |无
-`orgmanax-infra` | 基础设施层,隔离非业务变化,防止外部变化引起内部业务变更。
对接外部依赖,数据库,MQ等中件间 | `orgmanax-common`
-`orgmanax-server`| 业务层,核心分为两层:
1、基础业务层:`foundation`
2、业务层:`biz`
`foundation`依赖`biz`完成业务编排 | `orgmanax-api` `orgmanax-common` `orgmanax-infra`
+模块名称 | 功能 | 依赖
+------ |---------------------------------------------------------------------------------------------------------------------------------------| ----
+`orgmanax-api` | API层,提供给org-gateway的接口 |无
+`orgmanax-common`| 公共组件、UTIL等 |无
+`orgmanax-infra` | 基础设施层,隔离非业务变化,防止外部变化引起内部业务变更。
对接外部依赖,数据库,MQ等中件间 | `orgmanax-common`
+`orgmanax-integration`| 封装了非基础业务的API,防止外部API无用依赖影响内部。如:apollo-api、gaia-api等 | `orgmanax-infra`
+`orgmanax-server`| 业务层,核心分为两层:
1、基础层:`foundation` 单域核心逻辑如:创建部门,创建单位
2、业务层:`service` 如:创建班组、创建小组
`service` 依赖本域 `foundation`或他域service完成业务 | `orgmanax-api` `orgmanax-common` `orgmanax-infra`
+`orgmanax-starter`| 启动类 | `orgmanax-api` `orgmanax-common` `orgmanax-infra` `orgmanax-server` `orgmanax-integration`
## 各模块参数约束
-
+
- REQ:请求入参
- RESP:请求出参
- XXXQuery:基础功能入参
@@ -36,62 +76,28 @@
- XXXUpdate:更新入参
- DO:数据库实体,DO使用充血模型,包括属性和行为,定义行为的范围:只能是本对象内部属性发生变更的行为
-## 接口层级
-
-
-### 接口路径定义规范
-接口定义按照 ```/api/org/${domain}/${affiliateDomain}/${action}``` 形式进行定义。如
-
-> * /api/org/unit/create
-> * /api/org/unit/update
-> * /api/org/node-user/list
-> * /api/org/org-user/page
-> * /api/org/node-user/operate-log/list - affiliateDomain的示例
-#### ${domain} 为主要操作/查询的对象。包含以下值
-* unit -> 单位
-* node -> 部门
-* cooperate-ship -> 协同关系
-* node-user -> 部门人员
-* org-user -> 组织人员
-* biz - 如确实无法评估接口归属,可使用biz,或其他
-#### action 的建议取值如下
-* create
-* update
-* upsert - 创建/更新一体的接口(如幂等接口)
-* list
-* page
-* detail - 查询单个对象及其聚合信息
-#### affiliateDomain 附属域模型 如快照,操作记录等。按需使用
## 目录层级
```
.
-├── orgmanax-api #提供给二方的功能,包括基础功能、业务功能。
-│ └── src
-│ ├── main
-│ │ └── java
-│ │ └── cn
-│ │ └── axzo
-│ │ └── orgmanax
-│ │ └── api
-│ │ ├── config #配置,如:将Feign接口托管至spring
-│ │ ├── feign #配置,如:将Feign接口托管至spring
-│ │ | ├── node #部门相关接口
-│ │ │ | ├── feign #API
-│ │ │ | ├── req #请求入参
-│ │ │ | └── resp #请求出参
-│ │ | ├── unit #单位相关接口
-│ │ │ | ├── feign #API
-│ │ │ | ├── req #请求入参
-│ │ │ | └── resp #请求出参
-│ │ | ├── team #班组业务相关接口
-│ │ │ | ├── feign #API
-│ │ │ | ├── req #请求入参
-│ │ │ | └── resp #请求出参
-│ └── resources
-│ └── META-INF #SPI(service provider interface)
-|
-├── orgmanax-common #公共包
+├── orgmanax-api #给org-gateway提供的api
+│ ├── src
+│ │ ├── main
+│ │ │ └── java
+│ │ │ └── cn
+│ │ │ └── axzo
+│ │ │ └── orgmanax
+│ │ │ └── api#各域的fei与req
+│ │ │ ├── config #配置
+│ │ │ ├── cooperateship#协同关系
+│ │ │ │ ├── feign
+│ │ │ │ ├── req
+│ │ │ │ └── resp
+│ │ │ ├── node #节点
+│ │ │ │ ├── feign
+│ │ │ │ ├── req
+│ │ │ │ └── resp
+├── orgmanax-common #公共包,如:常量、枚举、工具类、异常等
│ └── src
│ └── main
│ └── java
@@ -100,47 +106,84 @@
│ └── orgmanax
│ └── common
│ ├── config
-|
-├── orgmanax-infra #基础设施层,主要是对接二方依赖,数据库,MQ等中件间。依赖domain层
+│ └── entity
+├── orgmanax-infra #基础设施层
+│ ├── src
+│ │ ├── main
+│ │ │ └── java
+│ │ │ └── cn
+│ │ │ └── axzo
+│ │ │ └── orgmanax
+│ │ │ └── infra
+│ │ │ ├── client#外部依赖
+│ │ │ │ ├── apollo#apollo相关依赖
+│ │ │ │ │ └── dto
+│ │ │ │ └── workspace#workspace相关依赖
+│ │ │ │ └── dto
+│ │ │ ├── config# 组件配置
+│ │ │ ├── dao#数据层
+│ │ │ │ ├── node#节点相关
+│ │ │ │ │ ├── dao
+│ │ │ │ │ ├── entity#实体
+│ │ │ │ │ ├── mapper
+│ │ │ │ │ └── repository#防腐gateway
+│ │ │ │ │ └── impl
+│ │ │ │ └── unit#单位相关
+│ │ │ │ ├── dao
+│ │ │ │ ├── entity
+│ │ │ │ ├── mapper
+│ │ │ │ └── repository
+│ │ │ │ └── impl
+├── orgmanax-integration #封装非基础域API,该层会引用其它域的feign
+│ └── src
+│ └── main
+│ └── java
+│ └── cn
+│ └── axzo
+│ └── orgmanax
+│ └── integration
+│ ├── config
+│ ├── core
+│ └── sdk
+│ ├── apollo#apollo相关接口
+│ ├── datacollection#datacollection相关接口
+│ ├── elise
+│ ├── gaia
+│ └── profile
+├── orgmanax-server#业务服务层
│ └── src
│ ├── main
-│ │ ├── java
-│ │ │ └── cn
-│ │ │ └── axzo
-│ │ │ └── orgmanax
-│ │ │ └── infra
-│ │ │ ├── client #外部API防腐层
-│ │ │ ├── config #基础配置,如mybatis_plus的配置
-│ │ │ └── dao #数据访问层
-│ │ │ └── node #部门相关
-│ │ │ ├── convert #数据转换相关,比如将entity转换为数据实体do
-│ │ │ ├── dao #mybatisplus的service实现,用于CRUD,可与Lambda表达式配合使用。
-│ │ │ ├── DO #数据实体 包含实体的属性及行为
-│ │ │ ├── repos # 业务查询防腐层,提供给service层使用,用于隔离service层与dao层
-│ │ │ │ └── impl #gateway的具体实现可以调用dao完成相关功能,也可以作为聚合根获取数据的实现
-│ │ │ └── mapper
-|
-└── orgmanax-server
+│ │ └── java
+│ │ └── cn
+│ │ └── axzo
+│ │ └── orgmanax
+│ │ └── server
+│ │ ├── cooperateship#协同关系域
+│ │ │ ├── controller
+│ │ │ ├── event#协同关系事件
+│ │ │ │ └── inner
+│ │ │ │ └── payload
+│ │ │ └── service# 协同关系业务
+│ │ │ └── impl
+│ │ ├── node#部门相关
+│ │ │ ├── controller
+│ │ │ ├── event#部门事件
+│ │ │ │ └── inner
+│ │ │ │ └── payload
+│ │ │ ├── foundation#部门基础功能(如创建部门、更新部门)
+│ │ │ │ ├── impl
+│ │ │ │ └── req
+│ │ │ └── service# 部门业务(创建班组、解散班组、更换班组长、创建小组)
+│ │ │ ├── impl
+│ │ │ └── processor # 部门业务路由
+│ │ │ └── impl # 部门业务具体现实(创建班组实现类、创建小组实现类)
+└── orgmanax-starter #启动类
└── src
- ├── main
- │ ├── java
- │ │ └── cn
- │ │ └── axzo
- │ │ └── orgmanax
- │ │ └── server
- │ │ ├── controller# 继承API实现
- │ │ │ ├── biz #业务接口
- │ │ │ │ └── team #班组业务接口
- │ │ │ └── foundation #基础接口
- │ │ │ ├── node #部门基础接口
- │ │ │ └── unit #单位基础接口
- │ │ └── service # 业务实现
- │ │ ├── biz #业务接口
- │ │ │ └── team # 班组相关API
- │ │ └── foundation #基础接口
- │ │ └── node #部门
- │ │ ├── check #校验
- │ │ ├── convert # 转换
- │ │ ├── entity #foundation的业务入参指定为XXXQuery、XXXCreate
- │ │ └── service #基础接口的业务实现
+ └── main
+ ├── java
+ │ └── cn
+ │ └── axzo
+ │ └── orgmanax
+ └── resources
+```
\ No newline at end of file
diff --git a/img_2.png b/img_2.png
new file mode 100644
index 0000000..fd28732
Binary files /dev/null and b/img_2.png differ
diff --git a/img_3.png b/img_3.png
new file mode 100644
index 0000000..30168e9
Binary files /dev/null and b/img_3.png differ
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/core/RpcWrapper.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/RpcWrapper.java
similarity index 95%
rename from orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/core/RpcWrapper.java
rename to orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/RpcWrapper.java
index 1f5d7ea..69aff49 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/core/RpcWrapper.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/RpcWrapper.java
@@ -1,4 +1,4 @@
-package cn.axzo.orgmanax.infra.client.core;
+package cn.axzo.orgmanax.infra.client;
import cn.axzo.foundation.exception.BusinessException;
import cn.axzo.foundation.result.ApiResult;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java
index 825eacf..ab28cad 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloTeamTaskOrderClient.java
@@ -1,6 +1,6 @@
package cn.axzo.orgmanax.infra.client.apollo;
-import cn.axzo.orgmanax.infra.client.apollo.dto.*;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloCheckProjectTeamTaskIsCompleteResp;
import java.util.List;
import java.util.Set;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java
index 35b7adb..5929283 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/apollo/ApolloWorkerTaskOrderClient.java
@@ -1,6 +1,10 @@
package cn.axzo.orgmanax.infra.client.apollo;
-import cn.axzo.orgmanax.infra.client.apollo.dto.*;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloBatchUnCompleteWorkerReq;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloCheckWorkerTaskIsFinishResp;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetPersonTagByCleanReq;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetPersonTagByCleanResp;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloTaskOrderResp;
import java.util.List;
import java.util.Map;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/datacollection/DataCollectionDictInfoClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/datacollection/DataCollectionDictInfoClient.java
index 325c001..4893c98 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/datacollection/DataCollectionDictInfoClient.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/datacollection/DataCollectionDictInfoClient.java
@@ -1,9 +1,19 @@
package cn.axzo.orgmanax.infra.client.datacollection;
-import cn.axzo.orgmanax.infra.client.datacollection.dto.*;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListJobByTypeResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListProfessionCategoriesResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListSkillLabelByCodesResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryByCodesReq;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryByCodesResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryTreeByCodesReq;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionProfessionResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionTeamCategoryResp;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
public interface DataCollectionDictInfoClient {
@@ -60,5 +70,13 @@ public interface DataCollectionDictInfoClient {
*/
List listSkillLabelByCodes(List codes);
+ public static void main(String[] args) {
+ Stream.of("one", "two", "three", "four")
+ .filter(e -> e.length() > 3)
+ .peek(e -> System.out.println("Filtered value: " + e))
+ .map(String::toUpperCase)
+ .peek(e -> System.out.println("Mapped value: " + e))
+ .collect(Collectors.toList());
+ }
}
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/elise/EliseStatesClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/elise/EliseStatesClient.java
index 0c19005..853a092 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/elise/EliseStatesClient.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/elise/EliseStatesClient.java
@@ -1,6 +1,10 @@
package cn.axzo.orgmanax.infra.client.elise;
-import cn.axzo.orgmanax.infra.client.elise.dto.*;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseGetPersonFilingsResp;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseGetWhetherPushReq;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseGetWhetherPushResp;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseListUserStateReq;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseListUserStateResp;
import java.util.List;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/PersonProfileGateway.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/PersonProfileGateway.java
index 1ffd2f6..56f6b92 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/PersonProfileGateway.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/PersonProfileGateway.java
@@ -1,9 +1,9 @@
package cn.axzo.orgmanax.infra.client.profile;
import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityProfilePostReq;
-import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityResp;
import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePersonResp;
import cn.axzo.orgmanax.infra.client.profile.dto.model.IdentityPair;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityResp;
import com.google.common.collect.ImmutableList;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/ProfileUserProfileClient.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/ProfileUserProfileClient.java
index 6e4494b..b5a45c1 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/ProfileUserProfileClient.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/ProfileUserProfileClient.java
@@ -1,6 +1,26 @@
package cn.axzo.orgmanax.infra.client.profile;
-import cn.axzo.orgmanax.infra.client.profile.dto.*;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileAddOperatorReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileAddOperatorResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileFindPersonProfileListByIdOrPhoneReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetIdentityProfileLiteReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetIdentityProfileLiteResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetPersonIdListByIdentityReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetPersonProfileListReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetWorkerGroupDetailResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetWorkerLeaderProfileListReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetWorkerProfileListV2Req;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityProfilePostReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePersonResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePostPractitionerProfileWithUnionPersonReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePractitionerResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileSaveWorkerProfessionReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileUserProfileCreateReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileUserProfileCreateResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileWorkerGroupResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileWorkerLeaderResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileWorkerResp;
import java.util.List;
import java.util.Map;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/ProfileWorkerGroupResp.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/ProfileWorkerGroupResp.java
index 5e906f3..a52883f 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/ProfileWorkerGroupResp.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/ProfileWorkerGroupResp.java
@@ -6,7 +6,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import lombok.ToString;
import java.math.BigDecimal;
import java.util.List;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/model/WorkerGroupTypeDTO.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/model/WorkerGroupTypeDTO.java
index b2db4c7..055f477 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/model/WorkerGroupTypeDTO.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/dto/model/WorkerGroupTypeDTO.java
@@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import lombok.ToString;
import java.util.List;
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/enums/RegisterSourceType.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/enums/RegisterSourceType.java
index 45f1498..9fa7926 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/enums/RegisterSourceType.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/profile/enums/RegisterSourceType.java
@@ -2,7 +2,6 @@ package cn.axzo.orgmanax.infra.client.profile.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
-import lombok.Data;
import lombok.Getter;
/**
diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/workspace/WorkspaceGateway.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/workspace/WorkspaceGateway.java
index 8bb7a46..d2c35e8 100644
--- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/workspace/WorkspaceGateway.java
+++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/workspace/WorkspaceGateway.java
@@ -7,9 +7,7 @@ import cn.axzo.apollo.workspace.api.v2.workspace.req.WorkspaceUpsertReq;
import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDetailListResp;
import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDetailResp;
import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceUpsertResp;
-import cn.axzo.orgmanax.infra.client.core.RpcWrapper;
-import cn.axzo.orgmanax.infra.client.workspace.dto.Workspace;
-import com.google.common.collect.ImmutableList;
+import cn.axzo.orgmanax.infra.client.RpcWrapper;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java
index c33ca3c..710b2aa 100644
--- a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java
+++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/apollo/ApolloWorkerTaskOrderClientImpl.java
@@ -7,7 +7,11 @@ import cn.axzo.apollo.api.res.CheckWorkerIsFinishGroupRes;
import cn.axzo.apollo.api.res.UserMarkRes;
import cn.axzo.apollo.api.rsp.TaskOrderRsp;
import cn.axzo.orgmanax.infra.client.apollo.ApolloWorkerTaskOrderClient;
-import cn.axzo.orgmanax.infra.client.apollo.dto.*;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloBatchUnCompleteWorkerReq;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloCheckWorkerTaskIsFinishResp;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetPersonTagByCleanReq;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloGetPersonTagByCleanResp;
+import cn.axzo.orgmanax.infra.client.apollo.dto.ApolloTaskOrderResp;
import cn.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/datacollection/DataCollectionDictInfoClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/datacollection/DataCollectionDictInfoClientImpl.java
index 3a26e4f..ff03b34 100644
--- a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/datacollection/DataCollectionDictInfoClientImpl.java
+++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/datacollection/DataCollectionDictInfoClientImpl.java
@@ -5,7 +5,15 @@ import cn.axzo.data.collection.dto.request.JobResp;
import cn.axzo.data.collection.dto.request.TeamCategoryListReq;
import cn.axzo.data.collection.dto.response.*;
import cn.axzo.orgmanax.infra.client.datacollection.DataCollectionDictInfoClient;
-import cn.axzo.orgmanax.infra.client.datacollection.dto.*;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListJobByTypeResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListProfessionCategoriesResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListSkillLabelByCodesResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryByCodesReq;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryByCodesResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionListTeamCategoryTreeByCodesReq;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionProfessionResp;
+import cn.axzo.orgmanax.infra.client.datacollection.dto.DataCollectionTeamCategoryResp;
import cn.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor;
diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/elise/EliseStatesClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/elise/EliseStatesClientImpl.java
index abc9650..a98344d 100644
--- a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/elise/EliseStatesClientImpl.java
+++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/elise/EliseStatesClientImpl.java
@@ -1,15 +1,17 @@
package cn.axzo.orgmanax.integration.sdk.elise;
-import cn.axzo.elise.cdzj.api.EliseDeviceApi;
import cn.axzo.elise.cdzj.api.EliseStatesApi;
import cn.axzo.elise.cdzj.entity.request.GetWhetherPushReq;
import cn.axzo.elise.cdzj.entity.request.PersonRegisterInfoReq;
import cn.axzo.elise.cdzj.entity.response.GetWhetherPushRes;
import cn.axzo.elise.cdzj.entity.response.PersonFilingsResp;
import cn.axzo.elise.cdzj.entity.response.PersonRegisterInfoResp;
-import cn.axzo.orgmanax.infra.client.elise.EliseDeviceClient;
import cn.axzo.orgmanax.infra.client.elise.EliseStatesClient;
-import cn.axzo.orgmanax.infra.client.elise.dto.*;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseGetPersonFilingsResp;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseGetWhetherPushReq;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseGetWhetherPushResp;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseListUserStateReq;
+import cn.axzo.orgmanax.infra.client.elise.dto.EliseListUserStateResp;
import cn.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor;
diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/gaia/GaiaOrderServiceClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/gaia/GaiaOrderServiceClientImpl.java
index b8df3f1..2089bd5 100644
--- a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/gaia/GaiaOrderServiceClientImpl.java
+++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/gaia/GaiaOrderServiceClientImpl.java
@@ -1,12 +1,9 @@
package cn.axzo.orgmanax.integration.sdk.gaia;
-import cn.axzo.elise.cdzj.entity.request.PersonRegisterInfoReq;
-import cn.axzo.elise.cdzj.entity.response.PersonRegisterInfoResp;
import cn.axzo.gaia.client.api.OrderServiceApi;
import cn.axzo.gaia.client.api.co.WorkerUnFinishWorkpointDTO;
import cn.axzo.gaia.client.api.co.request.WorkerConfirmedStatusRequest;
import cn.axzo.gaia.client.api.dto.WorkerConfirmedStatusResDTO;
-import cn.axzo.orgmanax.infra.client.elise.dto.EliseListUserStateResp;
import cn.axzo.orgmanax.infra.client.gaia.GaiaOrderServiceClient;
import cn.axzo.orgmanax.infra.client.gaia.dto.GaiaBatchQueryWorkerIsAllConfirmedReq;
import cn.axzo.orgmanax.infra.client.gaia.dto.GaiaBatchQueryWorkerIsAllConfirmedResp;
diff --git a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/profile/ProfileUserProfileClientImpl.java b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/profile/ProfileUserProfileClientImpl.java
index 23170b6..a94dfe1 100644
--- a/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/profile/ProfileUserProfileClientImpl.java
+++ b/orgmanax-integration/src/main/java/cn/axzo/orgmanax/integration/sdk/profile/ProfileUserProfileClientImpl.java
@@ -16,15 +16,33 @@ import cn.axzo.basics.profiles.dto.response.WorkerGroupDetailVO;
import cn.axzo.foundation.exception.BusinessException;
import cn.axzo.orgmanax.common.config.BizResultCode;
import cn.axzo.orgmanax.infra.client.profile.ProfileUserProfileClient;
-import cn.axzo.orgmanax.infra.client.profile.dto.*;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileAddOperatorReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileAddOperatorResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileFindPersonProfileListByIdOrPhoneReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetIdentityProfileLiteReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetIdentityProfileLiteResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetPersonIdListByIdentityReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetPersonProfileListReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetWorkerGroupDetailResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetWorkerLeaderProfileListReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileGetWorkerProfileListV2Req;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityProfilePostReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePersonResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePostPractitionerProfileWithUnionPersonReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfilePractitionerResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileSaveWorkerProfessionReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileUserProfileCreateReq;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileUserProfileCreateResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileWorkerGroupResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileWorkerLeaderResp;
+import cn.axzo.orgmanax.infra.client.profile.dto.ProfileWorkerResp;
import cn.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestParam;
-import javax.validation.constraints.NotNull;
import java.util.*;
import java.util.stream.Collectors;
diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java
index 740c7ef..00c8cd2 100644
--- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java
+++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/cooperateship/service/impl/CooperateShipServiceImpl.java
@@ -11,7 +11,6 @@ import cn.axzo.orgmanax.api.cooperateship.resp.CooperateShipTypeEnum;
import cn.axzo.orgmanax.api.cooperateship.resp.OrgCooperateShipDTO;
import cn.axzo.orgmanax.common.config.BizResultCode;
import cn.axzo.orgmanax.infra.client.workspace.WorkspaceGateway;
-import cn.axzo.orgmanax.infra.client.workspace.dto.Workspace;
import cn.axzo.orgmanax.infra.dao.cooperateship.entity.SaasCooperateShip;
import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipQueryRepository;
import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipUpsertRepository;