From 616d76059d929650113f8a4ec750d86c4647b064 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 02 12월 2021 14:39:20 +0900
Subject: [PATCH] Home>사용자>DropDown>OWL 프로필>정보 수정 실시간 기능 추가 완료

---
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java |   62 +++++++++++++++++++++----------
 1 files changed, 42 insertions(+), 20 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
index 07b26f1..0001712 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -12,14 +12,14 @@
 import kr.wisestone.owl.domain.enumType.SocialType;
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.UserMapper;
+import kr.wisestone.owl.repository.DepartmentRepository;
 import kr.wisestone.owl.repository.UserRepository;
 import kr.wisestone.owl.service.*;
 import kr.wisestone.owl.util.*;
 import kr.wisestone.owl.vo.*;
 import kr.wisestone.owl.web.condition.UserCondition;
-import kr.wisestone.owl.web.form.DepartmentManagementForm;
+import kr.wisestone.owl.web.form.DepartmentForm;
 import kr.wisestone.owl.web.form.UserForm;
-import kr.wisestone.owl.web.form.UserLevelForm;
 import kr.wisestone.owl.web.view.ExcelView;
 import org.apache.commons.validator.routines.EmailValidator;
 import org.slf4j.Logger;
@@ -34,7 +34,6 @@
 import org.springframework.security.core.session.SessionRegistry;
 import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.Model;
@@ -58,10 +57,13 @@
     private UserRepository userRepository;
 
     @Autowired
+    private DepartmentRepository departmentRepository;
+
+    @Autowired
     private UserLevelService userLevelService;
 
     @Autowired
-    private DepartmentManagementService departmentManagementService;
+    private DepartmentService departmentService;
 
     @Autowired
     private SystemRoleService systemRoleService;
@@ -227,30 +229,28 @@
 
             this.userInviteService.includePrimaryWorkspace(user, primaryWorkspace);
 
-
+            UserLevel userLevel = this.userLevelService.getBasicUserLevel();
+            user.setUserLevel(userLevel);
 
             // edit by zenith for permission at 20200803
             /*user.setPermission(MngPermission.USER_PERMISSION_MNG_NONE);*/
 
         } else if(validAdmin == 1) {    // �씪�씠�꽱�뒪 �엯�젰 愿�由ъ옄
+
+            /*DepartmentForm departmentForm = new DepartmentForm();
+
+            departmentForm.setDepartmentName("遺��꽌 �뾾�쓬");
+            Department department = this.departmentService.add(departmentForm);
+            this.departmentRepository.saveAndFlush(department);*/
+
             Workspace primaryWorkspace = this.workspaceService.getPrimaryWorkspace();
 
-            // UserLevel�뿉 Permission 媛� �꽔�뼱以�
-            UserLevelForm userLevelForm = new UserLevelForm();
-            // Constants �뿉�꽌 ADMIN 媛� 異붽�
-            userLevelForm.setLevelName(Constants.ADMIN_MANAGER);
-            // Permission 媛� 異붽�
-            userLevelForm.setPermission(MngPermission.makeAllPermission());
-            UserLevel userLevel = this.userLevelService.addUserLevel(userLevelForm);
+            UserLevel userLevel = this.userLevelService.addSuperUserLevel();
             user.setUserLevel(userLevel);
 
-            // DepartmentManagement�뿉 �엫�떆濡� Name, Description 媛� 異붽�
-            DepartmentManagementForm departmentManagementForm = new DepartmentManagementForm();
+            this.userLevelService.addNormalAdminUserLevel();
 
-            departmentManagementForm.setDepartmentName("媛쒕컻��");
-            departmentManagementForm.setDepartmentDescription("�쎒�궗�씠�듃 諛� �빋 �꽌鍮꾩뒪 媛쒕컻");
-            DepartmentManagement departmentManagement = this.departmentManagementService.addDepartment(departmentManagementForm);
-            user.setDepartmentId(departmentManagement);
+            this.userLevelService.addNormalUserLevel();
 
             if(primaryWorkspace == null || primaryWorkspace.getName() != userForm.getWorkspaceName()) {
                 //  �뾽臾� 怨듦컙瑜� �깮�꽦�븳�떎. 媛��엯�븳 �궗�슜�옄�뒗 �뾽臾� 怨듦컙�쓽 二쇱씤�씠�떎.
@@ -1033,6 +1033,12 @@
         this.userRepository.saveAndFlush(user);
     }
 
+    //  �궘�젣 �븷 �벑湲됰챸�쓣 �쑀��媛� �궗�슜�븯怨� �엳�뒗吏� �솗�씤
+    @Override
+    public boolean useUserLevel(Long levelId) {
+        return this.userMapper.findByLevelId(levelId) > 0;
+    }
+
     //  留덉�留됱쑝濡� �꽑�깮�븳 �봽濡쒖젥�듃 �젙蹂대�� ���옣�븳�떎.
     @Override
     @Transactional
@@ -1069,7 +1075,7 @@
     @Override
     @Transactional(readOnly = true)
     public List<User> findAdmin() {
-        return this.userRepository.findAdmin();
+        return this.userRepository.findAdmin(MngPermission.makeAllPermission());
     }
 
     //  �빐�떦 �궗�슜�옄媛� 愿�由ы븯�뒗 �뾽臾� 怨듦컙�쓣 留덉�留됱쑝濡� �젒洹쇳븳 �뾽臾� 怨듦컙 �젙蹂대줈 �뾽�뜲�씠�듃�븳�떎.
@@ -1193,7 +1199,7 @@
     @Transactional(readOnly = true)
     public User getUserSession(Map<String, Object> resJsonData, HttpServletRequest httpServletRequest) {
         User user = this.getUser(this.webAppUtil.getLoginId());
-        UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password", "permission");
+        UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password","permission");
         // user�뿉�꽌 Permission 媛믪쓣 媛��졇���꽌 userVo �뿉 setPermission �븿
         userVo.setPermission(user.getPermission());
         userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
@@ -1231,6 +1237,22 @@
         return results;
     }
 
+    //  �씠硫붿씪 �븣由� �삁�젙 �떆媛꾩쓣 �떎�떆媛꾩쑝濡� �꽕�젙�븳 �궗�슜�옄瑜� 議고쉶�븳�떎.
+    @Override
+    @Transactional(readOnly = true)
+    public List<String> findByRealTimeNotifyTime() {
+        Map<String, Object> conditions = new HashMap<>();
+
+        List<Map<String, Object>> users = this.userMapper.findByRealTimeNotifyTime(conditions);
+        List<String> results = Lists.newArrayList();
+
+        for (Map<String, Object> user : users) {
+            results.add(MapUtil.getString(user, "account"));
+        }
+
+        return results;
+    }
+
     //  �봽濡쒖젥�듃�뿉 李몄뿬�븯�뒗 �궗�슜�옄 �젙蹂대�� 議고쉶�븳�떎.
     @Override
     @Transactional(readOnly = true)

--
Gitblit v1.8.0