---
company_services: реализовал изменение контактов (contact)
This commit is contained in:
aalehin 2022-09-01 15:30:44 +03:00
parent 6773871d26
commit c23e605fa5
4 changed files with 48 additions and 3 deletions

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.company.config.service;
package ru.spcex.clearing.company.service;
import org.apache.kafka.clients.consumer.Consumer;
import org.slf4j.Logger;

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.company.config.service;
package ru.spcex.clearing.company.service;
import org.apache.kafka.clients.consumer.Consumer;
import org.slf4j.Logger;

View file

@ -1,4 +1,4 @@
package ru.spcex.clearing.company.config.service;
package ru.spcex.clearing.company.service;
import org.apache.kafka.clients.consumer.Consumer;

View file

@ -0,0 +1,45 @@
package ru.spcex.clearing.company.service;
import org.apache.kafka.clients.consumer.Consumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import ru.clearing.classes.statics.data.profile.Contact;
import ru.spcex.clearing.imdg.IMDGDistributedNames;
import ru.spcex.clearing.platform.messaging.domain.BaseRequest;
import ru.spcex.clearing.platform.messaging.domain.Consts;
import ru.spcex.clearing.platform.messaging.domain.cud.company.ContactUpdateRequest;
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
import ru.spcex.platform.imdg.api.Imdg;
import ru.spcex.platform.imdg.api.ImdgProvider;
public class ContactService extends QueueConsumer implements InitializingBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final Imdg<Contact> contactMap;
@Autowired
public ContactService(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider) {
super(kafkaQueue);
this.contactMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Contact, Contact.class);
}
@Override
public void afterPropertiesSet() {
callback(ContactUpdateRequest.class)
.setConsumer(this::contactUpdate)
.forDestination(Consts.DESTINATION_CONTACT_UPDATE, callbacks::put);
init();
}
public void contactUpdate(BaseRequest<ContactUpdateRequest> userRequest) {
ContactUpdateRequest req = userRequest.getRequestPayload();
log.debug("CompanySymbolUpdateRequest received");
Contact contact = contactMap.getSingleObjectByID(req.getId());
contact.setContactType(req.getContactType());
contact.setContactValue(req.getContactValue());
contactMap.update(contact);
log.debug("successfully processed, id {}", contact.getId());
}
}