README.md调整

This commit is contained in:
TanJ 2024-12-17 17:16:27 +08:00
parent ac6fb87706
commit f9057245c7
20 changed files with 244 additions and 132 deletions

257
README.md
View File

@ -2,33 +2,73 @@
- 项目名称Orgmanax“Org” 代表 `organization组织``man` 表示 “人”,`ax` 象征对这些元素进行整合. - 项目名称Orgmanax“Org” 代表 `organization组织``man` 表示 “人”,`ax` 象征对这些元素进行整合.
- 项目简介:维护单位、部门、人员、岗位相关的业务及数据,比如:通讯录、项目添加人员、添加班组、更换班组长等 - 项目简介:维护单位、部门、人员、岗位相关的业务及数据,比如:通讯录、项目添加人员、添加班组、更换班组长等
## 名词说明
- 企业/单位organizational_unit分为企业有营业执照和团队无营业执照团队主要用于挂载班组每个企业可以有自己的组织架构。
项目场景下,称为参加单位;每个单位在不同的项目参建的身份(总包、分包、建设单位等)可以不一致。
- 部门(organizational_node):分为普通部门和班组部门,每个部门可设置部门负责人,且此负责人可以不归属于该部门,只是挂职。
- 岗位(org_job):岗位主数据,同一个人在一个单位,一个项目下只会存在一个岗位。
- 人:人挂在部门下;同一个工人可以挂在不同单位/团队(受最大次数限制);同一个工人可以挂在同一个项目的不同部门/班组。
所有人、岗、架相关数据发生变更,都要有统一的日志流水记录(按需发送消息事件)。
# 项目约束 # 项目约束
- 引用外部其它域、第三方SDK时需要与Leader确认禁止私自引入 - 引用外部其它域、第三方SDK时需要与Leader确认禁止私自引入。
- service分为`foundation`(基础功能)与`biz`(业务功能)。`foundation`不可依赖`biz``biz`应依赖`foundation`完成部分功能。原则上`biz`与`biz`也不应该互相依赖
- 枚举不要做成参数的返回值。防止使用方不发布版本,解析失败的问题。 - 枚举不要做成参数的返回值。防止使用方不发布版本,解析失败的问题。
- 为每个接口定义自己的出入参,不要复用出入参 - service层提供的出参与入参不能包含ApiResult。
- 所有的写接口都必须经过foundation层进行收口。
- Server 模块分为 Service 与 Foundation。Foundation 承担基础功能Service 负责业务功能编排。同域 Service 只能用本域 Foundation不可用他域 Foundation若需跨域则必须调用他域 Service。
- 业务上完全不用的数据才能标记为is_delete不使用全局默认值。
- json框架使用fastjson。
## 接口规范
- 所有接口统一采用POST列表接口需要带上分页且设置默认大小1000条 - 所有接口统一采用POST列表接口需要带上分页且设置默认大小1000条
- 接口出入参,必须使用可扩展的对象类型。不能直接是 StringInteger或者List这些无法扩展的类型。
- 为每个接口定义自己的出入参,不要复用出入参
- 接口URL使用 【-】符号进行分割,比如: /orgmanax/node/create-team - 接口URL使用 【-】符号进行分割,比如: /orgmanax/node/create-team
- service层提供的出参与入参不能包含ApiResult - 接口定义规范: 使用```/api/org/${domain}/${affiliateDomain}/${action}``` 形式进行定义。如:
- 提供出去的feign api要自己注入spring容器 ```
/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-api` | API层提供给org-gateway的接口 |无
`orgmanax-common`| 公共组件、UTIL等 |无 `orgmanax-common`| 公共组件、UTIL等 |无
`orgmanax-infra` | 基础设施层,隔离非业务变化,防止外部变化引起内部业务变更。<br/>对接外部依赖数据库MQ等中件间 | `orgmanax-common` `orgmanax-infra` | 基础设施层,隔离非业务变化,防止外部变化引起内部业务变更。<br/>对接外部依赖数据库MQ等中件间 | `orgmanax-common`
`orgmanax-server`| 业务层,核心分为两层:<br/>1、基础业务层:`foundation`<br/>2、业务层`biz` <br/>`foundation`依赖`biz`完成业务编排 | `orgmanax-api` `orgmanax-common` `orgmanax-infra` `orgmanax-integration`| 封装了非基础业务的API防止外部API无用依赖影响内部。如apollo-api、gaia-api等 | `orgmanax-infra`
`orgmanax-server`| 业务层,核心分为两层:<br/>1、基础层:`foundation` 单域核心逻辑如:创建部门,创建单位 <br/>2、业务层`service` 如:创建班组、创建小组 <br/>`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请求入参 - REQ请求入参
- RESP请求出参 - RESP请求出参
- XXXQuery基础功能入参 - XXXQuery基础功能入参
@ -36,62 +76,28 @@
- XXXUpdate更新入参 - XXXUpdate更新入参
- DO数据库实体DO使用充血模型包括属性和行为定义行为的范围只能是本对象内部属性发生变更的行为 - 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 #提供给二方的功能,包括基础功能、业务功能。 ├── orgmanax-api #给org-gateway提供的api
│   └── src │   ├── src
│   ├── main │   │   ├── main
│   │   └── java │   │   │   └── java
│   │   └── cn │   │   │   └── cn
│   │   └── axzo │   │   │   └── axzo
│   │   └── orgmanax │   │   │   └── orgmanax
│   │   └── api │   │   │   └── api#各域的fei与req
│   │   ├── config #配置将Feign接口托管至spring │   │   │   ├── config #配置
│   │   ├── feign #配置将Feign接口托管至spring │   │   │   ├── cooperateship#协同关系
│   │   |   ├── node #部门相关接口 │   │   │   │   ├── feign
│   │   │   |   ├── feign #API │   │   │   │   ├── req
│   │   │   |   ├── req #请求入参 │   │   │   │   └── resp
│   │   │   |   └── resp #请求出参 │   │   │   ├── node #节点
│   │   |   ├── unit #单位相关接口 │   │   │   │   ├── feign
│   │   │   |   ├── feign #API │   │   │   │   ├── req
│   │   │   |   ├── req #请求入参 │   │   │   │   └── resp
│   │   │   |   └── resp #请求出参 ├── orgmanax-common #公共包,如:常量、枚举、工具类、异常等
│   │   |   ├── team #班组业务相关接口
│   │   │   |   ├── feign #API
│   │   │   |   ├── req #请求入参
│   │   │   |   └── resp #请求出参
│   └── resources
│   └── META-INF #SPIservice provider interface)
|
├── orgmanax-common #公共包
│   └── src │   └── src
│   └── main │   └── main
│   └── java │   └── java
@ -100,47 +106,84 @@
│   └── orgmanax │   └── orgmanax
│   └── common │   └── common
│   ├── config │   ├── config
| │   └── entity
├── orgmanax-infra #基础设施层主要是对接二方依赖数据库MQ等中件间。依赖domain层 ├── 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 │   └── src
│   ├── main │   ├── main
│   │   ├── java │   │   └── java
│   │   │   └── cn │   │   └── cn
│   │   │   └── axzo │   │   └── axzo
│   │   │   └── orgmanax │   │   └── orgmanax
│   │   │   └── infra │   │   └── server
│   │   │   ├── client #外部API防腐层 │   │   ├── cooperateship#协同关系域
│   │   │   ├── config #基础配置如mybatis_plus的配置 │   │   │   ├── controller
│   │   │   └── dao #数据访问层 │   │   │   ├── event#协同关系事件
│   │   │   └── node #部门相关 │   │   │   │   └── inner
│   │   │   ├── convert #数据转换相关比如将entity转换为数据实体do │   │   │   │   └── payload
│   │   │   ├── dao #mybatisplus的service实现用于CRUD可与Lambda表达式配合使用。 │   │   │   └── service# 协同关系业务
│   │   │   ├── DO #数据实体 包含实体的属性及行为 │   │   │   └── impl
│   │   │   ├── repos # 业务查询防腐层提供给service层使用用于隔离service层与dao层 │   │   ├── node#部门相关
│   │   │   │   └── impl #gateway的具体实现可以调用dao完成相关功能,也可以作为聚合根获取数据的实现 │   │   │   ├── controller
│   │   │   └── mapper │   │   │   ├── event#部门事件
| │   │   │   │   └── inner
└── orgmanax-server │   │   │   │   └── payload
│   │   │   ├── foundation#部门基础功能(如创建部门、更新部门)
│   │   │   │   ├── impl
│   │   │   │   └── req
│   │   │   └── service# 部门业务(创建班组、解散班组、更换班组长、创建小组)
│   │   │   ├── impl
│   │   │   └── processor # 部门业务路由
│   │   │   └── impl # 部门业务具体现实(创建班组实现类、创建小组实现类)
└── orgmanax-starter #启动类
└── src └── src
├── main └── main
│   ├── java ├── java
│   │   └── cn │   └── cn
│   │   └── axzo │   └── axzo
│   │   └── orgmanax │   └── orgmanax
│   │   └── server └── resources
│   │   ├── controller# 继承API实现
│   │   │   ├── biz #业务接口
│   │   │   │   └── team #班组业务接口
│   │   │   └── foundation #基础接口
│   │   │   ├── node #部门基础接口
│   │   │   └── unit #单位基础接口
│   │   └── service # 业务实现
│   │   ├── biz #业务接口
│   │   │   └── team # 班组相关API
│   │   └── foundation #基础接口
│   │   └── node #部门
│   │   ├── check #校验
│   │   ├── convert # 转换
│   │   ├── entity #foundation的业务入参指定为XXXQuery、XXXCreate
│   │   └── service #基础接口的业务实现
```

BIN
img_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
img_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -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.exception.BusinessException;
import cn.axzo.foundation.result.ApiResult; import cn.axzo.foundation.result.ApiResult;

View File

@ -1,6 +1,6 @@
package cn.axzo.orgmanax.infra.client.apollo; 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.List;
import java.util.Set; import java.util.Set;

View File

@ -1,6 +1,10 @@
package cn.axzo.orgmanax.infra.client.apollo; 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.List;
import java.util.Map; import java.util.Map;

View File

@ -1,9 +1,19 @@
package cn.axzo.orgmanax.infra.client.datacollection; 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.List;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public interface DataCollectionDictInfoClient { public interface DataCollectionDictInfoClient {
@ -60,5 +70,13 @@ public interface DataCollectionDictInfoClient {
*/ */
List<DataCollectionListSkillLabelByCodesResp> listSkillLabelByCodes(List<String> codes); List<DataCollectionListSkillLabelByCodesResp> listSkillLabelByCodes(List<String> 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());
}
} }

View File

@ -1,6 +1,10 @@
package cn.axzo.orgmanax.infra.client.elise; 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; import java.util.List;

View File

@ -1,9 +1,9 @@
package cn.axzo.orgmanax.infra.client.profile; package cn.axzo.orgmanax.infra.client.profile;
import cn.axzo.orgmanax.infra.client.profile.dto.ProfileIdentityProfilePostReq; 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.ProfilePersonResp;
import cn.axzo.orgmanax.infra.client.profile.dto.model.IdentityPair; 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 com.google.common.collect.ImmutableList;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;

View File

@ -1,6 +1,26 @@
package cn.axzo.orgmanax.infra.client.profile; 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.List;
import java.util.Map; import java.util.Map;

View File

@ -6,7 +6,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.ToString;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;

View File

@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.ToString;
import java.util.List; import java.util.List;

View File

@ -2,7 +2,6 @@ package cn.axzo.orgmanax.infra.client.profile.enums;
import com.baomidou.mybatisplus.annotation.EnumValue; import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter; import lombok.Getter;
/** /**

View File

@ -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.WorkspaceDetailListResp;
import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDetailResp; import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceDetailResp;
import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceUpsertResp; import cn.axzo.apollo.workspace.api.v2.workspace.resp.WorkspaceUpsertResp;
import cn.axzo.orgmanax.infra.client.core.RpcWrapper; import cn.axzo.orgmanax.infra.client.RpcWrapper;
import cn.axzo.orgmanax.infra.client.workspace.dto.Workspace;
import com.google.common.collect.ImmutableList;
import lombok.*; import lombok.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

View File

@ -7,7 +7,11 @@ import cn.axzo.apollo.api.res.CheckWorkerIsFinishGroupRes;
import cn.axzo.apollo.api.res.UserMarkRes; import cn.axzo.apollo.api.res.UserMarkRes;
import cn.axzo.apollo.api.rsp.TaskOrderRsp; import cn.axzo.apollo.api.rsp.TaskOrderRsp;
import cn.axzo.orgmanax.infra.client.apollo.ApolloWorkerTaskOrderClient; 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.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

View File

@ -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.request.TeamCategoryListReq;
import cn.axzo.data.collection.dto.response.*; import cn.axzo.data.collection.dto.response.*;
import cn.axzo.orgmanax.infra.client.datacollection.DataCollectionDictInfoClient; 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.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;

View File

@ -1,15 +1,17 @@
package cn.axzo.orgmanax.integration.sdk.elise; 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.api.EliseStatesApi;
import cn.axzo.elise.cdzj.entity.request.GetWhetherPushReq; import cn.axzo.elise.cdzj.entity.request.GetWhetherPushReq;
import cn.axzo.elise.cdzj.entity.request.PersonRegisterInfoReq; import cn.axzo.elise.cdzj.entity.request.PersonRegisterInfoReq;
import cn.axzo.elise.cdzj.entity.response.GetWhetherPushRes; import cn.axzo.elise.cdzj.entity.response.GetWhetherPushRes;
import cn.axzo.elise.cdzj.entity.response.PersonFilingsResp; import cn.axzo.elise.cdzj.entity.response.PersonFilingsResp;
import cn.axzo.elise.cdzj.entity.response.PersonRegisterInfoResp; 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.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.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;

View File

@ -1,12 +1,9 @@
package cn.axzo.orgmanax.integration.sdk.gaia; 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.OrderServiceApi;
import cn.axzo.gaia.client.api.co.WorkerUnFinishWorkpointDTO; import cn.axzo.gaia.client.api.co.WorkerUnFinishWorkpointDTO;
import cn.axzo.gaia.client.api.co.request.WorkerConfirmedStatusRequest; import cn.axzo.gaia.client.api.co.request.WorkerConfirmedStatusRequest;
import cn.axzo.gaia.client.api.dto.WorkerConfirmedStatusResDTO; 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.GaiaOrderServiceClient;
import cn.axzo.orgmanax.infra.client.gaia.dto.GaiaBatchQueryWorkerIsAllConfirmedReq; import cn.axzo.orgmanax.infra.client.gaia.dto.GaiaBatchQueryWorkerIsAllConfirmedReq;
import cn.axzo.orgmanax.infra.client.gaia.dto.GaiaBatchQueryWorkerIsAllConfirmedResp; import cn.axzo.orgmanax.infra.client.gaia.dto.GaiaBatchQueryWorkerIsAllConfirmedResp;

View File

@ -16,15 +16,33 @@ import cn.axzo.basics.profiles.dto.response.WorkerGroupDetailVO;
import cn.axzo.foundation.exception.BusinessException; import cn.axzo.foundation.exception.BusinessException;
import cn.axzo.orgmanax.common.config.BizResultCode; import cn.axzo.orgmanax.common.config.BizResultCode;
import cn.axzo.orgmanax.infra.client.profile.ProfileUserProfileClient; 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.axzo.orgmanax.integration.core.RpcWrapper;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -11,7 +11,6 @@ import cn.axzo.orgmanax.api.cooperateship.resp.CooperateShipTypeEnum;
import cn.axzo.orgmanax.api.cooperateship.resp.OrgCooperateShipDTO; import cn.axzo.orgmanax.api.cooperateship.resp.OrgCooperateShipDTO;
import cn.axzo.orgmanax.common.config.BizResultCode; import cn.axzo.orgmanax.common.config.BizResultCode;
import cn.axzo.orgmanax.infra.client.workspace.WorkspaceGateway; 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.entity.SaasCooperateShip;
import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipQueryRepository; import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipQueryRepository;
import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipUpsertRepository; import cn.axzo.orgmanax.infra.dao.cooperateship.repository.CooperateShipUpsertRepository;