|
|
|
@ -30,7 +30,7 @@ public class UserBean extends AbstractComponent {
|
|
|
|
|
*/
|
|
|
|
|
public List<DataObject> getUserList(UserQuery req) {
|
|
|
|
|
switch (ifEmpty(req.getBy(), () -> "")) {
|
|
|
|
|
case "userID": req.setBy("USER_ID"); break;
|
|
|
|
|
case "userAccount": req.setBy("USER_ACNT"); break;
|
|
|
|
|
default: req.setBy("USER_NM"); break;
|
|
|
|
|
}
|
|
|
|
|
req.setOrderBy(req.getBy());
|
|
|
|
@ -63,6 +63,16 @@ public class UserBean extends AbstractComponent {
|
|
|
|
|
return userMapper.getUser(userID);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**지정한 계정의 사용자를 반환한다.
|
|
|
|
|
* @param <T> 사용자 타입
|
|
|
|
|
* @param account 사용자 계정
|
|
|
|
|
* @param institute 소속 기관 코드
|
|
|
|
|
* @return 사용자
|
|
|
|
|
*/
|
|
|
|
|
public <T extends User> T getUser(String account, String institute) {
|
|
|
|
|
return userMapper.getUser(account, institute);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**사용자 정보를 등록한다. 사용자 정보 등록 시 {@link cokr.xit.foundation.util.CharsEncoder 비밀번호는 암호화}하여 저장한다.
|
|
|
|
|
* @param user 사용자
|
|
|
|
|
* @return 등록 결과
|
|
|
|
@ -73,8 +83,7 @@ public class UserBean extends AbstractComponent {
|
|
|
|
|
public boolean create(User user) {
|
|
|
|
|
if (user == null) return false;
|
|
|
|
|
|
|
|
|
|
String userID = notEmpty(user.getId(), "user.id");
|
|
|
|
|
User existing = getUser(userID);
|
|
|
|
|
User existing = getExistingUser(user);
|
|
|
|
|
if (existing != null)
|
|
|
|
|
throw applicationException(null)
|
|
|
|
|
.setMessage(message("duplicate.object", "사용자"));
|
|
|
|
@ -85,6 +94,12 @@ public class UserBean extends AbstractComponent {
|
|
|
|
|
return userMapper.insertUser(user) > 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private User getExistingUser(User user) {
|
|
|
|
|
String account = user.getAccount(),
|
|
|
|
|
institute = user.getInstitute();
|
|
|
|
|
return getUser(account, institute);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**사용자 정보를 수정한다.
|
|
|
|
|
* @param user 사용자
|
|
|
|
|
* @return 수정 결과
|
|
|
|
@ -95,6 +110,11 @@ public class UserBean extends AbstractComponent {
|
|
|
|
|
public boolean update(User user) {
|
|
|
|
|
if (user == null) return false;
|
|
|
|
|
|
|
|
|
|
User existing = getExistingUser(user);
|
|
|
|
|
if (existing != null && !equals(user.getId(), existing.getId()))
|
|
|
|
|
throw applicationException(null)
|
|
|
|
|
.setMessage(message("duplicate.object", "사용자"));
|
|
|
|
|
|
|
|
|
|
user.setModifiedBy(currentUser().getId());
|
|
|
|
|
return userMapper.updateUser(user) > 0;
|
|
|
|
|
}
|
|
|
|
|