فهرست منبع

修改定时任务

sss 3 سال پیش
والد
کامیت
295d2d5eca

+ 2 - 2
eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/ZkDataSyncTask.java

@@ -264,9 +264,9 @@ public class ZkDataSyncTask {
                     log.info("userCode:"+user.getUserCode());
                     userDto = userService.findById(user.getId());
                     if (userDto != null) {
-                        userService.update(user);
+                        userService.updateSync(user);
                     } else {
-                        userService.create(user);
+                        userService.createSync(user);
                     }
                 } catch (Exception e) {
                     e.printStackTrace();

+ 12 - 0
eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java

@@ -51,6 +51,18 @@ public interface UserService {
      */
     void update(User resources) throws Exception;
 
+    /**
+     * 新增用户
+     * @param resources /
+     */
+    void createSync(User resources);
+
+    /**
+     * 编辑用户
+     * @param resources /
+     */
+    void updateSync(User resources) throws Exception;
+
     /**
      * 删除用户
      * @param ids /

+ 80 - 0
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java

@@ -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) {