OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-03 435bdc4eccbf54f5082b5e97116c51b797481d49
프로젝트 관리자만 이메일 알림 설정 가능하도록 수정
9개 파일 변경됨
51 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/domain/User.java 3 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/mapper/ProjectRoleUserMapper.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/ProjectRoleUserService.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/ProjectRoleUserServiceImpl.java 7 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java 6 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/vo/UserVo.java 8 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/resources/mybatis/query-template/projectRoleUser-template.xml 17 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/user/userModify.controller.js 4 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/user/userModify.html 2 ●●● 패치 | 보기 | raw | blame | 히스토리
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";    // 추가 타입(일반)
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);
}
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);
}
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)
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);
    }
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;
    }
}
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>
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{
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>