updated code

This commit is contained in:
rajesh
2024-11-20 14:40:32 +05:30
parent 6eafa7b33e
commit f66ddf6e47
7 changed files with 83 additions and 92 deletions

View File

@@ -109,9 +109,7 @@ public class CallDao {
CallEntity callEntity = convertToCallEntity(createCallRequest, userEntity);
updateFaq(createCallRequest.getFaq(), callEntity, userEntity,LookUpDataTypeEnum.FAQ);
convertLookUpDataEntities(createCallRequest.getAimedTo(), callEntity,
LookUpDataTypeEnum.AIMED_TO);
updateLookUpData(callEntity, createCallRequest.getAimedTo(), LookUpDataTypeEnum.AIMED_TO);
CallResponse createCallResponseBean = getCallResponseBean(callEntity);
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_1);
@@ -152,7 +150,6 @@ public class CallDao {
public CallEntity convertToCallEntity(CreateCallRequestStep1 createCallRequest, UserEntity userEntity) {
CallEntity callEntity = new CallEntity();
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
// validateCallEntity(createCallRequest);
RegionEntity region = regionRepository.findById(createCallRequest.getRegionId())
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
@@ -189,11 +186,9 @@ public class CallDao {
callEntity.setEndTime(DateTimeUtil.parseTime(createCallRequest.getEndTime()));
callEntity.setHub(userEntity.getHub());
callEntity = callRepository.save(callEntity);
versionHistoryRequest.setOldData(null);
versionHistoryRequest.setNewData(callEntity);
versionHistoryRequest.setRequest(request);
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
loggingUtil.addVersionHistory(versionHistoryRequest);
/** This code is responsible for adding a version history log for the "Create Call" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(callEntity).build());
return callEntity;
}
@@ -211,15 +206,7 @@ public class CallDao {
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = criteriaReqList.stream()
.map(req -> convertToEvaluationCriteriaEntity(req, callEntity, type)).collect(Collectors.toList());
List<EvaluationCriteriaEntity> data = evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
data.forEach(entity -> {
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
versionHistoryRequest.setOldData(null);
versionHistoryRequest.setNewData(entity);
versionHistoryRequest.setRequest(request);
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
loggingUtil.addVersionHistory(versionHistoryRequest);
});
return evaluationCriteriaEntities;
}
@@ -237,22 +224,31 @@ public class CallDao {
private EvaluationCriteriaEntity convertToEvaluationCriteriaEntity(EvaluationCriteriaReq criteriaReq,
CallEntity callEntity, LookUpDataTypeEnum type) {
EvaluationCriteriaEntity criteriaEntity = null;
EvaluationCriteriaEntity oldCriteriaEntity = null;
VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT;
LookUpDataEntity lookupDataEntity = lookUpDataService.getOrCreateLookUpDataEntity(criteriaReq, type);
if (criteriaReq.getId() != null && criteriaReq.getId() > 0) {
criteriaEntity = evaluationCriteriaRepository.findById(criteriaReq.getId())
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
Translator.toLocale(GepafinConstant.EVALUATION_CRITERIA_NOT_FOUND)));
oldCriteriaEntity = Utils.getClonedEntityForData(oldCriteriaEntity);
actionType = VersionActionTypeEnum.UPDATE;
} else {
criteriaEntity = new EvaluationCriteriaEntity();
criteriaEntity.setCall(callEntity);
criteriaEntity.setLookupData(lookupDataEntity);
criteriaEntity.setScore(0L);
criteriaEntity.setIsDeleted(false);
actionType = VersionActionTypeEnum.INSERT;
}
setIfUpdated(criteriaEntity::getScore, criteriaEntity::setScore, criteriaReq.getScore());
if (Boolean.FALSE.equals(criteriaEntity.getLookupData().getId().equals(lookupDataEntity.getId()))) {
criteriaEntity.setLookupData(lookupDataEntity);
}
criteriaEntity = evaluationCriteriaRepository.save(criteriaEntity) ;
/** This code is responsible for adding a version history log for the "create or update evaluation criteria" operation **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(actionType).oldData(oldCriteriaEntity).newData(criteriaEntity).build());
return criteriaEntity;
}
@@ -402,38 +398,37 @@ public class CallDao {
return createCallResponseBean;
}
public List<LookUpDataResponse> convertLookUpDataEntities(List<LookUpDataReq> lookUpData, CallEntity callEntity,
LookUpDataEntity.LookUpDataTypeEnum type) {
if(lookUpData == null) {
return null;
}
List<LookUpDataEntity> lookUpDataEntities = lookUpData.stream()
.map(req -> lookUpDataService.getOrCreateLookUpDataEntity(req, type)).collect(Collectors.toList());
// public List<LookUpDataResponse> convertLookUpDataEntities(List<LookUpDataReq> lookUpData, CallEntity callEntity,
// LookUpDataEntity.LookUpDataTypeEnum type) {
// if(lookUpData == null) {
// return null;
// }
// List<LookUpDataEntity> lookUpDataEntities = lookUpData.stream()
// .map(req -> lookUpDataService.getOrCreateLookUpDataEntity(req, type)).collect(Collectors.toList());
//
// return createCallTargetAudienceCheckList(callEntity, lookUpDataEntities);
// }
return createCallTargetAudienceCheckList(callEntity, lookUpDataEntities);
}
private List<LookUpDataResponse> createCallTargetAudienceCheckList(CallEntity callEntity,
List<LookUpDataEntity> lookUpDataEntities) {
List<LookUpDataResponse> lookUpDataResponses = new ArrayList<>();
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
for (LookUpDataEntity lookUpDataEntity : lookUpDataEntities) {
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity = new CallTargetAudienceChecklistEntity();
callTargetAudienceChecklistEntity.setIsValidated(false);
callTargetAudienceChecklistEntity.setLookupData(lookUpDataEntity);
callTargetAudienceChecklistEntity.setCall(callEntity);
callTargetAudienceChecklistEntity.setIsDeleted(false);
callTargetAudienceChecklistEntity = callTargetAudienceChecklistRepository
.save(callTargetAudienceChecklistEntity);
versionHistoryRequest.setOldData(null);
versionHistoryRequest.setNewData(callTargetAudienceChecklistEntity);
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
versionHistoryRequest.setRequest(request);
loggingUtil.addVersionHistory(versionHistoryRequest);
lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
}
return lookUpDataResponses;
}
// private List<LookUpDataResponse> createCallTargetAudienceCheckList(CallEntity callEntity,
// List<LookUpDataEntity> lookUpDataEntities) {
// List<LookUpDataResponse> lookUpDataResponses = new ArrayList<>();
// for (LookUpDataEntity lookUpDataEntity : lookUpDataEntities) {
// CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity = new CallTargetAudienceChecklistEntity();
// callTargetAudienceChecklistEntity.setIsValidated(false);
// callTargetAudienceChecklistEntity.setLookupData(lookUpDataEntity);
// callTargetAudienceChecklistEntity.setCall(callEntity);
// callTargetAudienceChecklistEntity.setIsDeleted(false);
// callTargetAudienceChecklistEntity = callTargetAudienceChecklistRepository
// .save(callTargetAudienceChecklistEntity);
// versionHistoryRequest.setOldData(null);
// versionHistoryRequest.setNewData(callTargetAudienceChecklistEntity);
// versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
// versionHistoryRequest.setRequest(request);
// loggingUtil.addVersionHistory(versionHistoryRequest);
// lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
// }
// return lookUpDataResponses;
// }
public LookUpDataResponse convertToLookUpDataResponseBean(
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity) {
@@ -604,6 +599,8 @@ public class CallDao {
private void createOrUpdateCallTargetAudienceChecklist(LookUpDataReq lookUpDataReq, CallEntity callEntity,
LookUpDataTypeEnum type) {
CallTargetAudienceChecklistEntity checklistEntity = null;
CallTargetAudienceChecklistEntity oldChecklistEntity = null;
VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT;
LookUpDataEntity lookupDataEntity = lookUpDataService.getOrCreateLookUpDataEntity(lookUpDataReq, type);
if (lookUpDataReq.getId() != null && lookUpDataReq.getId() > 0) {
checklistEntity = callTargetAudienceChecklistRepository.findById(lookUpDataReq.getId())
@@ -613,15 +610,20 @@ public class CallDao {
if (Boolean.FALSE.equals(checklistEntity.getLookupData().getId().equals(lookupDataEntity.getId()))) {
checklistEntity.setLookupData(lookupDataEntity);
}
actionType = VersionActionTypeEnum.UPDATE;
} else {
checklistEntity = new CallTargetAudienceChecklistEntity();
checklistEntity.setCall(callEntity);
checklistEntity.setLookupData(lookupDataEntity);
checklistEntity.setIsValidated(false);
checklistEntity.setIsDeleted(false);
actionType = VersionActionTypeEnum.INSERT;
}
callTargetAudienceChecklistRepository.save(checklistEntity);
checklistEntity = callTargetAudienceChecklistRepository.save(checklistEntity);
/** This code is responsible for adding a version history log for the "create or update aimedTo Checklist" operation **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(actionType).oldData(oldChecklistEntity).newData(checklistEntity).build());
}
private void softDeleteCallTargetAudienceChecklist(

View File

@@ -103,13 +103,14 @@ public class FaqDao {
public FaqEntity createOrUpdateFaqEntity(FaqReq faqReq, CallEntity callEntity, UserEntity userEntity,
LookUpDataTypeEnum type) {
FaqEntity faqEntity = null;
FaqEntity oldFaqData = null;
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
FaqEntity oldFaqEntity = null;
VersionActionTypeEnum actionType = VersionActionTypeEnum.INSERT;
if (isExistingFaq(faqReq)) {
faqEntity = faqRepository.findByIdAndCallIdAndIsDeletedFalse(faqReq.getId(), callEntity.getId())
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
Translator.toLocale(GepafinConstant.FAQ_NOT_FOUND)));
oldFaqData = Utils.getClonedEntityForData(faqEntity);
oldFaqEntity = Utils.getClonedEntityForData(faqEntity);
actionType = VersionActionTypeEnum.UPDATE;
} else {
if (Boolean.FALSE.equals(userEntity.getRoleEntity().getRoleType().equals(RoleStatusEnum.ROLE_BENEFICIARY.getValue()))) {
lookUpDataService.getOrCreateLookUpDataEntity(faqReq, type);
@@ -119,6 +120,7 @@ public class FaqDao {
faqEntity.setUser(userEntity);
faqEntity.setIsVisible(false);
faqEntity.setIsDeleted(false);
actionType = VersionActionTypeEnum.INSERT;
}
if (faqReq.getResponse() != null && (faqEntity.getResponse() == null
|| Boolean.FALSE.equals(faqReq.getResponse().equals(faqEntity.getResponse())))) {
@@ -128,13 +130,11 @@ public class FaqDao {
setIfUpdated(faqEntity::getValue, faqEntity::setValue, faqReq.getValue());
setIfUpdated(faqEntity::getResponse, faqEntity::setResponse, faqReq.getResponse());
setIfUpdated(faqEntity::getIsVisible, faqEntity::setIsVisible, faqReq.getIsVisible());
FaqEntity newFaqData = faqRepository.save(faqEntity);
versionHistoryRequest.setOldData(oldFaqData);
versionHistoryRequest.setNewData(newFaqData);
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
versionHistoryRequest.setRequest(request);
loggingUtil.addVersionHistory(versionHistoryRequest);
return newFaqData;
faqEntity = faqRepository.save(faqEntity);
/** This code is responsible for adding a version history log for the "create or update faq" operation **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(actionType).oldData(oldFaqEntity).newData(faqEntity).build());
return faqEntity;
}
private boolean isExistingFaq(FaqReq faqReq) {

View File

@@ -104,18 +104,15 @@ public class LookUpDataDao {
if (req.getLookUpDataId() == null || req.getLookUpDataId().equals(0L)) {
LookUpDataEntity newEntity = new LookUpDataEntity();
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
newEntity.setTitle(req.getTitle());
newEntity.setValue(req.getValue());
newEntity.setResponse(req.getResponse());
newEntity.setType(type.getValue());
validateLookUpDataEntity(newEntity);
LookUpDataEntity lookUpDataEntity = lookUpDataRepository.save(newEntity);
versionHistoryRequest.setOldData(null);
versionHistoryRequest.setNewData(lookUpDataEntity);
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
versionHistoryRequest.setRequest(request);
loggingUtil.addVersionHistory(versionHistoryRequest);
/** This code is responsible for adding a version history log for the "create or update lookup data" operation **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(lookUpDataEntity).build());
return lookUpDataEntity;
}

View File

@@ -1,12 +1,15 @@
package net.gepafin.tendermanagement.model.request;
import jakarta.servlet.http.HttpServletRequest;
import lombok.Builder;
import lombok.Data;
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
@Data
@Builder
public class UserActionRequest {
private HttpServletRequest request;
private UserActionLogsEnum actionType;
private String actionContext;
private UserActionContextEnum actionContext;
}

View File

@@ -1,17 +1,16 @@
package net.gepafin.tendermanagement.model.request;
import jakarta.servlet.http.HttpServletRequest;
import lombok.Builder;
import lombok.Data;
import net.gepafin.tendermanagement.entities.BaseEntity;
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
@Data
@Builder
public class VersionHistoryRequest {
private BaseEntity oldData;
private BaseEntity newData;
private VersionActionTypeEnum actionType;
private HttpServletRequest request;
private Long userActionId;
private Long recordId;
private String tableName;
}

View File

@@ -55,7 +55,7 @@ public class LoggingUtil {
}
userAction.setActionType(userActionRequest.getActionType().getValue());
userAction.setUserId(userId);
userAction.setActionContext(userActionRequest.getActionContext());
userAction.setActionContext(userActionRequest.getActionContext().getValue());
userAction.setMethodType(userActionRequest.getRequest().getMethod());
userAction.setHubId(userEntity.getHub().getId());
userAction.setUrl(userActionRequest.getRequest().getRequestURI());
@@ -100,7 +100,7 @@ public class LoggingUtil {
// return userAction;
// }
public void logVersionHistory(VersionHistoryRequest versionHistoryRequest) {
public void logVersionHistory(VersionHistoryRequest versionHistoryRequest, Long recordId, Long userActionId, String tableName) {
try {
VersionHistoryEntity history = new VersionHistoryEntity();
String token = tokenProvider.extractTokenFromRequest(versionHistoryRequest.getRequest());
@@ -108,12 +108,12 @@ public class LoggingUtil {
Long userId = claims.get(GepafinConstant.USER_ID, Long.class);
String oldData = Utils.convertEntityToJsonForLogging(versionHistoryRequest.getOldData());
String newData = Utils.convertEntityToJsonForLogging(versionHistoryRequest.getNewData());
history.setUserActionId(versionHistoryRequest.getUserActionId());
history.setUserActionId(userActionId);
history.setActionType(versionHistoryRequest.getActionType().getValue());
history.setOldData(oldData);
history.setNewData(newData);
history.setRecordId(versionHistoryRequest.getRecordId());
history.setTableName(versionHistoryRequest.getTableName());
history.setRecordId(recordId);
history.setTableName(tableName);
history.setUserId(userId);
versionHistoryRepository.save(history);
} catch (Exception e) {
@@ -138,10 +138,7 @@ public class LoggingUtil {
Long userActionId = (Long) versionHistoryRequest.getRequest().getAttribute(GepafinConstant.USER_ACTION_ID);
Long recordId = versionHistoryRequest.getNewData().getId();
String tableName = getTableName(versionHistoryRequest.getNewData().getClass());
versionHistoryRequest.setRecordId(recordId);
versionHistoryRequest.setUserActionId(userActionId);
versionHistoryRequest.setTableName(tableName);
logVersionHistory(versionHistoryRequest);
logVersionHistory(versionHistoryRequest, recordId, userActionId, tableName);
} catch (Exception e) {
log.error("Error adding version history: {}", e.getMessage(), e);
}

View File

@@ -42,25 +42,20 @@ public class CallApiController implements CallApi {
@Autowired
private LoggingUtil loggingUtil;
@Autowired
private UserActionsRepository userActionsRepository;
@Override
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<Response<CallResponse>> createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) {
UserActionRequest userActionRequest = new UserActionRequest();
userActionRequest.setRequest(request);
userActionRequest.setActionType(UserActionLogsEnum.INSERT);
userActionRequest.setActionContext(UserActionContextEnum.CREATE_CALL.getValue());
loggingUtil.logUserAction(userActionRequest);
/** This code is responsible for creating user action logs for the "Create Call" operation. **/
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT)
.actionContext(UserActionContextEnum.CREATE_CALL).actionContext(UserActionContextEnum.CREATE_CALL)
.build());
CallResponse createCallResponseBean = callService.createCallStep1(request, createCallRequest);
return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_CREATED_SUCCESSFULLY_MSG)));
}
@Override
@Transactional(rollbackFor=Exception.class)
public ResponseEntity<Response<CallResponse>> createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) {
CallResponse createCallResponseBean = callService.createCallStep2(request, callId, createCallRequest);
return ResponseEntity.status(HttpStatus.CREATED)
@@ -68,7 +63,6 @@ public class CallApiController implements CallApi {
}
@Override
@Transactional(rollbackFor=Exception.class)
public ResponseEntity<Response<CallResponse>> updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest) {
CallResponse createCallResponseBean = callService.updateCallStep1(request, callId, updateCallRequest);
return ResponseEntity.status(HttpStatus.CREATED)
@@ -83,7 +77,6 @@ public class CallApiController implements CallApi {
}
@Override
@Transactional(readOnly = true)
public ResponseEntity<Response<List<CallDetailsResponseBean>>> getAllCalls(HttpServletRequest request,Long companyId) {
List<CallDetailsResponseBean> calls = callService.getAllCalls(request,companyId);