From a75bcc7c2b0fc98bd3a8abc100a4ad4ec11b9c26 Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 화, 28 12월 2021 15:54:35 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/java/kr/wisestone/owl/service/impl/FaqServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 84 insertions(+), 6 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/FaqServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/FaqServiceImpl.java index d796c94..aa6eaea 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/FaqServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/FaqServiceImpl.java @@ -1,29 +1,38 @@ package kr.wisestone.owl.service.impl; +import com.google.common.collect.Lists; +import kr.wisestone.owl.common.ExcelConditionCheck; import kr.wisestone.owl.config.kafka.KafkaSender; import kr.wisestone.owl.constant.Constants; +import kr.wisestone.owl.constant.MngPermission; import kr.wisestone.owl.constant.MsgConstants; import kr.wisestone.owl.domain.Faq; import kr.wisestone.owl.domain.Guide; import kr.wisestone.owl.domain.User; +import kr.wisestone.owl.domain.UserLevel; import kr.wisestone.owl.exception.OwlRuntimeException; import kr.wisestone.owl.mapper.FaqMapper; +import kr.wisestone.owl.mapper.NoticeMapper; import kr.wisestone.owl.repository.FaqRepository; -import kr.wisestone.owl.service.FaqService; -import kr.wisestone.owl.service.UserService; +import kr.wisestone.owl.service.*; import kr.wisestone.owl.util.ConvertUtil; -import kr.wisestone.owl.vo.FaqVo; -import kr.wisestone.owl.vo.ResPage; +import kr.wisestone.owl.vo.*; import kr.wisestone.owl.web.condition.FaqCondition; +import kr.wisestone.owl.web.condition.NoticeCondition; import kr.wisestone.owl.web.form.FaqForm; import kr.wisestone.owl.web.form.GuideForm; +import kr.wisestone.owl.web.form.NoticeForm; +import kr.wisestone.owl.web.view.ExcelView; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.ui.Model; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -42,6 +51,21 @@ @Autowired private FaqMapper faqMapper; + + @Autowired + private WorkspaceService workspaceService; + + @Autowired + private UserLevelService userLevelService; + + @Autowired + private UserWorkspaceService userWorkspaceService; + + @Autowired + private ExcelView excelView; + + @Autowired + private ExcelConditionCheck excelConditionCheck; @Override protected JpaRepository<Faq, Long> getRepository() { @@ -78,8 +102,19 @@ faqCondition.setPageSize(pageable.getPageSize()); faqCondition.setTitle(faqCondition.getTitle()); - List<Map<String, Object>> results = this.faqMapper.find(faqCondition); - Long totalCount = this.faqMapper.count(faqCondition); + User user = this.webAppUtil.getLoginUserObject(); + UserLevel userLevel = this.userLevelService.getUserLevel(user.getUserLevel().getId()); + + List<Map<String, Object>> results = Lists.newArrayList(); + Long totalCount = 0L; + if (this.userWorkspaceService.checkWorkspaceManager(user) + || MngPermission.checkMngPermission(userLevel.getPermission(), MngPermission.USER_PERMISSION_MNG_FAQ)) { + results = this.faqMapper.find(faqCondition); + totalCount = this.faqMapper.count(faqCondition); + } else { + results = this.faqMapper.findNotActivation(faqCondition); + totalCount = this.faqMapper.countNotActivation(faqCondition); + } int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1; List<FaqVo> faqVos = ConvertUtil.convertListToListClass(results, FaqVo.class); @@ -164,4 +199,47 @@ resJsonData.put(Constants.RES_KEY_CONTENTS, faqVo); } + + @Override + public void remove(FaqForm faqForm) { + if (faqForm.getRemoveIds().size() < 1) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANY_REMOVE_NOT_SELECT)); + } + for (Long id : faqForm.getRemoveIds()) { + this.faqRepository.deleteById(id); + this.faqRepository.flush(); + } + } + + @Override + public ModelAndView downloadExcel(HttpServletRequest request, Model model) { + ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model); + if (modelAndView != null) { + return modelAndView; + } + + Map<String, Object> conditions = new HashMap<>(); + // �뿊�� �떎�슫濡쒕뱶�뿉 �븘�슂�븳 寃��깋 議곌굔 �젙蹂대�� 異붿텧�븯怨� 寃��깋 議곌굔 異붿텧�뿉 �삤瑜섍� 諛쒖깮�븯硫� 寃쎄퀬瑜� �몴�떆�빐以��떎. + modelAndView = this.excelConditionCheck.checkCondition(conditions, request, model); + if (modelAndView != null) { + return modelAndView; + } + + FaqCondition faqCondition = FaqCondition.make(conditions); + List<Map<String, Object>> results = this.faqMapper.find(faqCondition); + List<FaqVo> faqVos = ConvertUtil.convertListToListClass(results, FaqVo.class); + + // code_ko_KR �뿉 code紐� �꽕�젙 + ExportExcelVo excelInfo = new ExportExcelVo(); + excelInfo.setFileName(this.messageAccessor.message("FAQ 紐⑸줉")); + excelInfo.addAttrInfos(new ExportExcelAttrVo("title", this.messageAccessor.message("faq.title"), 6, ExportExcelAttrVo.ALIGN_CENTER)); + excelInfo.addAttrInfos(new ExportExcelAttrVo("registerDate", this.messageAccessor.message("faq.registerDate"), 10, ExportExcelAttrVo.ALIGN_CENTER)); + excelInfo.addAttrInfos(new ExportExcelAttrVo("writer", this.messageAccessor.message("faq.registerId"), 10, ExportExcelAttrVo.ALIGN_CENTER)); + + excelInfo.setDatas(faqVos); + + model.addAttribute(Constants.EXCEL, excelInfo); + return new ModelAndView(this.excelView); + } } -- Gitblit v1.8.0