|
|
package com.yohoufo.order.service.impl.visitor;
|
|
|
|
|
|
import com.google.common.eventbus.Subscribe;
|
|
|
import com.yohoufo.common.alarm.Event;
|
|
|
import com.yohoufo.common.alarm.IEventHandler;
|
|
|
import com.yohoufo.order.common.CancelType;
|
|
|
import com.yohoufo.order.common.TabType;
|
|
|
import com.yohoufo.order.event.ErpCancelSellerOrderEvent;
|
|
|
import com.yohoufo.order.event.OrderCancelEvent;
|
|
|
import com.yohoufo.order.service.impl.SellerOrderCancelService;
|
|
|
import org.slf4j.Logger;
|
...
|
...
|
@@ -19,7 +17,7 @@ import java.util.Objects; |
|
|
* Created by chenchao on 2018/9/17.
|
|
|
*/
|
|
|
@Service
|
|
|
public class SellerOrderCancelHandler implements IEventHandler<Event> {
|
|
|
public class SellerOrderCancelHandler implements IEventHandler<OrderCancelEvent> {
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
@Autowired
|
...
|
...
|
@@ -28,38 +26,26 @@ public class SellerOrderCancelHandler implements IEventHandler<Event> { |
|
|
|
|
|
@Override
|
|
|
@Subscribe
|
|
|
public void handle(Event event) {
|
|
|
public void handle(OrderCancelEvent event) {
|
|
|
logger.info("in SellerOrderCancelHandler.handle, event {}", event);
|
|
|
if (Objects.isNull(event)){
|
|
|
return;
|
|
|
}
|
|
|
OrderCancelEvent orderCancelEvent;
|
|
|
if (event instanceof OrderCancelEvent){
|
|
|
orderCancelEvent = (OrderCancelEvent)event;
|
|
|
logger.info("in SellerOrderCancelHandler.handle, orderCancelEvent {}", event);
|
|
|
TabType actorType = orderCancelEvent.getActorType();
|
|
|
CancelType cancelType = orderCancelEvent.getCancelType();
|
|
|
if (Objects.isNull(actorType) || Objects.isNull(cancelType)){
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (actorType.equals(TabType.SELL)){
|
|
|
switch (cancelType){
|
|
|
|
|
|
|
|
|
case TIME_OUT:
|
|
|
AutoCancelCase autoCancelCase = new AutoCancelCase(orderCancelEvent);
|
|
|
autoCancelCase.accept(sellerOrderCancelService);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
final OrderCancelEvent orderCancelEvent = event;
|
|
|
logger.info("in SellerOrderCancelHandler.handle, orderCancelEvent {}", event);
|
|
|
TabType actorType = orderCancelEvent.getActorType();
|
|
|
CancelType cancelType = orderCancelEvent.getCancelType();
|
|
|
if (Objects.isNull(actorType) || Objects.isNull(cancelType)){
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (event instanceof ErpCancelSellerOrderEvent){
|
|
|
ErpCancelSellerOrderEvent erpCancelSellerOrderEvent = (ErpCancelSellerOrderEvent)event;
|
|
|
OffShelveCancelCase offShelveCancelCase = new OffShelveCancelCase(erpCancelSellerOrderEvent);
|
|
|
offShelveCancelCase.accept(sellerOrderCancelService);
|
|
|
if (actorType.equals(TabType.SELL)){
|
|
|
switch (cancelType){
|
|
|
case TIME_OUT:
|
|
|
AutoCancelCase autoCancelCase = new AutoCancelCase(orderCancelEvent);
|
|
|
autoCancelCase.accept(sellerOrderCancelService);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
...
|
...
|
|