package com.iconplus.smartproc.service.lokasi; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.LokasiRequest; import com.iconplus.smartproc.model.response.LokasiResponse; import com.iconplus.smartproc.repository.LokasiRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class GetLokasiByIdService implements BaseService { private final LokasiRepository lokasiRepository; public GetLokasiByIdService(LokasiRepository lokasiRepository) { this.lokasiRepository = lokasiRepository; } @Override public LokasiResponse execute(LokasiRequest input) { LokasiResponse lokasiResponse = new LokasiResponse(); var lokasiView = lokasiRepository.findByIdAndIsDeleteFalse(input.getId()); if (lokasiView.isEmpty()) { throw new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, "Lokasi", input.getId())); } lokasiResponse.setLokasi(lokasiView.get().getLokasi()); lokasiResponse.setKeterangan(lokasiView.get().getKeterangan()); lokasiResponse.setIsDelete(lokasiView.get().getIsDelete()); return LokasiResponse.builder() .id(lokasiView.get().getId()) .lokasi(lokasiView.get().getLokasi()) .keterangan(lokasiView.get().getKeterangan()) .isDelete(lokasiView.get().getIsDelete()) .build(); } }