From a5b5358a21608069d9bc390074b5d930da88a4bd Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 목, 23 12월 2021 15:19:17 +0900
Subject: [PATCH] 사용자 정보($rootScope.user)에 사용자등급명, 부서명, 추가 진행중

---
 src/main/java/kr/wisestone/owl/vo/UserVo.java                              |   18 ++++++++++++++++++
 src/main/java/kr/wisestone/owl/service/UserDepartmentService.java          |    3 +++
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java           |   13 +++++++++++++
 src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java |   19 +++++++++++++++++--
 src/main/webapp/views/common/sidebar.html                                  |    4 ++--
 5 files changed, 53 insertions(+), 4 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java b/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java
index b09e517..c4f11c3 100644
--- a/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java
+++ b/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java
@@ -1,5 +1,6 @@
 package kr.wisestone.owl.service;
 
+import kr.wisestone.owl.domain.Department;
 import kr.wisestone.owl.domain.UserDepartment;
 import kr.wisestone.owl.web.condition.UserCondition;
 import kr.wisestone.owl.web.condition.UserDepartmentCondition;
@@ -16,4 +17,6 @@
     void userDepartmentModify(UserDepartmentForm userDepartmentForm);
 
     List<UserDepartment> findByDepartmentId(Long id);
+
+    List<Department> findDepartment(Long id);
 }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
index baa6a8a..33a101a 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
@@ -5,14 +5,15 @@
 import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.exception.OwlRuntimeException;
+import kr.wisestone.owl.mapper.UserMapper;
 import kr.wisestone.owl.repository.UserDepartmentRepository;
 import kr.wisestone.owl.service.DepartmentService;
 import kr.wisestone.owl.service.UserDepartmentService;
+import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.util.ConvertUtil;
+import kr.wisestone.owl.util.MapUtil;
 import kr.wisestone.owl.vo.*;
-import kr.wisestone.owl.web.condition.DepartmentCondition;
 import kr.wisestone.owl.web.condition.UserCondition;
-import kr.wisestone.owl.web.condition.UserDepartmentCondition;
 import kr.wisestone.owl.web.form.UserDepartmentForm;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.jpa.repository.JpaRepository;
@@ -94,6 +95,20 @@
         return this.userDepartmentRepository.findByDepartmentId(id);
     }
 
+    @Override
+    public List<Department> findDepartment(Long userId) {
+        List<UserDepartment> userDepartments = this.userDepartmentRepository.findByUserId(userId);
+        if (userDepartments != null && userDepartments.size() > 0) {
+
+            List<Department> departments = Lists.newArrayList();
+            for (UserDepartment userDepartment : userDepartments) {
+                Department department = this.departmentService.getDepartment(userDepartment.getDepartmentId());
+                departments.add(department);
+            }
+            return departments;
+        }
+        return null;
+    }
 
     // �궗�슜�옄 遺��꽌 ID濡� 議고쉶�븳�떎.
 //    @Override
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 f209240..4387606 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -107,6 +107,9 @@
     private AttachedFileService attachedFileService;
 
     @Autowired
+    private UserDepartmentService userDepartmentService;
+
+    @Autowired
     private IssueService issueService;
 
     @Autowired
@@ -1245,6 +1248,16 @@
         // user�뿉�꽌 Permission 媛믪쓣 媛��졇���꽌 userVo �뿉 setPermission �븿
         userVo.setPermission(user.getPermission());
         userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
+
+        UserLevel userLevel = user.getUserLevel();
+        if (userLevel != null) {
+            userVo.setLevelName(userLevel.getLevelName());
+        }
+
+        List<Department> departments = this.userDepartmentService.findDepartment(user.getId());
+        if (departments != null) {
+            userVo.setDepartmentVos(ConvertUtil.convertObjectsToClasses(departments, DepartmentVo.class));
+        }
         resJsonData.put(Constants.RES_KEY_CONTENTS, userVo);
         //  �궗�슜�옄 �꽭�뀡 �젙蹂대�� 遺꾩꽍�빐�꽌 濡쒓렇�뿉 �궓湲대떎.
         log.info(ElasticSearchUtil.makeUserSessionHistoryMessage(httpServletRequest, userVo));
diff --git a/src/main/java/kr/wisestone/owl/vo/UserVo.java b/src/main/java/kr/wisestone/owl/vo/UserVo.java
index aedac75..e631f76 100644
--- a/src/main/java/kr/wisestone/owl/vo/UserVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/UserVo.java
@@ -22,6 +22,8 @@
     private Long lastProjectId;
     private Long lastIssueTypeId;
     private Long departmentId;
+    private String levelName;
+    private List<DepartmentVo> departmentVos = Lists.newArrayList();
     private Boolean userSocialLogin = Boolean.FALSE;
     private List<ProjectVo> projectVos = Lists.newArrayList();
     private String reservationNotifyTime;
@@ -214,4 +216,20 @@
     public void setProjectManagerYN(Boolean projectManagerYN) {
         this.projectManagerYN = projectManagerYN;
     }
+
+    public String getLevelName() {
+        return levelName;
+    }
+
+    public void setLevelName(String levelName) {
+        this.levelName = levelName;
+    }
+
+    public List<DepartmentVo> getDepartmentVos() {
+        return departmentVos;
+    }
+
+    public void setDepartmentVos(List<DepartmentVo> departmentVos) {
+        this.departmentVos = departmentVos;
+    }
 }
diff --git a/src/main/webapp/views/common/sidebar.html b/src/main/webapp/views/common/sidebar.html
index 221ef55..92c87e3 100644
--- a/src/main/webapp/views/common/sidebar.html
+++ b/src/main/webapp/views/common/sidebar.html
@@ -184,8 +184,8 @@
     </div>
 
     <div class="logged-user-w avatar-inline">
-        <div class="row mb-1" ng-if="$root.myLevel != null" >
-            <span class="issue-main-label offset-detail-5 badge badge-primary">{{$root.myLevel}}</span>
+        <div class="row mb-1" ng-if="$root.user.levelName != null" >
+            <span class="issue-main-label offset-detail-5 badge badge-primary">{{$root.user.levelName}}</span>
             <span class="issue-main-label offset-detail-1 badge badge-department">{{$root.myDepartments}}</span>
         </div>
         <div class="logged-user-i">

--
Gitblit v1.8.0