From 4e32eef25c59e29af3966345bb5e71c12a886865 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 화, 02 11월 2021 16:10:19 +0900
Subject: [PATCH] - 사용자 등급관리 테이블 및 조회 생성 - 부서 관리 테이블 생성

---
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 39 insertions(+), 8 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 bf2204e..07b26f1 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -17,7 +17,9 @@
 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.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;
@@ -32,6 +34,7 @@
 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;
@@ -53,6 +56,12 @@
 
     @Autowired
     private UserRepository userRepository;
+
+    @Autowired
+    private UserLevelService userLevelService;
+
+    @Autowired
+    private DepartmentManagementService departmentManagementService;
 
     @Autowired
     private SystemRoleService systemRoleService;
@@ -197,7 +206,8 @@
         user.setAccount(CommonUtil.encryptAES128(userForm.getAccount()));
         user.setPassword(this.passwordEncoder.encode(user.getPassword()));
 
-        this.userRepository.saveAndFlush(user);
+        //this.userLevelRepository.saveAndFlush(user);
+        //userLevelRepository.saveAndFlush(user);
 
         //  �봽濡쒗븘 �뙆�씪�씠 �쑀�슚�븳吏� 泥댄겕�븳�떎.
         this.verifyProfile(profile);
@@ -217,11 +227,30 @@
 
             this.userInviteService.includePrimaryWorkspace(user, primaryWorkspace);
 
+
+
             // edit by zenith for permission at 20200803
-            user.setPermission(MngPermission.USER_PERMISSION_MNG_NONE);
+            /*user.setPermission(MngPermission.USER_PERMISSION_MNG_NONE);*/
 
         } else if(validAdmin == 1) {    // �씪�씠�꽱�뒪 �엯�젰 愿�由ъ옄
             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);
+            user.setUserLevel(userLevel);
+
+            // DepartmentManagement�뿉 �엫�떆濡� Name, Description 媛� 異붽�
+            DepartmentManagementForm departmentManagementForm = new DepartmentManagementForm();
+
+            departmentManagementForm.setDepartmentName("媛쒕컻��");
+            departmentManagementForm.setDepartmentDescription("�쎒�궗�씠�듃 諛� �빋 �꽌鍮꾩뒪 媛쒕컻");
+            DepartmentManagement departmentManagement = this.departmentManagementService.addDepartment(departmentManagementForm);
+            user.setDepartmentId(departmentManagement);
 
             if(primaryWorkspace == null || primaryWorkspace.getName() != userForm.getWorkspaceName()) {
                 //  �뾽臾� 怨듦컙瑜� �깮�꽦�븳�떎. 媛��엯�븳 �궗�슜�옄�뒗 �뾽臾� 怨듦컙�쓽 二쇱씤�씠�떎.
@@ -234,18 +263,17 @@
                 user.setLastWorkspaceId(workspace.getId());
 
                 // edit by zenith for permission at 20200803
-                user.setPermission(MngPermission.makeAllPermission());
+                //user.setPermission(MngPermission.makeAllPermission());
             } else  {
                 this.userInviteService.includePrimaryWorkspace(user, primaryWorkspace);
                 user.setLastWorkspaceId(primaryWorkspace.getId());
-
-                user.setPermission(MngPermission.makeSubAllPermission());
+                /*user.setPermission(MngPermission.makeSubAllPermission());*/
             }
         }
+        this.userRepository.saveAndFlush(user);
 
         //  �씠硫붿씪 �븣由� �삁�젙 �떆媛꾩씠 怨듬갚�씠硫� �뵒�뤃�듃 �씠硫붿씪 �븣由� �삁�젙 �떆媛꾩쑝濡� �꽕�젙�븳�떎.
         user.setReservationNotifyTime(User.DEFAULT_RESERVATION_NOTIFY_TIME);
-        this.userRepository.saveAndFlush(user);
 
         //  珥덈�諛쏆� 硫붿씪�씠 �엳�뒗 �궗�슜�옄媛� 媛��엯�뻽�쑝硫� 珥덈��뻽�쓣 �븣 �꽑�깮�븳 �봽濡쒖젥�듃�뿉 李몄뿬 �떆�궓�떎.
         this.userInviteService.checkInviteUser(user);
@@ -1005,7 +1033,7 @@
         this.userRepository.saveAndFlush(user);
     }
 
-        //  留덉�留됱쑝濡� �꽑�깮�븳 �봽濡쒖젥�듃 �젙蹂대�� ���옣�븳�떎.
+    //  留덉�留됱쑝濡� �꽑�깮�븳 �봽濡쒖젥�듃 �젙蹂대�� ���옣�븳�떎.
     @Override
     @Transactional
     public void updateLastProject(Map<String, Object> resJsonData, UserForm userForm) {
@@ -1150,6 +1178,7 @@
         }
     }
 
+
     //  �뾽臾� 怨듦컙�뿉�꽌 �젣�쇅�릺嫄곕굹 �뾽臾� 怨듦컙 �궘�젣�떆 李몄뿬 �궗�슜�옄�뱾�쓽 留덉�留� �젒洹� �뾽臾� 怨듦컙 �젙蹂대줈 �꽭�뀡 �뾽�뜲�씠�듃�븯湲� �쐞�빐 �궗�슜
     @Override
     @Transactional(readOnly = true)
@@ -1164,7 +1193,9 @@
     @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");
+        UserVo userVo = ConvertUtil.copyProperties(user, UserVo.class, "password", "permission");
+        // user�뿉�꽌 Permission 媛믪쓣 媛��졇���꽌 userVo �뿉 setPermission �븿
+        userVo.setPermission(user.getPermission());
         userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
         resJsonData.put(Constants.RES_KEY_CONTENTS, userVo);
         //  �궗�슜�옄 �꽭�뀡 �젙蹂대�� 遺꾩꽍�빐�꽌 濡쒓렇�뿉 �궓湲대떎.

--
Gitblit v1.8.0