feat(REQ-3282): 单位api定义

This commit is contained in:
周敏 2024-12-05 16:38:56 +08:00
parent 3432758016
commit cf5dc70970
11 changed files with 150 additions and 43 deletions

View File

@ -37,6 +37,29 @@
## 接口层级
![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 附属域模型 如快照,操作记录等。按需使用
## 目录层级
```

View File

@ -0,0 +1,31 @@
package cn.axzo.orgmanax.api.unit.feign;
import cn.axzo.orgmanax.api.unit.req.CreateOrgUnitReq;
import cn.axzo.orgmanax.api.unit.req.ListOrgUnitReq;
import cn.axzo.orgmanax.api.unit.req.UpdateOrgUnitReq;
import cn.axzo.orgmanax.api.unit.resp.CreateOrgUnitResp;
import cn.axzo.orgmanax.api.unit.resp.ListOrgUnitResp;
import cn.axzo.orgmanax.api.unit.resp.UpdateOrgUnitResp;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
/**
* 单位API
* @author tanjie@axzo.cn
*/
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrgUnitApi {
@PostMapping("/api/org/unit/create")
CreateOrgUnitResp create(CreateOrgUnitReq req);
@PostMapping("/api/org/unit/update")
UpdateOrgUnitResp update(UpdateOrgUnitReq req);
@PostMapping("/api/org/unit/list")
ListOrgUnitResp list(ListOrgUnitReq req);
}

View File

@ -1,17 +0,0 @@
package cn.axzo.orgmanax.api.unit.feign.basic;
import org.springframework.cloud.openfeign.FeignClient;
/**
*
* @author tanjie@axzo.cn
*/
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrganizationalUnitBasicApi {
}

View File

@ -1,18 +0,0 @@
package cn.axzo.orgmanax.api.unit.feign.biz;
import org.springframework.cloud.openfeign.FeignClient;
/**
* business-oriented api related to unit
* @author tanjie@axzo.cn
* @date 2024/12/2 15:40
*/
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
public interface OrganizationalUnitBizApi {
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.unit.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class CreateOrgUnitReq implements Serializable {
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.unit.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class ListOrgUnitReq implements Serializable {
}

View File

@ -1,8 +0,0 @@
package cn.axzo.orgmanax.api.unit.req;
/**
* @author tanjie@axzo.cn
* @date 2024/12/3 14:23
*/
public class OrganizationalUnitQueryReq {
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.unit.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class UpdateOrgUnitReq implements Serializable {
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.unit.resp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class CreateOrgUnitResp implements Serializable {
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.unit.resp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class ListOrgUnitResp implements Serializable {
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.unit.resp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class UpdateOrgUnitResp implements Serializable {
}