提交 cf4394fb 作者: xiaowang

充值成功消息订阅

上级 255ff0ae
package com.mmc.iuav.user.mq.constant;
/**
* @author: lw
* @Date: 2023/8/23 11:26
*/
public class RabbitmqConstant {
/**
* 用户充值订单交换机
*/
public final static String USER_TOP_UP_DIRECT_EXCHANGE = "USER_TOP_UP_DIRECT_EXCHANGE";
/**
* 充值订单队列、routing_key
*/
public final static String USER_TOP_UP_DIRECT_QUEUE = "USER_TOP_UP_DIRECT_QUEUE";
public final static String USER_TOP_UP_ROUTING_KEY = "USER_TOP_UP_ROUTING_KEY";
/**
* 充值成功队列、routing_key
*/
public final static String USER_TOP_UP_SUCCESS_QUEUE = "USER_TOP_UP_SUCCESS_QUEUE";
public final static String USER_TOP_UP_SUCCESS_ROUTING_KEY = "USER_TOP_UP_SUCCESS_ROUTING_KEY";
}
package com.mmc.iuav.user.mq.listener;
import com.alibaba.fastjson2.JSONObject;
import com.mmc.iuav.user.model.vo.wallet.TopUpOrderVO;
import com.mmc.iuav.user.mq.constant.RabbitmqConstant;
import com.mmc.iuav.user.service.wallet.PayWalletService;
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.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* @Author LW
* @date 2023/6/29 10:35 概要:
*/
@Slf4j
@Component
public class MqConsumer {
@Resource
PayWalletService payWalletService;
@RabbitListener(queues = RabbitmqConstant.USER_TOP_UP_SUCCESS_QUEUE)
public void subscribeDirectQueue(@Payload String topUpOrder, Channel channel, Message message) {
TopUpOrderVO topUpOrderVO = JSONObject.parseObject(topUpOrder, TopUpOrderVO.class);
log.info("<==========用户充值成功消费开始:订单信息是---->{}==========>", topUpOrderVO);
payWalletService.feignTopUpCash(topUpOrderVO);
log.info("<==========用户充值成功消费结束==========>");
}
}
......@@ -427,6 +427,7 @@ public class PayWalletServiceImpl implements PayWalletService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public ResultBody feignTopUpCash(TopUpOrderVO topUpOrderVO) {
// 获取用户openid查询到用户信息
UserAccountDO userAccountDO = userServiceDao.getUserAccountInfoByOpenId(topUpOrderVO.getOpenid());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论