OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-26 ff2eacbedadcda1ecf23f5691ab60738be627bbe
src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
@@ -71,21 +71,23 @@
    @Override
    public UserLevel addUserLevel(UserLevelForm userLevelForm) {
        userLevelForm.makePermission();
        userLevelForm.setDefaultYn(UserLevel.YN_FIELD_NO);
        userLevelForm.setBasicUser(UserLevel.YN_FIELD_NO);
        UserLevel userLevel = ConvertUtil.copyProperties(userLevelForm, UserLevel.class);
        userLevelRepository.saveAndFlush(userLevel);
        return userLevel;
    }
    @Override
    public UserLevel addSuperUserLevel() {
        return  addUserLevel("최고관리자", MngPermission.makeAllPermission(),"Y", "N");
        return  addUserLevel("최고관리자", MngPermission.makeAllPermission(),UserLevel.YN_FIELD_YES,UserLevel.YN_FIELD_NO);
    }
    public UserLevel addNormalUserLevel() {
        return  addUserLevel("일반회원", 0,"Y" , "Y");
        return  addUserLevel("일반회원", 0,UserLevel.YN_FIELD_YES , UserLevel.YN_FIELD_YES);
    }
    public UserLevel addNormalAdminUserLevel() {
        return  addUserLevel("일반관리자", MngPermission.makeSubAllPermission(),"N", "N");
        return  addUserLevel("일반관리자", MngPermission.makeSubAllPermission(),UserLevel.YN_FIELD_NO, UserLevel.YN_FIELD_NO);
    }
    // 사용자 등급 추가
@@ -171,7 +173,7 @@
    public void removeUserLevel(UserLevelForm userLevelForm) {
        if (userLevelForm.getRemoveIds().size() < 1) {
            throw new OwlRuntimeException(
                    this.messageAccessor.getMessage(MsgConstants.PROJECT_REMOVE_NOT_SELECT));
                    this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_REMOVE_NOT_SELECT));
        }
        // 기본 사용자 등급 삭제 체크
@@ -211,7 +213,7 @@
        return userLevelVos;
    }
    //  사용자 목록을 엑셀로 다운로드 한다.
    //  사용자등급 목록을 엑셀로 다운로드 한다.
    @Override
    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
        ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model);
@@ -227,18 +229,59 @@
        }
        UserLevelCondition userLevelCondition = UserLevelCondition.make(conditions);
        userLevelCondition.setLevelName(this.userLevelService.getUserLevel(this.webAppUtil.getLoginId()).getLevelName());
        List<Map<String, Object>> results = this.userLevelMapper.find(userLevelCondition);
        List<UserLevelVo> userLevelVos = ConvertUtil.convertListToListClass(results, UserLevelVo.class);
        for (UserLevelVo vo : userLevelVos) {
            vo.toPermissionValues();
        }
        // code_ko_KR 에 code명 설정
        ExportExcelVo excelInfo = new ExportExcelVo();
        excelInfo.setFileName(this.messageAccessor.message("사용자 목록"));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("levelName", "등급명", 6, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("levelName", this.messageAccessor.message("managementWorkspace.levelName"), 6, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permPartnerSetting", this.messageAccessor.message("manageUser.managePartnerPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permWorkSpaceSetting", this.messageAccessor.message("manageUser.manageWorkspacePerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permProjectSetting", this.messageAccessor.message("manageUser.manageProjectPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permIssueSetting", this.messageAccessor.message("manageUser.manageIssueSystemPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permApi", this.messageAccessor.message("manageUser.manageUserApi"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permNotice", this.messageAccessor.message("manageUser.manageNoticePerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permFAQ", this.messageAccessor.message("manageUser.manageFAQPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permQnA", this.messageAccessor.message("manageUser.manageQnAPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.addAttrInfos(new ExportExcelAttrVo("permGuide", this.messageAccessor.message("manageUser.manageGuidePerm"), 3, ExportExcelAttrVo.ALIGN_CENTER));
        excelInfo.setDatas(userLevelVos);
        model.addAttribute(Constants.EXCEL, excelInfo);
        return new ModelAndView(this.excelView);
    }
    // 사용자 등급 상태를 변경한다.
    @Override
    public void modifyLevelPermission(UserLevelForm userLevelForm) {
        int newPermission = MngPermission.USER_PERMISSION_MNG_NONE;
        newPermission |= MngPermission.makePermission(userLevelForm.getPermPartnerSetting(), MngPermission.USER_PERMISSION_MNG_PARTNER);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermWorkSpaceSetting(), MngPermission.USER_PERMISSION_MNG_WORKSPACE);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermProjectSetting(), MngPermission.USER_PERMISSION_MNG_PROJECT);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermIssueSetting(), MngPermission.USER_PERMISSION_MNG_ISSUE_SETTING);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermApi(), MngPermission.USER_PERMISSION_MNG_API);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermNotice(), MngPermission.USER_PERMISSION_MNG_NOTICE);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermFAQ(), MngPermission.USER_PERMISSION_MNG_FAQ);
        newPermission |= MngPermission.makePermission(userLevelForm.getPermQnA(), MngPermission.USER_PERMISSION_MNG_QNA);
        /*newPermission |= MngPermission.makePermission(userLevelForm.getPermEvent(), MngPermission.USER_PERMISSION_MNG_EVENT);*/
        newPermission |= MngPermission.makePermission(userLevelForm.getPermGuide(), MngPermission.USER_PERMISSION_MNG_GUIDE);
        UserLevel userLevel = userLevelService.getUserLevel(userLevelForm.getId());
        /*        user.setPermission(newPermission);*/
        userLevel.setPermission(newPermission);
        this.userLevelRepository.saveAndFlush(userLevel);
    }
    @Override
    public void modifyLevelName(UserLevelForm userLevelForm) {
        UserLevel userLevel = userLevelService.getUserLevel(userLevelForm.getId());
        userLevel.setLevelName(userLevelForm.getLevelName());
        this.userLevelRepository.saveAndFlush(userLevel);
    }
}