모델 수정/삭제 API 커밋

This commit is contained in:
2025-11-25 15:37:09 +09:00
parent 2547907e52
commit e4ca6ab6ea
6 changed files with 75 additions and 22 deletions

View File

@@ -43,21 +43,25 @@ public class ModelMngCoreService {
public Long update(Long id, ModelMngDto.AddReq addReq) {
//조회
ModelVerEntity existData = modelVerRepository.findModelVerById(id)
.orElseThrow(() -> new EntityNotFoundException("버전 id 에 대한 정보를 찾을 수 없습니다. id : " + id));
ModelVerEntity modelVerEntity = new ModelVerEntity(existData.getId(), addReq.getModelCate(), addReq.getModelVer(), "NONE", "NONE",
0.0, "NONE", addReq.getModelPath(), 1L, 1L);
return modelVerRepository.save(modelVerEntity).getId();
.orElseThrow(EntityNotFoundException::new); //데이터 없는 경우 exception
existData.update(addReq);
//TODO: 추후 수정 단계에서 도커파일 업로드하면 버전 업데이트 하는 로직 필요
return existData.getId();
}
public Long delete(Long id) {
//조회
// ModelVerEntity entity = modelVerRepository.findModelVerById(id)
// .orElseThrow(() -> new EntityNotFoundException("버전 id 에 대한 정보를 찾을 수 없습니다. id : " + id));
//
// // id 코드 deleted = false 업데이트
// entity.deleted();
return null;
ModelVerEntity verEntity = modelVerRepository.findModelVerById(id)
.orElseThrow(() -> new EntityNotFoundException("버전 id 에 대한 정보를 찾을 수 없습니다. id : " + id));
//usedState가 USED 이거나 이미 삭제된 상태이면 삭제 불가
if (verEntity.getUsedState().equals("USED") || verEntity.isDeleted().equals(true)) {
throw new IllegalStateException("해당 모델이 사용중이라 삭제 불가"); //TODO: 추후 규칙 정의되면 수정 필요
}
// id 코드 deleted = true 업데이트
verEntity.deleted();
return verEntity.getId();
}
public Page<ModelMngDto.ModelRegHistory> getRegHistoryList(ModelMngDto.searchReq searchReq, LocalDate startDate, LocalDate endDate, String searchVal) {

View File

@@ -1,17 +1,20 @@
package com.kamco.cd.kamcoback.postgres.entity;
import com.kamco.cd.kamcoback.model.dto.ModelMngDto;
import com.kamco.cd.kamcoback.model.dto.ModelVerDto;
import com.kamco.cd.kamcoback.postgres.CommonDateEntity;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@Entity
@Table(name = "tb_model_ver")
@NoArgsConstructor
public class ModelVerEntity extends CommonDateEntity {
@Id
@@ -57,8 +60,10 @@ public class ModelVerEntity extends CommonDateEntity {
@Column(name = "updated_uid")
private Long updatedUid;
private Boolean deleted = false;
public ModelVerEntity(Long id, Long modelUid, String modelCate, String modelVer, String usedState, String modelState,
Double qualityProb, String deployState, String modelPath, Long createdUid, Long updatedUid) {
Double qualityProb, String deployState, String modelPath, Long createdUid, Long updatedUid, Boolean deleted) {
this.id = id;
this.modelUid = modelUid;
this.modelCate = modelCate;
@@ -70,6 +75,7 @@ public class ModelVerEntity extends CommonDateEntity {
this.modelPath = modelPath;
this.createdUid = createdUid;
this.updatedUid = updatedUid;
this.deleted = deleted;
}
public ModelVerEntity(Long modelUid, String modelCate, String modelVer, String usedState, String modelState,
@@ -102,4 +108,18 @@ public class ModelVerEntity extends CommonDateEntity {
super.getModifiedDate(),
this.updatedUid);
}
public void update(ModelMngDto.AddReq addReq) {
this.modelCate = addReq.getModelCate();
this.modelVer = addReq.getModelVer();
this.modelPath = addReq.getModelPath();
}
public Boolean isDeleted() {
return deleted;
}
public void deleted(){
this.deleted = true;
}
}

View File

@@ -1,18 +1,14 @@
package com.kamco.cd.kamcoback.postgres.repository.model;
import com.kamco.cd.kamcoback.model.dto.ModelMngDto;
import com.kamco.cd.kamcoback.postgres.entity.ModelMngEntity;
import com.kamco.cd.kamcoback.postgres.entity.ModelVerEntity;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.Expressions;
import com.querydsl.core.types.dsl.StringExpression;
import com.querydsl.jpa.impl.JPAQueryFactory;
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
import java.util.List;
import java.util.Optional;
import static com.kamco.cd.kamcoback.postgres.entity.QModelMngEntity.modelMngEntity;
import static com.kamco.cd.kamcoback.postgres.entity.QModelVerEntity.modelVerEntity;
public class ModelVerRepositoryImpl extends QuerydslRepositorySupport