47 lines
1.7 KiB
Java
47 lines
1.7 KiB
Java
package com.iconplus.smartproc.service.drppengadaan;
|
|
|
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
|
import com.iconplus.smartproc.helper.service.BaseService;
|
|
import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest;
|
|
import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.io.IOException;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Path;
|
|
import java.nio.file.Paths;
|
|
|
|
@Service
|
|
@Slf4j
|
|
public class DeleteDokumenPendukungService implements BaseService<DrpPengadaanDokumenRequest, EmptyResponse> {
|
|
|
|
@Value("${config.file-upload.pendukung}")
|
|
private String pathFileUploadPendukung;
|
|
|
|
private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository;
|
|
public DeleteDokumenPendukungService(DrpPengadaanDokumenRepository drpPengadaanDokumenRepository) {
|
|
this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository;
|
|
}
|
|
@Override
|
|
public EmptyResponse execute(DrpPengadaanDokumenRequest input) {
|
|
|
|
var drpPengadaanDokumenOptional= drpPengadaanDokumenRepository.findByFilenameAndIsDeleteFalse(input.getFilename());
|
|
if (drpPengadaanDokumenOptional.isPresent()) {
|
|
drpPengadaanDokumenOptional.get().setIsDelete(true);
|
|
drpPengadaanDokumenRepository.save(drpPengadaanDokumenOptional.get());
|
|
}
|
|
|
|
Path path = Paths.get(pathFileUploadPendukung + input.getFilename());
|
|
|
|
try {
|
|
Files.delete(path);
|
|
} catch (IOException e) {
|
|
log.info("no file found");
|
|
}
|
|
|
|
return new EmptyResponse();
|
|
}
|
|
}
|