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) {
UserWithCompanyEntity existingRelation = userWithCompanyRepository.findByUserIdAndCompanyIdAndIsDeletedFalse(userEntity.getId(), existingCompany.getId()).orElse(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. **/
loggingUtil.addVersionHistory(
@@ -79,14 +79,12 @@ public class CompanyDao {
} else {
validateCompany(userEntity, companyRequest);
CompanyEntity companyEntity = convertCompanyRequestToCompanyEntity(userEntity, companyRequest);
companyEntity.setJson(Utils.convertMapIntoJsonString(companyRequest.getVatCheckResponse()) );
CompanyEntity companyData = companyRepository.save(companyEntity);
/** 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());
userWithCompanyEntity = createUserWithCompanyRelation(userEntity, companyEntity, companyRequest.getIsLegalRepresentant());
userWithCompanyEntity = createUserWithCompanyRelation(userEntity, companyEntity, companyRequest.getIsLegalRepresentant(),companyRequest.getVatCheckResponse());
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();
if (userEntity.getBeneficiary() != null) {
@@ -120,6 +118,11 @@ public class CompanyDao {
userWithCompanyEntity.setCompanyId(companyEntity.getId());
userWithCompanyEntity.setUserId(userEntity.getId());
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);
/** 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));
}
companyEntity.setVatNumber(companyRequest.getVatNumber());
String responseJson = companyRequest.getVatCheckResponse() != null ? Utils.convertMapIntoJsonString(companyRequest.getVatCheckResponse()) : null;
setIfUpdated(companyEntity::getJson, companyEntity::setJson, responseJson);
}
companyRepository.save(companyEntity);
@@ -214,8 +215,15 @@ public class CompanyDao {
UserWithCompanyEntity userWithCompanyEntity = getUserWithCompany(userEntity.getId(), companyId);
//cloned entity for old data
UserWithCompanyEntity oldUserWithCompanyData = Utils.getClonedEntityForData(userWithCompanyEntity);
Utils.setIfUpdated(userWithCompanyEntity::getIsLegalRepresentant, userWithCompanyEntity::setIsLegalRepresentant, companyRequest.getIsLegalRepresentant());
if(StringUtils.isNotBlank(companyRequest.getVatNumber())) {
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);
/** This code is responsible for adding a version history log for the "Update company" operation. **/
@@ -290,36 +298,56 @@ public class CompanyDao {
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.CANNOT_DELETE_COMPANY_WITH_APPLICATION_SUBMITT));
}
for(ApplicationEntity application:userApplications){
userApplications = userApplications.stream()
.peek(application -> {
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. **/
loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldApplication).newData(application).build());
}
applicationRepository.saveAll(userApplications);
for(FaqEntity faq:faqs){
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. **/
loggingUtil.addVersionHistory(
VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldFaq).newData(faq).build());
}
VersionHistoryRequest.builder()
.request(request)
.actionType(VersionActionTypeEnum.SOFT_DELETE)
.oldData(oldApplication)
.newData(application)
.build()
);
})
.toList();
applicationRepository.saveAll(userApplications);
faqs = faqs.stream()
.peek(faq -> {
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. **/
loggingUtil.addVersionHistory(
VersionHistoryRequest.builder()
.request(request)
.actionType(VersionActionTypeEnum.SOFT_DELETE)
.oldData(oldFaq)
.newData(faq)
.build()
);
})
.toList();
faqRepository.saveAll(faqs);
for(BeneficiaryPreferredCallEntity beneficiaryPreferredCall:preferredCallEntities){
preferredCallEntities = preferredCallEntities.stream()
.peek(beneficiaryPreferredCall -> {
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. **/
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);
if(userCompanyDelegationEntity!=null){

View File

@@ -41,29 +41,15 @@ public class CompanyEntity extends BaseEntity{
@Column(name = "COUNTRY")
private String country;
@Column(name = "PEC")
private String pec;
@Column(name = "EMAIL")
private String email;
@Column(name = "NUMBER_OF_EMPLOYEES")
private String numberOfEmployees;
@Column(name = "ANNUAL_REVENUE")
private BigDecimal annualRevenue;
@Column(name = "CONTACT_NAME")
private String contactName;
@Column(name = "CONTACT_EMAIL")
private String contactEmail;
@ManyToOne
@JoinColumn(name = "HUB_ID")
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")
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")
private Boolean isDeleted = false;

View File

@@ -1961,13 +1961,6 @@
</column>
</addColumn>
</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">
<sqlFile dbms="postgresql"
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"
path="db/dump/update_system_email_template_for_updating_amendment_mail_notification_mail_04_12_2024_1.sql"/>
</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>