package com.iconplus.smartproc.service.sumberdana; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.SumberDanaRequest; import com.iconplus.smartproc.model.response.SumberDanaResponse; import com.iconplus.smartproc.repository.SumberDanaRepository; import com.iconplus.smartproc.util.Constants; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service public class GetSumberDanaByIdService implements BaseService { private final SumberDanaRepository sumberDanaRepository; public GetSumberDanaByIdService(SumberDanaRepository sumberDanaRepository) { this.sumberDanaRepository = sumberDanaRepository; } @Override public SumberDanaResponse execute(SumberDanaRequest input) { SumberDanaResponse sumberDanaResponse = new SumberDanaResponse(); var sumberDanaView = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()); if (sumberDanaView.isEmpty()) { throw new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, input.getId())); } sumberDanaResponse.setSumberDana(sumberDanaView.get().getSumberDana()); sumberDanaResponse.setKeterangan(sumberDanaView.get().getKeterangan()); sumberDanaResponse.setIsDelete(sumberDanaView.get().getIsDelete()); return SumberDanaResponse.builder() .id(sumberDanaView.get().getId()) .sumberDana(sumberDanaView.get().getSumberDana()) .keterangan(sumberDanaView.get().getKeterangan()) .isDelete(sumberDanaView.get().getIsDelete()) .build(); } }