refactor v2
This commit is contained in:
@@ -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()+'%');
|
||||
}
|
||||
}
|
||||
}
|
@@ -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();
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user