refactor v2

This commit is contained in:
dirgantarasiahaan
2023-05-24 09:23:51 +07:00
parent ed88afcdde
commit b49a2425c1
52 changed files with 809 additions and 172 deletions

View File

@@ -0,0 +1,60 @@
package com.iconplus.smartproc.service.roles;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.RolesView;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.response.GetRolesResponse;
import com.iconplus.smartproc.model.response.RolesResponse;
import com.iconplus.smartproc.repository.RolesRepository;
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 GetRolesService implements BaseService<RolesRequest, GetRolesResponse> {
private final RolesRepository rolesRepository;
public GetRolesService(RolesRepository rolesRepository) {
this.rolesRepository = rolesRepository;
}
@Override
public GetRolesResponse execute(RolesRequest input) {
validateRequest(input);
List<RolesResponse> rolesResponseList = new ArrayList<>();
Page<RolesView> rolesViews = rolesRepository.findAllRolesANdDeletedFalse(input.getSearch(), input.getPageable());
for (RolesView rolesView : rolesViews) {
RolesResponse rolesResponse = RolesResponse.builder()
.id(rolesView.getId())
.role(rolesView.getRole())
.keterangan(rolesView.getKeterangan())
.isActive(rolesView.getIsActive())
.isDelete(rolesView.getIsDelete())
.build();
rolesResponseList.add(rolesResponse);
}
return GetRolesResponse.builder()
.data(rolesResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(rolesViews.getTotalPages())
.totalRecords(rolesViews.getTotalElements())
.isFirstPage(rolesViews.isFirst())
.isLastPage(rolesViews.isLast())
.build())
.build();
}
private void validateRequest(RolesRequest input) {
if (StringUtils.isNotBlank(input.getSearch())) {
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
}
}
}