用户接口集成完成

This commit is contained in:
lqyan
2024-02-19 11:17:22 +08:00
parent 140882a0ec
commit 95364820c0
4 changed files with 212 additions and 2 deletions

View File

@@ -0,0 +1,91 @@
package com.jhinno.sdk.openapi.api.organization;
import lombok.Data;
import java.util.Date;
/**
* 添加用户
*
* @author yanlongqi
* @date 2024/2/19 10:14
*/
@Data
public class AddUpdateUserInfo {
/**
* 用户名(必填)
*/
private String userName;
/**
* 用户中文名(必填)
*/
private String userNameCn;
/**
* 用户密码(必填,需要修改)
*/
private String userPassword;
/**
* 用户身份证(非必填)
*/
private String userCard;
/**
* 部门名称(必填)
*/
private String depName;
/**
* 部门中文名称(没必要)
*/
private String depNameCn;
/**
* 用户说明(非必填)
*/
private String userNote;
/**
* 用户电话(非必填)
*/
private String userTel;
/**
* 用户邮箱(非必填)
*/
private String userMail;
/**
* 用户密级配置(非必填)
*/
private String userConf;
/**
* 用户密级配置中文名(没必要)
*/
private String userConfCn;
/**
* 用户角色(非必填)
*/
private String userRole;
/**
* 用户角色中文名(没必要)
*/
private String userRoleCn;
/**
* 账号有效时间(非必填,为空这表示永不失效)
*/
private Date userExpireTime;
/**
* 属性(不知道有什么用)
*/
private String attribute;
}

View File

@@ -12,6 +12,8 @@ import java.util.Map;
/** /**
* 用户相关接口执行器 * 用户相关接口执行器
* <br/>
* 注要调用以下接口传入的username必须有user_manager的权限
* *
* @author yanlongqi * @author yanlongqi
* @date 2024/2/6 17:37 * @date 2024/2/6 17:37
@@ -51,4 +53,102 @@ public class JHUserApiExecution extends JHApiExecution {
return get(path, username, new TypeReference<ResponseResult<PageResult<UserInfo>>>() { return get(path, username, new TypeReference<ResponseResult<PageResult<UserInfo>>>() {
}); });
} }
/**
* 添加用户
*
* @param username 用户名
* @param userInfo 用户信息
*/
public void addUser(String username, AddUpdateUserInfo userInfo) {
post(UserPathConstant.USERS_PATH, username, userInfo);
}
/**
* 修改用户信息
*
* @param username 用户名
* @param userInfo 用户信息
*/
public void updateUser(String username, AddUpdateUserInfo userInfo) {
String path = UserPathConstant.USERS_USERNAME_PATH.replace("{username}", userInfo.getUserName());
put(path, username, userInfo);
}
/**
* 修改或重置用户密码
*
* <ul>
* <li>当type值为{@link UpdateUserPasswordType#FORCE_UPDATE_PASSWORD_TYPE} 时会怎样</li>
* <li>当type值为{@link UpdateUserPasswordType#RESET_UPDATE_PASSWORD_TYPE} 时会怎样</li>
* <li>当type值为空时会怎样</li>
* </ul>
* 参数怎么传,还需进一步确认,此处需要增加三个重构,方便开发者调用
*
* @param username 用户名
* @param updatePasswordUsername 被修改的用户名
* @param oldPassword 旧密码
* @param password 新密码
* @param type 类型,(非必填,取值见{@link UpdateUserPasswordType}
*/
public void updateUserPassword(String username, String updatePasswordUsername, String oldPassword, String password, String type) {
String path = UserPathConstant.USERS_RESET_PASSWORD_PATH.replace("{username}", updatePasswordUsername);
Map<String, Object> params = new HashMap<>(4);
if (StringUtils.isNotBlank(oldPassword)) {
params.put("oldPassword", oldPassword);
}
if (StringUtils.isNotBlank("type")) {
params.put("type", type);
}
params.put("password", password);
put(path, username, params);
}
/**
* 修改用户的密码
*
* @param username 用户名
* @param updatePasswordUsername 被修改的用户名
* @param oldPassword 旧密码
* @param password 新密码
*/
public void updateUserPassword(String username, String updatePasswordUsername, String oldPassword, String password) {
updateUserPassword(username, updatePasswordUsername, oldPassword, password, null);
}
/**
* 重置用户密码后强制用户修改密码
*
* @param username 用户名
* @param updatePasswordUsername 被修改的用户名
* @param password 新的用户密码
*/
public void resetForceUpdatePassword(String username, String updatePasswordUsername, String password) {
updateUserPassword(username, updatePasswordUsername, null, password, UpdateUserPasswordType.FORCE_UPDATE_PASSWORD_TYPE);
}
/**
* 重置用户名
*
* @param username 用户名
* @param updatePasswordUsername 被修改的用户密码
* @param password 新的用户密码
*/
public void resetPassword(String username, String updatePasswordUsername, String password) {
updateUserPassword(username, updatePasswordUsername, null, password, UpdateUserPasswordType.RESET_UPDATE_PASSWORD_TYPE);
}
/**
* 删除用户
*
* @param username 用户名
* @param deleteUsername 被删除的用户名
*/
public void deleteUser(String username, String deleteUsername) {
delete(UserPathConstant.USERS_USERNAME_PATH.replace("{username}", deleteUsername), username);
}
} }

View File

@@ -0,0 +1,20 @@
package com.jhinno.sdk.openapi.api.organization;
/**
* 密码操作的类型
*
* @author yanlongqi
* @date 2024/2/19 10:54
*/
public class UpdateUserPasswordType {
/**
* 重置密码
*/
protected static final String RESET_UPDATE_PASSWORD_TYPE = "reset";
/**
* 首次登录强制修改密码
*/
protected static final String FORCE_UPDATE_PASSWORD_TYPE = "force";
}

View File

@@ -21,9 +21,8 @@ public class UserPathConstant {
/** /**
* 充值用户密码 * 用户密码操作
*/ */
public static final String USERS_RESET_PASSWORD_PATH = "/ws/api/users/{username}/password/password_reset"; public static final String USERS_RESET_PASSWORD_PATH = "/ws/api/users/{username}/password/password_reset";
} }