add master data api
This commit is contained in:
@ -0,0 +1,38 @@
|
||||
package com.iconplus.smartproc.service.metodepenyampaian;
|
||||
|
||||
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.MetodePenyampaianRequest;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
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 DeleteMetodePenyampaianService implements BaseService<MetodePenyampaianRequest, EmptyResponse> {
|
||||
|
||||
private MetodePenyampaianRepository metodePenyampaianRepository;
|
||||
|
||||
public DeleteMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) {
|
||||
this.metodePenyampaianRepository = metodePenyampaianRepository;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(MetodePenyampaianRequest input) {
|
||||
|
||||
var metodePenyampaian = metodePenyampaianRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, input.getId())));
|
||||
|
||||
metodePenyampaian.setIsDelete(true);
|
||||
metodePenyampaianRepository.save(metodePenyampaian);
|
||||
log.info("success delete metode penyampaian id {}", metodePenyampaian.getIsDelete());
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.iconplus.smartproc.service.metodepenyampaian;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.projection.MetodePenyampaianView;
|
||||
import com.iconplus.smartproc.model.request.MetodePenyampaianRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListMetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.model.response.MetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListMetodePenyampaianService implements BaseService<MetodePenyampaianRequest, GetListMetodePenyampaianResponse> {
|
||||
|
||||
private MetodePenyampaianRepository metodePenyampaianRepository;
|
||||
|
||||
public GetListMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) {
|
||||
this.metodePenyampaianRepository = metodePenyampaianRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListMetodePenyampaianResponse execute(MetodePenyampaianRequest input) {
|
||||
validateRequest(input);
|
||||
List<MetodePenyampaianResponse> metodePenyampaianResponseList = new ArrayList<>();
|
||||
Page<MetodePenyampaianView> metodePenyampaianViews = metodePenyampaianRepository.getAllMetodePenyampaian(input.getSearch(), input.getPageable());
|
||||
|
||||
for (MetodePenyampaianView metodePenyampaianView : metodePenyampaianViews) {
|
||||
MetodePenyampaianResponse metodePenyampaianResponse = MetodePenyampaianResponse.builder()
|
||||
.id(metodePenyampaianView.getId())
|
||||
.metodePenyampaian(metodePenyampaianView.getMetodePenyampaian())
|
||||
.keterangan(metodePenyampaianView.getKeterangan())
|
||||
.isActive(metodePenyampaianView.getIsActive())
|
||||
.isDelete(metodePenyampaianView.getIsDelete())
|
||||
.build();
|
||||
metodePenyampaianResponseList.add(metodePenyampaianResponse);
|
||||
}
|
||||
|
||||
return GetListMetodePenyampaianResponse.builder()
|
||||
.data(metodePenyampaianResponseList)
|
||||
.pagination(Pagination.builder()
|
||||
.pageSize(input.getPageable().getPageSize())
|
||||
.currentPage(input.getPageable().getPageNumber())
|
||||
.totalPages(metodePenyampaianViews.getTotalPages())
|
||||
.totalRecords(metodePenyampaianViews.getTotalElements())
|
||||
.isFirstPage(metodePenyampaianViews.isFirst())
|
||||
.isLastPage(metodePenyampaianViews.isLast())
|
||||
.build())
|
||||
.build();
|
||||
}
|
||||
|
||||
private void validateRequest(MetodePenyampaianRequest input) {
|
||||
if (StringUtils.isNotBlank(input.getSearch())) {
|
||||
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package com.iconplus.smartproc.service.metodepenyampaian;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.MetodePenyampaianRequest;
|
||||
import com.iconplus.smartproc.model.response.MetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class GetMetodePenyampaianByIdService implements BaseService<MetodePenyampaianRequest, MetodePenyampaianResponse> {
|
||||
|
||||
private final MetodePenyampaianRepository metodePenyampaianRepository;
|
||||
|
||||
public GetMetodePenyampaianByIdService(MetodePenyampaianRepository metodePenyampaianRepository) {
|
||||
this.metodePenyampaianRepository = metodePenyampaianRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetodePenyampaianResponse execute(MetodePenyampaianRequest input) {
|
||||
var metodePenyampaianView = metodePenyampaianRepository.findByIdAndIsDeleteFalse(input.getId());
|
||||
if (metodePenyampaianView.isEmpty()) {
|
||||
throw new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, input.getId()));
|
||||
}
|
||||
|
||||
return MetodePenyampaianResponse.builder()
|
||||
.id(metodePenyampaianView.get().getId())
|
||||
.metodePenyampaian(metodePenyampaianView.get().getMetodePenyampaian())
|
||||
.keterangan(metodePenyampaianView.get().getKeterangan())
|
||||
.isActive(metodePenyampaianView.get().getIsActive())
|
||||
.isDelete(metodePenyampaianView.get().getIsDelete())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package com.iconplus.smartproc.service.metodepenyampaian;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.MetodePenyampaian;
|
||||
import com.iconplus.smartproc.model.request.MetodePenyampaianRequest;
|
||||
import com.iconplus.smartproc.model.response.MetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
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 PostCreateMetodePenyampaianService implements BaseService<MetodePenyampaianRequest, MetodePenyampaianResponse> {
|
||||
|
||||
private final MetodePenyampaianRepository metodePenyampaianRepository;
|
||||
|
||||
public PostCreateMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) {
|
||||
this.metodePenyampaianRepository = metodePenyampaianRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetodePenyampaianResponse execute(MetodePenyampaianRequest input) {
|
||||
|
||||
var existMetodePenyampaian = metodePenyampaianRepository.findByMetodePenyampaianAndIsDeleteFalse(input.getMetodePenyampaian());
|
||||
if (existMetodePenyampaian.isPresent()) {
|
||||
throw new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10002,
|
||||
Constants.ERR_TTL_10002,
|
||||
String.format(Constants.ERR_MSG_10002, input.getMetodePenyampaian()));
|
||||
}
|
||||
|
||||
MetodePenyampaian metodePenyampaian = MetodePenyampaian.builder()
|
||||
.metodePenyampaian(input.getMetodePenyampaian())
|
||||
.keterangan(input.getKeterangan())
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
|
||||
var result = metodePenyampaianRepository.save(metodePenyampaian);
|
||||
log.info("success insert metode penyampaian id : {}", result.getId());
|
||||
return MetodePenyampaianResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package com.iconplus.smartproc.service.metodepenyampaian;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.MetodePenyampaianRequest;
|
||||
import com.iconplus.smartproc.model.response.MetodePenyampaianResponse;
|
||||
import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class PutUpdateMetodePenyampaianService implements BaseService<MetodePenyampaianRequest, MetodePenyampaianResponse> {
|
||||
|
||||
private MetodePenyampaianRepository metodePenyampaianRepository;
|
||||
|
||||
public PutUpdateMetodePenyampaianService(MetodePenyampaianRepository metodePenyampaianRepository) {
|
||||
this.metodePenyampaianRepository = metodePenyampaianRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetodePenyampaianResponse execute(MetodePenyampaianRequest input) {
|
||||
|
||||
var metodePenyampaian = metodePenyampaianRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, input.getId())));
|
||||
|
||||
metodePenyampaian.setMetodePenyampaian(input.getMetodePenyampaian());
|
||||
metodePenyampaian.setKeterangan(input.getKeterangan());
|
||||
metodePenyampaian.setIsActive(input.getIsActive());
|
||||
metodePenyampaianRepository.save(metodePenyampaian);
|
||||
log.info("Success edit metode penyampaian id {}", metodePenyampaian.getId());
|
||||
return MetodePenyampaianResponse.builder()
|
||||
.id(metodePenyampaian.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user