|
|
|
@ -1,30 +1,30 @@
|
|
|
|
|
package com.palnet.biz.api.cns.qna.controller; |
|
|
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
import org.springframework.http.ResponseEntity; |
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping; |
|
|
|
|
import org.springframework.web.bind.annotation.PathVariable; |
|
|
|
|
import org.springframework.web.bind.annotation.PostMapping; |
|
|
|
|
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 com.palnet.biz.api.cns.qna.model.QnaBasModel; |
|
|
|
|
import com.palnet.biz.api.cns.qna.model.QnaDetailRSModel; |
|
|
|
|
import com.palnet.biz.api.cns.qna.model.QnaInsertRQModel; |
|
|
|
|
import com.palnet.biz.api.cns.qna.model.QnaRSModel; |
|
|
|
|
import com.palnet.biz.api.cns.qna.model.QnaSelectListRQ; |
|
|
|
|
import com.palnet.biz.api.cns.qna.service.CnsQnaService; |
|
|
|
|
|
|
|
|
|
import com.palnet.biz.api.comn.response.BasicResponse; |
|
|
|
|
import com.palnet.biz.api.comn.response.ErrorResponse; |
|
|
|
|
import com.palnet.biz.api.comn.response.SuccessResponse; |
|
|
|
|
import com.palnet.comn.exception.CustomException; |
|
|
|
|
import io.swagger.annotations.ApiOperation; |
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springframework.http.HttpStatus; |
|
|
|
|
import org.springframework.http.ResponseEntity; |
|
|
|
|
import org.springframework.web.bind.annotation.*; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.HashMap; |
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
@RestController |
|
|
|
|
@Slf4j |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
@RequestMapping("/api/cns/qna") |
|
|
|
|
public class CnsQnaController { |
|
|
|
@ -32,55 +32,123 @@ public class CnsQnaController {
|
|
|
|
|
private final CnsQnaService cnsQnaService; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping(value = "/insert", consumes = "multipart/form-data") |
|
|
|
|
// TODO json 가능 여부
|
|
|
|
|
@PostMapping(consumes = "multipart/form-data") |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@ApiOperation(value = "QnA 등록[답변추가]") |
|
|
|
|
public ResponseEntity<Boolean> insertQna(QnaInsertRQModel rq){ |
|
|
|
|
|
|
|
|
|
boolean result = cnsQnaService.insertQna(rq); |
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(result); |
|
|
|
|
public ResponseEntity<? extends BasicResponse> insertQna(QnaInsertRQModel rq){ |
|
|
|
|
boolean result = false; |
|
|
|
|
try { |
|
|
|
|
result = cnsQnaService.insertQna(rq); |
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
|
resultMap.put("errorMessage", e.getMessage()); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) |
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@GetMapping("/select") |
|
|
|
|
@GetMapping |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@ApiOperation(value = "QnA 리스트 조회") |
|
|
|
|
public ResponseEntity<List<QnaBasModel>> selectQna(QnaSelectListRQ rq){ |
|
|
|
|
|
|
|
|
|
List<QnaBasModel> result = cnsQnaService.selectQnaList(rq); |
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(result); |
|
|
|
|
public ResponseEntity<? extends BasicResponse> selectQna(QnaSelectListRQ rq){ |
|
|
|
|
|
|
|
|
|
List<QnaBasModel> result = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
result = cnsQnaService.selectQnaList(rq); |
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
|
resultMap.put("errorMessage", e.getMessage()); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) |
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@GetMapping("/{qnaSno}/detail") |
|
|
|
|
@GetMapping("/{qnaSno}") |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@ApiOperation(value = "QnA 상세보기") |
|
|
|
|
public ResponseEntity<List<QnaDetailRSModel>> detailQna(@PathVariable int qnaSno){ |
|
|
|
|
|
|
|
|
|
List<QnaDetailRSModel> reulst = cnsQnaService.getQnaDetail(qnaSno); |
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(reulst); |
|
|
|
|
public ResponseEntity<? extends BasicResponse> detailQna(@PathVariable int qnaSno){ |
|
|
|
|
List<QnaDetailRSModel> result = null; |
|
|
|
|
try { |
|
|
|
|
result = cnsQnaService.getQnaDetail(qnaSno); |
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
|
resultMap.put("errorMessage", e.getMessage()); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) |
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@PostMapping("/{qnaSno}/update") |
|
|
|
|
@PutMapping |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@ApiOperation(value = "QnA 업데이트") |
|
|
|
|
public ResponseEntity<Boolean> updateQna(@PathVariable int qnaSno, QnaInsertRQModel rq){ |
|
|
|
|
|
|
|
|
|
boolean result = cnsQnaService.updateQna(qnaSno, rq); |
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(result); |
|
|
|
|
public ResponseEntity<? extends BasicResponse> updateQna(QnaInsertRQModel rq){ |
|
|
|
|
boolean result = false; |
|
|
|
|
try { |
|
|
|
|
result = cnsQnaService.updateQna(rq); |
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
|
resultMap.put("errorMessage", e.getMessage()); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) |
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@GetMapping("/{qnaSno}/delete") |
|
|
|
|
@DeleteMapping("/{qnaSno}") |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@ApiOperation(value = "QnA 삭제하기") |
|
|
|
|
public ResponseEntity<Boolean> deleteQna(@PathVariable int qnaSno){ |
|
|
|
|
|
|
|
|
|
boolean result = cnsQnaService.deleteQna(qnaSno); |
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(result); |
|
|
|
|
public ResponseEntity<? extends BasicResponse> deleteQna(@PathVariable int qnaSno){ |
|
|
|
|
|
|
|
|
|
boolean result = false; |
|
|
|
|
try { |
|
|
|
|
result = cnsQnaService.deleteQna(qnaSno); |
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
|
resultMap.put("errorMessage", e.getMessage()); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) |
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -89,14 +157,29 @@ public class CnsQnaController {
|
|
|
|
|
* @param fileSno |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/{qnaSno}/{fileSno}/delete") |
|
|
|
|
@DeleteMapping("/file/{qnaSno}/{fileSno}") |
|
|
|
|
@Tag(name = "QNA", description = "QNA 관련 API") |
|
|
|
|
@ApiOperation(value = "QnA 파일 개별삭제") |
|
|
|
|
public ResponseEntity<Boolean> deleteQnaFile(@PathVariable int qnaSno, @PathVariable int fileSno){ |
|
|
|
|
public ResponseEntity<? extends BasicResponse> deleteQnaFile(@PathVariable int qnaSno, @PathVariable int fileSno){ |
|
|
|
|
log.warn("CnsQnaController - deleteQnaFile()"); |
|
|
|
|
|
|
|
|
|
boolean result = cnsQnaService.deleteQnaFile(fileSno); |
|
|
|
|
boolean result = false; |
|
|
|
|
try { |
|
|
|
|
result = cnsQnaService.deleteQnaFile(fileSno); |
|
|
|
|
} catch (CustomException e) { |
|
|
|
|
Map<String, Object> resultMap = new HashMap<>(); |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
resultMap.put("result", false); |
|
|
|
|
resultMap.put("errorCode", e.getErrorCode()); |
|
|
|
|
resultMap.put("errorMessage", e.getMessage()); |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("IGNORE : ", e); |
|
|
|
|
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) |
|
|
|
|
.body(new ErrorResponse("Server Error", "-1")); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return ResponseEntity.ok().body(new SuccessResponse<>(result)); |
|
|
|
|
|
|
|
|
|
return ResponseEntity.ok().body(result); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|