0206c002
함상기
2024-04-15
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
package daeucna.system.user;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import daeucna.mapper.primary.system.UserMapper;
import daeucna.utils.StringUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Service
@RequiredArgsConstructor
@Slf4j
@Repository
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = { Exception.class })
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
private final PasswordEncoder passwordEncoder;
@Override
public List<UserDto> getUsers(UserDto param) {
List<UserDto> lUserDto = new ArrayList<UserDto>();
lUserDto = userMapper.getUsers(param);
log.info("getUsers");
return lUserDto;
}
@SuppressWarnings("unchecked")
@Override
public List<UserDto> saveUsers(UserSaveDto params) {
// 삭제처리먼저
for (UserDto curRec : params.getSaveData()) {
String sRowStatus = curRec.getRowStatus();
if ("D".indexOf(sRowStatus) > -1) {
// 사용자
userMapper.deleteUser(curRec);
}
}
// 신규및 업데이트 처리
for (UserDto curRec : params.getSaveData()) {
String sRowStatus = curRec.getRowStatus();
if ("N,U".indexOf(sRowStatus) > -1) {
// 사용자
// 패스워드를 암호화
String sEncodedPassword = null;
String sOrgPassword = StringUtil.defaultIfEmpty(curRec.getPassword(), null);
if (sOrgPassword != null) sEncodedPassword = passwordEncoder.encode(sOrgPassword);
curRec.setPassword(sEncodedPassword);
userMapper.saveUser(curRec);
}
}
List<UserDto> lUserDto = userMapper.getUsers(params.getSearchCond());
log.info("saveUsers");
return lUserDto;
}
@Override
public Map<String, Object> getUsersAuthority(UserAuthorityDto param) {
Map<String, Object> rtnVal = new HashMap<String, Object>();
List<UserAuthorityDto> lUserAuthority = userMapper.getUsersAuthority(param);
rtnVal.put("userAuthority", lUserAuthority);
List<Map> lmUserList = userMapper.getUserList(new HashMap<String, String>());
rtnVal.put("userList", lmUserList);
List<Map> lmAuthorityList = userMapper.getAuthorityList(new HashMap<String, String>());
rtnVal.put("authorityList", lmAuthorityList);
log.info("getUsersAuthority");
return rtnVal;
}
@Override
public Map<String, Object> saveUsersAuthority(UserAuthoritySaveDto params) {
// 삭제처리먼저
for (UserAuthorityDto curRec : params.getSaveData()) {
String sRowStatus = curRec.getRowStatus();
if ("D".indexOf(sRowStatus) > -1) {
// 사용자
userMapper.deleteUserAuthority(curRec);
}
}
// 신규및 업데이트 처리
for (UserAuthorityDto curRec : params.getSaveData()) {
String sRowStatus = curRec.getRowStatus();
if ("N,U".indexOf(sRowStatus) > -1) {
// 사용자
userMapper.saveUserAuthority(curRec);
}
}
Map<String, Object> rtnVal = getUsersAuthority(params.getSearchCond());
log.info("saveUsersAuthority");
return rtnVal;
}
}
|