| | |
| | | import kr.wisestone.owl.web.form.ProjectForm; |
| | | import kr.wisestone.owl.web.form.UserLevelForm; |
| | | import kr.wisestone.owl.web.view.ExcelView; |
| | | import org.jsoup.Jsoup; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | |
| | | |
| | | @Service |
| | | public class UserLevelServiceImpl extends AbstractServiceImpl<UserLevel, Long, JpaRepository<UserLevel, Long>> implements UserLevelService { |
| | | |
| | | private static final Logger log = LoggerFactory.getLogger(IssueServiceImpl.class); |
| | | |
| | | @Autowired |
| | | private UserLevelRepository userLevelRepository; |
| | |
| | | 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)); |
| | | } |
| | | |
| | | // 기본 사용자 등급 삭제 체크 |
| | |
| | | |
| | | // code_ko_KR 에 code명 설정 |
| | | ExportExcelVo excelInfo = new ExportExcelVo(); |
| | | excelInfo.setFileName(this.messageAccessor.message("사용자 목록")); |
| | | excelInfo.setFileName(this.messageAccessor.message("사용자 등급 목록")); |
| | | 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.manageUserPerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("permIssueSetting", this.messageAccessor.message("manageUser.manageIssuePerm"), 3, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("permIssueSystemSetting", 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); |
| | | // userLevelVos 데이터를 엑셀에서 표시할 수 있는 데이터로 변경한다. |
| | | List<Map<String, Object>> convertExcelViewToUserLevelMaps = this.convertExcelViewToUserLevelVos(userLevelVos); |
| | | excelInfo.setDatas(convertExcelViewToUserLevelMaps); |
| | | |
| | | model.addAttribute(Constants.EXCEL, excelInfo); |
| | | return new ModelAndView(this.excelView); |
| | | } |
| | | |
| | | // userLevelVos 데이터를 엑셀에서 표시할 수 있는 데이터로 변경한다. |
| | | private List<Map<String, Object>> convertExcelViewToUserLevelVos(List<UserLevelVo> userLevelVos) { |
| | | List<Map<String, Object>> results = Lists.newArrayList(); |
| | | |
| | | for (UserLevelVo userLevelVo : userLevelVos){ |
| | | try { |
| | | Map<String, Object> result = new HashMap<>(); |
| | | result.put("levelName", userLevelVo.getLevelName()); |
| | | result.put("permPartnerSetting", userLevelVo.getPermPartnerSetting()); |
| | | result.put("permWorkSpaceSetting", userLevelVo.getPermWorkSpaceSetting()); |
| | | result.put("permProjectSetting", userLevelVo.getPermProjectSetting()); |
| | | result.put("permIssueSetting", userLevelVo.getPermIssueSetting()); |
| | | result.put("permIssueSystemSetting", userLevelVo.getPermIssueSystemSetting()); |
| | | result.put("permApi", userLevelVo.getPermApi()); |
| | | result.put("permNotice", userLevelVo.getPermNotice()); |
| | | result.put("permFAQ", userLevelVo.getPermFAQ()); |
| | | result.put("permQnA", userLevelVo.getPermQnA()); |
| | | result.put("permGuide", userLevelVo.getPermGuide()); |
| | | |
| | | results.add(result); |
| | | } catch (Exception e) { |
| | | log.error("엑셀 다운로드 오류 발생"); |
| | | } |
| | | } |
| | | return results; |
| | | } |
| | | |
| | | // 사용자 등급 상태를 변경한다. |
| | | @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); |
| | | newPermission |= MngPermission.makePermission(userLevelForm.getPermIssueSystemSetting(), 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); |
| | | } |
| | | } |