This commit is contained in:
parent
95cb6c0eff
commit
b6e53e7dba
3 changed files with 93 additions and 0 deletions
|
|
@ -0,0 +1,56 @@
|
||||||
|
package ru.spcex.clearing.utility.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 org.springframework.stereotype.Service;
|
||||||
|
import ru.clearing.classes.statics.data.user.UserSettings;
|
||||||
|
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.utilities.UserSettingsUpdateRequest;
|
||||||
|
import ru.spcex.clearing.platform.messaging.service.QueueConsumer;
|
||||||
|
import ru.spcex.platform.imdg.api.Imdg;
|
||||||
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class UserSettingService extends QueueConsumer implements InitializingBean {
|
||||||
|
private final Logger log = LoggerFactory.getLogger(getClass());
|
||||||
|
private final Imdg<UserSettings> userSettingsMap;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public UserSettingService(Consumer<String, Object> kafkaQueue, ImdgProvider imdgProvider) {
|
||||||
|
super(kafkaQueue);
|
||||||
|
this.userSettingsMap = imdgProvider.getImdg(IMDGDistributedNames.Map_UserSettings, UserSettings.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterPropertiesSet() {
|
||||||
|
callback(UserSettingsUpdateRequest.class)
|
||||||
|
.setConsumer(this::updateUserSettings)
|
||||||
|
.forDestination(Consts.USER_SETTINGS_UPDATE, callbacks::put);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateUserSettings(BaseRequest<UserSettingsUpdateRequest> userRequest) {
|
||||||
|
UserSettingsUpdateRequest req = userRequest.getRequestPayload();
|
||||||
|
log.debug("UserSettingsUpdateRequest received userId = {}", req.getUserId());
|
||||||
|
UserSettings settings = userSettingsMap.getSingleObjectByFieldValues(Map.of("userId", req.getUserId()));
|
||||||
|
if (settings != null) {
|
||||||
|
log.debug("found user settings for userId={}, id={}", req.getUserId(), settings.getId());
|
||||||
|
settings.setVersion(req.getVersion());
|
||||||
|
settings.setJson(req.getJson());
|
||||||
|
userSettingsMap.update(settings);
|
||||||
|
} else {
|
||||||
|
settings = new UserSettings();
|
||||||
|
settings.setUserId(req.getUserId());
|
||||||
|
settings.setVersion(req.getVersion());
|
||||||
|
settings.setJson(req.getJson());
|
||||||
|
userSettingsMap.insert(settings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -25,6 +25,7 @@ public interface Consts {
|
||||||
|
|
||||||
String USER_AUTH_SUCCESS = "user-auth-success";
|
String USER_AUTH_SUCCESS = "user-auth-success";
|
||||||
String USER_LOGOUT_SUCCESS = "user-logout-success";
|
String USER_LOGOUT_SUCCESS = "user-logout-success";
|
||||||
|
String USER_SETTINGS_UPDATE = "user-settings-update";
|
||||||
|
|
||||||
//todo
|
//todo
|
||||||
String STATEMENT_PROCESS = "statement-process";
|
String STATEMENT_PROCESS = "statement-process";
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package ru.spcex.clearing.platform.messaging.domain.cud.utilities;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
|
public class UserSettingsUpdateRequest {
|
||||||
|
@JsonProperty
|
||||||
|
public Long userId;
|
||||||
|
@JsonProperty
|
||||||
|
public String version;
|
||||||
|
@JsonProperty
|
||||||
|
public String json;
|
||||||
|
|
||||||
|
public Long getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserId(Long userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getJson() {
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJson(String json) {
|
||||||
|
this.json = json;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue