package cn.lili.trigger.executor; import cn.hutool.json.JSONUtil; import cn.lili.modules.order.order.service.OrderService; import cn.lili.modules.promotion.entity.dos.Pintuan; import cn.lili.modules.promotion.service.PintuanService; import cn.lili.trigger.TimeTriggerExecutor; import cn.lili.trigger.message.PintuanOrderMessage; import cn.lili.trigger.model.TimeExecuteConstant; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 促销事件触发 * * @author Chopper * @version v4.1 * @since 2020/11/17 7:20 下午 */ @Slf4j @Component(TimeExecuteConstant.PROMOTION_EXECUTOR) public class PromotionTimeTriggerExecutor implements TimeTriggerExecutor { /** * 订单 */ @Autowired private OrderService orderService; @Autowired private PintuanService pintuanService; @Override public void execute(Object object) { //拼团订单消息 PintuanOrderMessage pintuanOrderMessage = JSONUtil.toBean(JSONUtil.parseObj(object), PintuanOrderMessage.class); if (pintuanOrderMessage != null && pintuanOrderMessage.getPintuanId() != null) { log.info("拼团订单信息消费:{}", pintuanOrderMessage); //拼团订单自动处理 orderService.agglomeratePintuanOrder(pintuanOrderMessage.getPintuanId(), pintuanOrderMessage.getOrderSn()); } Pintuan pintuan = pintuanService.getById(pintuanOrderMessage.getPintuanId()); if (pintuan != null && pintuan.getId() != null) { this.orderService.checkFictitiousOrder(pintuan.getId(), pintuan.getRequiredNum(), pintuan.getFictitious()); } } }