add bidang api
This commit is contained in:
@ -0,0 +1,29 @@
|
||||
package com.iconplus.smartproc.service.bidang;
|
||||
|
||||
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.BidangRequest;
|
||||
import com.iconplus.smartproc.repository.BidangRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class DeleteBidangService implements BaseService<BidangRequest, EmptyResponse> {
|
||||
|
||||
private BidangRepository bidangRepository;
|
||||
|
||||
public DeleteBidangService (BidangRepository bidangRepository) {
|
||||
this.bidangRepository = bidangRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(BidangRequest input) {
|
||||
|
||||
var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
bidang.setIsDelete(true);
|
||||
bidangRepository.save(bidang);
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.iconplus.smartproc.service.bidang;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.BidangRequest;
|
||||
import com.iconplus.smartproc.model.response.BidangResponse;
|
||||
import com.iconplus.smartproc.repository.BidangRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class GetBidangService implements BaseService<BidangRequest, BidangResponse> {
|
||||
|
||||
private BidangRepository bidangRepository;
|
||||
|
||||
public GetBidangService(BidangRepository bidangRepository) {
|
||||
this.bidangRepository = bidangRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BidangResponse execute(BidangRequest input) {
|
||||
|
||||
var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
return BidangResponse.builder()
|
||||
.id(bidang.getId())
|
||||
.instansiId(bidang.getInstansiId())
|
||||
.bidang(bidang.getBidang())
|
||||
.keterangan(bidang.getKeterangan())
|
||||
.isActive(bidang.getIsActive())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
package com.iconplus.smartproc.service.bidang;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.projection.BidangView;
|
||||
import com.iconplus.smartproc.model.request.BidangRequest;
|
||||
import com.iconplus.smartproc.model.request.InstansiRequest;
|
||||
import com.iconplus.smartproc.model.response.BidangResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListBidangResponse;
|
||||
import com.iconplus.smartproc.repository.BidangRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListBidangService implements BaseService<BidangRequest, GetListBidangResponse> {
|
||||
|
||||
private BidangRepository bidangRepository;
|
||||
|
||||
public GetListBidangService(BidangRepository bidangRepository) {
|
||||
this.bidangRepository = bidangRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListBidangResponse execute(BidangRequest input) {
|
||||
validateRequest(input);
|
||||
List<BidangResponse> bidangResponseList = new ArrayList<>();
|
||||
var bidangViews= bidangRepository.getListBidang(input.getSearch(), input.getPageable());
|
||||
|
||||
for (BidangView bidangView : bidangViews) {
|
||||
BidangResponse bidangResponse = BidangResponse.builder()
|
||||
.id(bidangView.getId())
|
||||
.instansiId(bidangView.getInstansiId())
|
||||
.instansi(bidangView.getInstansi())
|
||||
.bidang(bidangView.getBidang())
|
||||
.keterangan(bidangView.getKeterangan())
|
||||
.isActive(bidangView.getIsActive())
|
||||
.build();
|
||||
bidangResponseList.add(bidangResponse);
|
||||
}
|
||||
|
||||
return GetListBidangResponse.builder()
|
||||
.data(bidangResponseList)
|
||||
.pagination(Pagination.builder()
|
||||
.pageSize(input.getPageable().getPageSize())
|
||||
.currentPage(input.getPageable().getPageNumber())
|
||||
.totalPages(bidangViews.getTotalPages())
|
||||
.totalRecords(bidangViews.getTotalElements())
|
||||
.isFirstPage(bidangViews.isFirst())
|
||||
.isLastPage(bidangViews.isLast())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
private void validateRequest(BidangRequest input) {
|
||||
if (StringUtils.isNotBlank(input.getSearch())) {
|
||||
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package com.iconplus.smartproc.service.bidang;
|
||||
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.Bidang;
|
||||
import com.iconplus.smartproc.model.request.BidangRequest;
|
||||
import com.iconplus.smartproc.model.response.BidangResponse;
|
||||
import com.iconplus.smartproc.repository.BidangRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostCreateBidangService implements BaseService<BidangRequest, BidangResponse> {
|
||||
|
||||
private BidangRepository bidangRepository;
|
||||
|
||||
public PostCreateBidangService(BidangRepository bidangRepository) {
|
||||
this.bidangRepository = bidangRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BidangResponse execute(BidangRequest input) {
|
||||
Bidang bidang = Bidang.builder()
|
||||
.id(input.getId())
|
||||
.instansiId(input.getInstansiId())
|
||||
.bidang(input.getBidang())
|
||||
.keterangan(input.getKeterangan())
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
|
||||
var result = bidangRepository.save(bidang);
|
||||
return BidangResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.iconplus.smartproc.service.bidang;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.BidangRequest;
|
||||
import com.iconplus.smartproc.model.response.BidangResponse;
|
||||
import com.iconplus.smartproc.repository.BidangRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PutUpdateBidangService implements BaseService<BidangRequest, BidangResponse> {
|
||||
|
||||
private BidangRepository bidangRepository;
|
||||
|
||||
public PutUpdateBidangService(BidangRepository bidangRepository) {
|
||||
this.bidangRepository = bidangRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BidangResponse execute(BidangRequest input) {
|
||||
|
||||
var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
bidang.setInstansiId(input.getInstansiId());
|
||||
bidang.setBidang(input.getBidang());
|
||||
bidang.setKeterangan(input.getKeterangan());
|
||||
bidang.setIsActive(input.getIsActive());
|
||||
var result = bidangRepository.save(bidang);
|
||||
return BidangResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user