diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanyInfoService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java similarity index 98% rename from clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanyInfoService.java rename to clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java index ae055a49b..07c867578 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanyInfoService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java @@ -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; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java similarity index 97% rename from clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanyService.java rename to clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java index f53fe0fdc..fc16ae75c 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java @@ -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; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanySymbolService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java similarity index 97% rename from clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanySymbolService.java rename to clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java index 808f78a6e..c62cd502e 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/service/CompanySymbolService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanySymbolService.java @@ -1,4 +1,4 @@ -package ru.spcex.clearing.company.config.service; +package ru.spcex.clearing.company.service; import org.apache.kafka.clients.consumer.Consumer; diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java new file mode 100644 index 000000000..f28ef832f --- /dev/null +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/ContactService.java @@ -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 contactMap; + + @Autowired + public ContactService(Consumer 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 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()); + } +} \ No newline at end of file