fix telepon and init lupas
This commit is contained in:
parent
bab3a7a3d9
commit
431ad60bdb
@ -3,11 +3,9 @@ package com.iconplus.smartproc.controller;
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.model.EmptyRequest;
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.ChangePasswordRequest;
|
||||
import com.iconplus.smartproc.model.request.ForgotPasswordRequest;
|
||||
import com.iconplus.smartproc.model.request.LoginRequest;
|
||||
import com.iconplus.smartproc.model.request.RefreshTokenRequest;
|
||||
import com.iconplus.smartproc.model.request.*;
|
||||
import com.iconplus.smartproc.model.response.GlobalResponse;
|
||||
import com.iconplus.smartproc.model.response.InitForgotPasswordResponse;
|
||||
import com.iconplus.smartproc.model.response.RefreshTokenResponse;
|
||||
import com.iconplus.smartproc.service.authentication.*;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -22,17 +20,20 @@ public class AuthenticationController {
|
||||
private final LogoutService logoutService;
|
||||
private final ChangePasswordService changePasswordService;
|
||||
private final ForgotPasswordService forgotPasswordService;
|
||||
private final InitForgotPasswordService initForgotPasswordService;
|
||||
|
||||
public AuthenticationController(LoginService loginService,
|
||||
TokenManagementService tokenManagementService,
|
||||
LogoutService logoutService,
|
||||
ChangePasswordService changePasswordService,
|
||||
ForgotPasswordService forgotPasswordService) {
|
||||
ForgotPasswordService forgotPasswordService,
|
||||
InitForgotPasswordService initForgotPasswordService) {
|
||||
this.loginService = loginService;
|
||||
this.tokenManagementService = tokenManagementService;
|
||||
this.logoutService = logoutService;
|
||||
this.changePasswordService = changePasswordService;
|
||||
this.forgotPasswordService = forgotPasswordService;
|
||||
this.initForgotPasswordService = initForgotPasswordService;
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
@ -73,4 +74,10 @@ public class AuthenticationController {
|
||||
return forgotPasswordService.execute(forgotPasswordRequest);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/init/forgot-password")
|
||||
public InitForgotPasswordResponse initForgotPassword(@RequestBody InitForgotPasswordRequest initForgotPasswordRequest) {
|
||||
return initForgotPasswordService.execute(initForgotPasswordRequest);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.iconplus.smartproc.controller;
|
||||
|
||||
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.DrpPengadaanRequest;
|
||||
import com.iconplus.smartproc.model.request.DrpRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpPengadaanResponse;
|
||||
@ -54,6 +55,14 @@ public class DrpController {
|
||||
.build());
|
||||
}
|
||||
|
||||
@GetMapping("/tahun/{id}")
|
||||
public EmptyResponse getExistDrp(@PathVariable(name = "id") Integer tahun) {
|
||||
postCreateDrpService.validateTahunDrp(DrpRequest.builder()
|
||||
.tahun(tahun)
|
||||
.build());
|
||||
return new EmptyResponse();
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public DrpResponse createDrp(@RequestBody DrpRequest drpRequest) {
|
||||
return postCreateDrpService.execute(drpRequest);
|
||||
|
@ -9,6 +9,7 @@ import org.hibernate.annotations.Type;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Data
|
||||
@ -63,10 +64,10 @@ public class DrpPengadaan extends BaseEntity {
|
||||
private Long strategiPengadaanId;
|
||||
|
||||
@Column(name = "rencana_tanggal")
|
||||
private Timestamp rencanaTanggal;
|
||||
private Date rencanaTanggal;
|
||||
|
||||
@Column(name = "target_tanggal")
|
||||
private Timestamp targetTanggal;
|
||||
private Date targetTanggal;
|
||||
|
||||
@Column(name = "hpe")
|
||||
private BigDecimal hpe;
|
||||
|
@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
|
||||
import org.hibernate.annotations.Type;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@ -30,6 +31,9 @@ public class Users extends BaseEntity {
|
||||
@Column(name = "email")
|
||||
private String email;
|
||||
|
||||
@Column(name = "telepon")
|
||||
private String telepon;
|
||||
|
||||
@Column(name = "password")
|
||||
private String password;
|
||||
|
||||
@ -45,6 +49,12 @@ public class Users extends BaseEntity {
|
||||
@Column(name = "role_id")
|
||||
private Long roleId;
|
||||
|
||||
@Column(name = "remember_id")
|
||||
private String rememberId;
|
||||
|
||||
@Column(name = "expired_time")
|
||||
private Timestamp expiredTime;
|
||||
|
||||
@Column(name = "is_active")
|
||||
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||
private Boolean isActive;
|
||||
|
@ -0,0 +1,64 @@
|
||||
package com.iconplus.smartproc.model.projection;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
|
||||
public interface DrpPengadaanView {
|
||||
|
||||
Long getId();
|
||||
void setId(Long id);
|
||||
|
||||
Long getDrpId();
|
||||
void setDrpId(Long drpId);
|
||||
|
||||
String getNomor();
|
||||
void setNomor(String nomor);
|
||||
|
||||
String getNamaPengadaan();
|
||||
void setNamaPengadaan(String namaPengadaan);
|
||||
|
||||
Long getLokasiId();
|
||||
void setLokasiId(Long lokasiId);
|
||||
|
||||
Long getJenisPengadaanId();
|
||||
void setJenisPengadaanId(Long jenisPengadaanId);
|
||||
|
||||
Long getUnitInisiatorId();
|
||||
void setUnitInisiatorId(Long unitInisiatorId);
|
||||
|
||||
BigDecimal getHpe();
|
||||
void setHpe(BigDecimal hpe);
|
||||
|
||||
BigDecimal getPagu();
|
||||
void setPagu(BigDecimal pagu);
|
||||
|
||||
Long getSumberDanaId();
|
||||
void setSumberDanaId(Long sumberDanaId);
|
||||
|
||||
Long getMetodePengadaanId();
|
||||
void setMetodePengadaanId(Long metodePengadaanId);
|
||||
|
||||
Long getSupplyPositioningMatrix();
|
||||
void setSupplyPositioningMatrix(Long supplyPositioningMatrix);
|
||||
|
||||
Long getMetodePenyampaianId();
|
||||
void setMetodePenyampaianId(Long metodePenyampaianId);
|
||||
|
||||
Long getJenisKontrakId();
|
||||
void setJenisKontrakId(Long jenisKontrakId);
|
||||
|
||||
Long getStrategiPengadaanId();
|
||||
void setStrategiPengadaanId(Long strategiPengadaanId);
|
||||
|
||||
Date getRencanaTanggal();
|
||||
void setRencanaTanggal(Date rencanaTanggal);
|
||||
|
||||
Date getTargetTanggal();
|
||||
void setTargetTanggal(Date targetTanggal);
|
||||
|
||||
Boolean getIsActive();
|
||||
void setIsActive(Boolean isActive);
|
||||
|
||||
Boolean getIsDelete();
|
||||
void setIsDelete(Boolean isDelete);
|
||||
}
|
@ -17,6 +17,7 @@ public interface UserRoleView {
|
||||
Long getRoleId();
|
||||
String getRole();
|
||||
Boolean getIsDelete();
|
||||
String getTelepon();
|
||||
|
||||
void setId(Long id);
|
||||
void setUsername(String username);
|
||||
@ -33,5 +34,6 @@ public interface UserRoleView {
|
||||
void setRoleId(Long roleId);
|
||||
void setRole(String role);
|
||||
void setIsDelete(Boolean isDelete);
|
||||
void setTelepon(String telepon);
|
||||
|
||||
}
|
||||
|
@ -14,7 +14,6 @@ public class DrpDokumenRequest extends BaseRequest {
|
||||
|
||||
private Long jenisDokumenId;
|
||||
private String filename;
|
||||
private byte[] file;
|
||||
private String keterangan;
|
||||
private Boolean isDelete;
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ public class DrpPengadaanDokumenRequest extends BaseRequest {
|
||||
private Long drpId;
|
||||
private Long jenisDokumenId;
|
||||
private String filename;
|
||||
private byte[] file;
|
||||
private String keterangan;
|
||||
private Boolean isDelete;
|
||||
}
|
||||
|
@ -5,14 +5,10 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.hibernate.annotations.Type;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
@ -36,8 +32,8 @@ public class DrpPengadaanRequest extends BaseRequest {
|
||||
private Long metodePenyampaianId;
|
||||
private Long jenisKontrakId;
|
||||
private Long strategiPengadaanId;
|
||||
private Timestamp rencanaTanggal;
|
||||
private Timestamp targetTanggal;
|
||||
private Date rencanaTanggal;
|
||||
private Date targetTanggal;
|
||||
private BigDecimal hpe;
|
||||
private Boolean isActive;
|
||||
private Boolean isDelete;
|
||||
|
@ -11,7 +11,7 @@ import lombok.NoArgsConstructor;
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ForgotPasswordRequest extends BaseRequest {
|
||||
private String email;
|
||||
private String rememberId;
|
||||
private String newPassword;
|
||||
private String confirmationPassword;
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
package com.iconplus.smartproc.model.request;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class InitForgotPasswordRequest extends BaseRequest {
|
||||
|
||||
private String email;
|
||||
}
|
@ -26,6 +26,7 @@ public class UsersRequest extends BaseRequest {
|
||||
private Long roleId;
|
||||
private String role;
|
||||
private String email;
|
||||
private String telepon;
|
||||
private Boolean isActive;
|
||||
private String search;
|
||||
private transient Pageable pageable;
|
||||
|
@ -0,0 +1,23 @@
|
||||
package com.iconplus.smartproc.model.response;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DrpPengadaanDokumenResponse extends BaseResponse {
|
||||
|
||||
private Long id;
|
||||
private Long drpId;
|
||||
private Long jenisDokumenId;
|
||||
private String filename;
|
||||
private String keterangan;
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
@ -7,6 +7,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@Data
|
||||
@ -29,8 +30,8 @@ public class DrpPengadaanResponse extends BaseResponse {
|
||||
private Long metodePenyampaianId;
|
||||
private Long jenisKontrakId;
|
||||
private Long strategiPengadaanId;
|
||||
private Timestamp rencanaTanggal;
|
||||
private Timestamp targetTanggal;
|
||||
private Date rencanaTanggal;
|
||||
private Date targetTanggal;
|
||||
private BigDecimal hpe;
|
||||
private Boolean isActive;
|
||||
private Boolean isDelete;
|
||||
|
@ -21,5 +21,7 @@ public class DrpResponse extends BaseResponse {
|
||||
private Boolean isActive;
|
||||
private Boolean isDelete;
|
||||
|
||||
private List<DrpDokumenResponse> data;
|
||||
private List<DrpDokumenResponse> dataDrpDokumen;
|
||||
|
||||
private List<DrpPengadaanDokumenResponse> dataDrpPengadaanDokumen;
|
||||
}
|
||||
|
@ -0,0 +1,17 @@
|
||||
package com.iconplus.smartproc.model.response;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class InitForgotPasswordResponse extends BaseResponse {
|
||||
|
||||
private String rememberId;
|
||||
|
||||
}
|
@ -28,6 +28,7 @@ public class UsersResponse extends BaseResponse {
|
||||
private String role;
|
||||
|
||||
private String email;
|
||||
private String telepon;
|
||||
private Boolean isActive;
|
||||
private Boolean isDelete;
|
||||
}
|
||||
|
@ -4,6 +4,11 @@ import com.iconplus.smartproc.model.entity.DrpPengadaanDokumen;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface DrpPengadaanDokumenRepository extends JpaRepository<DrpPengadaanDokumen, Long> {
|
||||
|
||||
List<DrpPengadaanDokumen> findByDrpIdAndIsDeleteFalse(Long drpId);
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,13 @@
|
||||
package com.iconplus.smartproc.repository;
|
||||
|
||||
import com.iconplus.smartproc.model.entity.DrpPengadaan;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface DrpPengadaanRepository extends JpaRepository<DrpPengadaan, Long> {
|
||||
|
||||
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ public interface UsersRepository extends JpaRepository<Users, Long> {
|
||||
"u.instansiId as instansiId, " +
|
||||
"i.instansi as instansi, " +
|
||||
"u.email as email, " +
|
||||
"u.telepon as telepon, " +
|
||||
"u.isActive as isActive, " +
|
||||
"u.isDelete as isDelete " +
|
||||
"FROM Users u " +
|
||||
@ -95,4 +96,10 @@ public interface UsersRepository extends JpaRepository<Users, Long> {
|
||||
"AND u.id = :id")
|
||||
Optional<UserRoleView> getUserByIdAndDeletedFase(Long id);
|
||||
|
||||
@Query(value = "SELECT * FROM users " +
|
||||
"WHERE remember_id = :rememberId " +
|
||||
"AND is_delete = 0 " +
|
||||
"AND expired_time >= CURRENT_TIMESTAMP", nativeQuery = true)
|
||||
Optional<Users> getUsersByEmailAndExpiredTime(String rememberId);
|
||||
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ public class CommonService {
|
||||
throw new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "Role", input.getId()));
|
||||
String.format(Constants.ERR_MSG_10001, "Role", input.getRoleId()));
|
||||
}
|
||||
|
||||
var bidang= bidangRepository.findByIdAndIsDeleteFalse(input.getBidangId());
|
||||
@ -50,7 +50,7 @@ public class CommonService {
|
||||
throw new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "Bidang", input.getId()));
|
||||
String.format(Constants.ERR_MSG_10001, "Bidang", input.getBidangId()));
|
||||
}
|
||||
|
||||
var instansi= instansiRepository.findByIdAndIsDeleteFalse(input.getInstansiId());
|
||||
@ -58,7 +58,7 @@ public class CommonService {
|
||||
throw new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "Instansi", input.getId()));
|
||||
String.format(Constants.ERR_MSG_10001, "Instansi", input.getInstansiId()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,15 +26,14 @@ public class ForgotPasswordService implements BaseService<ForgotPasswordRequest,
|
||||
@Override
|
||||
public EmptyResponse execute(ForgotPasswordRequest input) {
|
||||
|
||||
var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail())
|
||||
var users = usersRepository.getUsersByEmailAndExpiredTime(input.getRememberId())
|
||||
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "User", input.getEmail())));
|
||||
String.format(Constants.ERR_MSG_10001, "Remember-id", input.getRememberId())));
|
||||
|
||||
String newPassword = commonService.getPassword(input.getNewPassword());
|
||||
String confirmationPassword = commonService.getPassword(input.getConfirmationPassword());
|
||||
|
||||
|
||||
if (!StringUtils.equalsIgnoreCase(newPassword, confirmationPassword)) {
|
||||
throw new BusinessException(HttpStatus.CONFLICT,
|
||||
Constants.ERR_CODE_10007,
|
||||
|
@ -0,0 +1,46 @@
|
||||
package com.iconplus.smartproc.service.authentication;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.InitForgotPasswordRequest;
|
||||
import com.iconplus.smartproc.model.response.InitForgotPasswordResponse;
|
||||
import com.iconplus.smartproc.repository.UsersRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.time.Instant;
|
||||
import java.util.UUID;
|
||||
|
||||
@Service
|
||||
public class InitForgotPasswordService implements BaseService<InitForgotPasswordRequest, InitForgotPasswordResponse> {
|
||||
|
||||
@Value("${config.forgot-password.expired-time:1440}")
|
||||
private Integer expiredTime;
|
||||
|
||||
private final UsersRepository usersRepository;
|
||||
|
||||
public InitForgotPasswordService(UsersRepository usersRepository) {
|
||||
this.usersRepository = usersRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InitForgotPasswordResponse execute(InitForgotPasswordRequest input) {
|
||||
|
||||
var users = usersRepository.findByEmailAndIsDeleteFalse(input.getEmail())
|
||||
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "User", input.getEmail())));
|
||||
|
||||
var expirationTime = Timestamp.from(Instant.now().plusMillis(expiredTime * (long) 60000));
|
||||
|
||||
users.setRememberId(UUID.randomUUID().toString());
|
||||
users.setExpiredTime(expirationTime);
|
||||
usersRepository.save(users);
|
||||
|
||||
return InitForgotPasswordResponse.builder()
|
||||
.rememberId(users.getRememberId())
|
||||
.build();
|
||||
}
|
||||
}
|
@ -3,10 +3,14 @@ package com.iconplus.smartproc.service.drp;
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpDokumen;
|
||||
import com.iconplus.smartproc.model.entity.DrpPengadaanDokumen;
|
||||
import com.iconplus.smartproc.model.request.DrpRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpDokumenResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpPengadaanDokumenResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpPengadaanResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpResponse;
|
||||
import com.iconplus.smartproc.repository.DrpDokumenRepository;
|
||||
import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRepository;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -19,11 +23,14 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
|
||||
private final DrpRepository drpRepository;
|
||||
private final DrpDokumenRepository drpDokumenRepository;
|
||||
private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository;
|
||||
|
||||
public GetDrpService(DrpRepository drpRepository,
|
||||
DrpDokumenRepository drpDokumenRepository) {
|
||||
DrpDokumenRepository drpDokumenRepository,
|
||||
DrpPengadaanDokumenRepository drpPengadaanDokumenRepository) {
|
||||
this.drpRepository = drpRepository;
|
||||
this.drpDokumenRepository = drpDokumenRepository;
|
||||
this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -33,8 +40,41 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP", input.getId())));
|
||||
|
||||
var drpDokumenList = drpDokumenRepository.findByDrpIdAndIsDeleteFalse(input.getId());
|
||||
List<DrpDokumenResponse> drpDokumenResponseList = new ArrayList<>();
|
||||
setDrpDokumen(input, drpDokumenResponseList);
|
||||
|
||||
List<DrpPengadaanDokumenResponse> drpPengadaanDokumenResponseList = new ArrayList<>();
|
||||
setDrpPengadaanDokumen(input, drpPengadaanDokumenResponseList);
|
||||
|
||||
|
||||
return DrpResponse.builder()
|
||||
.id(drp.getId())
|
||||
.tahun(drp.getTahun())
|
||||
.approveStatus(drp.getApproveStatus())
|
||||
.approveDate(drp.getApproveDate())
|
||||
.isActive(drp.getIsActive())
|
||||
.isDelete(drp.getIsDelete())
|
||||
.dataDrpDokumen(drpDokumenResponseList)
|
||||
.dataDrpPengadaanDokumen(drpPengadaanDokumenResponseList)
|
||||
.build();
|
||||
}
|
||||
|
||||
private void setDrpPengadaanDokumen(DrpRequest input, List<DrpPengadaanDokumenResponse> drpPengadaanDokumenResponseList) {
|
||||
var drpPengadaanDokumenList = drpPengadaanDokumenRepository.findByDrpIdAndIsDeleteFalse(input.getId());
|
||||
|
||||
for (DrpPengadaanDokumen drpPengadaanDokumen : drpPengadaanDokumenList) {
|
||||
DrpPengadaanDokumenResponse drpPengadaanDokumenResponse = DrpPengadaanDokumenResponse.builder()
|
||||
.id(drpPengadaanDokumen.getId())
|
||||
.drpId(drpPengadaanDokumen.getDrpId())
|
||||
.jenisDokumenId(drpPengadaanDokumen.getJenisDokumenId())
|
||||
.filename(drpPengadaanDokumen.getFilename())
|
||||
.build();
|
||||
drpPengadaanDokumenResponseList.add(drpPengadaanDokumenResponse);
|
||||
}
|
||||
}
|
||||
|
||||
private void setDrpDokumen(DrpRequest input, List<DrpDokumenResponse> drpDokumenResponseList) {
|
||||
var drpDokumenList = drpDokumenRepository.findByDrpIdAndIsDeleteFalse(input.getId());
|
||||
|
||||
for (DrpDokumen drpDokumen : drpDokumenList) {
|
||||
DrpDokumenResponse drpDokumenResponse = DrpDokumenResponse.builder()
|
||||
@ -45,15 +85,5 @@ public class GetDrpService implements BaseService<DrpRequest, DrpResponse> {
|
||||
.build();
|
||||
drpDokumenResponseList.add(drpDokumenResponse);
|
||||
}
|
||||
|
||||
return DrpResponse.builder()
|
||||
.id(drp.getId())
|
||||
.tahun(drp.getTahun())
|
||||
.approveStatus(drp.getApproveStatus())
|
||||
.approveDate(drp.getApproveDate())
|
||||
.isActive(drp.getIsActive())
|
||||
.isDelete(drp.getIsDelete())
|
||||
.data(drpDokumenResponseList)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,23 @@
|
||||
package com.iconplus.smartproc.service.drp;
|
||||
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.request.DrpPengadaanRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpPengadaanResponse;
|
||||
import com.iconplus.smartproc.repository.DrpPengadaanRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class GetListDrpPengadaanService implements BaseService<DrpPengadaanRequest, DrpPengadaanResponse> {
|
||||
|
||||
private final DrpPengadaanRepository drpPengadaanRepository;
|
||||
|
||||
public GetListDrpPengadaanService(DrpPengadaanRepository drpPengadaanRepository) {
|
||||
this.drpPengadaanRepository = drpPengadaanRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrpPengadaanResponse execute(DrpPengadaanRequest input) {
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
@ -38,12 +38,7 @@ public class PostCreateDrpService implements BaseService<DrpRequest, DrpResponse
|
||||
@Override
|
||||
public DrpResponse execute(DrpRequest input) {
|
||||
|
||||
Optional<Drp> drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun());
|
||||
if (drpOptional.isPresent()) {
|
||||
throw new BusinessException(Constants.ERR_CODE_10010,
|
||||
Constants.ERR_TTL_10010,
|
||||
Constants.ERR_MSG_10010);
|
||||
}
|
||||
validateTahunDrp(input);
|
||||
|
||||
Drp drp = Drp.builder()
|
||||
.tahun(input.getTahun())
|
||||
@ -90,4 +85,13 @@ public class PostCreateDrpService implements BaseService<DrpRequest, DrpResponse
|
||||
.id(drpSaved.getId())
|
||||
.build();
|
||||
}
|
||||
|
||||
public void validateTahunDrp(DrpRequest input) {
|
||||
Optional<Drp> drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun());
|
||||
if (drpOptional.isPresent()) {
|
||||
throw new BusinessException(Constants.ERR_CODE_10010,
|
||||
Constants.ERR_TTL_10010,
|
||||
Constants.ERR_MSG_10010);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ public class GetListUserService implements BaseService<UsersRequest, GetUsersRes
|
||||
.instansiId(userRoleView.getInstansiId())
|
||||
.instansi(userRoleView.getInstansi())
|
||||
.email(userRoleView.getEmail())
|
||||
.telepon(userRoleView.getTelepon())
|
||||
.isActive(userRoleView.getIsActive())
|
||||
.build();
|
||||
usersResponses.add(usersResponse);
|
||||
|
@ -40,6 +40,7 @@ public class GetUserByIdService implements BaseService<UsersRequest, UsersRespon
|
||||
.instansiId(userRoleView.getInstansiId())
|
||||
.instansi(userRoleView.getInstansi())
|
||||
.email(userRoleView.getEmail())
|
||||
.telepon(userRoleView.getTelepon())
|
||||
.isActive(userRoleView.getIsActive())
|
||||
.build();
|
||||
}
|
||||
|
@ -9,7 +9,8 @@ import com.iconplus.smartproc.model.response.UsersResponse;
|
||||
import com.iconplus.smartproc.repository.UsersRepository;
|
||||
import com.iconplus.smartproc.service.CommonService;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import com.iconplus.smartproc.util.EncryptDecryptUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -17,6 +18,9 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class PostCreateUserService implements BaseService<UsersRequest, UsersResponse> {
|
||||
|
||||
@Value("${config.default-password:plgg123}")
|
||||
private String defaultPassword;
|
||||
|
||||
private UsersRepository usersRepository;
|
||||
private CommonService commonService;
|
||||
|
||||
@ -39,7 +43,12 @@ public class PostCreateUserService implements BaseService<UsersRequest, UsersRes
|
||||
|
||||
commonService.validateUserRequst(input);
|
||||
|
||||
String password = commonService.getPassword(input.getPassword());
|
||||
String password = null;
|
||||
if (StringUtils.isNotBlank(input.getPassword())) {
|
||||
password = commonService.getPassword(input.getPassword());
|
||||
} else {
|
||||
password = defaultPassword;
|
||||
}
|
||||
|
||||
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
|
||||
String encryptedPassword = encoder.encode(password);
|
||||
@ -53,6 +62,7 @@ public class PostCreateUserService implements BaseService<UsersRequest, UsersRes
|
||||
.jabatanId(input.getJabatanId())
|
||||
.roleId(input.getRoleId())
|
||||
.email(input.getEmail())
|
||||
.telepon(input.getTelepon())
|
||||
.password(input.getPassword())
|
||||
.isActive(input.getIsActive())
|
||||
.isDelete(false)
|
||||
|
@ -39,6 +39,7 @@ public class PutUpdateUserService implements BaseService<UsersRequest, UsersResp
|
||||
users.setJabatanId(input.getJabatanId());
|
||||
users.setRoleId(input.getRoleId());
|
||||
users.setEmail(input.getEmail());
|
||||
users.setTelepon(input.getTelepon());
|
||||
users.setPassword(input.getPassword());
|
||||
users.setIsActive(input.getIsActive());
|
||||
users.setIsDelete(false);
|
||||
|
@ -41,7 +41,7 @@ public class Constants {
|
||||
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 = "Data tidak ditemukan";
|
||||
public static final String ERR_TTL_10010 = "Data tersedia";
|
||||
public static final String ERR_MSG_10010 = "Maaf, Tahun DRP yang anda pilih sudah ada sebelumnya. silahkan pilih Tahun DRP lain untuk menambah DRP baru.";
|
||||
|
||||
public static final String ERR_CODE_10011 = "10011";
|
||||
|
@ -10,6 +10,8 @@ config:
|
||||
password:
|
||||
private-key: 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==
|
||||
public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkclHj0FpIPiB+XQL0P/mJVUdYbRXYS9vjSbVllzVteZgVDhK/srybDmAM2PSn8ZlakUa9bkBAGmiozaccDRJx5DJ/C80hIUcQneDKqWuY6rgnT3zKhjt3MHZK0I2VX5t7QgWHdh5Dni/D08JWwTkbnH+qhz8Wb4xlV0HokQB05YB00deuO09fr5Qw3GjgSSK8HA+euoajgijMbRPuReA4nkmBLhyTMryX/1h9vi8Wz9reGeiFdLZLECrcMmbLRF3d8iC/HISqBYdqdyjvGhXzGu19Gog1Qt8/qNh4fPmB0Le3EpfjRkcWrLqi22N7cGRAvagCJJAzqQVKe5S2fTVRwIDAQAB
|
||||
forgot-password:
|
||||
expired-time: 1440
|
||||
|
||||
spring:
|
||||
datasource:
|
||||
|
Loading…
x
Reference in New Issue
Block a user