From f9057245c77dfc097e1126dcb8fcd5dff18ee76d Mon Sep 17 00:00:00 2001 From: TanJ Date: Tue, 17 Dec 2024 17:16:27 +0800 Subject: [PATCH] =?UTF-8?q?README.md=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 257 ++++++++++-------- img_2.png | Bin 0 -> 56341 bytes img_3.png | Bin 0 -> 46285 bytes .../infra/client/{core => }/RpcWrapper.java | 2 +- .../apollo/ApolloTeamTaskOrderClient.java | 2 +- .../apollo/ApolloWorkerTaskOrderClient.java | 6 +- .../DataCollectionDictInfoClient.java | 20 +- .../infra/client/elise/EliseStatesClient.java | 6 +- .../client/profile/PersonProfileGateway.java | 2 +- .../profile/ProfileUserProfileClient.java | 22 +- .../profile/dto/ProfileWorkerGroupResp.java | 1 - .../profile/dto/model/WorkerGroupTypeDTO.java | 1 - .../profile/enums/RegisterSourceType.java | 1 - .../client/workspace/WorkspaceGateway.java | 4 +- .../ApolloWorkerTaskOrderClientImpl.java | 6 +- .../DataCollectionDictInfoClientImpl.java | 10 +- .../sdk/elise/EliseStatesClientImpl.java | 8 +- .../sdk/gaia/GaiaOrderServiceClientImpl.java | 3 - .../profile/ProfileUserProfileClientImpl.java | 24 +- .../impl/CooperateShipServiceImpl.java | 1 - 20 files changed, 244 insertions(+), 132 deletions(-) create mode 100644 img_2.png create mode 100644 img_3.png rename orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/client/{core => }/RpcWrapper.java (95%) 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 附属域模型 如快照,操作记录等。按需使用 # 项目结构 - +![img_2.png](img_2.png) ## 模块描述 -模块名称 | 功能 | 依赖 ------- |--------------------------------------------------------------------------------------| ---- -`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` ## 各模块参数约束 -![img_1.png](img_1.png) +![img_3.png](img_3.png) - REQ:请求入参 - RESP:请求出参 - XXXQuery:基础功能入参 @@ -36,62 +76,28 @@ - XXXUpdate:更新入参 - DO:数据库实体,DO使用充血模型,包括属性和行为,定义行为的范围:只能是本对象内部属性发生变更的行为 -## 接口层级 -![img.png](img.png) - -### 接口路径定义规范 -接口定义按照 ```/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 0000000000000000000000000000000000000000..fd287324f2c9d312706fb49fbd6e30f4983de144 GIT binary patch literal 56341 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

8+Q0i6*5lYBIG>p-dx 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 F{{;fYD>488 literal 0 HcmV?d00001 diff --git a/img_3.png b/img_3.png new file mode 100644 index 0000000000000000000000000000000000000000..30168e94ee41aa6bc39c3f2e3c2be6321fbe40aa GIT binary patch literal 46285 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�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 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;