fix decrypt password

This commit is contained in:
dirgantarasiahaan 2023-05-28 17:36:28 +07:00
parent cab86cf8fa
commit c93f666056
77 changed files with 405 additions and 129 deletions

View File

@ -2,7 +2,6 @@ package com.iconplus.smartproc.configuration;
import com.iconplus.smartproc.model.token.TokenContent; import com.iconplus.smartproc.model.token.TokenContent;
import io.jsonwebtoken.*; import io.jsonwebtoken.*;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;

View File

@ -5,9 +5,7 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.model.request.MetodePengadaanRequest; import com.iconplus.smartproc.model.request.MetodePengadaanRequest;
import com.iconplus.smartproc.model.response.GetListMetodePengadaanResponse; import com.iconplus.smartproc.model.response.GetListMetodePengadaanResponse;
import com.iconplus.smartproc.model.response.MetodePengadaanResponse; import com.iconplus.smartproc.model.response.MetodePengadaanResponse;
import com.iconplus.smartproc.repository.MetodePengadaanRepository;
import com.iconplus.smartproc.service.metodepengadaan.*; import com.iconplus.smartproc.service.metodepengadaan.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -1,6 +1,5 @@
package com.iconplus.smartproc.helper.context; package com.iconplus.smartproc.helper.context;
import brave.internal.Platform;
import com.iconplus.smartproc.helper.service.TokenUtils; import com.iconplus.smartproc.helper.service.TokenUtils;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;

View File

@ -5,7 +5,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.hibernate.annotations.GeneratorType;
import org.hibernate.annotations.Type; import org.hibernate.annotations.Type;
import javax.persistence.*; import javax.persistence.*;

View File

@ -5,7 +5,6 @@ import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Type; import org.hibernate.annotations.Type;
import javax.persistence.*; import javax.persistence.*;

View File

@ -1,6 +1,5 @@
package com.iconplus.smartproc.model.projection; package com.iconplus.smartproc.model.projection;
import java.sql.Clob;
public interface TokenManagementView { public interface TokenManagementView {

View File

@ -8,7 +8,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional; import java.util.Optional;
@Repository @Repository
@ -28,4 +27,6 @@ public interface BidangRepository extends JpaRepository<Bidang, LokasiRepository
Page<BidangView> getListBidang(String search, Pageable pageable); Page<BidangView> getListBidang(String search, Pageable pageable);
Optional<Bidang> findByIdAndIsDeleteFalse(Long id); Optional<Bidang> findByIdAndIsDeleteFalse(Long id);
Optional<Bidang> findByBidangAndIsDeleteFalse(String bidang);
} }

View File

@ -9,7 +9,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional; import java.util.Optional;
@Repository @Repository

View File

@ -4,7 +4,11 @@ import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.model.entity.TokenManagement; import com.iconplus.smartproc.model.entity.TokenManagement;
import com.iconplus.smartproc.model.request.UsersRequest; import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.repository.*; import com.iconplus.smartproc.repository.*;
import com.iconplus.smartproc.util.Constants;
import com.iconplus.smartproc.util.EncryptDecryptUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp; import java.sql.Timestamp;
@ -13,18 +17,18 @@ import java.time.Instant;
@Service @Service
public class CommonService { public class CommonService {
private UsersRepository usersRepository; @Value("${config.password.privateKey}")
private String privateKey;
private RolesRepository rolesRepository; private RolesRepository rolesRepository;
private BidangRepository bidangRepository; private BidangRepository bidangRepository;
private InstansiRepository instansiRepository; private InstansiRepository instansiRepository;
private TokenManagementRepository tokenManagementRepository; private TokenManagementRepository tokenManagementRepository;
public CommonService(UsersRepository usersRepository, public CommonService(RolesRepository rolesRepository,
RolesRepository rolesRepository,
BidangRepository bidangRepository, BidangRepository bidangRepository,
InstansiRepository instansiRepository, InstansiRepository instansiRepository,
TokenManagementRepository tokenManagementRepository) { TokenManagementRepository tokenManagementRepository) {
this.usersRepository = usersRepository;
this.rolesRepository = rolesRepository; this.rolesRepository = rolesRepository;
this.bidangRepository = bidangRepository; this.bidangRepository = bidangRepository;
this.instansiRepository = instansiRepository; this.instansiRepository = instansiRepository;
@ -35,17 +39,26 @@ public class CommonService {
var roles= rolesRepository.findByIdAndIsDeleteFalse(input.getRoleId()); var roles= rolesRepository.findByIdAndIsDeleteFalse(input.getRoleId());
if (roles.isEmpty()) { if (roles.isEmpty()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Role", input.getId()));
} }
var bidang= bidangRepository.findByIdAndIsDeleteFalse(input.getBidangId()); var bidang= bidangRepository.findByIdAndIsDeleteFalse(input.getBidangId());
if (bidang.isEmpty()) { if (bidang.isEmpty()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Bidang", input.getId()));
} }
var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getInstansiId()); var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getInstansiId());
if (instansi.isEmpty()) { if (instansi.isEmpty()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Instansi", input.getId()));
} }
} }
@ -81,4 +94,15 @@ public class CommonService {
.build()); .build());
} }
} }
public String getPassword(String password) {
try {
return EncryptDecryptUtils.decrypt(password, privateKey);
} catch (Exception ex) {
throw new BusinessException(Constants.ERR_CODE_10010,
Constants.ERR_TTL_10010,
Constants.ERR_MSG_10010);
}
}
} }

View File

@ -6,7 +6,11 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.ForgotPasswordRequest; import com.iconplus.smartproc.model.request.ForgotPasswordRequest;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.service.CommonService;
import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpStatus;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -14,25 +18,47 @@ public class ForgotPasswordService implements BaseService<ForgotPasswordRequest,
private ApiContext apiContext; private ApiContext apiContext;
private UsersRepository usersRepository; private UsersRepository usersRepository;
private CommonService commonService;
public ForgotPasswordService(UsersRepository usersRepository, public ForgotPasswordService(UsersRepository usersRepository,
ApiContext apiContext) { ApiContext apiContext,
CommonService commonService) {
this.usersRepository = usersRepository; this.usersRepository = usersRepository;
this.apiContext = apiContext; this.apiContext = apiContext;
this.commonService = commonService;
} }
@Override @Override
public EmptyResponse execute(ForgotPasswordRequest input) { public EmptyResponse execute(ForgotPasswordRequest input) {
Long id = Long.valueOf(apiContext.getUserId()); Long id = Long.valueOf(apiContext.getUserId());
var users = usersRepository.findByIdAndIsDeleteFalse(id).orElseThrow(() -> new BusinessException("err", "err", "err")); var users = usersRepository.findByIdAndIsDeleteFalse(id)
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "User", id)));
if (!StringUtils.equalsIgnoreCase(input.getCurrentPassword(), users.getPassword()) || String password = commonService.getPassword(input.getCurrentPassword());
StringUtils.equalsIgnoreCase(input.getNewPassword(), users.getPassword()) || BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
!StringUtils.equalsIgnoreCase(input.getConfirmationPassword(), input.getNewPassword())) { boolean isValidCurrentPassword = bCryptPasswordEncoder.matches(password, users.getPassword());
throw new BusinessException("err", "err", "err");
if (!isValidCurrentPassword) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10009,
Constants.ERR_TTL_10009,
Constants.ERR_MSG_10009);
} }
users.setPassword(input.getNewPassword()); String newPassword = commonService.getPassword(input.getNewPassword());
String confirmationPassword = commonService.getPassword(input.getNewPassword());
if (!StringUtils.equalsIgnoreCase(newPassword, confirmationPassword)) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10007,
Constants.ERR_TTL_10007,
Constants.ERR_MSG_10007);
}
users.setPassword(bCryptPasswordEncoder.encode(newPassword));
usersRepository.save(users); usersRepository.save(users);
return new EmptyResponse(); return new EmptyResponse();

View File

@ -14,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -54,7 +55,11 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
Constants.ERR_TTL_10003, Constants.ERR_TTL_10003,
String.format(Constants.ERR_MSG_10003, input.getEmail()))); String.format(Constants.ERR_MSG_10003, input.getEmail())));
if (!StringUtils.equalsIgnoreCase(input.getPassword(), userRoleView.getPassword())) { String password = commonService.getPassword(input.getPassword());
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
boolean isValidPassword = bCryptPasswordEncoder.matches(password, userRoleView.getPassword());
if (!isValidPassword) {
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10004, Constants.ERR_CODE_10004,
Constants.ERR_TTL_10004, Constants.ERR_TTL_10004,
@ -84,7 +89,9 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
if (StringUtils.isBlank(accessToken) || StringUtils.isBlank(refreshToken)) { if (StringUtils.isBlank(accessToken) || StringUtils.isBlank(refreshToken)) {
log.error("token null"); log.error("token null");
throw new BusinessException("err", "err", "err"); throw new BusinessException(Constants.ERR_CODE_10008,
Constants.ERR_TTL_10008,
Constants.ERR_MSG_10008);
} }
commonService.saveUserToken(TokenManagement.builder() commonService.saveUserToken(TokenManagement.builder()
@ -93,7 +100,6 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
.refreshToken(refreshToken) .refreshToken(refreshToken)
.build(), accessTokenExp); .build(), accessTokenExp);
return LoginResponse.builder() return LoginResponse.builder()
.accessToken(accessToken) .accessToken(accessToken)
.validity(accessTokenExp * 60) .validity(accessTokenExp * 60)

View File

@ -7,18 +7,17 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.TokenManagement; import com.iconplus.smartproc.model.entity.TokenManagement;
import com.iconplus.smartproc.repository.TokenManagementRepository; import com.iconplus.smartproc.repository.TokenManagementRepository;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.util.Constants;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class LogoutService implements BaseService<EmptyRequest, EmptyResponse> { public class LogoutService implements BaseService<EmptyRequest, EmptyResponse> {
private ApiContext apiContext; private ApiContext apiContext;
private TokenManagementRepository tokenManagementRepository; private TokenManagementRepository tokenManagementRepository;
private LogoutService(ApiContext apiContext,
public LogoutService(ApiContext apiContext,
TokenManagementRepository tokenManagementRepository) { TokenManagementRepository tokenManagementRepository) {
this.apiContext = apiContext; this.apiContext = apiContext;
this.tokenManagementRepository = tokenManagementRepository; this.tokenManagementRepository = tokenManagementRepository;
@ -35,10 +34,10 @@ public class LogoutService implements BaseService<EmptyRequest, EmptyResponse> {
} }
private TokenManagement getTokenManagement(String accessToken) { private TokenManagement getTokenManagement(String accessToken) {
var tokenManagement = tokenManagementRepository.findByAccessTokenAndIsDeleteFalse(accessToken); return tokenManagementRepository.findByAccessTokenAndIsDeleteFalse(accessToken)
if (tokenManagement.isEmpty()) { .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
throw new BusinessException("err", "err", "err"); Constants.ERR_CODE_40038,
} Constants.ERR_TITLE_40038,
return tokenManagement.get(); Constants.ERR_MESSAGE_40038));
} }
} }

View File

@ -6,7 +6,6 @@ import com.iconplus.smartproc.model.projection.TokenManagementView;
import com.iconplus.smartproc.model.request.PostAccessTokenRequest; import com.iconplus.smartproc.model.request.PostAccessTokenRequest;
import com.iconplus.smartproc.model.response.PostAccessTokenResponse; import com.iconplus.smartproc.model.response.PostAccessTokenResponse;
import com.iconplus.smartproc.repository.TokenManagementRepository; import com.iconplus.smartproc.repository.TokenManagementRepository;
import com.iconplus.smartproc.util.CommonUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@ -11,7 +11,9 @@ import com.iconplus.smartproc.model.token.TokenContent;
import com.iconplus.smartproc.repository.TokenManagementRepository; import com.iconplus.smartproc.repository.TokenManagementRepository;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.service.CommonService; import com.iconplus.smartproc.service.CommonService;
import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -49,21 +51,24 @@ public class TokenManagementService implements BaseService<RefreshTokenRequest,
try { try {
jwtTokenUtil.validateTokenOnly(input.getRefreshToken()); jwtTokenUtil.validateTokenOnly(input.getRefreshToken());
} catch (Exception e) { } catch (Exception e) {
throw new BusinessException(HttpStatus.UNAUTHORIZED, "err", "err", "err"); throw new BusinessException(HttpStatus.UNAUTHORIZED,
Constants.ERR_CODE_40051,
Constants.TITLE_INVALID_NEXT_STEP,
Constants.REFRESH_TOKEN_EXPIRED);
} }
var decodeToken = TokenUtils.decodeToken(input.getRefreshToken()); var decodeToken = TokenUtils.decodeToken(input.getRefreshToken());
Long userId = Long.valueOf(decodeToken.get("userId")); Long userId = Long.valueOf(decodeToken.get("userId"));
var tokenManagement1 = tokenManagementRepository.findByRefreshToken(input.getRefreshToken());
TokenManagement tokenManagement = tokenManagementRepository.findByRefreshToken(input.getRefreshToken()) TokenManagement tokenManagement = tokenManagementRepository.findByRefreshToken(input.getRefreshToken())
.map(c -> verifyRefreshToken(c, userId)) .map(c -> verifyRefreshToken(c, userId))
.orElseThrow(() -> { .orElseThrow(() -> {
log.error("failed validate token to existing db"); log.error("failed validate token to existing db");
return new BusinessException( return new BusinessException(
HttpStatus.UNAUTHORIZED, "err", "err", HttpStatus.UNAUTHORIZED,
"err"); Constants.ERR_CODE_80007,
Constants.TITLE_INVALID_NEXT_STEP,
Constants.REFRESH_TOKEN_NOT_VALID);
}); });
var userRoleView = usersRepository.getUserByIdAndDeletedFase(userId).orElseThrow(() -> new BusinessException("err", "err", "err")); var userRoleView = usersRepository.getUserByIdAndDeletedFase(userId).orElseThrow(() -> new BusinessException("err", "err", "err"));
@ -83,6 +88,14 @@ public class TokenManagementService implements BaseService<RefreshTokenRequest,
final String accessToken = jwtTokenUtil.generateToken(String.valueOf(userRoleView.getId()), tokenContent, accessTokenExp * 60000); final String accessToken = jwtTokenUtil.generateToken(String.valueOf(userRoleView.getId()), tokenContent, accessTokenExp * 60000);
if (StringUtils.isBlank(accessToken)) {
log.error("token null");
throw new BusinessException(HttpStatus.UNAUTHORIZED,
Constants.ERR_CODE_40042,
Constants.ERR_TTL_40042,
Constants.ERR_MSG_40042);
}
tokenManagement.setAccessToken(accessToken); tokenManagement.setAccessToken(accessToken);
tokenManagement.setRefreshToken(input.getRefreshToken()); tokenManagement.setRefreshToken(input.getRefreshToken());
commonService.saveUserToken(tokenManagement, accessTokenExp); commonService.saveUserToken(tokenManagement, accessTokenExp);
@ -97,9 +110,9 @@ public class TokenManagementService implements BaseService<RefreshTokenRequest,
private TokenManagement verifyRefreshToken(TokenManagement tokenManagement, Long userId) { private TokenManagement verifyRefreshToken(TokenManagement tokenManagement, Long userId) {
if (!Objects.equals(userId, tokenManagement.getUserId())) { if (!Objects.equals(userId, tokenManagement.getUserId())) {
throw new BusinessException(HttpStatus.UNAUTHORIZED, throw new BusinessException(HttpStatus.UNAUTHORIZED,
"err", Constants.ERR_CODE_80007,
"err", Constants.TITLE_INVALID_NEXT_STEP,
"err"); Constants.REFRESH_TOKEN_NOT_VALID);
} }
return tokenManagement; return tokenManagement;
} }

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.BidangRequest; import com.iconplus.smartproc.model.request.BidangRequest;
import com.iconplus.smartproc.repository.BidangRepository; import com.iconplus.smartproc.repository.BidangRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +20,10 @@ public class DeleteBidangService implements BaseService<BidangRequest, EmptyResp
@Override @Override
public EmptyResponse execute(BidangRequest input) { public EmptyResponse execute(BidangRequest input) {
var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Bidang", input.getId())));
bidang.setIsDelete(true); bidang.setIsDelete(true);
bidangRepository.save(bidang); bidangRepository.save(bidang);

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.BidangRequest; import com.iconplus.smartproc.model.request.BidangRequest;
import com.iconplus.smartproc.model.response.BidangResponse; import com.iconplus.smartproc.model.response.BidangResponse;
import com.iconplus.smartproc.repository.BidangRepository; import com.iconplus.smartproc.repository.BidangRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +20,11 @@ public class GetBidangService implements BaseService<BidangRequest, BidangRespon
@Override @Override
public BidangResponse execute(BidangRequest input) { public BidangResponse execute(BidangRequest input) {
var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Bidang", input.getId())));
return BidangResponse.builder() return BidangResponse.builder()
.id(bidang.getId()) .id(bidang.getId())
.instansiId(bidang.getInstansiId()) .instansiId(bidang.getInstansiId())

View File

@ -4,7 +4,6 @@ import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.BidangView; import com.iconplus.smartproc.model.projection.BidangView;
import com.iconplus.smartproc.model.request.BidangRequest; import com.iconplus.smartproc.model.request.BidangRequest;
import com.iconplus.smartproc.model.request.InstansiRequest;
import com.iconplus.smartproc.model.response.BidangResponse; import com.iconplus.smartproc.model.response.BidangResponse;
import com.iconplus.smartproc.model.response.GetListBidangResponse; import com.iconplus.smartproc.model.response.GetListBidangResponse;
import com.iconplus.smartproc.repository.BidangRepository; import com.iconplus.smartproc.repository.BidangRepository;

View File

@ -1,10 +1,13 @@
package com.iconplus.smartproc.service.bidang; package com.iconplus.smartproc.service.bidang;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.Bidang; import com.iconplus.smartproc.model.entity.Bidang;
import com.iconplus.smartproc.model.request.BidangRequest; import com.iconplus.smartproc.model.request.BidangRequest;
import com.iconplus.smartproc.model.response.BidangResponse; import com.iconplus.smartproc.model.response.BidangResponse;
import com.iconplus.smartproc.repository.BidangRepository; import com.iconplus.smartproc.repository.BidangRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -18,7 +21,16 @@ public class PostCreateBidangService implements BaseService<BidangRequest, Bidan
@Override @Override
public BidangResponse execute(BidangRequest input) { public BidangResponse execute(BidangRequest input) {
Bidang bidang = Bidang.builder()
var bidang = bidangRepository.findByBidangAndIsDeleteFalse(input.getBidang());
if (bidang.isPresent()) {
throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Bidang", input.getBidang()));
}
Bidang bidangEntity = Bidang.builder()
.id(input.getId()) .id(input.getId())
.instansiId(input.getInstansiId()) .instansiId(input.getInstansiId())
.bidang(input.getBidang()) .bidang(input.getBidang())
@ -27,7 +39,7 @@ public class PostCreateBidangService implements BaseService<BidangRequest, Bidan
.isDelete(false) .isDelete(false)
.build(); .build();
var result = bidangRepository.save(bidang); var result = bidangRepository.save(bidangEntity);
return BidangResponse.builder() return BidangResponse.builder()
.id(result.getId()) .id(result.getId())
.build(); .build();

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.BidangRequest; import com.iconplus.smartproc.model.request.BidangRequest;
import com.iconplus.smartproc.model.response.BidangResponse; import com.iconplus.smartproc.model.response.BidangResponse;
import com.iconplus.smartproc.repository.BidangRepository; import com.iconplus.smartproc.repository.BidangRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +20,11 @@ public class PutUpdateBidangService implements BaseService<BidangRequest, Bidang
@Override @Override
public BidangResponse execute(BidangRequest input) { public BidangResponse execute(BidangRequest input) {
var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var bidang = bidangRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Bidang", input.getId())));
bidang.setInstansiId(input.getInstansiId()); bidang.setInstansiId(input.getInstansiId());
bidang.setBidang(input.getBidang()); bidang.setBidang(input.getBidang());
bidang.setKeterangan(input.getKeterangan()); bidang.setKeterangan(input.getKeterangan());

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.InstansiRequest; import com.iconplus.smartproc.model.request.InstansiRequest;
import com.iconplus.smartproc.repository.InstansiRepository; import com.iconplus.smartproc.repository.InstansiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -20,7 +21,9 @@ public class DeleteInstansiService implements BaseService<InstansiRequest, Empty
public EmptyResponse execute(InstansiRequest input) { public EmptyResponse execute(InstansiRequest input) {
var instansi = instansiRepository.findByIdAndIsDeleteFalse(input.getId()) var instansi = instansiRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "instansi", input.getId())));
instansi.setIsDelete(true); instansi.setIsDelete(true);
instansiRepository.save(instansi); instansiRepository.save(instansi);

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.InstansiRequest; import com.iconplus.smartproc.model.request.InstansiRequest;
import com.iconplus.smartproc.model.response.InstansiResponse; import com.iconplus.smartproc.model.response.InstansiResponse;
import com.iconplus.smartproc.repository.InstansiRepository; import com.iconplus.smartproc.repository.InstansiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -20,7 +21,9 @@ public class GetInstansiByIdService implements BaseService<InstansiRequest, Inst
public InstansiResponse execute(InstansiRequest input) { public InstansiResponse execute(InstansiRequest input) {
var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getId()) var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "instansi", input.getId())));
return InstansiResponse.builder() return InstansiResponse.builder()
.id(instansi.getId()) .id(instansi.getId())

View File

@ -4,7 +4,6 @@ import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.InstansiView; import com.iconplus.smartproc.model.projection.InstansiView;
import com.iconplus.smartproc.model.request.InstansiRequest; 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.GetListInstansiResponse;
import com.iconplus.smartproc.model.response.InstansiResponse; import com.iconplus.smartproc.model.response.InstansiResponse;
import com.iconplus.smartproc.repository.InstansiRepository; import com.iconplus.smartproc.repository.InstansiRepository;

View File

@ -6,6 +6,8 @@ import com.iconplus.smartproc.model.entity.Instansi;
import com.iconplus.smartproc.model.request.InstansiRequest; import com.iconplus.smartproc.model.request.InstansiRequest;
import com.iconplus.smartproc.model.response.InstansiResponse; import com.iconplus.smartproc.model.response.InstansiResponse;
import com.iconplus.smartproc.repository.InstansiRepository; import com.iconplus.smartproc.repository.InstansiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -22,7 +24,10 @@ public class PostCreateInstansiService implements BaseService<InstansiRequest, I
var instansi = instansiRepository.findByInstansiAndIsDeleteFalse(input.getInstansi()); var instansi = instansiRepository.findByInstansiAndIsDeleteFalse(input.getInstansi());
if (instansi.isPresent()) { if (instansi.isPresent()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Instansi", input.getInstansi()));
} }
Instansi instansiEntity = Instansi.builder() Instansi instansiEntity = Instansi.builder()

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.InstansiRequest; import com.iconplus.smartproc.model.request.InstansiRequest;
import com.iconplus.smartproc.model.response.InstansiResponse; import com.iconplus.smartproc.model.response.InstansiResponse;
import com.iconplus.smartproc.repository.InstansiRepository; import com.iconplus.smartproc.repository.InstansiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -20,7 +21,9 @@ public class PutUpdateInstansiService implements BaseService<InstansiRequest, In
public InstansiResponse execute(InstansiRequest input) { public InstansiResponse execute(InstansiRequest input) {
var instansi = instansiRepository.findByIdAndIsDeleteFalse(input.getId()) var instansi = instansiRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "instansi", input.getId())));
instansi.setInstansi(input.getInstansi()); instansi.setInstansi(input.getInstansi());
instansi.setAlamat(input.getAlamat()); instansi.setAlamat(input.getAlamat());

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.JabatanRequest; import com.iconplus.smartproc.model.request.JabatanRequest;
import com.iconplus.smartproc.repository.JabatanRepository; import com.iconplus.smartproc.repository.JabatanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -17,7 +18,10 @@ public class DeleteJabatanService implements BaseService<JabatanRequest, EmptyRe
@Override @Override
public EmptyResponse execute(JabatanRequest input) { public EmptyResponse execute(JabatanRequest input) {
var jabatan = jabatanRepository.findByIdAndIsDeleteFalse(input.getId()) var jabatan = jabatanRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Jabatan", input.getId())));
jabatan.setIsDelete(true); jabatan.setIsDelete(true);
jabatanRepository.save(jabatan); jabatanRepository.save(jabatan);
return new EmptyResponse(); return new EmptyResponse();

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.JabatanRequest; import com.iconplus.smartproc.model.request.JabatanRequest;
import com.iconplus.smartproc.model.response.JabatanResponse; import com.iconplus.smartproc.model.response.JabatanResponse;
import com.iconplus.smartproc.repository.JabatanRepository; import com.iconplus.smartproc.repository.JabatanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +20,9 @@ public class GetJabatanService implements BaseService<JabatanRequest, JabatanRes
public JabatanResponse execute(JabatanRequest input) { public JabatanResponse execute(JabatanRequest input) {
var jabatan = jabatanRepository.getJabatanDetails(input.getId()) var jabatan = jabatanRepository.getJabatanDetails(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Jabatan", input.getId())));
return JabatanResponse.builder() return JabatanResponse.builder()
.id(jabatan.getId()) .id(jabatan.getId())

View File

@ -2,10 +2,8 @@ package com.iconplus.smartproc.service.jabatan;
import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.Jabatan;
import com.iconplus.smartproc.model.projection.JabatanView; import com.iconplus.smartproc.model.projection.JabatanView;
import com.iconplus.smartproc.model.request.JabatanRequest; import com.iconplus.smartproc.model.request.JabatanRequest;
import com.iconplus.smartproc.model.request.JenisAnggaranRequest;
import com.iconplus.smartproc.model.response.GetListJabatanResponse; import com.iconplus.smartproc.model.response.GetListJabatanResponse;
import com.iconplus.smartproc.model.response.JabatanResponse; import com.iconplus.smartproc.model.response.JabatanResponse;
import com.iconplus.smartproc.repository.JabatanRepository; import com.iconplus.smartproc.repository.JabatanRepository;

View File

@ -6,6 +6,8 @@ import com.iconplus.smartproc.model.entity.Jabatan;
import com.iconplus.smartproc.model.request.JabatanRequest; import com.iconplus.smartproc.model.request.JabatanRequest;
import com.iconplus.smartproc.model.response.JabatanResponse; import com.iconplus.smartproc.model.response.JabatanResponse;
import com.iconplus.smartproc.repository.JabatanRepository; import com.iconplus.smartproc.repository.JabatanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -21,7 +23,10 @@ public class PostCreateJabatanService implements BaseService<JabatanRequest, Jab
var jabatan = jabatanRepository.findByJabatanAndIsDeleteFalse(input.getJabatan()); var jabatan = jabatanRepository.findByJabatanAndIsDeleteFalse(input.getJabatan());
if (jabatan.isPresent()) { if (jabatan.isPresent()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Jabatan", input.getJabatan()));
} }
Jabatan jabatanEntity = Jabatan.builder() Jabatan jabatanEntity = Jabatan.builder()

View File

@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.JabatanRequest; import com.iconplus.smartproc.model.request.JabatanRequest;
import com.iconplus.smartproc.model.response.JabatanResponse; import com.iconplus.smartproc.model.response.JabatanResponse;
import com.iconplus.smartproc.repository.JabatanRepository; import com.iconplus.smartproc.repository.JabatanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +20,9 @@ public class PutUpdateJabatanService implements BaseService<JabatanRequest, Jaba
public JabatanResponse execute(JabatanRequest input) { public JabatanResponse execute(JabatanRequest input) {
var jabatan = jabatanRepository.findByIdAndIsDeleteFalse(input.getId()) var jabatan = jabatanRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Jabatan", input.getId())));
jabatan.setJabatan(input.getJabatan()); jabatan.setJabatan(input.getJabatan());
jabatan.setKeterangan(input.getKeterangan()); jabatan.setKeterangan(input.getKeterangan());

View File

@ -28,7 +28,7 @@ public class DeleteJenisAnggaranService implements BaseService<JenisAnggaranRequ
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Jenis Anggaran", input.getId())));
jenisAnggaran.setIsDelete(true); jenisAnggaran.setIsDelete(true);
jenisAnggaranRepository.save(jenisAnggaran); jenisAnggaranRepository.save(jenisAnggaran);

View File

@ -26,7 +26,7 @@ public class GetJenisAnggaranByIdService implements BaseService<JenisAnggaranReq
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Jenis Anggaran", input.getId()));
} }
jenisAnggaranResponse.setJenisAnggaran(jenisAnggaranView.get().getJenisAnggaran()); jenisAnggaranResponse.setJenisAnggaran(jenisAnggaranView.get().getJenisAnggaran());

View File

@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service @Service
@Slf4j @Slf4j
public class PostCreateJenisAnggaranService implements BaseService<JenisAnggaranRequest, JenisAnggaranResponse> { public class PostCreateJenisAnggaranService implements BaseService<JenisAnggaranRequest, JenisAnggaranResponse> {
@ -31,7 +29,7 @@ public class PostCreateJenisAnggaranService implements BaseService<JenisAnggaran
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getJenisAnggaran())); String.format(Constants.ERR_MSG_10002, "Jenis Anggaran", input.getJenisAnggaran()));
} }
JenisAnggaran jenisAnggaran = JenisAnggaran.builder() JenisAnggaran jenisAnggaran = JenisAnggaran.builder()

View File

@ -30,7 +30,7 @@ public class PutUpdateJenisAnggaranService implements BaseService<JenisAnggaranR
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Jenis Anggaran", input.getId())));
jenisAnggaran.setJenisAnggaran(input.getJenisAnggaran()); jenisAnggaran.setJenisAnggaran(input.getJenisAnggaran());
jenisAnggaran.setKeterangan(input.getKeterangan()); jenisAnggaran.setKeterangan(input.getKeterangan());

View File

@ -28,7 +28,7 @@ public class DeleteJenisKontrakService implements BaseService<JenisKontrakReques
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Jenis Kontrak", input.getId())));
jenisKontrak.setIsDelete(true); jenisKontrak.setIsDelete(true);
jenisKontrakRepository.save(jenisKontrak); jenisKontrakRepository.save(jenisKontrak);

View File

@ -26,7 +26,7 @@ public class GetJenisKontrakByIdService implements BaseService<JenisKontrakReque
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Jenis Kontrak", input.getId()));
} }
return JenisKontrakResponse.builder() return JenisKontrakResponse.builder()

View File

@ -29,7 +29,7 @@ public class PostCreateJenisKontrakService implements BaseService<JenisKontrakRe
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, existJenisKontrak.get().getId())); String.format(Constants.ERR_MSG_10002, "Jenis Kontrak", input.getJenisKontrak()));
} }
JenisKontrak jenisKontrak = JenisKontrak.builder() JenisKontrak jenisKontrak = JenisKontrak.builder()

View File

@ -7,12 +7,9 @@ import com.iconplus.smartproc.model.response.JenisKontrakResponse;
import com.iconplus.smartproc.repository.JenisKontrakRepository; import com.iconplus.smartproc.repository.JenisKontrakRepository;
import com.iconplus.smartproc.util.Constants; import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service @Service
@Slf4j @Slf4j
@ -31,7 +28,7 @@ public class PutUpdateJenisKontrakService implements BaseService<JenisKontrakReq
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Jenis Kontrak", input.getId())));
jenisKontrak.setJenisKontrak(input.getJenisKontrak()); jenisKontrak.setJenisKontrak(input.getJenisKontrak());
jenisKontrak.setKeterangan(input.getKeterangan()); jenisKontrak.setKeterangan(input.getKeterangan());

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.JenisPengadaanRequest; import com.iconplus.smartproc.model.request.JenisPengadaanRequest;
import com.iconplus.smartproc.repository.JenisPengadaanRepository; import com.iconplus.smartproc.repository.JenisPengadaanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -18,7 +20,10 @@ public class DeleteJenisPengadaanService implements BaseService<JenisPengadaanRe
@Override @Override
public EmptyResponse execute(JenisPengadaanRequest input) { public EmptyResponse execute(JenisPengadaanRequest input) {
var jenisPengadaan = jenisPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) var jenisPengadaan = jenisPengadaanRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Jenis Pengadaan", input.getId())));
jenisPengadaan.setIsDelete(true); jenisPengadaan.setIsDelete(true);
jenisPengadaanRepository.save(jenisPengadaan); jenisPengadaanRepository.save(jenisPengadaan);
return new EmptyResponse(); return new EmptyResponse();

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.JenisPengadaanRequest; import com.iconplus.smartproc.model.request.JenisPengadaanRequest;
import com.iconplus.smartproc.model.response.JenisPengadaanResponse; import com.iconplus.smartproc.model.response.JenisPengadaanResponse;
import com.iconplus.smartproc.repository.JenisPengadaanRepository; import com.iconplus.smartproc.repository.JenisPengadaanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +21,10 @@ public class GetJenisPengadaanService implements BaseService<JenisPengadaanReque
public JenisPengadaanResponse execute(JenisPengadaanRequest input) { public JenisPengadaanResponse execute(JenisPengadaanRequest input) {
var jenisPengadaan = jenisPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) var jenisPengadaan = jenisPengadaanRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Jenis Pengadaan", input.getId())));
return JenisPengadaanResponse.builder() return JenisPengadaanResponse.builder()
.id(jenisPengadaan.getId()) .id(jenisPengadaan.getId())

View File

@ -6,6 +6,8 @@ import com.iconplus.smartproc.model.entity.JenisPengadaan;
import com.iconplus.smartproc.model.request.JenisPengadaanRequest; import com.iconplus.smartproc.model.request.JenisPengadaanRequest;
import com.iconplus.smartproc.model.response.JenisPengadaanResponse; import com.iconplus.smartproc.model.response.JenisPengadaanResponse;
import com.iconplus.smartproc.repository.JenisPengadaanRepository; import com.iconplus.smartproc.repository.JenisPengadaanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -20,7 +22,10 @@ public class PostCreateJenisPengadaanService implements BaseService<JenisPengada
public JenisPengadaanResponse execute(JenisPengadaanRequest input) { public JenisPengadaanResponse execute(JenisPengadaanRequest input) {
var jenisPengadaan = jenisPengadaanRepository.findByJenisPengadaanAndIsDeleteFalse(input.getJenisPengadaan()); var jenisPengadaan = jenisPengadaanRepository.findByJenisPengadaanAndIsDeleteFalse(input.getJenisPengadaan());
if (jenisPengadaan.isPresent()) { if (jenisPengadaan.isPresent()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Jenis Pengadaan", input.getJenisPengadaan()));
} }
JenisPengadaan jenisPengadaanEntity = JenisPengadaan.builder() JenisPengadaan jenisPengadaanEntity = JenisPengadaan.builder()

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.JenisPengadaanRequest; import com.iconplus.smartproc.model.request.JenisPengadaanRequest;
import com.iconplus.smartproc.model.response.JenisPengadaanResponse; import com.iconplus.smartproc.model.response.JenisPengadaanResponse;
import com.iconplus.smartproc.repository.JenisPengadaanRepository; import com.iconplus.smartproc.repository.JenisPengadaanRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -18,7 +20,10 @@ public class PutUpdateJenisPengadaanService implements BaseService<JenisPengadaa
@Override @Override
public JenisPengadaanResponse execute(JenisPengadaanRequest input) { public JenisPengadaanResponse execute(JenisPengadaanRequest input) {
var jenisPengadaan = jenisPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) var jenisPengadaan = jenisPengadaanRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Jenis Pengadaan", input.getId())));
jenisPengadaan.setJenisPengadaan(input.getJenisPengadaan()); jenisPengadaan.setJenisPengadaan(input.getJenisPengadaan());
jenisPengadaan.setKeterangan(input.getKeterangan()); jenisPengadaan.setKeterangan(input.getKeterangan());
jenisPengadaan.setIsActive(input.getIsActive()); jenisPengadaan.setIsActive(input.getIsActive());

View File

@ -28,7 +28,7 @@ public class DeleteLokasiService implements BaseService<LokasiRequest, EmptyResp
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Lokasi", input.getId())));
lokasi.setIsDelete(true); lokasi.setIsDelete(true);
lokasiRepository.save(lokasi); lokasiRepository.save(lokasi);

View File

@ -26,7 +26,7 @@ public class GetLokasiByIdService implements BaseService<LokasiRequest, LokasiRe
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Lokasi", input.getId()));
} }
lokasiResponse.setLokasi(lokasiView.get().getLokasi()); lokasiResponse.setLokasi(lokasiView.get().getLokasi());

View File

@ -29,7 +29,7 @@ public class PostCreateLokasiService implements BaseService<LokasiRequest, Lokas
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getLokasi())); String.format(Constants.ERR_MSG_10002, "Lokasi", input.getLokasi()));
} }
Lokasi lokasi = Lokasi.builder() Lokasi lokasi = Lokasi.builder()

View File

@ -30,7 +30,7 @@ public class PutUpdateLokasiService implements BaseService<LokasiRequest, Lokasi
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Lokasi", input.getId())));
lokasi.setLokasi(input.getLokasi()); lokasi.setLokasi(input.getLokasi());
lokasi.setKeterangan(input.getKeterangan()); lokasi.setKeterangan(input.getKeterangan());

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UsersRequest; import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -20,7 +22,10 @@ public class DeleteUserService implements BaseService<UsersRequest, EmptyRespons
public EmptyResponse execute(UsersRequest input) { public EmptyResponse execute(UsersRequest input) {
var users = usersRepository.findByIdAndIsDeleteFalse(input.getId()) var users = usersRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "User", input.getId())));
users.setIsDelete(true); users.setIsDelete(true);
usersRepository.save(users); usersRepository.save(users);

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UsersRequest; import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.UsersResponse; import com.iconplus.smartproc.model.response.UsersResponse;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -20,7 +22,10 @@ public class GetUserByIdService implements BaseService<UsersRequest, UsersRespon
public UsersResponse execute(UsersRequest input) { public UsersResponse execute(UsersRequest input) {
var userRoleView = usersRepository.getUserByIdAndDeletedFase(input.getId()) var userRoleView = usersRepository.getUserByIdAndDeletedFase(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "User", input.getId())));
return UsersResponse.builder() return UsersResponse.builder()
.id(userRoleView.getId()) .id(userRoleView.getId())

View File

@ -8,6 +8,10 @@ import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.UsersResponse; import com.iconplus.smartproc.model.response.UsersResponse;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.service.CommonService; import com.iconplus.smartproc.service.CommonService;
import com.iconplus.smartproc.util.Constants;
import com.iconplus.smartproc.util.EncryptDecryptUtils;
import org.springframework.http.HttpStatus;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -27,10 +31,20 @@ public class PostCreateUserService implements BaseService<UsersRequest, UsersRes
var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail()); var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail());
if (users.isPresent()) { if (users.isPresent()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "User", input.getEmail()));
} }
commonService.validateUserRequst(input); commonService.validateUserRequst(input);
String password = commonService.getPassword(input.getPassword());
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String encryptedPassword = encoder.encode(password);
input.setPassword(encryptedPassword);
Users usersEntity = Users.builder() Users usersEntity = Users.builder()
.instansiId(input.getInstansiId()) .instansiId(input.getInstansiId())
.bidangId(input.getBidangId()) .bidangId(input.getBidangId())

View File

@ -6,6 +6,8 @@ import com.iconplus.smartproc.model.request.UsersRequest;
import com.iconplus.smartproc.model.response.UsersResponse; import com.iconplus.smartproc.model.response.UsersResponse;
import com.iconplus.smartproc.repository.UsersRepository; import com.iconplus.smartproc.repository.UsersRepository;
import com.iconplus.smartproc.service.CommonService; import com.iconplus.smartproc.service.CommonService;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -23,7 +25,10 @@ public class PutUpdateUserService implements BaseService<UsersRequest, UsersResp
public UsersResponse execute(UsersRequest input) { public UsersResponse execute(UsersRequest input) {
var users = usersRepository.findByIdAndIsDeleteFalse(input.getId()) var users = usersRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException("err", "err", "err")); .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "User", input.getId())));
commonService.validateUserRequst(input); commonService.validateUserRequst(input);

View File

@ -28,7 +28,7 @@ public class DeleteMetodePengadaanService implements BaseService<MetodePengadaan
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Metode Pengadaan", input.getId())));
metodePengadaan.setIsDelete(true); metodePengadaan.setIsDelete(true);
metodePengadaanRepository.save(metodePengadaan); metodePengadaanRepository.save(metodePengadaan);

View File

@ -26,7 +26,7 @@ public class GetMetodePengadaanByIdService implements BaseService<MetodePengadaa
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Metode Pengadaan", input.getId()));
} }
return MetodePengadaanResponse.builder() return MetodePengadaanResponse.builder()

View File

@ -29,7 +29,7 @@ public class PostCreateMetodePengadaanService implements BaseService<MetodePenga
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getMetodePengadaan())); String.format(Constants.ERR_MSG_10002, "Metode Pengadaan", input.getMetodePengadaan()));
} }
MetodePengadaan metodePengadaan = MetodePengadaan.builder() MetodePengadaan metodePengadaan = MetodePengadaan.builder()

View File

@ -7,12 +7,9 @@ import com.iconplus.smartproc.model.response.MetodePengadaanResponse;
import com.iconplus.smartproc.repository.MetodePengadaanRepository; import com.iconplus.smartproc.repository.MetodePengadaanRepository;
import com.iconplus.smartproc.util.Constants; import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service @Service
@Slf4j @Slf4j
public class PutUpdateMetodePengadaanService implements BaseService<MetodePengadaanRequest, MetodePengadaanResponse> { public class PutUpdateMetodePengadaanService implements BaseService<MetodePengadaanRequest, MetodePengadaanResponse> {
@ -30,7 +27,7 @@ public class PutUpdateMetodePengadaanService implements BaseService<MetodePengad
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Metode Pengadaan", input.getId())));
metodePengadaan.setMetodePengadaan(input.getMetodePengadaan()); metodePengadaan.setMetodePengadaan(input.getMetodePengadaan());
metodePengadaan.setKeterangan(input.getKeterangan()); metodePengadaan.setKeterangan(input.getKeterangan());

View File

@ -28,7 +28,7 @@ public class DeleteMetodePenyampaianService implements BaseService<MetodePenyamp
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Metode Penyampaian", input.getId())));
metodePenyampaian.setIsDelete(true); metodePenyampaian.setIsDelete(true);
metodePenyampaianRepository.save(metodePenyampaian); metodePenyampaianRepository.save(metodePenyampaian);

View File

@ -25,7 +25,7 @@ public class GetMetodePenyampaianByIdService implements BaseService<MetodePenyam
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Metode Penyampaian", input.getId()));
} }
return MetodePenyampaianResponse.builder() return MetodePenyampaianResponse.builder()

View File

@ -29,7 +29,7 @@ public class PostCreateMetodePenyampaianService implements BaseService<MetodePen
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getMetodePenyampaian())); String.format(Constants.ERR_MSG_10002, "Metode Penyampaian", input.getMetodePenyampaian()));
} }
MetodePenyampaian metodePenyampaian = MetodePenyampaian.builder() MetodePenyampaian metodePenyampaian = MetodePenyampaian.builder()

View File

@ -7,12 +7,9 @@ import com.iconplus.smartproc.model.response.MetodePenyampaianResponse;
import com.iconplus.smartproc.repository.MetodePenyampaianRepository; import com.iconplus.smartproc.repository.MetodePenyampaianRepository;
import com.iconplus.smartproc.util.Constants; import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service @Service
@Slf4j @Slf4j
public class PutUpdateMetodePenyampaianService implements BaseService<MetodePenyampaianRequest, MetodePenyampaianResponse> { public class PutUpdateMetodePenyampaianService implements BaseService<MetodePenyampaianRequest, MetodePenyampaianResponse> {
@ -30,7 +27,7 @@ public class PutUpdateMetodePenyampaianService implements BaseService<MetodePeny
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Metode Penyampaian", input.getId())));
metodePenyampaian.setMetodePenyampaian(input.getMetodePenyampaian()); metodePenyampaian.setMetodePenyampaian(input.getMetodePenyampaian());
metodePenyampaian.setKeterangan(input.getKeterangan()); metodePenyampaian.setKeterangan(input.getKeterangan());

View File

@ -28,7 +28,7 @@ public class DeleteStrategiPengadaanService implements BaseService<StrategiPenga
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Strategi Pengadaan", input.getId())));
strategiPengadaan.setIsDelete(true); strategiPengadaan.setIsDelete(true);
strategiPengadaanRepository.save(strategiPengadaan); strategiPengadaanRepository.save(strategiPengadaan);

View File

@ -25,7 +25,7 @@ public class GetStrategiPengadaanByIdService implements BaseService<StrategiPeng
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Strategi Pengadaan", input.getId()));
} }
return StrategiPengadaanResponse.builder() return StrategiPengadaanResponse.builder()

View File

@ -29,7 +29,7 @@ public class PostCreateStrategiPengadaanService implements BaseService<StrategiP
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getStrategiPengadaan())); String.format(Constants.ERR_MSG_10002, "Strategi Pengadaan", input.getStrategiPengadaan()));
} }
StrategiPengadaan strategiPengadaan = StrategiPengadaan.builder() StrategiPengadaan strategiPengadaan = StrategiPengadaan.builder()

View File

@ -7,12 +7,9 @@ import com.iconplus.smartproc.model.response.StrategiPengadaanResponse;
import com.iconplus.smartproc.repository.StrategiPengadaanRepository; import com.iconplus.smartproc.repository.StrategiPengadaanRepository;
import com.iconplus.smartproc.util.Constants; import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service @Service
@Slf4j @Slf4j
public class PutUpdateStrategiPengadaanService implements BaseService<StrategiPengadaanRequest, StrategiPengadaanResponse> { public class PutUpdateStrategiPengadaanService implements BaseService<StrategiPengadaanRequest, StrategiPengadaanResponse> {
@ -30,7 +27,7 @@ public class PutUpdateStrategiPengadaanService implements BaseService<StrategiPe
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Strategi Pengadaan", input.getId())));
strategiPengadaan.setStrategiPengadaan(input.getStrategiPengadaan()); strategiPengadaan.setStrategiPengadaan(input.getStrategiPengadaan());
strategiPengadaan.setKeterangan(input.getKeterangan()); strategiPengadaan.setKeterangan(input.getKeterangan());

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.SumberDanaRequest; import com.iconplus.smartproc.model.request.SumberDanaRequest;
import com.iconplus.smartproc.repository.SumberDanaRepository; import com.iconplus.smartproc.repository.SumberDanaRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -18,7 +20,11 @@ public class DeleteSumberDanaService implements BaseService<SumberDanaRequest, E
@Override @Override
public EmptyResponse execute(SumberDanaRequest input) { public EmptyResponse execute(SumberDanaRequest input) {
var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Sumber Dana", input.getId())));
sumberDana.setIsDelete(true); sumberDana.setIsDelete(true);
sumberDanaRepository.save(sumberDana); sumberDanaRepository.save(sumberDana);
return new EmptyResponse(); return new EmptyResponse();

View File

@ -3,7 +3,6 @@ package com.iconplus.smartproc.service.sumberdana;
import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.SumberDanaView; import com.iconplus.smartproc.model.projection.SumberDanaView;
import com.iconplus.smartproc.model.request.RolesRequest;
import com.iconplus.smartproc.model.request.SumberDanaRequest; import com.iconplus.smartproc.model.request.SumberDanaRequest;
import com.iconplus.smartproc.model.response.GetListSumberDanaResponse; import com.iconplus.smartproc.model.response.GetListSumberDanaResponse;
import com.iconplus.smartproc.model.response.SumberDanaResponse; import com.iconplus.smartproc.model.response.SumberDanaResponse;

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.SumberDanaRequest; import com.iconplus.smartproc.model.request.SumberDanaRequest;
import com.iconplus.smartproc.model.response.SumberDanaResponse; import com.iconplus.smartproc.model.response.SumberDanaResponse;
import com.iconplus.smartproc.repository.SumberDanaRepository; import com.iconplus.smartproc.repository.SumberDanaRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +21,11 @@ public class GetSumberDanaService implements BaseService<SumberDanaRequest, Sumb
@Override @Override
public SumberDanaResponse execute(SumberDanaRequest input) { public SumberDanaResponse execute(SumberDanaRequest input) {
var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Sumber Dana", input.getId())));
return SumberDanaResponse.builder() return SumberDanaResponse.builder()
.id(sumberDana.getId()) .id(sumberDana.getId())
.sumberDana(sumberDana.getSumberDana()) .sumberDana(sumberDana.getSumberDana())

View File

@ -6,6 +6,8 @@ import com.iconplus.smartproc.model.entity.SumberDana;
import com.iconplus.smartproc.model.request.SumberDanaRequest; import com.iconplus.smartproc.model.request.SumberDanaRequest;
import com.iconplus.smartproc.model.response.SumberDanaResponse; import com.iconplus.smartproc.model.response.SumberDanaResponse;
import com.iconplus.smartproc.repository.SumberDanaRepository; import com.iconplus.smartproc.repository.SumberDanaRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -22,7 +24,10 @@ public class PostCreateSumberDanaService implements BaseService<SumberDanaReques
var sumberDana = sumberDanaRepository.findBySumberDanaAndIsDeleteFalse(input.getSumberDana()); var sumberDana = sumberDanaRepository.findBySumberDanaAndIsDeleteFalse(input.getSumberDana());
if (sumberDana.isPresent()) { if (sumberDana.isPresent()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Sumber Dana", input.getSumberDana()));
} }
SumberDana sumberDanaEntity = SumberDana.builder() SumberDana sumberDanaEntity = SumberDana.builder()
.sumberDana(input.getSumberDana()) .sumberDana(input.getSumberDana())

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.SumberDanaRequest; import com.iconplus.smartproc.model.request.SumberDanaRequest;
import com.iconplus.smartproc.model.response.SumberDanaResponse; import com.iconplus.smartproc.model.response.SumberDanaResponse;
import com.iconplus.smartproc.repository.SumberDanaRepository; import com.iconplus.smartproc.repository.SumberDanaRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +21,11 @@ public class PutSumberDanaService implements BaseService<SumberDanaRequest, Sumb
@Override @Override
public SumberDanaResponse execute(SumberDanaRequest input) { public SumberDanaResponse execute(SumberDanaRequest input) {
var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var sumberDana = sumberDanaRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Sumber Dana", input.getId())));
sumberDana.setSumberDana(input.getSumberDana()); sumberDana.setSumberDana(input.getSumberDana());
sumberDana.setKeterangan(input.getKeterangan()); sumberDana.setKeterangan(input.getKeterangan());
sumberDana.setIsActive(input.getIsActive()); sumberDana.setIsActive(input.getIsActive());

View File

@ -28,7 +28,7 @@ public class DeleteSupplyPositioningMatrixService implements BaseService<SupplyP
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Supply Posotioning Matrix", input.getId())));
supplyPositioningMatrix.setIsDelete(true); supplyPositioningMatrix.setIsDelete(true);
supplyPositioningMatrixRepository.save(supplyPositioningMatrix); supplyPositioningMatrixRepository.save(supplyPositioningMatrix);

View File

@ -25,7 +25,7 @@ public class GetSupplyPositioningMatrixByIdService implements BaseService<Supply
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId())); String.format(Constants.ERR_MSG_10001, "Supply Positioning Matrix", input.getId()));
} }
return SupplyPositioningMatrixResponse.builder() return SupplyPositioningMatrixResponse.builder()

View File

@ -29,7 +29,7 @@ public class PostCreateSupplyPositioningMatrixService implements BaseService<Sup
throw new BusinessException(HttpStatus.CONFLICT, throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002, Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002, Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, input.getSupplyPositioningMatrix())); String.format(Constants.ERR_MSG_10002, "Supply Positioning Matrix", input.getSupplyPositioningMatrix()));
} }
SupplyPositioningMatrix supplyPositioningMatrix = SupplyPositioningMatrix.builder() SupplyPositioningMatrix supplyPositioningMatrix = SupplyPositioningMatrix.builder()

View File

@ -7,12 +7,9 @@ import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse;
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository; import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
import com.iconplus.smartproc.util.Constants; import com.iconplus.smartproc.util.Constants;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
@Service @Service
@Slf4j @Slf4j
public class PutUpdateSupplyPositioningMatrixService implements BaseService<SupplyPositioningMatrixRequest, SupplyPositioningMatrixResponse> { public class PutUpdateSupplyPositioningMatrixService implements BaseService<SupplyPositioningMatrixRequest, SupplyPositioningMatrixResponse> {
@ -30,7 +27,7 @@ public class PutUpdateSupplyPositioningMatrixService implements BaseService<Supp
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT, .orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001, Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001, Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, input.getId()))); String.format(Constants.ERR_MSG_10001, "Supply Positioning Matrix", input.getId())));
supplyPositioningMatrix.setSupplyPositioningMatrix(input.getSupplyPositioningMatrix()); supplyPositioningMatrix.setSupplyPositioningMatrix(input.getSupplyPositioningMatrix());
supplyPositioningMatrix.setKeterangan(input.getKeterangan()); supplyPositioningMatrix.setKeterangan(input.getKeterangan());

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.helper.service.BaseService; import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest; import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.repository.UnitInisiatorRepository; import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +21,11 @@ public class DeleteUnitInisiatorService implements BaseService<UnitInisiatorRequ
@Override @Override
public EmptyResponse execute(UnitInisiatorRequest input) { public EmptyResponse execute(UnitInisiatorRequest input) {
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Unit Inisiator", input.getId())));
unitInisiator.setIsDelete(true); unitInisiator.setIsDelete(true);
unitInisiatorRepository.save(unitInisiator); unitInisiatorRepository.save(unitInisiator);
return new EmptyResponse(); return new EmptyResponse();

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest; import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse; import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository; import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +21,11 @@ public class GetUnitInisiatorService implements BaseService<UnitInisiatorRequest
@Override @Override
public UnitInisiatorResponse execute(UnitInisiatorRequest input) { public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Unit Inisiator", input.getId())));
return UnitInisiatorResponse.builder() return UnitInisiatorResponse.builder()
.id(unitInisiator.getId()) .id(unitInisiator.getId())
.unitInisiator(unitInisiator.getUnitInisiator()) .unitInisiator(unitInisiator.getUnitInisiator())

View File

@ -6,6 +6,8 @@ import com.iconplus.smartproc.model.entity.UnitInisiator;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest; import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse; import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository; import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -21,7 +23,10 @@ public class PostCreateUnitInisiatorService implements BaseService<UnitInisiator
var unitInisiator = unitInisiatorRepository.findByUnitInisiatorAndIsDeleteFalse(input.getUnitInisiator()); var unitInisiator = unitInisiatorRepository.findByUnitInisiatorAndIsDeleteFalse(input.getUnitInisiator());
if (unitInisiator.isPresent()) { if (unitInisiator.isPresent()) {
throw new BusinessException("err", "err", "err"); throw new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Unit Inisiator", input.getUnitInisiator()));
} }
UnitInisiator unitInisiatorEntity = UnitInisiator.builder() UnitInisiator unitInisiatorEntity = UnitInisiator.builder()

View File

@ -5,6 +5,8 @@ import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.UnitInisiatorRequest; import com.iconplus.smartproc.model.request.UnitInisiatorRequest;
import com.iconplus.smartproc.model.response.UnitInisiatorResponse; import com.iconplus.smartproc.model.response.UnitInisiatorResponse;
import com.iconplus.smartproc.repository.UnitInisiatorRepository; import com.iconplus.smartproc.repository.UnitInisiatorRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -19,7 +21,11 @@ public class PutUpdateUnitInisiatorService implements BaseService<UnitInisiatorR
@Override @Override
public UnitInisiatorResponse execute(UnitInisiatorRequest input) { public UnitInisiatorResponse execute(UnitInisiatorRequest input) {
var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId()).orElseThrow(() -> new BusinessException("err", "err", "err")); var unitInisiator = unitInisiatorRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(HttpStatus.CONFLICT,
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "Unit Inisiator", input.getId())));
unitInisiator.setUnitInisiator(input.getUnitInisiator()); unitInisiator.setUnitInisiator(input.getUnitInisiator());
unitInisiator.setKeterangan(input.getKeterangan()); unitInisiator.setKeterangan(input.getKeterangan());
unitInisiator.setIsActive(input.getIsActive()); unitInisiator.setIsActive(input.getIsActive());

View File

@ -6,11 +6,11 @@ public class Constants {
public static final String ERR_CODE_10001 = "10001"; public static final String ERR_CODE_10001 = "10001";
public static final String ERR_TTL_10001 = "Data tidak ditemukan"; public static final String ERR_TTL_10001 = "Data tidak ditemukan";
public static final String ERR_MSG_10001 = "Jenis Anggaran dengan id : %s tidak ditemukan"; public static final String ERR_MSG_10001 = "%s dengan id : %s tidak ditemukan";
public static final String ERR_CODE_10002 = "10002"; public static final String ERR_CODE_10002 = "10002";
public static final String ERR_TTL_10002 = "Data tersedia"; public static final String ERR_TTL_10002 = "Data tersedia";
public static final String ERR_MSG_10002 = "Jenis Anggaran : %s sudah tersedia"; public static final String ERR_MSG_10002 = "%s : %s sudah tersedia";
public static final String ERR_CODE_10003 = "10003"; public static final String ERR_CODE_10003 = "10003";
public static final String ERR_TTL_10003 = "Data tidak tersedia"; public static final String ERR_TTL_10003 = "Data tidak tersedia";
@ -28,6 +28,22 @@ public class Constants {
public static final String ERR_TTL_10006 = "Data tersedia"; public static final String ERR_TTL_10006 = "Data tersedia";
public static final String ERR_MSG_10006 = "Role : %s sudah tersedia"; public static final String ERR_MSG_10006 = "Role : %s sudah tersedia";
public static final String ERR_CODE_10007 = "10007";
public static final String ERR_TTL_10007 = "Proses Gagal";
public static final String ERR_MSG_10007 = "Silahkan periksa kembali password baru yg anda input";
public static final String ERR_CODE_10008 = "10008";
public static final String ERR_TTL_10008 = "Proses Gagal";
public static final String ERR_MSG_10008 = "Gagal generate token";
public static final String ERR_CODE_10009 = "10009";
public static final String ERR_TTL_10009 = "Proses Gagal";
public static final String ERR_MSG_10009 = "Periksa kembali password sekrang anda";
public static final String ERR_CODE_10010 = "10010";
public static final String ERR_TTL_10010 = "Proses Gagal";
public static final String ERR_MSG_10010 = "Gagal decrypt password, masukkan password yg ter-encrypt";
public static final String ERR_CODE_40041 = "40041"; public static final String ERR_CODE_40041 = "40041";
public static final String ERR_TTL_40041 = "Terjadi Gangguan"; public static final String ERR_TTL_40041 = "Terjadi Gangguan";
public static final String ERR_MSG_40041 = "Masalah Koneksi System"; public static final String ERR_MSG_40041 = "Masalah Koneksi System";
@ -35,6 +51,22 @@ public class Constants {
public static final String ERR_CODE_40051 = "40051"; public static final String ERR_CODE_40051 = "40051";
public static final String ERR_CODE_80007 = "80007"; public static final String ERR_CODE_80007 = "80007";
public static final String TITLE_INVALID_NEXT_STEP = "Proses tidak dapat dilanjutkan"; public static final String TITLE_INVALID_NEXT_STEP = "Proses tidak dapat dilanjutkan";
public static final String REFRESH_TOKEN_EXPIRED = "Refresh token expired";
public static final String REFRESH_TOKEN_NOT_VALID = "Refresh token tidak valid";
public static final String ERR_CODE_40042 = "40042";
public static final String ERR_TTL_40042 = "Terjadi gangguan";
public static final String ERR_MSG_40042 = "Proses generate token gagal dengan response: null";
public static final String ERR_CODE_40038 = "40038";
public static final String ERR_TITLE_40038 = "Data Sedang Tidak Tersedia";
public static final String ERR_MESSAGE_40038 = "Data User Tidak Ditemukan.";
public static final String ERR_CODE_80000 = "80000";
public static final String N0_SUCH_ALGORITHM_EXCEPTION = "NoSuchAlgorithmException : ";
public static final String N0_SUCH_PADDING_EXCEPTION = "NoSuchPaddingException : ";
public static final String INVALID_KEY_EXCEPTION = "InvalidKeyException : ";
public static final String ILEGAL_BLOCK_SIZE_EXCEPTION = "IllegalBlockSizeException : ";
public static final String BAD_PADDING_EXCEPTION = "BadPaddingException : ";
} }

View File

@ -0,0 +1,52 @@
package com.iconplus.smartproc.util;
import com.iconplus.smartproc.exception.TechnicalException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.util.Base64;
public class EncryptDecryptUtils {
private static final Logger log = LogManager.getLogger(EncryptDecryptUtils.class);
private EncryptDecryptUtils() {
}
public static String decrypt(String data, String base64PrivateKey) {
return decryptChipper(Base64.getDecoder().decode(data.getBytes()), RSAUtil.getPrivateKey(base64PrivateKey));
}
private static String decryptChipper(byte[] data, PrivateKey privateKey) {
var result = "";
try {
var cipher = Cipher.getInstance("RSA/ECB/OAEPWithSHA-256AndMGF1Padding");
cipher.init(2, privateKey);
result = new String(cipher.doFinal(data));
} catch (NoSuchAlgorithmException var3) {
log.error("NoSuchAlgorithmException : {}", var3.getMessage());
throw new TechnicalException(Constants.ERR_CODE_80000, Constants.N0_SUCH_ALGORITHM_EXCEPTION + var3.getMessage());
} catch (NoSuchPaddingException var4) {
log.error("NoSuchPaddingException : {}", var4.getMessage());
throw new TechnicalException(Constants.ERR_CODE_80000, Constants.N0_SUCH_PADDING_EXCEPTION + var4.getMessage());
} catch (InvalidKeyException var5) {
log.error("InvalidKeyException : {}", var5.getMessage());
throw new TechnicalException(Constants.ERR_CODE_80000, Constants.INVALID_KEY_EXCEPTION + var5.getMessage());
} catch (IllegalBlockSizeException var6) {
log.error("IllegalBlockSizeException : {}", var6.getMessage());
throw new TechnicalException(Constants.ERR_CODE_80000, Constants.ILEGAL_BLOCK_SIZE_EXCEPTION + var6.getMessage());
} catch (BadPaddingException var7) {
log.error("BadPaddingException : {}", var7.getMessage());
throw new TechnicalException(Constants.ERR_CODE_80000, Constants.BAD_PADDING_EXCEPTION + var7.getMessage());
}
return result;
}
}

View File

@ -6,6 +6,10 @@ jwt:
access-token: 480 access-token: 480
refresh-token: 720 refresh-token: 720
config:
password:
privateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCRyUePQWkg+IH5dAvQ/+YlVR1htFdhL2+NJtWWXNW15mBUOEr+yvJsOYAzY9KfxmVqRRr1uQEAaaKjNpxwNEnHkMn8LzSEhRxCd4Mqpa5jquCdPfMqGO3cwdkrQjZVfm3tCBYd2HkOeL8PTwlbBORucf6qHPxZvjGVXQeiRAHTlgHTR1647T1+vlDDcaOBJIrwcD566hqOCKMxtE+5F4DieSYEuHJMyvJf/WH2+LxbP2t4Z6IV0tksQKtwyZstEXd3yIL8chKoFh2p3KO8aFfMa7X0aiDVC3z+o2Hh8+YHQt7cSl+NGRxasuqLbY3twZEC9qAIkkDOpBUp7lLZ9NVHAgMBAAECggEACd0GXGjehf6KPKhfTEqj9Y6mqD+dUdP1xiUEemHZi68EgW41lLuCX1Qcml18mJbBscjvJATaTn7XJBfDycuf2kKvh8Jh2T1wRgbz9uSywceD3t+cHhMFtNPgr46RQoOFSG4toONOfW4p7w034tKX6ekIg9XmNOQrUqGyrIXRYdFADB68HaLxlgS0zKrkhp14+wH/krihfS3H7Z+wBVozWSgyHCVbov68l764w3UWZYEEe2mFl31HqhD5KEo8QXODWuemUTROaXKF/iOsPEMC8Qz4Jdqme+iAlV4b2LNaSTEP/NG/kFIE443RlyFo9YfVNw7/osgAksXAPdOZd8qt8QKBgQDYHLX2HVaGj9zvAlqSKjf6VuuxgdRUYW4rqQjm97YmAJNp4udjKLUgD7yDuImYh/E/IWjDxf1Hf3fTjcc98iPMsvP3lkXxdOxMLLlnMv0Ewxof8gATQndU/w+/XuuAZ9cy3vtheo59i4rFpik8XFAH6kPk/gWI9DAE/IbXuOSNUwKBgQCssaxMwfrB9nwQ9eDXv2z+Ce4sZbtZEJYD3a29OGshLw8AH//z/BxPzZRTFy63IfmmIyYSGaC7ZdkrakLhlBXrhi/P0wafp7xEsONb8uNYWDDWoDewH75GX/SPhx7bX0GSeiX6X5XAUg97j0xlfYllIieMLCw4rLU+97ge5xalvQKBgQDXJjYtEGYczsqYFBLRI0DZdIFvFZ6qZtkElGMtdf0b9kTMDL5pZJR1l9UImcY6WVRekkc3aDvQW2GS9rodvJvRZXMm0K9PRCUfbQMjb4qfnBC9LvLOOcSNlOQ7lCcGjdqbZYyELjv/VtXQEa1Jz2lJh/sR1abzAo9v12vzBbpbywKBgQCkdEZKimeLknivhhbqHgdjHH3NlcuFk3/oipBLI5ERdsjoK5EI/crQTEu1nNwF1brx9YLptbIVA3Z+G6E5RFZjhdO+K42hOJDXMUQyaekKVmGb4dNmS7RdPD+e9uPxsJK3NM850RDApuTLm7j65UOUJaRXnjE2f3HSVwDlnNc6WQKBgQCccgyIJx5HnxdkYYFJBnuwo1aDNo2TOqiy9wPXHzxuR8TsvqmbbYoxT0kJkqOjkbQII08nLyHJ3KL7XK3dCEGmdRArHjo0PCLMzKqBZdhtfxN413HxmwXIF5zM6mhS4g8XrDyNW7EhLp/putnpmE6XI9VnEFx/LxAd8nJ9tUd39A==
spring: spring:
datasource: datasource:
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver