From 435bdc4eccbf54f5082b5e97116c51b797481d49 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 03 12월 2021 11:49:12 +0900
Subject: [PATCH] 프로젝트 관리자만 이메일 알림 설정 가능하도록 수정

---
 src/main/java/kr/wisestone/owl/vo/UserVo.java                               |    8 ++++++++
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java            |    6 +++++-
 src/main/webapp/scripts/app/user/userModify.controller.js                   |    4 +++-
 src/main/java/kr/wisestone/owl/domain/User.java                             |    3 ++-
 src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java            |    2 ++
 src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java          |    2 ++
 src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java |    7 +++++++
 src/main/resources/mybatis/query-template/projectRoleUser-template.xml      |   17 +++++++++++++++++
 src/main/webapp/views/user/userModify.html                                  |    2 +-
 9 files changed, 47 insertions(+), 4 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/domain/User.java b/src/main/java/kr/wisestone/owl/domain/User.java
index dd8ccc7..6cb764e 100644
--- a/src/main/java/kr/wisestone/owl/domain/User.java
+++ b/src/main/java/kr/wisestone/owl/domain/User.java
@@ -16,7 +16,8 @@
     public static final String USER_STATUS_ACTIVE = "01";  //  �궗�슜�옄 �솢�꽦
     public static final String USER_STATUS_DEL = "02";    //  �궗�슜�옄 �깉�눜
     public static final String DEFAULT_PROFILE = "assets/images/default_profile.png";    //  湲곕낯 �봽濡쒗븘
-    public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "09:00";    //  湲곕낯 �씠硫붿씪 �븣由� �삁�젙 �떆媛�
+    //public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "09:00";    //  湲곕낯 �씠硫붿씪 �븣由� �삁�젙 �떆媛�
+    public static final String DEFAULT_RESERVATION_NOTIFY_TIME = "false";    //  湲곕낯 �씠硫붿씪 �븣由� �삁�젙 �떆媛� false濡� 蹂�寃�
     public static final String DEFAULT_LANGUAGE = "ko"; //  湲곕낯 �뼵�뼱
 
     public static final String INSERT_TYPE_NORMAL = "N";    // 異붽� ���엯(�씪諛�)
diff --git a/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java b/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java
index e0e08f0..d613c1a 100644
--- a/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java
+++ b/src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java
@@ -16,4 +16,6 @@
 
     List<Map<String, Object>> findProjectRoleUser(Map<String, Object> projectRoleUserMap);
 
+    Map<String, Object> findProjectManager(Long userId);
+
 }
diff --git a/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java b/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java
index a7afb29..8a31799 100644
--- a/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java
+++ b/src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java
@@ -18,5 +18,7 @@
 
     List<Map<String, Object>> findProjectRoleUser(Map<String, Object> projectRoleUserMap);
 
+    Map<String, Object> findProjectManager(Long userId);
+
     boolean checkProjectManager(Project project);
 }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java
index f158fe0..963602f 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java
@@ -127,6 +127,13 @@
         return this.projectRoleUserMapper.findProjectRoleUser(projectRoleUserMap);
     }
 
+    //  �봽濡쒖젥�듃 愿�由ъ옄 議고쉶
+    @Override
+    @Transactional(readOnly = true)
+    public Map<String, Object> findProjectManager(Long userId) {
+        return this.projectRoleUserMapper.findProjectManager(userId);
+    }
+
     //  �봽濡쒖젥�듃 愿�由ъ옄 �뿬遺�瑜� �솗�씤�븳�떎.
     @Override
     @Transactional(readOnly = true)
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 5cf3422..f5f077d 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -541,8 +541,12 @@
             User user = this.getUser(userCondition.getId());
             userVo = ConvertUtil.copyProperties(user, UserVo.class, "password");
             userVo.setAccount(CommonUtil.decryptAES128(userVo.getAccount()));
-        }
 
+            Map<String, Object> projectManagerYN = this.projectRoleUserService.findProjectManager((userCondition.getId()));
+            if(projectManagerYN != null){
+                userVo.setProjectManagerYN(true);
+            }
+        }
         resJsonData.put(Constants.RES_KEY_CONTENTS, userVo);
     }
 
diff --git a/src/main/java/kr/wisestone/owl/vo/UserVo.java b/src/main/java/kr/wisestone/owl/vo/UserVo.java
index 574694e..aedac75 100644
--- a/src/main/java/kr/wisestone/owl/vo/UserVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/UserVo.java
@@ -29,6 +29,7 @@
     private Integer permission;
     private String licensekey;
     private Long sessionActiveTime; //  �겢�윭�뒪�꽣留� �솚寃쎌뿉�꽌 �젒�냽以묒씤 �궗�슜�옄 愿�由ъ뿉 �궗�슜
+    private Boolean projectManagerYN = Boolean.FALSE;
 
     public UserVo() {
     }
@@ -206,4 +207,11 @@
 
     public void setLastProjectId(Long id) { this.lastProjectId = id;}
 
+    public Boolean getProjectManagerYN() {
+        return projectManagerYN;
+    }
+
+    public void setProjectManagerYN(Boolean projectManagerYN) {
+        this.projectManagerYN = projectManagerYN;
+    }
 }
diff --git a/src/main/resources/mybatis/query-template/projectRoleUser-template.xml b/src/main/resources/mybatis/query-template/projectRoleUser-template.xml
index a7f28a9..e29aa62 100644
--- a/src/main/resources/mybatis/query-template/projectRoleUser-template.xml
+++ b/src/main/resources/mybatis/query-template/projectRoleUser-template.xml
@@ -42,5 +42,22 @@
         AND p.id = #{id}
     </select>
 
+    <!--    �봽濡쒖젥�듃�뿉 愿�由ъ옄 議고쉶   -->
+    <select id="findProjectManager" resultType="java.util.HashMap">
+        SELECT
+        DISTINCT u.id as id,
+        u.name as name,
+        u.account as account,
+        u.status as status,
+        pr.role_type as roleType
+        FROM
+        project p
+        INNER JOIN project_role pr on p.id = pr.project_id
+        INNER JOIN project_role_user pru on pru.project_role_id = pr.id
+        INNER JOIN user u on u.id = pru.user_id
+        WHERE pr.role_type = 02
+        AND u.id = #{userId}
+    </select>
+
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/webapp/scripts/app/user/userModify.controller.js b/src/main/webapp/scripts/app/user/userModify.controller.js
index b4c7dc5..b780eb4 100644
--- a/src/main/webapp/scripts/app/user/userModify.controller.js
+++ b/src/main/webapp/scripts/app/user/userModify.controller.js
@@ -29,7 +29,8 @@
                         reservationNotifyTime : "", //  �씠硫붿씪 �븣由� �떆媛�
                         realtimeNotify : "", // �씠硫붿씪 �떎�떆媛�
                         profileImage : null, //   �뾽濡쒕뱶�븯�뒗 �봽濡쒗븘
-                        profileImageName : null  //  �봽濡쒗븘 紐�
+                        profileImageName : null,  //  �봽濡쒗븘 紐�
+                        projectManagerYN : false
                     }
                 };
 
@@ -84,6 +85,7 @@
                             $scope.vm.form.name = result.data.data.name;
                             $scope.vm.form.account = result.data.data.account;
                             $scope.vm.form.phone = result.data.data.phone;
+                            $scope.vm.form.projectManagerYN = result.data.data.projectManagerYN;
                             if(result.data.data.reservationNotifyTime === "realTime"){
                                 $scope.vm.form.realtimeNotify = true;
                             }else{
diff --git a/src/main/webapp/views/user/userModify.html b/src/main/webapp/views/user/userModify.html
index a1003ab..5ad3292 100644
--- a/src/main/webapp/views/user/userModify.html
+++ b/src/main/webapp/views/user/userModify.html
@@ -32,7 +32,7 @@
                 </div>
             </div>
 
-            <div ng-show="" class="row">
+            <div ng-show="vm.form.projectManagerYN" class="row">
                 <div class="col-sm-6">
                     <div class="form-group">
                         <label for="userModifyForm3"><span translate="users.setEmailNotificationTime">�씠硫붿씪 �븣由� �떆媛� �꽕�젙</span> <code class="highlighter-rouge">*</code></label>

--
Gitblit v1.8.0