package com.iconplus.smartproc.service.metodepengadaan; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.MetodePengadaanRequest; import com.iconplus.smartproc.model.response.MetodePengadaanResponse; import com.iconplus.smartproc.repository.MetodePengadaanRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class GetMetodePengadaanByIdService implements BaseService { private final MetodePengadaanRepository metodePengadaanRepository; public GetMetodePengadaanByIdService(MetodePengadaanRepository metodePengadaanRepository) { this.metodePengadaanRepository = metodePengadaanRepository; } @Override public MetodePengadaanResponse execute(MetodePengadaanRequest input) { MetodePengadaanResponse metodePengadaanResponse = new MetodePengadaanResponse(); var metodePengadaanView = metodePengadaanRepository.findByIdAndIsDeleteFalse(input.getId()); if (metodePengadaanView.isEmpty()) { throw new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, input.getId())); } metodePengadaanResponse.setMetodePengadaan(metodePengadaanView.get().getMetodePengadaan()); metodePengadaanResponse.setKeterangan(metodePengadaanView.get().getKeterangan()); metodePengadaanResponse.setIsDelete(metodePengadaanView.get().getIsDelete()); return MetodePengadaanResponse.builder() .id(metodePengadaanView.get().getId()) .metodePengadaan(metodePengadaanView.get().getMetodePengadaan()) .keterangan(metodePengadaanView.get().getKeterangan()) .isDelete(metodePengadaanView.get().getIsDelete()) .build(); } }