继承ApplicationEvent写event类
package com.nmrbt.oms.event;
import com.nmrbt.pojo.domain.UserProgress;
import org.springframework.context.ApplicationEvent;
public class OverOrderEvent extends ApplicationEvent {
public OverOrderEvent(UserProgress user) {
super(user);
}
}
增加监听
package com.nmrbt.oms.listener;
import com.nmrbt.feign.client.uc.TreeWaterClient;
import com.nmrbt.oms.event.OverOrderEvent;
import com.nmrbt.pojo.domain.UserProgress;
import com.nmrbt.pojo.request.oms.TreeWaterRequest;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;
@Log4j2
@Component
public class TreeWaterListener implements ApplicationListener<OverOrderEvent> {
@Autowired
private TreeWaterClient treeWaterClient;
@Override
public void onApplicationEvent(OverOrderEvent overOrderEvent) {
UserProgress userProgress = (UserProgress)overOrderEvent.getSource();
TreeWaterRequest request = new TreeWaterRequest(
userProgress.getOrderNo(),
userProgress.getSinglePayAmount().intValue(),
userProgress.getUserId());
try {
treeWaterClient.treeWater(request);
}catch (Exception e){
log.info(e.getMessage(),e);
}
}
}
使用
@Autowired
private ApplicationContext context;
context.publishEvent(overOrderEvent);