add api instansi and user management

This commit is contained in:
dirgantarasiahaan
2023-05-24 12:21:01 +07:00
parent 4c500b18f5
commit 62ccecb214
24 changed files with 683 additions and 71 deletions

View File

@@ -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();
}
}

View File

@@ -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();

View File

@@ -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();
}
}

View File

@@ -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();

View File

@@ -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();
}
}