Hentua
2023-06-06 09eca02701d369e82b29c08b403688648c1d4bc6
src/main/java/cc/mrbird/febs/rabbit/consumer/AgentConsumer.java
@@ -1,11 +1,19 @@
package cc.mrbird.febs.rabbit.consumer;
import cc.mrbird.febs.mall.service.IAgentService;
import cc.mrbird.febs.mall.service.IApiMallOrderInfoService;
import cc.mrbird.febs.mall.service.IMatrixTreeNodeService;
import cc.mrbird.febs.mall.service.IMemberProfitService;
import cc.mrbird.febs.rabbit.constants.QueueConstants;
import cc.mrbird.febs.rabbit.enumerates.RabbitQueueEnum;
import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
 * @author wzy
@@ -15,8 +23,59 @@
@Component
public class AgentConsumer {
    @RabbitListener(queues = QueueConstants.QUEUE_DEFAULT)
    public void agentReturn(Message message, Channel channel) {
        log.info("消费者:{}", new String(message.getBody()));
    @Autowired
    private IApiMallOrderInfoService orderInfoService;
    @Autowired
    private IAgentService agentService;
    @Autowired
    private IMemberProfitService memberProfitService;
    @Autowired
    private IMatrixTreeNodeService matrixTreeNodeService;
    @RabbitListener(queues = "meye_queue_order_delay")
    public void orderCancelDelay(String id) {
        try {
            orderInfoService.autoCancelOrder(Long.parseLong(id));
        } catch (Exception e) {
            log.error("订单超时支付异常", e);
        }
    }
    @RabbitListener(queues = QueueConstants.AGENT_AUTO_LEVEL_UP)
    public void agentAutoLevelUp(String id) {
        log.info("收到合伙人自动升级消息:{}", id);
        try {
            agentService.autoUpAgentLevel(Long.parseLong(id));
        } catch (Exception e) {
            log.error("合伙人自动升级异常", e);
        }
    }
    @RabbitListener(queues = QueueConstants.ORDER_RETURN_MONEY)
    public void orderReturnMoney(String orderId) {
        log.info("收到订单返利消息:{}", orderId);
        try {
            memberProfitService.directProfit(Long.parseLong(orderId));
        } catch (Exception e) {
            log.error("订单返利异常:", e);
        }
    }
    @RabbitListener(queues = QueueConstants.ORDER_BONUS)
    public void calOrderBonus(String orderId) {
        log.info("收到订单分红消息:{}", orderId);
        try {
            memberProfitService.orderBonus(Long.parseLong(orderId));
        } catch (Exception e) {
            log.error("订单分红消息异常:", e);
        }
    }
    @RabbitListener(queues = QueueConstants.MATRIX_TREE)
    public void matrixTree(Long memberId) {
        log.info("矩阵节点消息:{}", memberId);
        matrixTreeNodeService.addTreeNode(memberId);
    }
}