updated code for call user action

This commit is contained in:
rajesh
2024-11-21 13:04:57 +05:30
parent c0906c9e7d
commit 531738f82f
5 changed files with 35 additions and 12 deletions

View File

@@ -27,6 +27,7 @@ import net.gepafin.tendermanagement.util.Validator;
import org.h2.util.IOUtils; import org.h2.util.IOUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.config.Translator;
@@ -219,11 +220,20 @@ public class CallDao {
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldEvaluationCriteriaEntity).newData(evaluationCriteriaEntity).build()); loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldEvaluationCriteriaEntity).newData(evaluationCriteriaEntity).build());
List<CriteriaFormFieldEntity> list = criteriaFormFieldRepository List<CriteriaFormFieldEntity> list = criteriaFormFieldRepository
.findByEvaluationCriteriaIdAndIsDeletedFalse(evaluationCriteriaEntity.getId()) .findByEvaluationCriteriaIdAndIsDeletedFalse(evaluationCriteriaEntity.getId());
.stream()
.peek(data -> data.setIsDeleted(Boolean.TRUE)) if(Boolean.FALSE.equals(CollectionUtils.isEmpty(list))) {
.toList();
list.stream().peek(data->{
CriteriaFormFieldEntity oldCriteriaFormFieldEntity = Utils.getClonedEntityForData(data);
data.setIsDeleted(Boolean.TRUE);
/** This code is responsible for adding a version history log for the "soft delete criteria form field" operation **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldCriteriaFormFieldEntity).newData(data).build());
});
criteriaFormFieldRepository.saveAll(list); criteriaFormFieldRepository.saveAll(list);
}
} }
private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq, private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq,
@@ -630,6 +640,7 @@ public class CallDao {
if (Boolean.FALSE.equals(checklistEntity.getLookupData().getId().equals(lookupDataEntity.getId()))) { if (Boolean.FALSE.equals(checklistEntity.getLookupData().getId().equals(lookupDataEntity.getId()))) {
checklistEntity.setLookupData(lookupDataEntity); checklistEntity.setLookupData(lookupDataEntity);
} }
oldChecklistEntity = Utils.getClonedEntityForData(checklistEntity);
actionType = VersionActionTypeEnum.UPDATE; actionType = VersionActionTypeEnum.UPDATE;
} else { } else {
checklistEntity = new CallTargetAudienceChecklistEntity(); checklistEntity = new CallTargetAudienceChecklistEntity();

View File

@@ -3,12 +3,19 @@ package net.gepafin.tendermanagement.enums;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
public enum UserActionContextEnum { public enum UserActionContextEnum {
/** call action context **/
CREATE_CALL_STEP_1("CREATE_CALL_STEP_1"), CREATE_CALL_STEP_1("CREATE_CALL_STEP_1"),
UPDATE_CALL_STEP_1("UPDATE_CALL_STEP_1"), UPDATE_CALL_STEP_1("UPDATE_CALL_STEP_1"),
UPDATE_CALL_STEP_2("UPDATE_CALL_STEP_2"), CREATE_UPDATE_CALL_STEP_2("CREATE_UPDATE_CALL_STEP_2"),
VALIDATE_CALL("VALIDATE_CALL"), VALIDATE_CALL("VALIDATE_CALL"),
UPDATE_CALL_STATUS("UPDATE_CALL_STATUS"), UPDATE_CALL_STATUS("UPDATE_CALL_STATUS"),
GET_CALL("GET_CALL"); GET_CALL("GET_CALL"),
DOWNLOAD_CALL_DOCUMENT("DOWNLOAD_CALL_DOCUMENT"),
/** user action context **/
CREATE_USER("CREATE_USER");
private final String value; private final String value;

View File

@@ -3,7 +3,7 @@ package net.gepafin.tendermanagement.enums;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
public enum UserActionLogsEnum { public enum UserActionLogsEnum {
LOGIN("LOGIN"), LOGOUT("LOGOUT"), UPDATE("UPDATE"), DELETE("DELETE"), VIEW("VIEW"), INSERT("INSERT"); LOGIN("LOGIN"), LOGOUT("LOGOUT"), UPDATE("UPDATE"), DELETE("DELETE"), VIEW("VIEW"), INSERT("INSERT"), DOWNLOAD("DOWNLOAD"), UPLOAD("UPLOAD");
private final String value; private final String value;

View File

@@ -131,7 +131,12 @@ public class LoggingUtil {
public void addVersionHistory(VersionHistoryRequest versionHistoryRequest) { public void addVersionHistory(VersionHistoryRequest versionHistoryRequest) {
try { try {
Long userActionId = (Long) versionHistoryRequest.getRequest().getAttribute(GepafinConstant.USER_ACTION_ID); Long userActionId = (Long) versionHistoryRequest.getRequest().getAttribute(GepafinConstant.USER_ACTION_ID);
Long recordId = versionHistoryRequest.getNewData().getId(); Long recordId = null;
if(versionHistoryRequest.getNewData() != null) {
recordId = versionHistoryRequest.getNewData().getId();
} else if(versionHistoryRequest.getOldData() != null){
recordId = versionHistoryRequest.getOldData().getId();
}
String tableName = getTableName(versionHistoryRequest.getNewData().getClass()); String tableName = getTableName(versionHistoryRequest.getNewData().getClass());
logVersionHistory(versionHistoryRequest, recordId, userActionId, tableName); logVersionHistory(versionHistoryRequest, recordId, userActionId, tableName);
} catch (Exception e) { } catch (Exception e) {

View File

@@ -57,7 +57,7 @@ public class CallApiController implements CallApi {
/** This code is responsible for creating user action logs for the "Create or update Call step 2" operation. **/ /** This code is responsible for creating user action logs for the "Create or update Call step 2" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE) loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
.actionContext(UserActionContextEnum.UPDATE_CALL_STEP_2).build()); .actionContext(UserActionContextEnum.CREATE_UPDATE_CALL_STEP_2).build());
CallResponse createCallResponseBean = callService.createCallStep2(request, callId, createCallRequest); CallResponse createCallResponseBean = callService.createCallStep2(request, callId, createCallRequest);
return ResponseEntity.status(HttpStatus.CREATED) return ResponseEntity.status(HttpStatus.CREATED)
@@ -130,8 +130,8 @@ public class CallApiController implements CallApi {
public ResponseEntity<byte[]> downloadCallDocumentsAsZip(HttpServletRequest request, Long callId) { public ResponseEntity<byte[]> downloadCallDocumentsAsZip(HttpServletRequest request, Long callId) {
/** This code is responsible for creating user action logs for the "download Call documents " operation. **/ /** This code is responsible for creating user action logs for the "download Call documents " operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW) loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.DOWNLOAD)
.actionContext(UserActionContextEnum.GET_CALL).build()); .actionContext(UserActionContextEnum.DOWNLOAD_CALL_DOCUMENT).build());
byte[] zipFile = callService.downloadCallDocumentsAsZip(request, callId); byte[] zipFile = callService.downloadCallDocumentsAsZip(request, callId);