Changes in company json field

This commit is contained in:
nisha
2024-12-19 14:56:57 +05:30
parent 4eeee4be16
commit a30637ddaa
4 changed files with 93 additions and 59 deletions

View File

@@ -67,7 +67,7 @@ public class CompanyDao {
if (existingCompany != null) { if (existingCompany != null) {
UserWithCompanyEntity existingRelation = userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userEntity.getId(), existingCompany.getId()).orElse(null); UserWithCompanyEntity existingRelation = userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userEntity.getId(), existingCompany.getId()).orElse(null);
if (existingRelation == null) { if (existingRelation == null) {
userWithCompanyEntity = createUserWithCompanyRelation(userEntity, existingCompany, companyRequest.getIsLegalRepresentant()); userWithCompanyEntity = createUserWithCompanyRelation(userEntity, existingCompany, companyRequest.getIsLegalRepresentant(),companyRequest.getVatCheckResponse());
/** This code is responsible for adding a version history log for "adding user with company" operation. **/ /** This code is responsible for adding a version history log for "adding user with company" operation. **/
loggingUtil.addVersionHistory( loggingUtil.addVersionHistory(
@@ -79,14 +79,12 @@ public class CompanyDao {
} else { } else {
validateCompany(userEntity, companyRequest); validateCompany(userEntity, companyRequest);
CompanyEntity companyEntity = convertCompanyRequestToCompanyEntity(userEntity, companyRequest); CompanyEntity companyEntity = convertCompanyRequestToCompanyEntity(userEntity, companyRequest);
companyEntity.setJson(Utils.convertMapIntoJsonString(companyRequest.getVatCheckResponse()) );
CompanyEntity companyData = companyRepository.save(companyEntity); CompanyEntity companyData = companyRepository.save(companyEntity);
/** This code is responsible for adding a version history log for "creating company" operation. **/ /** This code is responsible for adding a version history log for "creating company" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(companyData).build()); loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(companyData).build());
userWithCompanyEntity = createUserWithCompanyRelation(userEntity, companyEntity, companyRequest.getIsLegalRepresentant()); userWithCompanyEntity = createUserWithCompanyRelation(userEntity, companyEntity, companyRequest.getIsLegalRepresentant(),companyRequest.getVatCheckResponse());
return convertCompanyEntityToCompanyResponse(companyEntity, userWithCompanyEntity); return convertCompanyEntityToCompanyResponse(companyEntity, userWithCompanyEntity);
} }
@@ -110,7 +108,7 @@ public class CompanyDao {
} }
} }
private UserWithCompanyEntity createUserWithCompanyRelation(UserEntity userEntity, CompanyEntity companyEntity, Boolean isLegalRepresentant) { private UserWithCompanyEntity createUserWithCompanyRelation(UserEntity userEntity, CompanyEntity companyEntity, Boolean isLegalRepresentant,Map<String, Object> vatCheckResponse) {
UserWithCompanyEntity userWithCompanyEntity = new UserWithCompanyEntity(); UserWithCompanyEntity userWithCompanyEntity = new UserWithCompanyEntity();
if (userEntity.getBeneficiary() != null) { if (userEntity.getBeneficiary() != null) {
@@ -120,6 +118,11 @@ public class CompanyDao {
userWithCompanyEntity.setCompanyId(companyEntity.getId()); userWithCompanyEntity.setCompanyId(companyEntity.getId());
userWithCompanyEntity.setUserId(userEntity.getId()); userWithCompanyEntity.setUserId(userEntity.getId());
userWithCompanyEntity.setIsLegalRepresentant(isLegalRepresentant); userWithCompanyEntity.setIsLegalRepresentant(isLegalRepresentant);
userWithCompanyEntity.setEmail(companyEntity.getEmail());
userWithCompanyEntity.setPec(companyEntity.getPec());
userWithCompanyEntity.setContactName(companyEntity.getContactName());
userWithCompanyEntity.setContactEmail(companyEntity.getContactEmail());
userWithCompanyEntity.setJson(Utils.convertMapIntoJsonString(vatCheckResponse) );
UserWithCompanyEntity userWithCompany = userWithCompanyRepository.save(userWithCompanyEntity); UserWithCompanyEntity userWithCompany = userWithCompanyRepository.save(userWithCompanyEntity);
/** This code is responsible for adding a version history log for the "adding user with company" operation. **/ /** This code is responsible for adding a version history log for the "adding user with company" operation. **/
@@ -201,8 +204,6 @@ public class CompanyDao {
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.VATNUMBER_ALREADY_EXISTS)); throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.VATNUMBER_ALREADY_EXISTS));
} }
companyEntity.setVatNumber(companyRequest.getVatNumber()); companyEntity.setVatNumber(companyRequest.getVatNumber());
String responseJson = companyRequest.getVatCheckResponse() != null ? Utils.convertMapIntoJsonString(companyRequest.getVatCheckResponse()) : null;
setIfUpdated(companyEntity::getJson, companyEntity::setJson, responseJson);
} }
companyRepository.save(companyEntity); companyRepository.save(companyEntity);
@@ -214,8 +215,15 @@ public class CompanyDao {
UserWithCompanyEntity userWithCompanyEntity = getUserWithCompany(userEntity.getId(), companyId); UserWithCompanyEntity userWithCompanyEntity = getUserWithCompany(userEntity.getId(), companyId);
//cloned entity for old data //cloned entity for old data
UserWithCompanyEntity oldUserWithCompanyData = Utils.getClonedEntityForData(userWithCompanyEntity); UserWithCompanyEntity oldUserWithCompanyData = Utils.getClonedEntityForData(userWithCompanyEntity);
if(StringUtils.isNotBlank(companyRequest.getVatNumber())) {
Utils.setIfUpdated(userWithCompanyEntity::getIsLegalRepresentant, userWithCompanyEntity::setIsLegalRepresentant, companyRequest.getIsLegalRepresentant()); String responseJson = companyRequest.getVatCheckResponse() != null ? Utils.convertMapIntoJsonString(companyRequest.getVatCheckResponse()) : null;
setIfUpdated(userWithCompanyEntity::getJson, userWithCompanyEntity::setJson, responseJson);
}
setIfUpdated(userWithCompanyEntity::getPec, userWithCompanyEntity::setPec, userWithCompanyEntity.getPec());
setIfUpdated(userWithCompanyEntity::getEmail, userWithCompanyEntity::setEmail, userWithCompanyEntity.getEmail());
setIfUpdated(userWithCompanyEntity::getContactName, userWithCompanyEntity::setContactName, companyRequest.getContactName());
setIfUpdated(userWithCompanyEntity::getContactEmail, userWithCompanyEntity::setContactEmail, companyRequest.getContactEmail());
setIfUpdated(userWithCompanyEntity::getIsLegalRepresentant, userWithCompanyEntity::setIsLegalRepresentant, companyRequest.getIsLegalRepresentant());
userWithCompanyEntity = userWithCompanyRepository.save(userWithCompanyEntity); userWithCompanyEntity = userWithCompanyRepository.save(userWithCompanyEntity);
/** This code is responsible for adding a version history log for the "Update company" operation. **/ /** This code is responsible for adding a version history log for the "Update company" operation. **/
@@ -267,7 +275,7 @@ public class CompanyDao {
return userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userId, companyId).orElseThrow(() -> new ForbiddenAccessException(Status.FORBIDDEN, return userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userId, companyId).orElseThrow(() -> new ForbiddenAccessException(Status.FORBIDDEN,
Translator.toLocale(GepafinConstant.PERMISSION_DENIED))); Translator.toLocale(GepafinConstant.PERMISSION_DENIED)));
} }
public UserWithCompanyEntity getUserWithCompany(Long userId, Long compnayId) { public UserWithCompanyEntity getUserWithCompany(Long userId, Long compnayId) {
return userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userId, compnayId).orElseThrow( return userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userId, compnayId).orElseThrow(
() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_COMPANY_RELATION_NOT_FOUND))); () -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_COMPANY_RELATION_NOT_FOUND)));
@@ -290,39 +298,59 @@ public class CompanyDao {
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.CANNOT_DELETE_COMPANY_WITH_APPLICATION_SUBMITT)); throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.CANNOT_DELETE_COMPANY_WITH_APPLICATION_SUBMITT));
} }
for(ApplicationEntity application:userApplications){ userApplications = userApplications.stream()
ApplicationEntity oldApplication = Utils.getClonedEntityForData(application); .peek(application -> {
application.setIsDeleted(Boolean.TRUE); ApplicationEntity oldApplication = Utils.getClonedEntityForData(application);
application.setIsDeleted(Boolean.TRUE);
/** This code is responsible for adding a version history log for the "Soft delete application" operation. **/ /** This code is responsible for adding a version history log for the "Soft delete Faq" operation. **/
loggingUtil.addVersionHistory( loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldApplication).newData(application).build()); VersionHistoryRequest.builder()
.request(request)
} .actionType(VersionActionTypeEnum.SOFT_DELETE)
.oldData(oldApplication)
.newData(application)
.build()
);
})
.toList();
applicationRepository.saveAll(userApplications); applicationRepository.saveAll(userApplications);
for(FaqEntity faq:faqs){ faqs = faqs.stream()
FaqEntity oldFaq = Utils.getClonedEntityForData(faq); .peek(faq -> {
faq.setIsDeleted(Boolean.TRUE); FaqEntity oldFaq = Utils.getClonedEntityForData(faq);
faq.setIsDeleted(Boolean.TRUE);
/** This code is responsible for adding a version history log for the "Soft delete Faq" operation. **/ /** This code is responsible for adding a version history log for the "Soft delete Faq" operation. **/
loggingUtil.addVersionHistory( loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldFaq).newData(faq).build()); VersionHistoryRequest.builder()
} .request(request)
.actionType(VersionActionTypeEnum.SOFT_DELETE)
.oldData(oldFaq)
.newData(faq)
.build()
);
})
.toList();
faqRepository.saveAll(faqs); faqRepository.saveAll(faqs);
for(BeneficiaryPreferredCallEntity beneficiaryPreferredCall:preferredCallEntities){ preferredCallEntities = preferredCallEntities.stream()
BeneficiaryPreferredCallEntity oldPreferredCall = Utils.getClonedEntityForData(beneficiaryPreferredCall); .peek(beneficiaryPreferredCall -> {
beneficiaryPreferredCall.setIsDeleted(Boolean.TRUE); BeneficiaryPreferredCallEntity oldPreferredCall = Utils.getClonedEntityForData(beneficiaryPreferredCall);
beneficiaryPreferredCall.setIsDeleted(Boolean.TRUE);
/** This code is responsible for adding a version history log for the "Soft Delete BeneficiaryPreferredCall" operation. **/ /** This code is responsible for adding a version history log for the "Soft Delete BeneficiaryPreferredCall" operation. **/
loggingUtil.addVersionHistory( loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldPreferredCall).newData(beneficiaryPreferredCall).build()); VersionHistoryRequest.builder()
.request(request)
} .actionType(VersionActionTypeEnum.SOFT_DELETE)
.oldData(oldPreferredCall)
.newData(beneficiaryPreferredCall)
.build()
);
})
.toList();
beneficiaryPreferredCallRepository.saveAll(preferredCallEntities); beneficiaryPreferredCallRepository.saveAll(preferredCallEntities);
if(userCompanyDelegationEntity!=null){ if(userCompanyDelegationEntity!=null){
UserCompanyDelegationEntity oldUserWithCompanyDelegation = Utils.getClonedEntityForData(userCompanyDelegationEntity); UserCompanyDelegationEntity oldUserWithCompanyDelegation = Utils.getClonedEntityForData(userCompanyDelegationEntity);
userCompanyDelegationEntity.setStatus( UserCompanyDelegationStatusEnum.INACTIVE.getValue()); userCompanyDelegationEntity.setStatus( UserCompanyDelegationStatusEnum.INACTIVE.getValue());
userCompanyDelegationRepository.save(userCompanyDelegationEntity); userCompanyDelegationRepository.save(userCompanyDelegationEntity);

View File

@@ -41,29 +41,15 @@ public class CompanyEntity extends BaseEntity{
@Column(name = "COUNTRY") @Column(name = "COUNTRY")
private String country; private String country;
@Column(name = "PEC")
private String pec;
@Column(name = "EMAIL")
private String email;
@Column(name = "NUMBER_OF_EMPLOYEES") @Column(name = "NUMBER_OF_EMPLOYEES")
private String numberOfEmployees; private String numberOfEmployees;
@Column(name = "ANNUAL_REVENUE") @Column(name = "ANNUAL_REVENUE")
private BigDecimal annualRevenue; private BigDecimal annualRevenue;
@Column(name = "CONTACT_NAME")
private String contactName;
@Column(name = "CONTACT_EMAIL")
private String contactEmail;
@ManyToOne @ManyToOne
@JoinColumn(name = "HUB_ID") @JoinColumn(name = "HUB_ID")
private HubEntity hub; private HubEntity hub;
@Column(name = "JSON")
private String json;
} }

View File

@@ -22,6 +22,22 @@ public class UserWithCompanyEntity extends BaseEntity{
@Column(name = "IS_LEGAL_REPRESENTANT") @Column(name = "IS_LEGAL_REPRESENTANT")
private Boolean isLegalRepresentant; private Boolean isLegalRepresentant;
@Column(name = "CONTACT_NAME")
private String contactName;
@Column(name = "CONTACT_EMAIL")
private String contactEmail;
@Column(name = "PEC")
private String pec;
@Column(name = "EMAIL")
private String email;
@Column(name = "JSON")
private String json;
@Column(name = "IS_DELETED") @Column(name = "IS_DELETED")
private Boolean isDeleted = false; private Boolean isDeleted = false;

View File

@@ -1961,13 +1961,6 @@
</column> </column>
</addColumn> </addColumn>
</changeSet> </changeSet>
<changeSet id="04-12-2024_2" author="Nisha Kashyap">
<addColumn tableName="company">
<column name="JSON" type="TEXT">
</column>
</addColumn>
</changeSet>
<changeSet id="03-12-2024_1" author="Piyush"> <changeSet id="03-12-2024_1" author="Piyush">
<sqlFile dbms="postgresql" <sqlFile dbms="postgresql"
path="db/dump/update_system_email_template_for_updating_amendment_mail_notification_mail_03_12_2024_1.sql"/> path="db/dump/update_system_email_template_for_updating_amendment_mail_notification_mail_03_12_2024_1.sql"/>
@@ -1977,6 +1970,17 @@
<sqlFile dbms="postgresql" <sqlFile dbms="postgresql"
path="db/dump/update_system_email_template_for_updating_amendment_mail_notification_mail_04_12_2024_1.sql"/> path="db/dump/update_system_email_template_for_updating_amendment_mail_notification_mail_04_12_2024_1.sql"/>
</changeSet> </changeSet>
<changeSet id="19-12-2024_1" author="Nisha Kashyap">
<addColumn tableName="USER_WITH_COMPANY">
<column name="contact_name" type="VARCHAR(255)"/>
<column name="contact_email" type="VARCHAR(255)"/>
<column name="PEC" type="VARCHAR(255)"/>
<column name="EMAIL" type="VARCHAR(255)"/>
<column name="JSON" type="TEXT"/>
</addColumn>
<dropColumn tableName="COMPANY" columnName="contact_name"/>
<dropColumn tableName="COMPANY" columnName="contact_email"/>
<dropColumn tableName="COMPANY" columnName="PEC"/>
<dropColumn tableName="COMPANY" columnName="EMAIL"/>
</changeSet>
</databaseChangeLog> </databaseChangeLog>