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