enhance api sumber dana
This commit is contained in:
@ -0,0 +1,26 @@
|
||||
package com.iconplus.smartproc.service.sumberdana;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.SumberDanaRequest;
|
||||
import com.iconplus.smartproc.repository.SumberDanaRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class DeleteSumberDanaService implements BaseService<SumberDanaRequest, EmptyResponse> {
|
||||
|
||||
private SumberDanaRepository sumberDanaRepository;
|
||||
|
||||
public DeleteSumberDanaService(SumberDanaRepository sumberDanaRepository) {
|
||||
this.sumberDanaRepository = sumberDanaRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(SumberDanaRequest input) {
|
||||
var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
sumberDana.setIsDelete(true);
|
||||
sumberDanaRepository.save(sumberDana);
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package com.iconplus.smartproc.service.sumberdana;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.projection.SumberDanaView;
|
||||
import com.iconplus.smartproc.model.request.SumberDanaRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListSumberDanaResponse;
|
||||
import com.iconplus.smartproc.model.response.SumberDanaResponse;
|
||||
import com.iconplus.smartproc.repository.SumberDanaRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListSumberDanaService implements BaseService<SumberDanaRequest, GetListSumberDanaResponse> {
|
||||
|
||||
private SumberDanaRepository sumberDanaRepository;
|
||||
|
||||
public GetListSumberDanaService(SumberDanaRepository sumberDanaRepository) {
|
||||
this.sumberDanaRepository = sumberDanaRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListSumberDanaResponse execute(SumberDanaRequest input) {
|
||||
List<SumberDanaResponse> sumberDanaResponseList = new ArrayList<>();
|
||||
var sumberDanaViews= sumberDanaRepository.getListSumberDana(input.getSearch(), input.getPageable());
|
||||
for (SumberDanaView sumberDanaView : sumberDanaViews) {
|
||||
SumberDanaResponse sumberDanaResponse = SumberDanaResponse.builder()
|
||||
.id(sumberDanaView.getId())
|
||||
.sumberDana(sumberDanaView.getSumberDana())
|
||||
.keterangan(sumberDanaView.getKeterangan())
|
||||
.isActive(sumberDanaView.getIsActive())
|
||||
.build();
|
||||
sumberDanaResponseList.add(sumberDanaResponse);
|
||||
}
|
||||
return GetListSumberDanaResponse.builder()
|
||||
.data(sumberDanaResponseList)
|
||||
.pagination(Pagination.builder()
|
||||
.pageSize(input.getPageable().getPageSize())
|
||||
.currentPage(input.getPageable().getPageNumber())
|
||||
.totalPages(sumberDanaViews.getTotalPages())
|
||||
.totalRecords(sumberDanaViews.getTotalElements())
|
||||
.isFirstPage(sumberDanaViews.isFirst())
|
||||
.isLastPage(sumberDanaViews.isLast())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
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 org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class GetSumberDanaService implements BaseService<SumberDanaRequest, SumberDanaResponse> {
|
||||
|
||||
private SumberDanaRepository sumberDanaRepository;
|
||||
|
||||
public GetSumberDanaService(SumberDanaRepository sumberDanaRepository) {
|
||||
this.sumberDanaRepository = sumberDanaRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SumberDanaResponse execute(SumberDanaRequest input) {
|
||||
|
||||
var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
return SumberDanaResponse.builder()
|
||||
.id(sumberDana.getId())
|
||||
.sumberDana(sumberDana.getSumberDana())
|
||||
.keterangan(sumberDana.getKeterangan())
|
||||
.isActive(sumberDana.getIsActive())
|
||||
.isDelete(sumberDana.getIsDelete())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package com.iconplus.smartproc.service.sumberdana;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.SumberDana;
|
||||
import com.iconplus.smartproc.model.request.SumberDanaRequest;
|
||||
import com.iconplus.smartproc.model.response.SumberDanaResponse;
|
||||
import com.iconplus.smartproc.repository.SumberDanaRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostCreateSumberDanaService implements BaseService<SumberDanaRequest, SumberDanaResponse> {
|
||||
|
||||
private SumberDanaRepository sumberDanaRepository;
|
||||
|
||||
public PostCreateSumberDanaService(SumberDanaRepository sumberDanaRepository) {
|
||||
this.sumberDanaRepository = sumberDanaRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SumberDanaResponse execute(SumberDanaRequest input) {
|
||||
|
||||
var sumberDana = sumberDanaRepository.findBySumberDanaAndIsDeleteFalse(input.getSumberDana());
|
||||
if (sumberDana.isPresent()) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
SumberDana sumberDanaEntity = SumberDana.builder()
|
||||
.sumberDana(input.getSumberDana())
|
||||
.keterangan(input.getKeterangan())
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
|
||||
var result = sumberDanaRepository.save(sumberDanaEntity);
|
||||
|
||||
return SumberDanaResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
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 org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PutSumberDanaService implements BaseService<SumberDanaRequest, SumberDanaResponse> {
|
||||
|
||||
private SumberDanaRepository sumberDanaRepository;
|
||||
|
||||
public PutSumberDanaService(SumberDanaRepository sumberDanaRepository) {
|
||||
this.sumberDanaRepository = sumberDanaRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SumberDanaResponse execute(SumberDanaRequest input) {
|
||||
|
||||
var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
sumberDana.setSumberDana(input.getSumberDana());
|
||||
sumberDana.setKeterangan(input.getKeterangan());
|
||||
sumberDana.setIsActive(input.getIsActive());
|
||||
var result = sumberDanaRepository.save(sumberDana);
|
||||
return SumberDanaResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user