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