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,67 @@
package com.iconplus.smartproc.service.manajemenuser;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.UserRoleView;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.GetUsersResponse;
import com.iconplus.smartproc.model.response.UsersResponse;
import com.iconplus.smartproc.repository.UsersRepository;
import lombok.extern.slf4j.Slf4j;
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
@Slf4j
public class GetListUserService implements BaseService<UsersRequest, GetUsersResponse> {
private UsersRepository usersRepository;
public GetListUserService(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
@Override
public GetUsersResponse execute(UsersRequest input) {
validateRequest(input);
List<UsersResponse> usersResponses = new ArrayList<>();
var userRoleViews = usersRepository.getAllUsersAndDeletedFase(input.getEmail(), input.getPageable());
for (UserRoleView userRoleView : userRoleViews) {
UsersResponse usersResponse = UsersResponse.builder()
.id(userRoleView.getId())
.instansi(userRoleView.getInstansi())
.bidang(userRoleView.getBidang())
.nama(userRoleView.getNama())
.jabatan(userRoleView.getJabatan())
.role(userRoleView.getRole())
.email(userRoleView.getEmail())
.isActive(userRoleView.getIsActive())
.build();
usersResponses.add(usersResponse);
}
return GetUsersResponse.builder()
.data(usersResponses)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(userRoleViews.getTotalPages())
.totalRecords(userRoleViews.getTotalElements())
.isFirstPage(userRoleViews.isFirst())
.isLastPage(userRoleViews.isLast())
.build())
.build();
}
private void validateRequest(UsersRequest input) {
if (StringUtils.isNotBlank(input.getSearch())) {
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
}
}
}

View File

@@ -0,0 +1,43 @@
package com.iconplus.smartproc.service.manajemenuser;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.Users;
import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.UsersResponse;
import com.iconplus.smartproc.repository.UsersRepository;
import org.springframework.stereotype.Service;
@Service
public class PostCreateUserService implements BaseService<UsersRequest, UsersResponse> {
private UsersRepository usersRepository;
public PostCreateUserService(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
@Override
public UsersResponse execute(UsersRequest input) {
Users users = Users.builder()
// .id(input.getId())
// .username(input.getUsername())
// .email(input.getEmail())
// .nama(input.getNama())
// .bidangId(1L)
// .instansiId(1L)
// .roleId(in)
// .jabatan()
// .password()
// .isActive()
// .deleted(false)
.build();
var result = usersRepository.save(users);
return UsersResponse.builder()
.id(result.getId())
.build();
}
}