mirror of
https://github.com/yanlongqi/jhinno-openapi-java-sdk.git
synced 2026-03-22 06:15:10 +08:00
用户接口集成完成
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -12,6 +12,8 @@ import java.util.Map;
|
||||
|
||||
/**
|
||||
* 用户相关接口执行器
|
||||
* <br/>
|
||||
* 注:要调用以下接口,传入的username必须有user_manager的权限
|
||||
*
|
||||
* @author yanlongqi
|
||||
* @date 2024/2/6 17:37
|
||||
@@ -51,4 +53,102 @@ public class JHUserApiExecution extends JHApiExecution {
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
}
|
||||
@@ -21,9 +21,8 @@ public class UserPathConstant {
|
||||
|
||||
|
||||
/**
|
||||
* 充值用户密码
|
||||
* 用户密码操作
|
||||
*/
|
||||
public static final String USERS_RESET_PASSWORD_PATH = "/ws/api/users/{username}/password/password_reset";
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user