package cn.lili.event.impl; import cn.lili.event.OrderStatusChangeEvent; import cn.lili.event.TradeEvent; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.order.entity.dto.OrderMessage; import cn.lili.modules.order.order.entity.vo.OrderVO; import cn.lili.modules.wechat.util.WechatMessageUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * 微信消息执行器 * * @author Chopper * @version v1.0 * 2021-04-19 14:25 */ @Slf4j @Service public class WechatMessageExecute implements OrderStatusChangeEvent, TradeEvent { @Autowired private WechatMessageUtil wechatMessageUtil; @Override public void orderCreate(TradeDTO tradeDTO) { for (OrderVO orderVO : tradeDTO.getOrderVO()) { try { wechatMessageUtil.sendWechatMessage(orderVO.getSn()); } catch (Exception e) { log.error("微信消息发送失败:" + orderVO.getSn(), e); } } } @Override public void orderChange(OrderMessage orderMessage) { switch (orderMessage.getNewStatus()) { case UNDELIVERED: case DELIVERED: case STAY_PICKED_UP: case COMPLETED: try { wechatMessageUtil.sendWechatMessage(orderMessage.getOrderSn()); } catch (Exception e) { log.error("微信消息发送失败", e); } break; default: break; } } }