
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
package com.takensoft.cms.menu.web;
import com.takensoft.cms.author.vo.AuthorVO;
import com.takensoft.cms.codeManage.service.CodeManageService;
import com.takensoft.cms.codeManage.vo.CodeManageVO;
import com.takensoft.cms.dept.vo.DeptVO;
import com.takensoft.cms.menu.service.MenuService;
import com.takensoft.cms.menu.vo.MenuVO;
import com.takensoft.common.HierachyVO;
import com.takensoft.common.message.MessageCode;
import com.takensoft.common.util.ResponseData;
import com.takensoft.common.util.ResponseUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
/**
* @author takensoft
* @since 2024.04.01
* @modification
* since | author | description
* 2024.04.01 | takensoft | 최초 등록
*
* 메뉴 정보 관련 컨트롤러
*/
@RestController
@RequiredArgsConstructor
@Slf4j
@RequestMapping(value = "/admin/menu")
public class MenuController {
private final ResponseUtil resUtil;
private final MenuService menuService;
private final CodeManageService codeManageService;
/**
* @author takensoft
* @since 2024.04.08
* @param menuVO
* @return
* @throws Exception
*
* 메뉴 등록
*/
@PostMapping(value = "/saveProc.json")
public ResponseEntity<?> SaveProc(@RequestBody MenuVO menuVO) throws Exception {
// 메뉴 등록
int result = menuService.menuSave(menuVO);
// 응답 처리
if(result > 0) {
return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
} else {
return resUtil.errorRes(MessageCode.COMMON_INSERT_FAIL);
}
}
/**
* @author takensoft
* @since 2024.04.08
* @param
* @return
* @throws Exception
*
* 메뉴 목록 조회 (관리자 페이지용)
*/
@GetMapping(value = "/findAll.json")
public ResponseEntity<?> findAll() throws Exception {
// Tree용
List<HierachyVO> hierachyList = menuService.findByTopNode();
// 메뉴타입
List<CodeManageVO> codeList = codeManageService.findByChildCdCache("menuGroup");
HashMap<String, Object> result = new HashMap<>();
result.put("hierachyList", hierachyList);
result.put("newMenu", new MenuVO());
result.put("codeList", codeList);
// 응답 처리
return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
}
/**
* @author takensoft
* @since 2024.04.08
* @param menuVO
* @return
* @throws Exception
*
* 메뉴 상세 조회 (관리자 페이지용)
*/
@PostMapping("/findByMenu.json")
public ResponseEntity<?> findByMenu(@RequestBody MenuVO menuVO) throws Exception {
// 메뉴 조회
MenuVO result = menuService.findByMenu(menuVO.getMenuId());
// 응답 처리
return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
}
/**
* @author takensoft
* @since 2024.04.08
* @param menuVO
* @return
* @throws Exception
*
* 메뉴 정보 수정
*/
@PostMapping(value = "/updateProc.json")
public ResponseEntity<?> updateProc(@RequestBody MenuVO menuVO) throws Exception {
// 메뉴 등록
int result = menuService.MenuUpdate(menuVO);
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
if(result > 0) {
return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
} else {
return resUtil.errorRes(MessageCode.COMMON_UPDATE_FAIL);
}
}
/**
* @author 박정하
* @since 2024.04.29
* @param menuVO
* @return
* @throws Exception
*
* 메뉴 정보 삭제
*/
@PostMapping(value = "/deleteProc.json")
public ResponseEntity<?> deleteProc(@RequestBody MenuVO menuVO) throws Exception {
// 메뉴 삭제
int result = menuService.menuDelete(menuVO);
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
if(result > 0) {
return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
} else {
return resUtil.errorRes(MessageCode.COMMON_DELETE_FAIL);
}
}
/**
* @author 박정하
* @since 2024.05.10
* @param menuList
* @return
* @throws Exception
*
* 메뉴 목록 수정
*/
@PostMapping(value = "/updateListProc.json")
public ResponseEntity<?> updateListProc(@RequestBody List<HierachyVO> menuList) throws Exception {
// 메뉴 목록 수정
int result = menuService.updateList(menuList);
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
if(result > 0) {
return resUtil.successRes(result, MessageCode.COMMON_SUCCESS);
} else {
return resUtil.errorRes(MessageCode.COMMON_UPDATE_FAIL);
}
}
}