|
@@ -173,6 +173,86 @@ public class UserServiceImpl implements UserService {
|
|
|
delCaches(resources.getId(), resources.getUsername());
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void createSync(User resources) {
|
|
|
+ //设置用户信息
|
|
|
+ resources = setDmUserInfoToSysUser(resources);
|
|
|
+ if (userRepository.findByUsername(resources.getUsername()) != null) {
|
|
|
+ throw new EntityExistException(User.class, "username", resources.getUsername());
|
|
|
+ }
|
|
|
+ /*if (userRepository.findByEmail(resources.getEmail()) != null) {
|
|
|
+ throw new EntityExistException(User.class, "email", resources.getEmail());
|
|
|
+ }*/
|
|
|
+// if (userRepository.findByPhone(resources.getPhone()) != null) {
|
|
|
+// throw new EntityExistException(User.class, "phone", resources.getPhone());
|
|
|
+// }
|
|
|
+ userRepository.save(resources);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateSync(User resources) throws Exception {
|
|
|
+ //设置用户信息
|
|
|
+ resources = setDmUserInfoToSysUser(resources);
|
|
|
+ if(resources.getDept() != null && resources.getDept().getId() == null){
|
|
|
+ resources.setDept(null);
|
|
|
+ }
|
|
|
+ if(resources.getDmUser() != null && resources.getDmUser().getId() == null){
|
|
|
+ resources.setDmUser(null);
|
|
|
+ }
|
|
|
+ if(resources.getDmCompany() != null && resources.getDmCompany().getCompanyId() == null){
|
|
|
+ resources.setDmCompany(null);
|
|
|
+ }
|
|
|
+ User user = userRepository.findById(resources.getId()).orElseGet(User::new);
|
|
|
+ ValidationUtil.isNull(user.getId(), "User", "id", resources.getId());
|
|
|
+ User user1 = userRepository.findByUsername(resources.getUsername());
|
|
|
+ /*User user2 = userRepository.findByEmail(resources.getEmail());*/
|
|
|
+ User user3 = userRepository.findByPhone(resources.getPhone());
|
|
|
+ if (user1 != null && !user.getId().equals(user1.getId())) {
|
|
|
+ throw new EntityExistException(User.class, "username", resources.getUsername());
|
|
|
+ }
|
|
|
+ /*if (user2 != null && !user.getId().equals(user2.getId())) {
|
|
|
+ throw new EntityExistException(User.class, "email", resources.getEmail());
|
|
|
+ }*/
|
|
|
+ if (user3 != null && !user.getId().equals(user3.getId())) {
|
|
|
+ throw new EntityExistException(User.class, "phone", resources.getPhone());
|
|
|
+ }
|
|
|
+ // 如果用户的角色改变
|
|
|
+ if (!resources.getRoles().equals(user.getRoles())) {
|
|
|
+ redisUtils.del(CacheKey.DATA_USER + resources.getId());
|
|
|
+ redisUtils.del(CacheKey.MENU_USER + resources.getId());
|
|
|
+ redisUtils.del(CacheKey.ROLE_AUTH + resources.getId());
|
|
|
+ }
|
|
|
+ // 如果用户被禁用,则清除用户登录信息
|
|
|
+ if(!resources.getEnabled()){
|
|
|
+ onlineUserService.kickOutForUsername(resources.getUsername());
|
|
|
+ }
|
|
|
+ user.setUsername(resources.getUsername());
|
|
|
+ user.setEmail(resources.getEmail());
|
|
|
+ user.setEnabled(resources.getEnabled());
|
|
|
+ user.setRoles(resources.getRoles());
|
|
|
+ user.setDept(resources.getDept());
|
|
|
+ user.setJobs(resources.getJobs());
|
|
|
+ user.setPhone(resources.getPhone());
|
|
|
+ user.setNickName(resources.getNickName());
|
|
|
+ user.setGender(resources.getGender());
|
|
|
+ user.setRemark(resources.getRemark());
|
|
|
+ user.setErrLimit(resources.getErrLimit());
|
|
|
+ user.setDmUser(resources.getDmUser());
|
|
|
+ user.setDmCompany(resources.getDmCompany());
|
|
|
+ user.setUserRootGroupId(resources.getUserRootGroupId());
|
|
|
+ user.setUserRootGroupName(resources.getUserRootGroupName());
|
|
|
+ user.setUserCode(resources.getUserCode());
|
|
|
+ if(StringUtils.isBlank(user.getOrgPassword())){
|
|
|
+ user.setOrgPassword(resources.getOrgPassword());
|
|
|
+ }
|
|
|
+ userRepository.save(user);
|
|
|
+ // 清除缓存
|
|
|
+ delCaches(user.getId(), user.getUsername());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void updateCenter(User resources) {
|