Canvas 상태 Api Exception 처리
This commit is contained in:
parent
2a64f15231
commit
a8a0b6c7a7
@ -2,7 +2,6 @@ package com.interplug.qcast.biz.canvasStatus;
|
|||||||
|
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||||
import com.interplug.qcast.config.Exception.CanvasStatusException;
|
|
||||||
import com.interplug.qcast.config.Exception.QcastException;
|
import com.interplug.qcast.config.Exception.QcastException;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -20,26 +19,26 @@ public class CanvasStatusController {
|
|||||||
|
|
||||||
@Operation(description = "계정에 해당하는 전체 견적서를 조회 한다.")
|
@Operation(description = "계정에 해당하는 전체 견적서를 조회 한다.")
|
||||||
@GetMapping("/canvas-statuses/{userId}")
|
@GetMapping("/canvas-statuses/{userId}")
|
||||||
public List<CanvasStatusResponse> selectAllCanvasStatus(@PathVariable String userId) {
|
public List<CanvasStatusResponse> selectAllCanvasStatus(@PathVariable String userId) throws QcastException {
|
||||||
return canvasStatusService.selectAllCanvasStatus(userId);
|
return canvasStatusService.selectAllCanvasStatus(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(description = "견적서를 조회 한다.")
|
@Operation(description = "견적서를 조회 한다.")
|
||||||
@GetMapping("/canvas-statuses/by-object/{objectNo}/{userId}")
|
@GetMapping("/canvas-statuses/by-object/{objectNo}/{userId}")
|
||||||
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(@PathVariable String objectNo, @PathVariable String userId) {
|
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(@PathVariable String objectNo, @PathVariable String userId) throws QcastException {
|
||||||
return canvasStatusService.selectObjectNoCanvasStatus(objectNo, userId);
|
return canvasStatusService.selectObjectNoCanvasStatus(objectNo, userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(description = "견적서를 등록 한다.")
|
@Operation(description = "견적서를 등록 한다.")
|
||||||
@PostMapping("/canvas-statuses")
|
@PostMapping("/canvas-statuses")
|
||||||
@ResponseStatus(HttpStatus.CREATED)
|
@ResponseStatus(HttpStatus.CREATED)
|
||||||
public Integer insertCanvasStatus(@RequestBody CanvasStatus cs) throws CanvasStatusException {
|
public Integer insertCanvasStatus(@RequestBody CanvasStatus cs) throws QcastException {
|
||||||
return canvasStatusService.insertCanvasStatus(cs);
|
return canvasStatusService.insertCanvasStatus(cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Operation(description = "견적서를 수정 한다.")
|
@Operation(description = "견적서를 수정 한다.")
|
||||||
@PutMapping("/canvas-statuses")
|
@PutMapping("/canvas-statuses")
|
||||||
public void updateCanvasStatus(@RequestBody CanvasStatus cs) throws CanvasStatusException {
|
public void updateCanvasStatus(@RequestBody CanvasStatus cs) throws QcastException {
|
||||||
canvasStatusService.updateCanvasStatus(cs);
|
canvasStatusService.updateCanvasStatus(cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +52,7 @@ public class CanvasStatusController {
|
|||||||
@Operation(description = "견적서의 이미지(템플릿)를 삭제 한다.")
|
@Operation(description = "견적서의 이미지(템플릿)를 삭제 한다.")
|
||||||
@DeleteMapping("/canvas-statuses/by-id/{id}")
|
@DeleteMapping("/canvas-statuses/by-id/{id}")
|
||||||
@ResponseStatus(HttpStatus.NO_CONTENT)
|
@ResponseStatus(HttpStatus.NO_CONTENT)
|
||||||
public void deleteIdCanvasStatus(@PathVariable Integer id) {
|
public void deleteIdCanvasStatus(@PathVariable Integer id) throws QcastException {
|
||||||
canvasStatusService.deleteIdCanvasStatus(id);
|
canvasStatusService.deleteIdCanvasStatus(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ public interface CanvasStatusMapper {
|
|||||||
// 전체 견적서 조회
|
// 전체 견적서 조회
|
||||||
public List<CanvasStatusResponse> selectAllCanvasStatus(String userId);
|
public List<CanvasStatusResponse> selectAllCanvasStatus(String userId);
|
||||||
|
|
||||||
// 견적서 조회(objectNo)
|
// 견적서 조회(objectNo/userId)
|
||||||
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo, String userId);
|
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo, String userId);
|
||||||
|
|
||||||
// 견적서 조회(Max id)
|
// 견적서 조회(Max id)
|
||||||
@ -28,6 +28,9 @@ public interface CanvasStatusMapper {
|
|||||||
// 견적서 조회(id별)
|
// 견적서 조회(id별)
|
||||||
public List<CanvasStatusResponse> getIdCanvasStatus(Integer id);
|
public List<CanvasStatusResponse> getIdCanvasStatus(Integer id);
|
||||||
|
|
||||||
|
// 견적서 조회(objectNo)
|
||||||
|
public List<CanvasStatusResponse> getObjectNoCanvasStatus(String objectNo);
|
||||||
|
|
||||||
// 견적서 등록
|
// 견적서 등록
|
||||||
public void insertCanvasStatus(CanvasStatus cs);
|
public void insertCanvasStatus(CanvasStatus cs);
|
||||||
|
|
||||||
|
|||||||
@ -2,12 +2,12 @@ package com.interplug.qcast.biz.canvasStatus;
|
|||||||
|
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||||
import com.interplug.qcast.config.Exception.CanvasStatusException;
|
import com.interplug.qcast.config.Exception.ErrorCode;
|
||||||
|
import com.interplug.qcast.config.Exception.QcastException;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -16,17 +16,33 @@ public class CanvasStatusService {
|
|||||||
private final CanvasStatusMapper canvasStatusMapper;
|
private final CanvasStatusMapper canvasStatusMapper;
|
||||||
|
|
||||||
// 전체 견적서 조회
|
// 전체 견적서 조회
|
||||||
public List<CanvasStatusResponse> selectAllCanvasStatus(String userId) {
|
public List<CanvasStatusResponse> selectAllCanvasStatus(String userId) throws QcastException {
|
||||||
return canvasStatusMapper.selectAllCanvasStatus(userId);
|
List<CanvasStatusResponse> result = null;
|
||||||
|
|
||||||
|
if (userId != null && !userId.trim().isEmpty()) {
|
||||||
|
result = canvasStatusMapper.selectAllCanvasStatus(userId);
|
||||||
|
} else {
|
||||||
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 견적서 조회(objectNo)
|
// 견적서 조회(objectNo)
|
||||||
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo, String userId) {
|
public List<CanvasStatusResponse> selectObjectNoCanvasStatus(String objectNo, String userId) throws QcastException {
|
||||||
return canvasStatusMapper.selectObjectNoCanvasStatus(objectNo, userId);
|
List<CanvasStatusResponse> result = null;
|
||||||
|
|
||||||
|
if (objectNo != null && !objectNo.trim().isEmpty() && userId != null && !userId.trim().isEmpty()) {
|
||||||
|
result = canvasStatusMapper.selectObjectNoCanvasStatus(objectNo, userId);
|
||||||
|
} else {
|
||||||
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 견적서 등록
|
// 견적서 등록
|
||||||
public Integer insertCanvasStatus(CanvasStatus cs) throws CanvasStatusException {
|
public Integer insertCanvasStatus(CanvasStatus cs) throws QcastException {
|
||||||
|
|
||||||
Integer id = 0;
|
Integer id = 0;
|
||||||
|
|
||||||
@ -39,16 +55,19 @@ public class CanvasStatusService {
|
|||||||
id = maxId.get(0).getId();
|
id = maxId.get(0).getId();
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new CanvasStatusException("견적서 등록 중 오류 발생");
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"견적서 등록 중 오류 발생");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 생성된 id 반환
|
// 생성된 id 반환
|
||||||
return id;
|
return id;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 견적서 수정
|
// 견적서 수정
|
||||||
public void updateCanvasStatus(CanvasStatus cs) throws CanvasStatusException {
|
public void updateCanvasStatus(CanvasStatus cs) throws QcastException {
|
||||||
|
|
||||||
|
if (cs.getId() == null) {
|
||||||
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
// 먼저 데이터가 존재하는지 확인
|
// 먼저 데이터가 존재하는지 확인
|
||||||
List<CanvasStatusResponse> existingStatus = canvasStatusMapper.getIdCanvasStatus(cs.getId());
|
List<CanvasStatusResponse> existingStatus = canvasStatusMapper.getIdCanvasStatus(cs.getId());
|
||||||
@ -57,20 +76,36 @@ public class CanvasStatusService {
|
|||||||
if (existingStatus.size() > 0) {
|
if (existingStatus.size() > 0) {
|
||||||
canvasStatusMapper.updateCanvasStatus(cs);
|
canvasStatusMapper.updateCanvasStatus(cs);
|
||||||
} else {
|
} else {
|
||||||
throw new CanvasStatusException("수정할 견적서가 존재하지 않습니다.");
|
throw new QcastException (ErrorCode.NOT_FOUND ,"수정할 견적서가 존재하지 않습니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 전체 견적서 삭제
|
// 전체 견적서 삭제
|
||||||
public void deleteObjectNoCanvasStatus(String objectNo) {
|
public void deleteObjectNoCanvasStatus(String objectNo) throws QcastException {
|
||||||
|
|
||||||
|
if (objectNo == null || objectNo.trim().isEmpty()) {
|
||||||
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 먼저 데이터가 존재하는지 확인
|
||||||
|
List<CanvasStatusResponse> existingStatus = canvasStatusMapper.getObjectNoCanvasStatus(objectNo);
|
||||||
|
|
||||||
|
// 데이터가 존재하지 않으면 수정하지 않고 예외를 던짐
|
||||||
|
if (existingStatus.size() > 0) {
|
||||||
canvasStatusMapper.deleteObjectNoCanvasStatus(objectNo);
|
canvasStatusMapper.deleteObjectNoCanvasStatus(objectNo);
|
||||||
|
} else {
|
||||||
|
throw new QcastException (ErrorCode.NOT_FOUND ,"삭제할 견적서가 존재하지 않습니다.");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 이미지(템플릿) 삭제
|
// 이미지(템플릿) 삭제
|
||||||
public void deleteIdCanvasStatus(Integer id) {
|
public void deleteIdCanvasStatus(Integer id) throws QcastException {
|
||||||
|
|
||||||
|
if (id == null) {
|
||||||
|
throw new QcastException (ErrorCode.INVALID_INPUT_VALUE ,"올바르지 않은 입력값입니다.");
|
||||||
|
}
|
||||||
|
|
||||||
// 먼저 데이터가 존재하는지 확인
|
// 먼저 데이터가 존재하는지 확인
|
||||||
List<CanvasStatusResponse> existingStatus = canvasStatusMapper.getIdCanvasStatus(id);
|
List<CanvasStatusResponse> existingStatus = canvasStatusMapper.getIdCanvasStatus(id);
|
||||||
@ -79,7 +114,7 @@ public class CanvasStatusService {
|
|||||||
if (existingStatus.size() > 0) {
|
if (existingStatus.size() > 0) {
|
||||||
canvasStatusMapper.deleteIdCanvasStatus(id);
|
canvasStatusMapper.deleteIdCanvasStatus(id);
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("삭제할 견적서가 존재하지 않습니다.");
|
throw new QcastException (ErrorCode.NOT_FOUND ,"삭제할 견적서가 존재하지 않습니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,9 @@
|
|||||||
, last_edit_datetime
|
, last_edit_datetime
|
||||||
FROM TB_CANVAS_STATUS
|
FROM TB_CANVAS_STATUS
|
||||||
WHERE object_no = #{objectNo}
|
WHERE object_no = #{objectNo}
|
||||||
|
<if test="userId != null and userId != ''">
|
||||||
AND user_id = #{userId}
|
AND user_id = #{userId}
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getMaxIdCanvasStatus" parameterType="string"
|
<select id="getMaxIdCanvasStatus" parameterType="string"
|
||||||
@ -56,6 +58,7 @@
|
|||||||
WHERE object_no = #{objectNo}
|
WHERE object_no = #{objectNo}
|
||||||
AND user_id = #{userId}
|
AND user_id = #{userId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getIdCanvasStatus" parameterType="integer"
|
<select id="getIdCanvasStatus" parameterType="integer"
|
||||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse">
|
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse">
|
||||||
/* sqlid : com.interplug.qcast.canvasStatus.getIdCanvasStatus 견적서 조회(id별) */
|
/* sqlid : com.interplug.qcast.canvasStatus.getIdCanvasStatus 견적서 조회(id별) */
|
||||||
@ -64,6 +67,14 @@
|
|||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getObjectNoCanvasStatus" parameterType="string"
|
||||||
|
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse">
|
||||||
|
/* sqlid : com.interplug.qcast.canvasStatus.getObjectNoCanvasStatus 견적서 조회 */
|
||||||
|
SELECT object_no
|
||||||
|
FROM TB_CANVAS_STATUS
|
||||||
|
WHERE object_no = #{objectNo}
|
||||||
|
</select>
|
||||||
|
|
||||||
<insert id="insertCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
<insert id="insertCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||||
/* sqlid : com.interplug.qcast.canvasStatus.insertCanvasStatus 견적서 등록 */
|
/* sqlid : com.interplug.qcast.canvasStatus.insertCanvasStatus 견적서 등록 */
|
||||||
INSERT INTO TB_CANVAS_STATUS
|
INSERT INTO TB_CANVAS_STATUS
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user