Test Java All

This commit is contained in:
Kevin
2023-05-25 11:08:22 +07:00
parent 87474cde81
commit c781c36a5d
11 changed files with 398 additions and 58 deletions

View File

@@ -0,0 +1,38 @@
package com.iconplus.smartproc.service.unitinisiator;
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.UnitInisiatorRequest;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
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 DeleteUnitInisiatorService implements BaseService<UnitInisiatorRequest, EmptyResponse> {
private UnitInisiatorRepository unitInisiatorRepository;
public DeleteUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
this.unitInisiatorRepository = unitInisiatorRepository;
}
@Override
public EmptyResponse execute(UnitInisiatorRequest input) {
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())));
unitInisiator.setIsDelete(true);
unitInisiatorRepository.save(unitInisiator);
log.info("success delete unit inisiator id {}", unitInisiator.getIsDelete());
return new EmptyResponse();
}
}

View File

@@ -0,0 +1,60 @@
package com.iconplus.smartproc.service.unitinisiator;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.UnitInisiatorView;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.GetListUnitInisiatorResponse;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
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 GetListUnitInisiatorService implements BaseService<UnitInisiatorRequest, GetListUnitInisiatorResponse> {
private UnitInisiatorRepository unitInisiatorRepository;
public GetListUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
this.unitInisiatorRepository = unitInisiatorRepository;
}
@Override
public GetListUnitInisiatorResponse execute(UnitInisiatorRequest input) {
validateRequest(input);
List<UnitInisiatorResponse> unitInisiatorResponseList = new ArrayList<>();
Page<UnitInisiatorView> unitInisiatorViews = unitInisiatorRepository.getAllUnitInisiator(input.getSearch(), input.getPageable());
for (UnitInisiatorView unitInisiatorView : unitInisiatorViews) {
UnitInisiatorResponse unitInisiatorResponse = UnitInisiatorResponse.builder()
.id(unitInisiatorView.getId())
.unitInisiator(unitInisiatorView.getUnitInisiator())
.keterangan(unitInisiatorView.getKeterangan())
.isDelete(unitInisiatorView.getIsDelete())
.build();
unitInisiatorResponseList.add(unitInisiatorResponse);
}
return GetListUnitInisiatorResponse.builder()
.data(unitInisiatorResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(unitInisiatorViews.getTotalPages())
.totalRecords(unitInisiatorViews.getTotalElements())
.isFirstPage(unitInisiatorViews.isFirst())
.isLastPage(unitInisiatorViews.isLast())
.build())
.build();
}
private void validateRequest(UnitInisiatorRequest input) {
if (StringUtils.isNotBlank(input.getSearch())) {
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
}
}
}

View File

@@ -0,0 +1,43 @@
package com.iconplus.smartproc.service.unitinisiator;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@Service
public class GetUnitInisiatorByIdService implements BaseService<UnitInisiatorRequest, UnitInisiatorResponse> {
private final UnitInisiatorRepository unitInisiatorRepository;
public GetUnitInisiatorByIdService(UnitInisiatorRepository unitInisiatorRepository) {
this.unitInisiatorRepository = unitInisiatorRepository;
}
@Override
public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
UnitInisiatorResponse unitInisiatorResponse = new UnitInisiatorResponse();
var unitInisiatorView = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId());
if (unitInisiatorView.isEmpty()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()));
}
unitInisiatorResponse.setUnitInisiator(unitInisiatorView.get().getUnitInisiator());
unitInisiatorResponse.setKeterangan(unitInisiatorView.get().getKeterangan());
unitInisiatorResponse.setIsDelete(unitInisiatorView.get().getIsDelete());
return UnitInisiatorResponse.builder()
.id(unitInisiatorView.get().getId())
.unitInisiator(unitInisiatorView.get().getUnitInisiator())
.keterangan(unitInisiatorView.get().getKeterangan())
.isDelete(unitInisiatorView.get().getIsDelete())
.build();
}
}

View File

@@ -0,0 +1,50 @@
package com.iconplus.smartproc.service.unitinisiator;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.UnitInisiator;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service
@Slf4j
public class PostCreateUnitInisiatorService implements BaseService<UnitInisiatorRequest, UnitInisiatorResponse> {
private final UnitInisiatorRepository unitInisiatorRepository;
public PostCreateUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
this.unitInisiatorRepository = unitInisiatorRepository;
}
@Override
public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
var existUnitInisiator = unitInisiatorRepository.findByUnitInisiatorAndIsDeleteFalse(input.getUnitInisiator());
if (existUnitInisiator.isPresent()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getUnitInisiator()));
}
UnitInisiator unitInisiator = UnitInisiator.builder()
.unitInisiator(input.getUnitInisiator())
.keterangan(input.getKeterangan())
.isDelete(false)
.build();
var result = unitInisiatorRepository.save(unitInisiator);
log.info("success insert unit inisiator id : {}", result.getId());
return UnitInisiatorResponse.builder()
.id(result.getId())
.build();
}
}

View File

@@ -0,0 +1,45 @@
package com.iconplus.smartproc.service.unitinisiator;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository;
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 PutUpdateUnitInisiatorService implements BaseService<UnitInisiatorRequest, UnitInisiatorResponse> {
private UnitInisiatorRepository unitInisiatorRepository;
public PutUpdateUnitInisiatorService(UnitInisiatorRepository unitInisiatorRepository) {
this.unitInisiatorRepository = unitInisiatorRepository;
}
@Override
public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())));
unitInisiator.setUnitInisiator(input.getUnitInisiator());
unitInisiator.setKeterangan(input.getKeterangan());
unitInisiator.setIsDelete(BooleanUtils.isTrue(input.getIsDelete()));
unitInisiator.setLastUpdate(new Timestamp(System.currentTimeMillis()));
unitInisiatorRepository.save(unitInisiator);
log.info("Success edit unit inisiator id {}", unitInisiator.getId());
return UnitInisiatorResponse.builder()
.id(unitInisiator.getId())
.build();
}
}