canvas thumbnail CRUD 수정
This commit is contained in:
parent
3eb784d0d5
commit
8c1d1b913d
@ -1,8 +1,11 @@
|
||||
package com.interplug.qcast.biz.canvasStatus;
|
||||
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto;
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@Slf4j
|
||||
@ -14,9 +17,10 @@ public class CanvasStatusController {
|
||||
private final CanvasStatusService canvasStatusService;
|
||||
|
||||
@PostMapping("/v1.0/canvasStatus")
|
||||
public void canvasStatus(@RequestBody CanvasStatusDto cs) {
|
||||
public void canvasStatus(@RequestBody CanvasStatusResponse cs) {
|
||||
log.warn(String.valueOf(log.isDebugEnabled()));
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("id : " + cs.getId());
|
||||
log.debug("userId : " + cs.getUserId());
|
||||
log.debug("objectNo : " + cs.getObjectNo());
|
||||
log.debug("imageName : " + cs.getImageName());
|
||||
@ -26,37 +30,41 @@ public class CanvasStatusController {
|
||||
|
||||
// 전체 견적서 조회
|
||||
@GetMapping("/{userId}")
|
||||
public CanvasStatusDto selectAllCanvasStatus(@RequestBody CanvasStatusDto cs) {
|
||||
public CanvasStatus selectAllCanvasStatus(@RequestBody CanvasStatus cs) {
|
||||
return canvasStatusService.selectAllCanvasStatus(cs);
|
||||
}
|
||||
|
||||
// 견적서 조회
|
||||
//견적서 조회
|
||||
@GetMapping("/{objectNo}")
|
||||
public CanvasStatusDto selectObjectNoCanvasStatus(@RequestBody CanvasStatusDto cs) {
|
||||
return canvasStatusService.selectObjectNoCanvasStatus(cs);
|
||||
public CanvasStatus selectObjectNoCanvasStatus(@PathVariable String objectNo) {
|
||||
return canvasStatusService.selectObjectNoCanvasStatus(objectNo);
|
||||
}
|
||||
|
||||
// 견적서 등록
|
||||
@PostMapping
|
||||
public void insertCanvasStatus(@RequestBody CanvasStatusDto cs) {
|
||||
canvasStatusService.insertCanvasStatus(cs);
|
||||
@ResponseStatus(HttpStatus.CREATED)
|
||||
public String insertCanvasStatus(@RequestBody CanvasStatusResponse cs) {
|
||||
String objectNo = canvasStatusService.insertCanvasStatus(cs);
|
||||
return objectNo;
|
||||
}
|
||||
|
||||
// 견적서 수정
|
||||
@PutMapping
|
||||
public void updateCanvasStatus(@RequestBody CanvasStatusDto cs) {
|
||||
public void updateCanvasStatus(@RequestBody CanvasStatusResponse cs) {
|
||||
canvasStatusService.updateCanvasStatus(cs);
|
||||
}
|
||||
|
||||
// 견적서 삭제
|
||||
@DeleteMapping("/{objectNo}")
|
||||
@ResponseStatus(HttpStatus.NO_CONTENT)
|
||||
public void deleteObjectNoCanvasStatus(@PathVariable String objectNo) {
|
||||
canvasStatusService.deleteObjectNoCanvasStatus(objectNo);
|
||||
}
|
||||
|
||||
// 이미지(템플릿) 삭제
|
||||
@DeleteMapping
|
||||
public void deleteImageNameCanvasStatus(@RequestBody CanvasStatusDto cs) {
|
||||
@ResponseStatus(HttpStatus.NO_CONTENT)
|
||||
public void deleteImageNameCanvasStatus(@RequestBody CanvasStatus cs) {
|
||||
canvasStatusService.deleteImageNameCanvasStatus(cs);
|
||||
}
|
||||
|
||||
|
||||
@ -1,37 +1,35 @@
|
||||
package com.interplug.qcast.biz.canvasStatus;
|
||||
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto;
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
interface CanvasStatusMapper {
|
||||
|
||||
// 견적서(objectNo) 존재 확인
|
||||
public CanvasStatusDto getCanvasStatusByObjectNo(String objectNo);
|
||||
// objectNo 생성
|
||||
public String getCanvasStatusNewObjectNo(String userId);
|
||||
|
||||
// 이미지(템플릿) 존재 확인
|
||||
public CanvasStatusDto getCanvasStatusByImageName(String objectNo, String imageName);
|
||||
// imageName 생성
|
||||
public String getCanvasStatusImageAdd(String objectNo);
|
||||
|
||||
// 전체 견적서 조회
|
||||
public CanvasStatusDto selectAllCanvasStatus(CanvasStatusDto cs);
|
||||
public CanvasStatus selectAllCanvasStatus(CanvasStatus cs);
|
||||
|
||||
// 견적서 조회
|
||||
public CanvasStatusDto selectObjectNoCanvasStatus(CanvasStatusDto cs);
|
||||
// 견적서 조회(objectNo)
|
||||
public CanvasStatus selectObjectNoCanvasStatus(String objectNo);
|
||||
|
||||
// 신규 견적서 등록
|
||||
public void insertNewCanvasStatus(CanvasStatusDto cs);
|
||||
|
||||
// 이미지(템플릿) 추가 등록
|
||||
public void insertImageAddCanvasStatus(CanvasStatusDto cs);
|
||||
// 견적서 등록
|
||||
public void insertCanvasStatus(CanvasStatusResponse cs);
|
||||
|
||||
// 견적서 수정
|
||||
public void updateCanvasStatus(CanvasStatusDto cs);
|
||||
public void updateCanvasStatus(CanvasStatusResponse cs);
|
||||
|
||||
// 견적서 삭제
|
||||
public void deleteObjectNoCanvasStatus(String objectNo);
|
||||
|
||||
// 이미지(템플릿) 삭제
|
||||
public void deleteImageNameCanvasStatus(CanvasStatusDto cs);
|
||||
public void deleteImageNameCanvasStatus(CanvasStatus cs);
|
||||
|
||||
|
||||
}
|
||||
@ -1,6 +1,9 @@
|
||||
package com.interplug.qcast.biz.canvasStatus;
|
||||
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto;
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus;
|
||||
import com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse;
|
||||
|
||||
import ch.qos.logback.classic.Logger;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -13,45 +16,50 @@ public class CanvasStatusService {
|
||||
private final CanvasStatusMapper canvasStatusMapper;
|
||||
|
||||
// 전체 견적서 조회
|
||||
public CanvasStatusDto selectAllCanvasStatus(CanvasStatusDto cs) {
|
||||
public CanvasStatus selectAllCanvasStatus(CanvasStatus cs) {
|
||||
return canvasStatusMapper.selectAllCanvasStatus(cs);
|
||||
}
|
||||
|
||||
// 견적서 조회
|
||||
public CanvasStatusDto selectObjectNoCanvasStatus(CanvasStatusDto cs) {
|
||||
return canvasStatusMapper.selectObjectNoCanvasStatus(cs);
|
||||
// 견적서 조회(objectNo)
|
||||
public CanvasStatus selectObjectNoCanvasStatus(String objectNo) {
|
||||
return canvasStatusMapper.selectObjectNoCanvasStatus(objectNo);
|
||||
}
|
||||
|
||||
// 견적서 등록
|
||||
public void insertCanvasStatus(CanvasStatusDto cs) {
|
||||
public String insertCanvasStatus(CanvasStatusResponse cs) {
|
||||
|
||||
// 견적서(objectNo) 존재 확인
|
||||
CanvasStatusDto existingStatus = canvasStatusMapper.getCanvasStatusByObjectNo(cs.getObjectNo());
|
||||
try {
|
||||
// objectNo 없음(신규)
|
||||
if (cs.getObjectNo() == null) {
|
||||
// objectNo 생성
|
||||
String objectNo = canvasStatusMapper.getCanvasStatusNewObjectNo(cs.getUserId());
|
||||
|
||||
if (existingStatus == null) {
|
||||
// 견적서(objectNo)가 존재하지 않으면 새로 생성
|
||||
canvasStatusMapper.insertNewCanvasStatus(cs);
|
||||
cs.setObjectNo(objectNo);
|
||||
cs.setImageName("image01");
|
||||
|
||||
// 이미지(템플릿) 등록(추가)
|
||||
} else {
|
||||
// 견적서 이미지 추가 등록
|
||||
// 견적서(objectNo)가 존재하면 해당 objectNo Row 추가 후 imageName +1 추가
|
||||
canvasStatusMapper.insertImageAddCanvasStatus(cs);
|
||||
// imageName 생성
|
||||
String imageName = canvasStatusMapper.getCanvasStatusImageAdd(cs.getObjectNo());
|
||||
|
||||
cs.setImageName(imageName);
|
||||
}
|
||||
|
||||
canvasStatusMapper.insertCanvasStatus(cs);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println("오류 발생 : " + e.getMessage());
|
||||
}
|
||||
|
||||
// 생성된 objectNo 반환
|
||||
return cs.getObjectNo();
|
||||
|
||||
}
|
||||
|
||||
// 견적서 수정
|
||||
public void updateCanvasStatus(CanvasStatusDto cs) {
|
||||
|
||||
// 이미지(템플릿) 존재 확인
|
||||
CanvasStatusDto existingStatus = canvasStatusMapper.getCanvasStatusByImageName(cs.getObjectNo(), cs.getImageName());
|
||||
|
||||
if (existingStatus == null) {
|
||||
// 이미지(템플릿)가 존재하지 않으면 새로 생성
|
||||
canvasStatusMapper.insertNewCanvasStatus(cs);
|
||||
} else {
|
||||
// 이미지(템플릿)가 존재하면 update 처리
|
||||
public void updateCanvasStatus(CanvasStatusResponse cs) {
|
||||
canvasStatusMapper.updateCanvasStatus(cs);
|
||||
}
|
||||
}
|
||||
|
||||
// 견적서 삭제
|
||||
public void deleteObjectNoCanvasStatus(String objectNo) {
|
||||
@ -59,7 +67,7 @@ public class CanvasStatusService {
|
||||
}
|
||||
|
||||
// 이미지(템플릿) 삭제
|
||||
public void deleteImageNameCanvasStatus(CanvasStatusDto cs) {
|
||||
public void deleteImageNameCanvasStatus(CanvasStatus cs) {
|
||||
canvasStatusMapper.deleteImageNameCanvasStatus(cs);
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,10 @@
|
||||
package com.interplug.qcast.biz.canvasStatus.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CanvasStatus {
|
||||
private String userId; //사용자 ID
|
||||
private String objectNo; //견적서 번호
|
||||
private String imageName; //이미지명
|
||||
}
|
||||
@ -9,8 +9,8 @@ import lombok.Setter;
|
||||
@Data
|
||||
@Getter
|
||||
@Setter
|
||||
public class CanvasStatusDto {
|
||||
private int id; //PK ID
|
||||
public class CanvasStatusResponse {
|
||||
private Integer id; //PK ID
|
||||
private String userId; //사용자 ID
|
||||
private String objectNo; //견적서 번호
|
||||
private String imageName; //이미지명
|
||||
@ -3,25 +3,24 @@
|
||||
|
||||
<mapper namespace="com.interplug.qcast.biz.canvasStatus.CanvasStatusMapper">
|
||||
|
||||
<select id="getCanvasStatusByObjectNo" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.getCanvasStatusByObjectNo */
|
||||
SELECT 1
|
||||
<select id="getCanvasStatusNewObjectNo" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.getCanvasStatusNewObjectNo */
|
||||
SELECT #{userId} + FORMAT(GETDATE(), 'yyMMdd') + RIGHT('000' + CAST(ISNULL(MAX(CAST(RIGHT(object_no, 3) AS INT)), 0) + 1 AS VARCHAR(3)), 3)
|
||||
FROM TB_CANVAS_STATUS
|
||||
WHERE object_no LIKE #{userId} + FORMAT(GETDATE(), 'yyMMdd') + '%'
|
||||
</select>
|
||||
|
||||
<select id="getCanvasStatusImageAdd" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.getCanvasStatusImageAdd */
|
||||
SELECT 'image' + RIGHT('00' + CAST(ISNULL(MAX(CAST(RIGHT(image_name, 2) AS INT)), 0) + 1 AS VARCHAR(2)), 2)
|
||||
FROM TB_CANVAS_STATUS
|
||||
WHERE object_no = #{objectNo}
|
||||
</select>
|
||||
|
||||
<select id="getCanvasStatusByImageName" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.getCanvasStatusByImageName */
|
||||
SELECT 1
|
||||
FROM TB_CANVAS_STATUS
|
||||
WHERE object_no = #{objectNo}
|
||||
AND image_name = #{imageName}
|
||||
</select>
|
||||
|
||||
<select id="selectAllCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
<select id="selectAllCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.selectAllCanvasStatus 전체 견적서 조회 */
|
||||
SELECT id
|
||||
, user_id
|
||||
@ -34,8 +33,8 @@
|
||||
WHERE user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectObjectNoCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
<select id="selectObjectNoCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus"
|
||||
resultType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.selectObjectNoCanvasStatus 견적서 조회 */
|
||||
SELECT id
|
||||
, user_id
|
||||
@ -49,29 +48,8 @@
|
||||
AND object_no = #{objectNo}
|
||||
</select>
|
||||
|
||||
<insert id="insertNewCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.insertNewCanvasStatus 신규 견적서 등록 */
|
||||
INSERT INTO TB_CANVAS_STATUS
|
||||
(
|
||||
user_id
|
||||
, object_no
|
||||
, image_name
|
||||
, canvas_status
|
||||
, regist_datetime
|
||||
)
|
||||
VALUES (
|
||||
#{userId}
|
||||
, ( SELECT #{userId} + FORMAT(GETDATE(), 'yyMMdd') + RIGHT('000' + CAST(ISNULL(MAX(CAST(RIGHT(object_no, 3) AS INT)), 0) + 1 AS VARCHAR(3)), 3)
|
||||
FROM TB_CANVAS_STATUS
|
||||
WHERE object_no LIKE #{userId} + FORMAT(GETDATE(), 'yyMMdd') + '%' )
|
||||
, 'image01'
|
||||
, #{canvasStatus}
|
||||
, GETDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<insert id="insertImageAddCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.insertImageAddCanvasStatus 이미지(템플릿) 추가 등록 */
|
||||
<insert id="insertCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.insertCanvasStatus 견적서 등록 */
|
||||
INSERT INTO TB_CANVAS_STATUS
|
||||
(
|
||||
user_id
|
||||
@ -83,15 +61,13 @@
|
||||
VALUES (
|
||||
#{userId}
|
||||
, #{objectNo}
|
||||
, ( SELECT 'image' + RIGHT('00' + CAST(ISNULL(MAX(CAST(RIGHT(image_name, 2) AS INT)), 0) + 1 AS VARCHAR(2)), 2)
|
||||
FROM TB_CANVAS_STATUS
|
||||
WHERE object_no = #{objectNo} )
|
||||
, #{imageName}
|
||||
, #{canvasStatus}
|
||||
, GETDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<update id="updateCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
<update id="updateCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusResponse">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.updateCanvasStatus 견적서 수정 */
|
||||
UPDATE TB_CANVAS_STATUS
|
||||
SET canvas_status = #{canvasStatus}
|
||||
@ -100,13 +76,13 @@
|
||||
AND image_name = #{imageName}
|
||||
</update>
|
||||
|
||||
<delete id="deleteObjectNoCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
<delete id="deleteObjectNoCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.deleteObjectNoCanvasStatus 견적서 삭제 */
|
||||
DELETE FROM TB_CANVAS_STATUS
|
||||
WHERE object_no = #{objectNo}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteImageNameCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatusDto">
|
||||
<delete id="deleteImageNameCanvasStatus" parameterType="com.interplug.qcast.biz.canvasStatus.dto.CanvasStatus">
|
||||
/* sqlid : com.interplug.qcast.canvasStatus.deleteImageNameCanvasStatus 이미지(템플릿) 삭제 */
|
||||
DELETE FROM TB_CANVAS_STATUS
|
||||
WHERE object_no = #{objectNo}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user