add api instansi and user management
This commit is contained in:
@ -0,0 +1,47 @@
|
||||
package com.iconplus.smartproc.service;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.model.request.UsersRequest;
|
||||
import com.iconplus.smartproc.repository.BidangRepository;
|
||||
import com.iconplus.smartproc.repository.InstansiRepository;
|
||||
import com.iconplus.smartproc.repository.RolesRepository;
|
||||
import com.iconplus.smartproc.repository.UsersRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class CommonService {
|
||||
|
||||
private UsersRepository usersRepository;
|
||||
private RolesRepository rolesRepository;
|
||||
private BidangRepository bidangRepository;
|
||||
private InstansiRepository instansiRepository;
|
||||
|
||||
public CommonService(UsersRepository usersRepository,
|
||||
RolesRepository rolesRepository,
|
||||
BidangRepository bidangRepository,
|
||||
InstansiRepository instansiRepository) {
|
||||
this.usersRepository = usersRepository;
|
||||
this.rolesRepository = rolesRepository;
|
||||
this.bidangRepository = bidangRepository;
|
||||
this.instansiRepository = instansiRepository;
|
||||
}
|
||||
|
||||
public void validateUserRequst(UsersRequest input) {
|
||||
|
||||
var roles= rolesRepository.findByIdAndIsDeleteFalse(input.getRoleId());
|
||||
if (roles.isEmpty()) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
|
||||
var bidang= bidangRepository.findByIdAndIsDeleteFalse(input.getBidangId());
|
||||
if (bidang.isEmpty()) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
|
||||
var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getInstansiId());
|
||||
if (instansi.isEmpty()) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.iconplus.smartproc.service.instansi;
|
||||
|
||||
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.InstansiRequest;
|
||||
import com.iconplus.smartproc.repository.InstansiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class DeleteInstansiService implements BaseService<InstansiRequest, EmptyResponse> {
|
||||
|
||||
private InstansiRepository instansiRepository;
|
||||
|
||||
public DeleteInstansiService(InstansiRepository instansiRepository) {
|
||||
this.instansiRepository = instansiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(InstansiRequest input) {
|
||||
|
||||
var instansi = instansiRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
instansi.setIsDelete(true);
|
||||
instansiRepository.save(instansi);
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package com.iconplus.smartproc.service.instansi;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.InstansiRequest;
|
||||
import com.iconplus.smartproc.model.response.InstansiResponse;
|
||||
import com.iconplus.smartproc.repository.InstansiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class GetInstansiByIdService implements BaseService<InstansiRequest, InstansiResponse> {
|
||||
|
||||
private InstansiRepository instansiRepository;
|
||||
|
||||
public GetInstansiByIdService(InstansiRepository instansiRepository) {
|
||||
this.instansiRepository = instansiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstansiResponse execute(InstansiRequest input) {
|
||||
|
||||
var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
return InstansiResponse.builder()
|
||||
.id(instansi.getId())
|
||||
.instansi(instansi.getInstansi())
|
||||
.alamat(instansi.getAlamat())
|
||||
.keterangan(instansi.getKeterangan())
|
||||
.isActive(instansi.getIsActive())
|
||||
.isDelete(instansi.getIsDelete())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,65 @@
|
||||
package com.iconplus.smartproc.service.instansi;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.projection.InstansiView;
|
||||
import com.iconplus.smartproc.model.request.InstansiRequest;
|
||||
import com.iconplus.smartproc.model.request.UsersRequest;
|
||||
import com.iconplus.smartproc.model.response.GetListInstansiResponse;
|
||||
import com.iconplus.smartproc.model.response.InstansiResponse;
|
||||
import com.iconplus.smartproc.repository.InstansiRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetListInstansiService implements BaseService<InstansiRequest, GetListInstansiResponse> {
|
||||
|
||||
private InstansiRepository instansiRepository;
|
||||
|
||||
public GetListInstansiService(InstansiRepository instansiRepository) {
|
||||
this.instansiRepository = instansiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public GetListInstansiResponse execute(InstansiRequest input) {
|
||||
validateRequest(input);
|
||||
|
||||
List<InstansiResponse> instansiResponseList = new ArrayList<>();
|
||||
var listInstansi = instansiRepository.getListInstansi(input.getSearch(), input.getPageable());
|
||||
|
||||
for (InstansiView instansiView : listInstansi) {
|
||||
InstansiResponse instansiResponse = InstansiResponse.builder()
|
||||
.id(instansiView.getId())
|
||||
.instansi(instansiView.getInstansi())
|
||||
.alamat(instansiView.getAlamat())
|
||||
.keterangan(instansiView.getKeterangan())
|
||||
.isActive(instansiView.getIsActive())
|
||||
.isDelete(instansiView.getIsDelete())
|
||||
.build();
|
||||
|
||||
instansiResponseList.add(instansiResponse);
|
||||
}
|
||||
|
||||
return GetListInstansiResponse.builder()
|
||||
.data(instansiResponseList)
|
||||
.pagination(Pagination.builder()
|
||||
.pageSize(input.getPageable().getPageSize())
|
||||
.currentPage(input.getPageable().getPageNumber())
|
||||
.totalPages(listInstansi.getTotalPages())
|
||||
.totalRecords(listInstansi.getTotalElements())
|
||||
.isFirstPage(listInstansi.isFirst())
|
||||
.isLastPage(listInstansi.isLast())
|
||||
.build())
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
private void validateRequest(InstansiRequest input) {
|
||||
if (StringUtils.isNotBlank(input.getSearch())) {
|
||||
input.setSearch('%'+ input.getSearch().toUpperCase()+'%');
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package com.iconplus.smartproc.service.instansi;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.Instansi;
|
||||
import com.iconplus.smartproc.model.request.InstansiRequest;
|
||||
import com.iconplus.smartproc.model.response.InstansiResponse;
|
||||
import com.iconplus.smartproc.repository.InstansiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostCreateInstansiService implements BaseService<InstansiRequest, InstansiResponse> {
|
||||
|
||||
private InstansiRepository instansiRepository;
|
||||
|
||||
public PostCreateInstansiService(InstansiRepository instansiRepository) {
|
||||
this.instansiRepository = instansiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstansiResponse execute(InstansiRequest input) {
|
||||
|
||||
var instansi = instansiRepository.findByInstansiAndIsDeleteFalse(input.getInstansi());
|
||||
if (instansi.isPresent()) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
|
||||
Instansi instansiEntity = Instansi.builder()
|
||||
.instansi(input.getInstansi())
|
||||
.alamat(input.getAlamat())
|
||||
.keterangan(input.getKeterangan())
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
var result = instansiRepository.save(instansiEntity);
|
||||
|
||||
return InstansiResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
package com.iconplus.smartproc.service.instansi;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.InstansiRequest;
|
||||
import com.iconplus.smartproc.model.response.InstansiResponse;
|
||||
import com.iconplus.smartproc.repository.InstansiRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PutUpdateInstansiService implements BaseService<InstansiRequest, InstansiResponse> {
|
||||
|
||||
private InstansiRepository instansiRepository;
|
||||
|
||||
public PutUpdateInstansiService(InstansiRepository instansiRepository) {
|
||||
this.instansiRepository = instansiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InstansiResponse execute(InstansiRequest input) {
|
||||
|
||||
var instansi = instansiRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
instansi.setInstansi(input.getInstansi());
|
||||
instansi.setAlamat(input.getAlamat());
|
||||
instansi.setKeterangan(input.getKeterangan());
|
||||
instansi.setIsActive(input.getIsActive());
|
||||
var result = instansiRepository.save(instansi);
|
||||
|
||||
return InstansiResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package com.iconplus.smartproc.service.manajemenuser;
|
||||
|
||||
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.UsersRequest;
|
||||
import com.iconplus.smartproc.repository.UsersRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class DeleteUserService implements BaseService<UsersRequest, EmptyResponse> {
|
||||
|
||||
private UsersRepository usersRepository;
|
||||
|
||||
public DeleteUserService(UsersRepository usersRepository) {
|
||||
this.usersRepository = usersRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmptyResponse execute(UsersRequest input) {
|
||||
|
||||
var users = usersRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
users.setIsDelete(true);
|
||||
usersRepository.save(users);
|
||||
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
@ -3,14 +3,12 @@ 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;
|
||||
@ -35,11 +33,15 @@ public class GetListUserService implements BaseService<UsersRequest, GetUsersRes
|
||||
for (UserRoleView userRoleView : userRoleViews) {
|
||||
UsersResponse usersResponse = UsersResponse.builder()
|
||||
.id(userRoleView.getId())
|
||||
.instansi(userRoleView.getInstansi())
|
||||
.bidang(userRoleView.getBidang())
|
||||
.nama(userRoleView.getNama())
|
||||
.username(userRoleView.getUsername())
|
||||
.jabatan(userRoleView.getJabatan())
|
||||
.roleId(userRoleView.getRoleId())
|
||||
.role(userRoleView.getRole())
|
||||
.bidangId(userRoleView.getBidangId())
|
||||
.bidang(userRoleView.getBidang())
|
||||
.instansiId(userRoleView.getInstansiId())
|
||||
.instansi(userRoleView.getInstansi())
|
||||
.email(userRoleView.getEmail())
|
||||
.isActive(userRoleView.getIsActive())
|
||||
.build();
|
||||
|
@ -0,0 +1,40 @@
|
||||
package com.iconplus.smartproc.service.manajemenuser;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
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 GetUserByIdService implements BaseService<UsersRequest, UsersResponse> {
|
||||
|
||||
private UsersRepository usersRepository;
|
||||
|
||||
public GetUserByIdService(UsersRepository usersRepository) {
|
||||
this.usersRepository = usersRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersResponse execute(UsersRequest input) {
|
||||
|
||||
var userRoleView = usersRepository.getUserByIdAndDeletedFase(input.getId())
|
||||
.orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
return UsersResponse.builder()
|
||||
.id(userRoleView.getId())
|
||||
.nama(userRoleView.getNama())
|
||||
.username(userRoleView.getUsername())
|
||||
.jabatan(userRoleView.getJabatan())
|
||||
.roleId(userRoleView.getRoleId())
|
||||
.role(userRoleView.getRole())
|
||||
.bidangId(userRoleView.getBidangId())
|
||||
.bidang(userRoleView.getBidang())
|
||||
.instansiId(userRoleView.getInstansiId())
|
||||
.instansi(userRoleView.getInstansi())
|
||||
.email(userRoleView.getEmail())
|
||||
.isActive(userRoleView.getIsActive())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -1,40 +1,50 @@
|
||||
package com.iconplus.smartproc.service.manajemenuser;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
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 com.iconplus.smartproc.service.CommonService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostCreateUserService implements BaseService<UsersRequest, UsersResponse> {
|
||||
|
||||
private UsersRepository usersRepository;
|
||||
private CommonService commonService;
|
||||
|
||||
public PostCreateUserService(UsersRepository usersRepository) {
|
||||
public PostCreateUserService(UsersRepository usersRepository,
|
||||
CommonService commonService) {
|
||||
this.usersRepository = usersRepository;
|
||||
this.commonService = commonService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UsersResponse execute(UsersRequest input) {
|
||||
|
||||
var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail());
|
||||
if (users.isPresent()) {
|
||||
throw new BusinessException("err", "err", "err");
|
||||
}
|
||||
|
||||
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)
|
||||
commonService.validateUserRequst(input);
|
||||
Users usersEntity = Users.builder()
|
||||
.instansiId(input.getInstansiId())
|
||||
.bidangId(input.getBidangId())
|
||||
.nama(input.getNama())
|
||||
.username(input.getUsername())
|
||||
.jabatan(input.getJabatan())
|
||||
.roleId(input.getRoleId())
|
||||
.email(input.getEmail())
|
||||
.password(input.getPassword())
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
.build();
|
||||
|
||||
var result = usersRepository.save(users);
|
||||
var result = usersRepository.save(usersEntity);
|
||||
return UsersResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
|
@ -0,0 +1,45 @@
|
||||
package com.iconplus.smartproc.service.manajemenuser;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.UsersRequest;
|
||||
import com.iconplus.smartproc.model.response.UsersResponse;
|
||||
import com.iconplus.smartproc.repository.UsersRepository;
|
||||
import com.iconplus.smartproc.service.CommonService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PutUpdateUserService implements BaseService<UsersRequest, UsersResponse> {
|
||||
|
||||
private UsersRepository usersRepository;
|
||||
private CommonService commonService;
|
||||
|
||||
public PutUpdateUserService(UsersRepository usersRepository,
|
||||
CommonService commonService) {
|
||||
this.usersRepository = usersRepository;
|
||||
this.commonService = commonService;
|
||||
}
|
||||
@Override
|
||||
public UsersResponse execute(UsersRequest input) {
|
||||
|
||||
var users = usersRepository.findByIdAndIsDeleteFalse(input.getId())
|
||||
.orElseThrow(() -> new BusinessException("err", "err", "err"));
|
||||
|
||||
commonService.validateUserRequst(input);
|
||||
|
||||
users.setInstansiId(input.getInstansiId());
|
||||
users.setBidangId(input.getBidangId());
|
||||
users.setNama(input.getNama());
|
||||
users.setUsername(input.getUsername());
|
||||
users.setJabatan(input.getJabatan());
|
||||
users.setRoleId(input.getRoleId());
|
||||
users.setEmail(input.getEmail());
|
||||
users.setPassword(input.getPassword());
|
||||
users.setIsActive(input.getIsActive());
|
||||
users.setIsDelete(false);
|
||||
var result = usersRepository.save(users);
|
||||
return UsersResponse.builder()
|
||||
.id(result.getId())
|
||||
.build();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user