REQ-3502: fix bugs
This commit is contained in:
parent
0565c17a24
commit
1b00f1d5b9
@ -2,13 +2,11 @@ package cn.axzo.msg.center.message.service.todo.card;
|
|||||||
|
|
||||||
import cn.axzo.framework.rocketmq.Event;
|
import cn.axzo.framework.rocketmq.Event;
|
||||||
import cn.axzo.framework.rocketmq.EventConsumer;
|
import cn.axzo.framework.rocketmq.EventConsumer;
|
||||||
import cn.axzo.framework.rocketmq.EventHandler;
|
|
||||||
import cn.axzo.msg.center.api.mq.CardPresetButtonPressedMessage;
|
import cn.axzo.msg.center.api.mq.CardPresetButtonPressedMessage;
|
||||||
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
||||||
|
import cn.axzo.msg.center.mq.IsolationMQListener;
|
||||||
import cn.axzo.msg.center.service.enums.MqMessageType;
|
import cn.axzo.msg.center.service.enums.MqMessageType;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,24 +14,21 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
public class CardPresetButtonSyncTodoHandler extends IsolationMQListener {
|
||||||
public class CardPresetButtonSyncTodoHandler implements EventHandler, InitializingBean {
|
|
||||||
|
|
||||||
private final EventConsumer eventConsumer;
|
|
||||||
private final TodoSyncCardService todoSyncCardService;
|
private final TodoSyncCardService todoSyncCardService;
|
||||||
|
|
||||||
|
CardPresetButtonSyncTodoHandler(TodoSyncCardService todoSyncCardService) {
|
||||||
|
super(ConsumerIsolation.CARD_PRESET_BUTTON_CLICKED_SYNC_TODO,
|
||||||
|
MqMessageType.CARD_PRESET_BUTTON_PRESSED);
|
||||||
|
this.todoSyncCardService = todoSyncCardService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event, EventConsumer.Context context) {
|
public void onEventImpl(Event event, EventConsumer.Context context) {
|
||||||
if (ConsumerIsolation.getIsolation() != ConsumerIsolation.CARD_PRESET_BUTTON_CLICKED_SYNC_TODO)
|
|
||||||
return;
|
|
||||||
CardPresetButtonPressedMessage message = event.normalizedData(CardPresetButtonPressedMessage.class);
|
CardPresetButtonPressedMessage message = event.normalizedData(CardPresetButtonPressedMessage.class);
|
||||||
log.info("received CardPresetButtonPressedMessage: {}", message);
|
log.info("received CardPresetButtonPressedMessage: {}", message);
|
||||||
todoSyncCardService.syncCardPresetButtonPressed(message);
|
todoSyncCardService.syncCardPresetButtonPressed(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterPropertiesSet() {
|
|
||||||
eventConsumer.registerHandler(MqMessageType.CARD_PRESET_BUTTON_PRESSED.getEventCode(), this);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2,13 +2,11 @@ package cn.axzo.msg.center.message.service.todo.card;
|
|||||||
|
|
||||||
import cn.axzo.framework.rocketmq.Event;
|
import cn.axzo.framework.rocketmq.Event;
|
||||||
import cn.axzo.framework.rocketmq.EventConsumer;
|
import cn.axzo.framework.rocketmq.EventConsumer;
|
||||||
import cn.axzo.framework.rocketmq.EventHandler;
|
|
||||||
import cn.axzo.msg.center.api.mq.PresetButtonPressedMessage;
|
import cn.axzo.msg.center.api.mq.PresetButtonPressedMessage;
|
||||||
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
||||||
|
import cn.axzo.msg.center.mq.IsolationMQListener;
|
||||||
import cn.axzo.msg.center.service.enums.MqMessageType;
|
import cn.axzo.msg.center.service.enums.MqMessageType;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -16,24 +14,21 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
public class TodoPresetButtonSyncCardHandler extends IsolationMQListener {
|
||||||
public class TodoPresetButtonSyncCardHandler implements EventHandler, InitializingBean {
|
|
||||||
|
|
||||||
private final EventConsumer eventConsumer;
|
|
||||||
private final TodoSyncCardService todoSyncCardService;
|
private final TodoSyncCardService todoSyncCardService;
|
||||||
|
|
||||||
|
TodoPresetButtonSyncCardHandler(TodoSyncCardService todoSyncCardService) {
|
||||||
|
super(ConsumerIsolation.TODO_PRESET_BUTTON_CLICKED_SYNC_CARD,
|
||||||
|
MqMessageType.TODO_PRESET_BUTTON_PRESSED);
|
||||||
|
this.todoSyncCardService = todoSyncCardService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event, EventConsumer.Context context) {
|
public void onEventImpl(Event event, EventConsumer.Context context) {
|
||||||
if (ConsumerIsolation.getIsolation() != ConsumerIsolation.TODO_PRESET_BUTTON_CLICKED_SYNC_CARD)
|
|
||||||
return;
|
|
||||||
PresetButtonPressedMessage message = event.normalizedData(PresetButtonPressedMessage.class);
|
PresetButtonPressedMessage message = event.normalizedData(PresetButtonPressedMessage.class);
|
||||||
log.info("received PresetButtonPressedMessage: {}", message);
|
log.info("received PresetButtonPressedMessage: {}", message);
|
||||||
todoSyncCardService.syncTodoPresetButtonPressed(message);
|
todoSyncCardService.syncTodoPresetButtonPressed(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterPropertiesSet() {
|
|
||||||
eventConsumer.registerHandler(MqMessageType.TODO_PRESET_BUTTON_PRESSED.getEventCode(), this);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2,14 +2,12 @@ package cn.axzo.msg.center.message.service.todo.card;
|
|||||||
|
|
||||||
import cn.axzo.framework.rocketmq.Event;
|
import cn.axzo.framework.rocketmq.Event;
|
||||||
import cn.axzo.framework.rocketmq.EventConsumer;
|
import cn.axzo.framework.rocketmq.EventConsumer;
|
||||||
import cn.axzo.framework.rocketmq.EventHandler;
|
|
||||||
import cn.axzo.msg.center.api.mq.TodoUpdateMessage;
|
import cn.axzo.msg.center.api.mq.TodoUpdateMessage;
|
||||||
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
||||||
|
import cn.axzo.msg.center.mq.IsolationMQListener;
|
||||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||||
import cn.axzo.msg.center.service.enums.MqMessageType;
|
import cn.axzo.msg.center.service.enums.MqMessageType;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,14 +15,17 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
class TodoSyncCardBizHandler extends IsolationMQListener {
|
||||||
class TodoSyncCardBizHandler implements EventHandler, InitializingBean {
|
|
||||||
|
|
||||||
private final EventConsumer eventConsumer;
|
|
||||||
private final TodoSyncCardService todoSyncCardService;
|
private final TodoSyncCardService todoSyncCardService;
|
||||||
|
|
||||||
|
TodoSyncCardBizHandler(TodoSyncCardService todoSyncCardService) {
|
||||||
|
super(ConsumerIsolation.TODO_SYNC_CARD_BIZ, MqMessageType.TODO_STATE_UPDATE);
|
||||||
|
this.todoSyncCardService = todoSyncCardService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event, EventConsumer.Context context) {
|
public void onEventImpl(Event event, EventConsumer.Context context) {
|
||||||
TodoUpdateMessage message;
|
TodoUpdateMessage message;
|
||||||
try {
|
try {
|
||||||
message = event.normalizedData(TodoUpdateMessage.class);
|
message = event.normalizedData(TodoUpdateMessage.class);
|
||||||
@ -32,15 +33,8 @@ class TodoSyncCardBizHandler implements EventHandler, InitializingBean {
|
|||||||
log.warn("parse message error. event={}", event, e);
|
log.warn("parse message error. event={}", event, e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ConsumerIsolation.getIsolation() == ConsumerIsolation.TODO_SYNC_CARD_BIZ
|
if (message.getUpdatedTodo().getBizCategory() == BizCategoryEnum.OTHER)
|
||||||
&& message.getUpdatedTodo().getBizCategory() == BizCategoryEnum.OTHER) {
|
|
||||||
todoSyncCardService.onMessage(event, message);
|
todoSyncCardService.onMessage(event, message);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterPropertiesSet() {
|
|
||||||
eventConsumer.registerHandler(MqMessageType.TODO_STATE_UPDATE.getEventCode(), this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2,14 +2,12 @@ package cn.axzo.msg.center.message.service.todo.card;
|
|||||||
|
|
||||||
import cn.axzo.framework.rocketmq.Event;
|
import cn.axzo.framework.rocketmq.Event;
|
||||||
import cn.axzo.framework.rocketmq.EventConsumer;
|
import cn.axzo.framework.rocketmq.EventConsumer;
|
||||||
import cn.axzo.framework.rocketmq.EventHandler;
|
|
||||||
import cn.axzo.msg.center.api.mq.TodoUpdateMessage;
|
import cn.axzo.msg.center.api.mq.TodoUpdateMessage;
|
||||||
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
import cn.axzo.msg.center.mq.ConsumerIsolation;
|
||||||
|
import cn.axzo.msg.center.mq.IsolationMQListener;
|
||||||
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
import cn.axzo.msg.center.service.enums.BizCategoryEnum;
|
||||||
import cn.axzo.msg.center.service.enums.MqMessageType;
|
import cn.axzo.msg.center.service.enums.MqMessageType;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.InitializingBean;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -17,14 +15,17 @@ import org.springframework.stereotype.Component;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@RequiredArgsConstructor
|
class TodoSyncCardFlowHandler extends IsolationMQListener {
|
||||||
class TodoSyncCardFlowHandler implements EventHandler, InitializingBean {
|
|
||||||
|
|
||||||
private final EventConsumer eventConsumer;
|
|
||||||
private final TodoSyncCardService todoSyncCardService;
|
private final TodoSyncCardService todoSyncCardService;
|
||||||
|
|
||||||
|
TodoSyncCardFlowHandler(TodoSyncCardService todoSyncCardService) {
|
||||||
|
super(ConsumerIsolation.TODO_SYNC_CARD_FLOW, MqMessageType.TODO_STATE_UPDATE);
|
||||||
|
this.todoSyncCardService = todoSyncCardService;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event, EventConsumer.Context context) {
|
public void onEventImpl(Event event, EventConsumer.Context context) {
|
||||||
TodoUpdateMessage message;
|
TodoUpdateMessage message;
|
||||||
try {
|
try {
|
||||||
message = event.normalizedData(TodoUpdateMessage.class);
|
message = event.normalizedData(TodoUpdateMessage.class);
|
||||||
@ -32,15 +33,8 @@ class TodoSyncCardFlowHandler implements EventHandler, InitializingBean {
|
|||||||
log.warn("parse message error. event={}", event, e);
|
log.warn("parse message error. event={}", event, e);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (ConsumerIsolation.getIsolation() == ConsumerIsolation.TODO_SYNC_CARD_FLOW
|
if (message.getUpdatedTodo().getBizCategory() == BizCategoryEnum.FLOW)
|
||||||
&& message.getUpdatedTodo().getBizCategory() == BizCategoryEnum.FLOW) {
|
|
||||||
todoSyncCardService.onMessage(event, message);
|
todoSyncCardService.onMessage(event, message);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void afterPropertiesSet() {
|
|
||||||
eventConsumer.registerHandler(MqMessageType.TODO_STATE_UPDATE.getEventCode(), this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
package cn.axzo.msg.center.mq;
|
||||||
|
|
||||||
|
import cn.axzo.framework.rocketmq.BaseListener;
|
||||||
|
import cn.axzo.framework.rocketmq.Event;
|
||||||
|
import cn.axzo.framework.rocketmq.EventConsumer;
|
||||||
|
import cn.axzo.framework.rocketmq.EventHandler;
|
||||||
|
import cn.axzo.msg.center.service.enums.MqMessageType;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.rocketmq.common.message.MessageExt;
|
||||||
|
import org.apache.rocketmq.spring.core.RocketMQListener;
|
||||||
|
import org.springframework.beans.factory.InitializingBean;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yanglin
|
||||||
|
*/
|
||||||
|
public abstract class IsolationMQListener extends BaseListener
|
||||||
|
implements RocketMQListener<MessageExt>, EventHandler, InitializingBean {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EventConsumer eventConsumer;
|
||||||
|
private final ConsumerIsolation isolation;
|
||||||
|
private final Event.EventCode eventCode;
|
||||||
|
|
||||||
|
protected IsolationMQListener(ConsumerIsolation isolation, MqMessageType mqMessageType) {
|
||||||
|
this(isolation, mqMessageType.getEventCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected IsolationMQListener(ConsumerIsolation isolation, Event.EventCode eventCode) {
|
||||||
|
this.isolation = isolation;
|
||||||
|
this.eventCode = eventCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMessage(MessageExt message) {
|
||||||
|
ConsumerIsolation.setIsolation(isolation);
|
||||||
|
try {
|
||||||
|
super.onEvent(message, eventConsumer);
|
||||||
|
} finally {
|
||||||
|
ConsumerIsolation.clearIsolation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void onEvent(Event event, EventConsumer.Context context) {
|
||||||
|
if (ConsumerIsolation.getIsolation() == isolation)
|
||||||
|
onEventImpl(event, context);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterPropertiesSet() {
|
||||||
|
eventConsumer.registerHandler(eventCode, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void onEventImpl(Event event, EventConsumer.Context context);
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user