From 140882a0ec45a1ca850796c574067117db32d14a Mon Sep 17 00:00:00 2001 From: lqyan Date: Tue, 6 Feb 2024 18:48:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E6=88=90=E6=9F=A5=E8=AF=A2=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jhinno/sdk/openapi/api/PageResult.java | 37 +++++ .../openapi/api/app/JHAppApiExecution.java | 2 + .../openapi/api/auth/AuthPathConstant.java | 2 + .../openapi/api/file/JHFileApiExecution.java | 2 + .../organization/DepartmentPathConstant.java | 21 +++ .../JHDepartmentApiExecution.java | 22 +++ .../api/organization/JHUserApiExecution.java | 54 +++++++ .../openapi/api/organization/UserInfo.java | 137 ++++++++++++++++++ .../api/organization/UserPathConstant.java | 29 ++++ .../test/organization/DepartmentApiTest.java | 15 ++ .../test/organization/UserApiTest.java | 28 ++++ 11 files changed, 349 insertions(+) create mode 100644 src/main/java/com/jhinno/sdk/openapi/api/PageResult.java create mode 100644 src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java create mode 100644 src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java create mode 100644 src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java create mode 100644 src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java create mode 100644 src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java create mode 100644 src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java create mode 100644 src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java diff --git a/src/main/java/com/jhinno/sdk/openapi/api/PageResult.java b/src/main/java/com/jhinno/sdk/openapi/api/PageResult.java new file mode 100644 index 0000000..6c18f4e --- /dev/null +++ b/src/main/java/com/jhinno/sdk/openapi/api/PageResult.java @@ -0,0 +1,37 @@ +package com.jhinno.sdk.openapi.api; + +import lombok.Data; + +import java.util.List; + +/** + * 分页工具 + * + * @author yanlongqi + * @date 2024/2/6 18:14 + */ +@Data +public class PageResult { + + /** + * 总记录数 + */ + private Long totalCount; + /** + * 每页记录数 + */ + private Long pageSize; + /** + * 总页数 + */ + private Long totalPage; + /** + * 当前页数 + */ + private Long currentPage; + /** + * 列表数据 + */ + private List list; + +} diff --git a/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java b/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java index 88914c4..99c11f7 100644 --- a/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java +++ b/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java @@ -15,6 +15,8 @@ import java.util.List; import java.util.Map; /** + * 会话启动相关接口执行器 + * * @author yanlongqi * @date 2024/2/1 16:26 */ diff --git a/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java b/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java index f169d9d..e8d855f 100644 --- a/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java +++ b/src/main/java/com/jhinno/sdk/openapi/api/auth/AuthPathConstant.java @@ -1,6 +1,8 @@ package com.jhinno.sdk.openapi.api.auth; /** + * 鉴权相关接口路径 + * * @author yanlongqi * @date 2024/1/29 10:32 */ diff --git a/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java b/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java index 513cede..1589e00 100644 --- a/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java +++ b/src/main/java/com/jhinno/sdk/openapi/api/file/JHFileApiExecution.java @@ -21,6 +21,8 @@ import java.util.List; import java.util.Map; /** + * 文件相关接口执行器 + * * @author yanlongqi * @date 2024/2/4 18:58 */ diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java b/src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java new file mode 100644 index 0000000..4770cfd --- /dev/null +++ b/src/main/java/com/jhinno/sdk/openapi/api/organization/DepartmentPathConstant.java @@ -0,0 +1,21 @@ +package com.jhinno.sdk.openapi.api.organization; + +/** + * 部门相关接口路径 + * + * @author yanlongqi + * @date 2024/2/6 17:38 + */ +public class DepartmentPathConstant { + + /** + * 组织 + */ + public static final String DEPARTMENT_PATH = "/ws/api/deps"; + + + /** + * 组织名称操作组织 + */ + public static final String DEPARTMENT_NAME_PATH = "/ws/api/deps/{depName}"; +} diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java b/src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java new file mode 100644 index 0000000..07f00c2 --- /dev/null +++ b/src/main/java/com/jhinno/sdk/openapi/api/organization/JHDepartmentApiExecution.java @@ -0,0 +1,22 @@ +package com.jhinno.sdk.openapi.api.organization; + +import com.jhinno.sdk.openapi.api.JHApiExecution; +import com.jhinno.sdk.openapi.client.JHApiClient; + +/** + * 部门相关接口执行器 + * + * @author yanlongqi + * @date 2024/2/6 17:37 + */ +public class JHDepartmentApiExecution extends JHApiExecution { + + /** + * 获取一个执行器的实例 + * + * @param jhApiClient 请求的客户端 + */ + public JHDepartmentApiExecution(JHApiClient jhApiClient) { + super(jhApiClient); + } +} diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java b/src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java new file mode 100644 index 0000000..097135d --- /dev/null +++ b/src/main/java/com/jhinno/sdk/openapi/api/organization/JHUserApiExecution.java @@ -0,0 +1,54 @@ +package com.jhinno.sdk.openapi.api.organization; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.jhinno.sdk.openapi.api.JHApiExecution; +import com.jhinno.sdk.openapi.api.PageResult; +import com.jhinno.sdk.openapi.api.ResponseResult; +import com.jhinno.sdk.openapi.client.JHApiClient; +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Map; + +/** + * 用户相关接口执行器 + * + * @author yanlongqi + * @date 2024/2/6 17:37 + */ +public class JHUserApiExecution extends JHApiExecution { + /** + * 获取一个执行器的实例 + * + * @param jhApiClient 请求的客户端 + */ + public JHUserApiExecution(JHApiClient jhApiClient) { + super(jhApiClient); + } + + + /** + * 分页查询用户列表 + * + * @param username 用户名 + * @param keyword 检索关键字 + * @param depName 部门名称 + * @param userConf 密级 + * @return 分页的用户列表 + */ + public PageResult getUserList(String username, String keyword, String depName, String userConf) { + Map params = new HashMap<>(3); + if (StringUtils.isNotBlank(keyword)) { + params.put("keyWord", keyword); + } + if (StringUtils.isNotBlank(depName)) { + params.put("depName", depName); + } + if (StringUtils.isNotBlank(userConf)) { + params.put("userConf", userConf); + } + String path = JHApiClient.getUrl(UserPathConstant.USERS_PATH, params); + return get(path, username, new TypeReference>>() { + }); + } +} diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java b/src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java new file mode 100644 index 0000000..9de274e --- /dev/null +++ b/src/main/java/com/jhinno/sdk/openapi/api/organization/UserInfo.java @@ -0,0 +1,137 @@ +package com.jhinno.sdk.openapi.api.organization; + +import lombok.Data; + +import java.util.Date; + +/** + * @author yanlongqi + * @date 2024/2/6 18:15 + */ +@Data +public class UserInfo { + + /** + * 用户名 + */ + private String userName; + + /** + * 用户处中文名 + */ + private String userNameCn; + + + private String userLevel; + + /** + * 用户身份证 + */ + private String userCard; + + /** + * 用户部门id + */ + private Integer userDep; + + /** + * 用户部门名称 + */ + private String userDepName; + + /** + * 用户部门中文名称 + */ + private String userDepNameCn; + + /** + * 用户说明 + */ + private String userNote; + + /** + * 用户电话 + */ + private String userTel; + + /** + * 用户邮箱 + */ + private String userMail; + + /** + * 用户类型 + */ + private String userType; + + /** + * 用户密级 + */ + private String userConf; + + /** + * 用户状态 + *
    + *
  • normal(正常)
  • + *
  • unaudit(未审核)
  • + *
  • freezing(冻结)
  • + *
+ */ + private String userStat; + + /** + * 用户最大作业数 + */ + private Integer userMaxJobs; + + + /** + * 修改时间 + */ + private String updateTime; + + /** + * + */ + private Integer count; + + /** + * 用户登录时间 + */ + private Date userLoginTime; + + /** + * 用户的创建者 + */ + private String userCreator; + + /** + * 首次登录提醒 + */ + private String firstLoginAlert; + + /** + * 最后修改密码的时间 + */ + private Date lastUpdatePasswordTime; + + /** + * 密码是否初始化 + */ + private Boolean pwdInit; + + /** + * 组编号 + */ + private Integer uidNumber; + + /** + * 排序 + */ + private Date sort; + + /** + * 用户账号过期时间 + */ + private String userExpireTime; +} diff --git a/src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java b/src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java new file mode 100644 index 0000000..960a9d0 --- /dev/null +++ b/src/main/java/com/jhinno/sdk/openapi/api/organization/UserPathConstant.java @@ -0,0 +1,29 @@ +package com.jhinno.sdk.openapi.api.organization; + +/** + * 用户相关接口路径 + * + * @author yanlongqi + * @date 2024/2/6 17:37 + */ +public class UserPathConstant { + + /** + * 查询用户和修改用户 + */ + public static final String USERS_PATH = "/ws/api/users"; + + + /** + * 修改用户和删除用户 + */ + public static final String USERS_USERNAME_PATH = "/ws/api/users/{username}"; + + + /** + * 充值用户密码 + */ + public static final String USERS_RESET_PASSWORD_PATH = "/ws/api/users/{username}/password/password_reset"; + + +} diff --git a/src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java b/src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java new file mode 100644 index 0000000..9f790f8 --- /dev/null +++ b/src/test/java/com/jhinno/sdk/openapi/test/organization/DepartmentApiTest.java @@ -0,0 +1,15 @@ +package com.jhinno.sdk.openapi.test.organization; + +import com.jhinno.sdk.openapi.api.organization.JHDepartmentApiExecution; +import com.jhinno.sdk.openapi.test.JHClientConfig; + +/** + * 组织接口相关单元测试 + * + * @author yanlongqi + * @date 2024/2/6 18:09 + */ +public class DepartmentApiTest { + + private static final JHDepartmentApiExecution execution = new JHDepartmentApiExecution(JHClientConfig.client); +} diff --git a/src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java b/src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java new file mode 100644 index 0000000..7070b24 --- /dev/null +++ b/src/test/java/com/jhinno/sdk/openapi/test/organization/UserApiTest.java @@ -0,0 +1,28 @@ +package com.jhinno.sdk.openapi.test.organization; + +import com.jhinno.sdk.openapi.api.PageResult; +import com.jhinno.sdk.openapi.api.organization.JHUserApiExecution; +import com.jhinno.sdk.openapi.api.organization.UserInfo; +import com.jhinno.sdk.openapi.test.JHClientConfig; +import org.junit.Test; + +/** + * 用户相关执行器单元测试 + * + * @author yanlongqi + * @date 2024/2/6 18:09 + */ +public class UserApiTest { + + private static final JHUserApiExecution execution = new JHUserApiExecution(JHClientConfig.client); + + + /** + * 测试获取组织列表 + */ + @Test + public void testGetUserList() { + PageResult result = execution.getUserList("jhadmin", null, null, null); + System.out.println("result = " + result); + } +}