@ -1,13 +1,35 @@
package kr.co.palnet.kac.api.v1.com.code.controller ;
import kr.co.palnet.kac.api.v1.com.code.model.* ;
import java.util.List ;
import org.springframework.http.ResponseEntity ;
import org.springframework.web.bind.annotation.DeleteMapping ;
import org.springframework.web.bind.annotation.GetMapping ;
import org.springframework.web.bind.annotation.PostMapping ;
import org.springframework.web.bind.annotation.PutMapping ;
import org.springframework.web.bind.annotation.RequestBody ;
import org.springframework.web.bind.annotation.RequestMapping ;
import org.springframework.web.bind.annotation.RequestParam ;
import org.springframework.web.bind.annotation.RestController ;
import io.swagger.v3.oas.annotations.Operation ;
import io.swagger.v3.oas.annotations.Parameter ;
import io.swagger.v3.oas.annotations.enums.ParameterIn ;
import io.swagger.v3.oas.annotations.tags.Tag ;
import kr.co.palnet.kac.api.v1.com.code.model.CodeDTO ;
import kr.co.palnet.kac.api.v1.com.code.model.CodeGroupDTO ;
import kr.co.palnet.kac.api.v1.com.code.model.CodeGroupRS ;
import kr.co.palnet.kac.api.v1.com.code.model.CodeLangDTO ;
import kr.co.palnet.kac.api.v1.com.code.model.CodeRS ;
import kr.co.palnet.kac.api.v1.com.code.model.FormCodeGroupRQ ;
import kr.co.palnet.kac.api.v1.com.code.model.FormCodeLangRQ ;
import kr.co.palnet.kac.api.v1.com.code.model.FormCodeRQ ;
import kr.co.palnet.kac.api.v1.com.code.model.SearchCodeAllRQ ;
import kr.co.palnet.kac.api.v1.com.code.model.SearchCodeRQ ;
import kr.co.palnet.kac.api.v1.com.code.service.ComCodeService ;
import lombok.RequiredArgsConstructor ;
import org.springframework.http.ResponseEntity ;
import org.springframework.web.bind.annotation.* ;
import java.util.List ;
@Tag ( name = "공통 - 코드" , description = "코드 관련 API" )
@RequiredArgsConstructor
@RequestMapping ( "/v1/com/code" )
@RestController
@ -18,6 +40,7 @@ public class ComCodeController {
/* 사용 용도 */
// 전체 코드 조회 - 코드그룹-코드-언어
@GetMapping ( "/all" )
@Operation ( summary = "전체 코드 조회" , description = "전체 코드를 조회합니다." )
public ResponseEntity < List < CodeGroupRS > > getAllGroup ( SearchCodeAllRQ rq ) {
List < CodeGroupRS > allCode = comCodeService . getAllGroup ( rq ) ;
return ResponseEntity . ok ( allCode ) ;
@ -25,6 +48,7 @@ public class ComCodeController {
// 그룹 목록 조회 - 코드 그룹만
@GetMapping ( "/group" )
@Operation ( summary = "코드 그룹 조회" , description = "코드 그룹을 조회합니다." )
public ResponseEntity < List < CodeGroupRS > > getAllGroupCode ( ) {
List < CodeGroupRS > codeGroupRSList = comCodeService . getAllGroupCode ( ) ;
return ResponseEntity . ok ( codeGroupRSList ) ;
@ -32,6 +56,7 @@ public class ComCodeController {
// 코드 목록 조회 - 코드 - 언어
@GetMapping ( "/code" )
@Operation ( summary = "코드 목록 조회" , description = "코드 목록을 조회합니다." )
public ResponseEntity < List < CodeRS > > getAllCodeByGroup ( SearchCodeRQ rq ) {
List < CodeRS > list = comCodeService . getAllCodeByGroup ( rq ) ;
return ResponseEntity . ok ( list ) ;
@ -40,6 +65,7 @@ public class ComCodeController {
/* 관리 용도 */
// 코드 그룹 등록
@PostMapping ( "/group" )
@Operation ( summary = "코드 그룹 등록" , description = "코드 그룹을 등록합니다." )
public ResponseEntity < CodeGroupDTO > createCodeGroup ( @RequestBody FormCodeGroupRQ rq ) {
CodeGroupDTO codeGroup = comCodeService . createCodeGroup ( rq ) ;
return ResponseEntity . ok ( codeGroup ) ;
@ -47,6 +73,7 @@ public class ComCodeController {
// 코드 등록
@PostMapping ( "/code" )
@Operation ( summary = "코드 등록" , description = "코드를 등록합니다." )
public ResponseEntity < CodeDTO > createCode ( @RequestBody FormCodeRQ rq ) {
CodeDTO code = comCodeService . createCode ( rq ) ;
return ResponseEntity . ok ( code ) ;
@ -54,6 +81,7 @@ public class ComCodeController {
// 언어 등록
@PostMapping ( "/lang" )
@Operation ( summary = "언어 등록" , description = "언어를 등록합니다." )
public ResponseEntity < CodeLangDTO > createCodeLang ( @RequestBody FormCodeLangRQ rq ) {
CodeLangDTO lang = comCodeService . createCodeLang ( rq ) ;
return ResponseEntity . ok ( lang ) ;
@ -61,6 +89,7 @@ public class ComCodeController {
// 코드 그룹 수정
@PutMapping ( "/group" )
@Operation ( summary = "코드 그룹 수정" , description = "코드 그룹을 수정합니다." )
public ResponseEntity < CodeGroupDTO > updateCodeGroup ( @RequestBody FormCodeGroupRQ rq ) {
CodeGroupDTO codeGroup = comCodeService . updateCodeGroup ( rq ) ;
return ResponseEntity . ok ( codeGroup ) ;
@ -68,6 +97,7 @@ public class ComCodeController {
// 코드 수정
@PutMapping ( "/code" )
@Operation ( summary = "코드 수정" , description = "코드를 수정합니다." )
public ResponseEntity < CodeDTO > updateCode ( @RequestBody FormCodeRQ rq ) {
CodeDTO code = comCodeService . updateCode ( rq ) ;
return ResponseEntity . ok ( code ) ;
@ -75,6 +105,7 @@ public class ComCodeController {
// 언어 수정
@PutMapping ( "/lang" )
@Operation ( summary = "언어 수정" , description = "언어를 수정합니다." )
public ResponseEntity < CodeLangDTO > updateCodeLang ( @RequestBody FormCodeLangRQ rq ) {
CodeLangDTO lang = comCodeService . updateCodeLang ( rq ) ;
return ResponseEntity . ok ( lang ) ;
@ -82,24 +113,27 @@ public class ComCodeController {
// 코드 그룹 삭제
@DeleteMapping ( "/group" )
public void deleteCodeGroup ( @RequestParam ( "groupCd" ) String groupCd ) {
@Operation ( summary = "코드 그룹 삭제" , description = "코드 그룹을 삭제합니다." )
public void deleteCodeGroup ( @Parameter ( name = "groupCd" , description = "삭제할 그룹 코드" , in = ParameterIn . QUERY , example = "NEW_GROUP001" ) @RequestParam ( "groupCd" ) String groupCd ) {
comCodeService . deleteCodeGroup ( groupCd ) ;
}
// 코드 삭제
@DeleteMapping ( "/code" )
@Operation ( summary = "코드 삭제" , description = "코드를 삭제합니다." )
public void deleteCode (
@RequestParam ( "groupCd" ) String groupCd ,
@RequestParam ( "cdId" ) String cdId ) {
@Parameter ( name = "groupCd" , description = "그룹 코드" , in = ParameterIn . QUERY , example = "NEW_GROUP001" ) @RequestParam ( "groupCd" ) String groupCd ,
@Parameter ( name = "cdId" , description = "삭제할 코드 아이디" , in = ParameterIn . QUERY , example = "NEW_CODE001" ) @RequestParam ( "cdId" ) String cdId ) {
comCodeService . deleteCode ( groupCd , cdId ) ;
}
// 언어 삭제
@DeleteMapping ( "/lang" )
@Operation ( summary = "언어 삭제" , description = "언어를 삭제합니다." )
public void deleteLang (
@RequestParam ( "groupCd" ) String groupCd ,
@RequestParam ( "cdId" ) String cdId ,
@RequestParam ( "langDivCd" ) String langDivCd ) {
@Parameter ( name = "groupCd" , description = " 그룹 코드" , in = ParameterIn . QUERY , example = "NEW_GROUP001" ) @RequestParam ( "groupCd" ) String groupCd ,
@Parameter ( name = "cdId" , description = "코드 아이디" , in = ParameterIn . QUERY , example = "NEW_CODE001" ) @RequestParam ( "cdId" ) String cdId ,
@Parameter ( name = "langDivCd" , description = "삭제할 언어 코드" , in = ParameterIn . QUERY , example = "ko_KR" ) @RequestParam ( "langDivCd" ) String langDivCd ) {
comCodeService . deleteLang ( groupCd , cdId , langDivCd ) ;
}