package com.iconplus.smartproc.service.strategipengadaan; import com.iconplus.smartproc.exception.BusinessException; import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.model.request.StrategiPengadaanRequest; import com.iconplus.smartproc.model.response.StrategiPengadaanResponse; import com.iconplus.smartproc.repository.StrategiPengadaanRepository; import com.iconplus.smartproc.util.Constants; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @Service @Slf4j public class PutUpdateStrategiPengadaanService implements BaseService { private StrategiPengadaanRepository strategiPengadaanRepository; public PutUpdateStrategiPengadaanService(StrategiPengadaanRepository strategiPengadaanRepository) { this.strategiPengadaanRepository = strategiPengadaanRepository; } @Override public StrategiPengadaanResponse execute(StrategiPengadaanRequest input) { var strategiPengadaan = strategiPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, Constants.ERR_CODE_10001, Constants.ERR_TTL_10001, String.format(Constants.ERR_MSG_10001, "Strategi Pengadaan", input.getId()))); strategiPengadaan.setStrategiPengadaan(input.getStrategiPengadaan()); strategiPengadaan.setKeterangan(input.getKeterangan()); strategiPengadaan.setIsActive(input.getIsActive()); strategiPengadaanRepository.save(strategiPengadaan); log.info("Success edit strategi pengadaan id {}", strategiPengadaan.getId()); return StrategiPengadaanResponse.builder() .id(strategiPengadaan.getId()) .build(); } }