package com.dbnt.faisp.publicBoard; import com.dbnt.faisp.config.BoardType; import com.dbnt.faisp.config.Role; import com.dbnt.faisp.fpiMgt.monthPlan.model.PlanBoard; import com.dbnt.faisp.publicBoard.model.PublicBoard; import com.dbnt.faisp.publicBoard.service.PublicBoardService; import com.dbnt.faisp.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.time.LocalDateTime; import java.util.HashMap; import java.util.Map; @RestController @RequiredArgsConstructor @RequestMapping("/publicBoard") public class PublicBoardController { private final PublicBoardService publicBoardService; @GetMapping("/noticePage") public ModelAndView organMgtPage(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard) { ModelAndView mav = new ModelAndView("publicBoard/notice"); publicBoard.setQueryInfo(); publicBoard.setPublicType(BoardType.NOTICE.getValue()); if(loginUser.getAuthorities().contains(Role.SUB_ADMIN)){ publicBoard.setOrganCdList(loginUser.getOrganCdList()); } mav.addObject("noticeList", publicBoardService.selectContentList(publicBoard)); publicBoard.setContentCnt(publicBoardService.selectContentListCnt(publicBoard)); publicBoard.setPaginationInfo(); mav.addObject("searchParams", publicBoard); return mav; } @GetMapping("/editModal") public ModelAndView editModal(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard){ ModelAndView mav = new ModelAndView("publicBoard/editModal"); if(publicBoard.getPublicKey()!=null){ publicBoard = publicBoardService.selectPublicBoard(publicBoard.getPublicKey()); }else{ publicBoard.setWrtOrgan(loginUser.getOgCd()); publicBoard.setWrtPart(loginUser.getOfcCd()); publicBoard.setWrtUserSeq(loginUser.getUserSeq()); publicBoard.setWrtUserNm(loginUser.getUserNm()); publicBoard.setWrtDt(LocalDateTime.now()); } mav.addObject("info", publicBoard); return mav; } @GetMapping("/planViewModal") public ModelAndView planViewModal(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard){ ModelAndView mav = new ModelAndView("publicBoard/viewModal"); publicBoard = publicBoardService.selectPublicBoard(publicBoard.getPublicKey()); mav.addObject("info", publicBoard); return mav; } }