
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.accesCtrl.web;
import com.takensoft.cms.accesCtrl.service.AccesCtrlService;
import com.takensoft.cms.accesCtrl.vo.AccesCtrlVO;
import com.takensoft.common.util.ResponseData;
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 javax.servlet.http.HttpServletRequest;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author : takensoft
* @since : 2024.04.01
*
* 접근 제어 관련 컨트롤러
*/
@RestController
@RequiredArgsConstructor
@Slf4j
@RequestMapping(value = "/admin/accesCtrl")
public class AccesCtrlController {
private final AccesCtrlService accesCtrlService;
/**
* @author takensoft
* @since 2024.04.09
* @param accesCtrlVO
* @return
* @throws Exception
*
* 접근제어 등록
*/
@PostMapping("/saveProc.json")
public ResponseEntity<?> saveProc(@RequestBody AccesCtrlVO accesCtrlVO) throws Exception {
Map<String, Object> result = accesCtrlService.accesCtrlSave(accesCtrlVO);
int saveResult = (int) result.get("result");
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
if(saveResult > 0) {
responseData.setStatus(HttpStatus.OK);
responseData.setMessage("정상적으로 등록 처리되었습니다.");
responseData.setData(result);
return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
} else {
responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR);
responseData.setMessage("등록에 실패하였습니다.\n담당자에게 문의하세요.");
return new ResponseEntity<>(responseData, headers, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
/**
* @author takensoft
* @since 2024.04.15
* @param params
* @return
* @throws Exception
*
* 접근제어 목록 조회
*/
@PostMapping("/findAll.json")
public ResponseEntity<?> findAll(@RequestBody Map<String, String> params) throws Exception {
// 접근제어 목록 관련 정보 조회
Map<String, Object> result = accesCtrlService.findAll(params);
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
responseData.setStatus(HttpStatus.OK);
responseData.setMessage("정상적으로 조회가 처리되었습니다.");
responseData.setData(result);
return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
}
/**
* @author takensoft
* @since 2024.04.15
* @param accesCtrlVO
* @return
* @throws Exception
*
* 접근제어 상세 조회
*/
@PostMapping("/findByAcces.json")
public ResponseEntity<?> findByAcces(@RequestBody AccesCtrlVO accesCtrlVO) throws Exception {
// 상세 조회
Map<String, Object> result = accesCtrlService.findByAccesCtrl(accesCtrlVO.getAcsCntrlId());
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
responseData.setStatus(HttpStatus.OK);
responseData.setMessage("정상적으로 조회가 처리되었습니다.");
responseData.setData(result);
return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
}
/**
* @author takensoft
* @since 2024.04.15
* @param accesCtrlVO
* @return
* @throws Exception
*
* 접근제어 수정
*/
@PostMapping("/updateProc.json")
public ResponseEntity<?> updateProc(@RequestBody AccesCtrlVO accesCtrlVO) throws Exception {
// 접근제어 수정 처리
int result = accesCtrlService.accesCtrlUpdate(accesCtrlVO);
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
if(result > 0) {
responseData.setStatus(HttpStatus.OK);
responseData.setMessage("정상적으로 수정 처리되었습니다.");
return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
} else {
responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR);
responseData.setMessage("수정에 실패하였습니다.\n담당자에게 문의하세요.");
return new ResponseEntity<>(responseData, headers, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
/**
* @author takensoft
* @since 2024.04.15
* @param accesCtrlVO
* @return
* @throws Exception
*
* 접근제어 삭제
*/
@PostMapping("/deleteProc.json")
public ResponseEntity<?> deleteProc(@RequestBody AccesCtrlVO accesCtrlVO) throws Exception {
// 접근제어 삭제 처리
int result = accesCtrlService.accesCtrlUpdate(accesCtrlVO);
// 응답 처리
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));
ResponseData responseData = new ResponseData();
if(result > 0) {
responseData.setStatus(HttpStatus.OK);
responseData.setMessage("정상적으로 삭제 처리되었습니다.");
return new ResponseEntity<>(responseData, headers, HttpStatus.OK);
} else {
responseData.setStatus(HttpStatus.INTERNAL_SERVER_ERROR);
responseData.setMessage("삭제에 실패하였습니다.\n담당자에게 문의하세요.");
return new ResponseEntity<>(responseData, headers, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}