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

@ -26,7 +26,7 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
@Override
public LoginResponse execute(LoginRequest input) {
var user= usersRepository.findByEmailAndDeletedFalse(input.getEmail())
var user= usersRepository.findByEmailAndIsDeleteFalse(input.getEmail())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10003,
Constants.ERR_TTL_10003,

View File

@ -3,7 +3,6 @@ package com.iconplus.smartproc.service.jenisanggaran;
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.entity.JenisAnggaran;
import com.iconplus.smartproc.model.request.JenisAnggaranRequest;
import com.iconplus.smartproc.repository.JenisAnggaranRepository;
import com.iconplus.smartproc.util.Constants;
@ -25,15 +24,15 @@ public class DeleteJenisAnggaranService implements BaseService<JenisAnggaranRequ
@Override
public EmptyResponse execute(JenisAnggaranRequest input) {
var jenisAnggaran = jenisAnggaranRepository.findByIdAndDeletedFalse(input.getId())
var jenisAnggaran = jenisAnggaranRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())));
jenisAnggaran.setDeleted(true);
jenisAnggaran.setIsDelete(true);
jenisAnggaranRepository.save(jenisAnggaran);
log.info("success delete jenis anggaran id {}", jenisAnggaran.getDeleted());
log.info("success delete jenis anggaran id {}", jenisAnggaran.getIsDelete());
return new EmptyResponse();
}
}

View File

@ -21,7 +21,7 @@ public class GetJenisAnggaranByIdService implements BaseService<JenisAnggaranReq
@Override
public JenisAnggaranResponse execute(JenisAnggaranRequest input) {
JenisAnggaranResponse jenisAnggaranResponse = new JenisAnggaranResponse();
var jenisAnggaranView = jenisAnggaranRepository.findByIdAndDeletedFalse(input.getId());
var jenisAnggaranView = jenisAnggaranRepository.findByIdAndIsDeleteFalse(input.getId());
if (jenisAnggaranView.isEmpty()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
@ -31,13 +31,13 @@ public class GetJenisAnggaranByIdService implements BaseService<JenisAnggaranReq
jenisAnggaranResponse.setJenisAnggaran(jenisAnggaranView.get().getJenisAnggaran());
jenisAnggaranResponse.setKeterangan(jenisAnggaranView.get().getKeterangan());
jenisAnggaranResponse.setDeleted(jenisAnggaranView.get().getDeleted());
jenisAnggaranResponse.setIsDelete(jenisAnggaranView.get().getIsDelete());
return JenisAnggaranResponse.builder()
.id(jenisAnggaranView.get().getId())
.jenisAnggaran(jenisAnggaranView.get().getJenisAnggaran())
.keterangan(jenisAnggaranView.get().getKeterangan())
.deleted(jenisAnggaranView.get().getDeleted())
.isDelete(jenisAnggaranView.get().getIsDelete())
.build();
}
}

View File

@ -34,7 +34,7 @@ public class GetListJenisAnggaranService implements BaseService<JenisAnggaranReq
.id(jenisAnggaranView.getId())
.jenisAnggaran(jenisAnggaranView.getJenisAnggaran())
.keterangan(jenisAnggaranView.getKeterangan())
.deleted(jenisAnggaranView.getDeleted())
.isDelete(jenisAnggaranView.getIsDelete())
.build();
jenisAnggaranResponseList.add(jenisAnggaranResponse);
}

View File

@ -8,7 +8,6 @@ import com.iconplus.smartproc.model.response.JenisAnggaranResponse;
import com.iconplus.smartproc.repository.JenisAnggaranRepository;
import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
@ -27,18 +26,18 @@ public class PostCreateJenisAnggaranService implements BaseService<JenisAnggaran
@Override
public JenisAnggaranResponse execute(JenisAnggaranRequest input) {
var existJenisAnggaran = jenisAnggaranRepository.findByJenisAnggaranAndDeletedFalse(input.getJenisAnggaran());
var existJenisAnggaran = jenisAnggaranRepository.findByJenisAnggaranAndIsDeleteFalse(input.getJenisAnggaran());
if (existJenisAnggaran.isPresent()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, existJenisAnggaran.get().getId()));
String.format(Constants.ERR_MSG_10002, input.getJenisAnggaran()));
}
JenisAnggaran jenisAnggaran = JenisAnggaran.builder()
.jenisAnggaran(input.getJenisAnggaran())
.keterangan(input.getKeterangan())
.deleted(false)
.isDelete(false)
.build();
jenisAnggaran.setCreatedTime(new Timestamp(System.currentTimeMillis()));

View File

@ -26,7 +26,7 @@ public class PutUpdateJenisAnggaranService implements BaseService<JenisAnggaranR
@Override
public JenisAnggaranResponse execute(JenisAnggaranRequest input) {
var jenisAnggaran = jenisAnggaranRepository.findByIdAndDeletedFalse(input.getId())
var jenisAnggaran = jenisAnggaranRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
@ -34,7 +34,7 @@ public class PutUpdateJenisAnggaranService implements BaseService<JenisAnggaranR
jenisAnggaran.setJenisAnggaran(input.getJenisAnggaran());
jenisAnggaran.setKeterangan(input.getKeterangan());
jenisAnggaran.setDeleted(BooleanUtils.isTrue(input.getDeleted()));
jenisAnggaran.setIsDelete(BooleanUtils.isTrue(input.getIsDelete()));
jenisAnggaran.setUpdatedTime(new Timestamp(System.currentTimeMillis()));
jenisAnggaranRepository.save(jenisAnggaran);
log.info("Success edit jenis anggaran id {}", jenisAnggaran.getId());

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

View File

@ -1,23 +0,0 @@
package com.iconplus.smartproc.service.role;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.response.RolesResponse;
import com.iconplus.smartproc.repository.RolesRepository;
import org.springframework.stereotype.Service;
@Service
public class DeleteRoleService implements BaseService<RolesRequest, RolesResponse> {
private RolesRepository rolesRepository;
public DeleteRoleService(RolesRepository rolesRepository) {
this.rolesRepository = rolesRepository;
}
@Override
public RolesResponse execute(RolesRequest input) {
return null;
}
}

View File

@ -1,7 +0,0 @@
package com.iconplus.smartproc.service.role;
import org.springframework.stereotype.Service;
@Service
public class GetRoleByIdService {
}

View File

@ -1,7 +0,0 @@
package com.iconplus.smartproc.service.role;
import org.springframework.stereotype.Service;
@Service
public class GetRolesService {
}

View File

@ -1,7 +0,0 @@
package com.iconplus.smartproc.service.role;
import org.springframework.stereotype.Service;
@Service
public class PostCreateRoleService {
}

View File

@ -1,8 +0,0 @@
package com.iconplus.smartproc.service.role;
import com.iconplus.smartproc.helper.service.BaseService;
import org.springframework.stereotype.Service;
//@Service
//public class PutUpdateRoleService implements BaseService<> {
//}

View File

@ -0,0 +1,33 @@
package com.iconplus.smartproc.service.roles;
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.entity.Roles;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.repository.RolesRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class DeleteRoleService implements BaseService<RolesRequest, EmptyResponse> {
private RolesRepository rolesRepository;
public DeleteRoleService(RolesRepository rolesRepository) {
this.rolesRepository = rolesRepository;
}
@Override
public EmptyResponse execute(RolesRequest input) {
Roles role = rolesRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10005,
Constants.ERR_TTL_10005,
String.format(Constants.ERR_MSG_10005, input.getId())));
role.setIsDelete(true);
rolesRepository.save(role);
return new EmptyResponse();
}
}

View File

@ -0,0 +1,36 @@
package com.iconplus.smartproc.service.roles;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.Roles;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.response.RolesResponse;
import com.iconplus.smartproc.repository.RolesRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class GetRoleByIdService implements BaseService<RolesRequest, RolesResponse> {
private final RolesRepository rolesRepository;
public GetRoleByIdService(RolesRepository rolesRepository) {
this.rolesRepository = rolesRepository;
}
@Override
public RolesResponse execute(RolesRequest input) {
Roles role = rolesRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10005,
Constants.ERR_TTL_10005,
String.format(Constants.ERR_MSG_10005, input.getId())));
return RolesResponse.builder()
.id(role.getId())
.role(role.getRole())
.keterangan(role.getKeterangan())
.isActive(role.getIsActive())
.isDelete(role.getIsDelete())
.build();
}
}

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()+'%');
}
}
}

View File

@ -0,0 +1,44 @@
package com.iconplus.smartproc.service.roles;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.Roles;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.response.RolesResponse;
import com.iconplus.smartproc.repository.RolesRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
import java.util.Optional;
@Service
public class PostCreateRoleService implements BaseService<RolesRequest, RolesResponse> {
private final RolesRepository rolesRepository;
public PostCreateRoleService(RolesRepository rolesRepository) {
this.rolesRepository = rolesRepository;
}
@Override
public RolesResponse execute(RolesRequest input) {
Optional<Roles> role = rolesRepository.findByRoleAndIsDeleteFalse(input.getRole());
if (role.isPresent()) {
throw new BusinessException(Constants.ERR_CODE_10006,
Constants.ERR_TTL_10006,
String.format(Constants.ERR_MSG_10006, input.getRole()));
}
Roles roles = Roles.builder()
.role(input.getRole())
.keterangan(input.getKeterangan())
.isActive(input.getIsActive())
.isDelete(false)
.build();
var result = rolesRepository.save(roles);
return RolesResponse.builder()
.id(result.getId())
.build();
}
}

View File

@ -0,0 +1,38 @@
package com.iconplus.smartproc.service.roles;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.Roles;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.response.RolesResponse;
import com.iconplus.smartproc.repository.RolesRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PutUpdateRoleService implements BaseService<RolesRequest, RolesResponse> {
private final RolesRepository rolesRepository;
public PutUpdateRoleService(RolesRepository rolesRepository) {
this.rolesRepository = rolesRepository;
}
@Override
public RolesResponse execute(RolesRequest input) {
Roles role = rolesRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10005,
Constants.ERR_TTL_10005,
String.format(Constants.ERR_MSG_10005, input.getId())));
role.setRole(input.getRole());
role.setKeterangan(input.getKeterangan());
role.setIsActive(input.getIsActive());
rolesRepository.save(role);
return RolesResponse.builder()
.id(role.getId())
.build();
}
}