Skip to content

Commit 9fb367a

Browse files
varundeepsainiVarun Deep Saini
andauthored
AMM-118: Expose account lock state in SearchEmployee4 (#123)
Co-authored-by: Varun Deep Saini <varun.23bcs10048@ms.sst.scaler.com>
1 parent 4327dea commit 9fb367a

4 files changed

Lines changed: 80 additions & 1 deletion

File tree

src/main/java/com/iemr/admin/data/employeemaster/M_User1.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,9 @@ public void setSignatureStatus(String signatureStatus) {
231231
@Expose
232232
@Column(name = "failed_attempt", insertable = false)
233233
private Integer failedAttempt;
234+
@Expose
235+
@Column(name = "lock_timestamp", insertable = false)
236+
private Timestamp lockTimestamp;
234237
public M_User1() {
235238
// TODO Auto-generated constructor stub
236239
}
@@ -251,6 +254,14 @@ public void setFailedAttempt(Integer failedAttempt) {
251254
this.failedAttempt = failedAttempt;
252255
}
253256

257+
public Timestamp getLockTimestamp() {
258+
return lockTimestamp;
259+
}
260+
261+
public void setLockTimestamp(Timestamp lockTimestamp) {
262+
this.lockTimestamp = lockTimestamp;
263+
}
264+
254265
public Integer getUserID() {
255266
return userID;
256267
}

src/main/java/com/iemr/admin/data/employeemaster/V_Showuser.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,18 @@ public class V_Showuser {
246246
@Column(name="DistrictID")
247247
private Integer districtID;
248248

249+
@Expose
250+
@Transient
251+
private Integer failedAttempt;
252+
253+
@Expose
254+
@Transient
255+
private Timestamp lockTimestamp;
256+
257+
@Expose
258+
@Transient
259+
private Boolean lockedDueToFailedAttempts;
260+
249261

250262

251263

@@ -922,6 +934,30 @@ public void setDistrictID(Integer districtID) {
922934
this.districtID = districtID;
923935
}
924936

937+
public Integer getFailedAttempt() {
938+
return failedAttempt;
939+
}
940+
941+
public void setFailedAttempt(Integer failedAttempt) {
942+
this.failedAttempt = failedAttempt;
943+
}
944+
945+
public Timestamp getLockTimestamp() {
946+
return lockTimestamp;
947+
}
948+
949+
public void setLockTimestamp(Timestamp lockTimestamp) {
950+
this.lockTimestamp = lockTimestamp;
951+
}
952+
953+
public Boolean getLockedDueToFailedAttempts() {
954+
return lockedDueToFailedAttempts;
955+
}
956+
957+
public void setLockedDueToFailedAttempts(Boolean lockedDueToFailedAttempts) {
958+
this.lockedDueToFailedAttempts = lockedDueToFailedAttempts;
959+
}
960+
925961

926962

927963

src/main/java/com/iemr/admin/repo/employeemaster/EmployeeMasterRepoo.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
package com.iemr.admin.repo.employeemaster;
2323

2424
import java.util.ArrayList;
25+
import java.util.List;
2526

2627
import org.springframework.data.jpa.repository.Modifying;
2728
import org.springframework.data.jpa.repository.Query;
@@ -87,4 +88,6 @@ M_User1 checkingEmpDetails(@Param("userName") String userName, @Param("aadhaarNo
8788
ArrayList<M_User1> getempByDesiganation(@Param("designationID") Integer designationID,@Param("serviceProviderID") Integer serviceProviderID);
8889

8990
M_User1 findByUserID(Integer userID);
91+
92+
List<M_User1> findByUserIDIn(List<Integer> userIDs);
9093
}

src/main/java/com/iemr/admin/service/employeemaster/EmployeeMasterServiceImpl.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.security.NoSuchAlgorithmException;
2626
import java.security.SecureRandom;
2727
import java.security.spec.InvalidKeySpecException;
28+
import java.sql.Timestamp;
2829
import java.util.ArrayList;
2930
import java.util.Date;
3031
import java.util.HashMap;
@@ -1085,8 +1086,36 @@ public ArrayList<M_Community> getAllCommunity() {
10851086

10861087
@Override
10871088
public ArrayList<V_Showuser> getEmployeeDetails4(Integer serviceProviderID) {
1089+
ArrayList<V_Showuser> users = v_ShowuserRepo.EmployeeDetails4(serviceProviderID);
1090+
if (users.isEmpty()) {
1091+
return users;
1092+
}
1093+
1094+
ArrayList<Integer> userIDs = new ArrayList<Integer>(users.size());
1095+
for (V_Showuser user : users) {
1096+
userIDs.add(user.getUserID());
1097+
}
1098+
1099+
Map<Integer, M_User1> userRecords = new HashMap<Integer, M_User1>();
1100+
for (M_User1 userRecord : employeeMasterRepoo.findByUserIDIn(userIDs)) {
1101+
userRecords.put(userRecord.getUserID(), userRecord);
1102+
}
1103+
1104+
for (V_Showuser user : users) {
1105+
enrichAccountLockState(user, userRecords.get(user.getUserID()));
1106+
}
1107+
return users;
1108+
}
1109+
1110+
private void enrichAccountLockState(V_Showuser user, M_User1 userRecord) {
1111+
if (userRecord == null) {
1112+
return;
1113+
}
10881114

1089-
return v_ShowuserRepo.EmployeeDetails4(serviceProviderID);
1115+
Timestamp lockTimestamp = userRecord.getLockTimestamp();
1116+
user.setFailedAttempt(userRecord.getFailedAttempt() != null ? userRecord.getFailedAttempt() : 0);
1117+
user.setLockTimestamp(lockTimestamp);
1118+
user.setLockedDueToFailedAttempts(Boolean.TRUE.equals(userRecord.getDeleted()) && lockTimestamp != null);
10901119
}
10911120

10921121
@Override

0 commit comments

Comments
 (0)