1 Star 0 Fork 0

柳谦 / test-ljs-starter

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

#1688订单)生产者 rocketmq.tcp.normalProducers[0].producer = orderSdkNormalProducer rocketmq.tcp.normalProducers[0].topicId = topic_sdk_order_event #商品的生产者 rocketmq.tcp.normalProducers[1].producer = goodsSdkNormalProducer rocketmq.tcp.normalProducers[1].topicId = topic_sdk_goods_event #普通 rocketmq.tcp.normalProducers[2].producer = sdkNormalProducer rocketmq.tcp.normalProducers[2].topicId = topic_sdk_order_event #事务 rocketmq.tcp.transactionProducers[0].producer = sdkTransactionNormalProducer rocketmq.tcp.transactionProducers[0].topicId = topic_sdk_event rocketmq.tcp.transactionProducers[0].checker = transactionCheck #延迟 rocketmq.tcp.delayProducers[0].producer = sdkDelayProducer rocketmq.tcp.delayProducers[0].topicId = topic_sdk_event #顺序 rocketmq.tcp.orderProducers[0].producer = sdkOrderproducer rocketmq.tcp.orderProducers[0].topicId = topic_sdk_event

#1688订单部分发货(买家视角)消费者 rocketmq.tcp.consumers[0].listener = partialdeliverySdkNormalListener rocketmq.tcp.consumers[0].topicId = topic_sdk_order_event rocketmq.tcp.consumers[0].groupId = GID_SDK_ACCESS_ORDER rocketmq.tcp.consumers[0].tag = ORDER_BUYER_VIEW_PART_PART_SENDGOODS #事务消费者 rocketmq.tcp.consumers[1].listener = sdkTransactionListener rocketmq.tcp.consumers[1].topicId = topic_sdk_event rocketmq.tcp.consumers[1].tag = orderTrans rocketmq.tcp.consumers[1].groupId = GID_SDK_TRANS #延迟消费者 rocketmq.tcp.consumers[2].listener = sdkDelayListener rocketmq.tcp.consumers[2].topicId = topic_sdk_event rocketmq.tcp.consumers[2].groupId = GID_SDK_ACCESS #有顺序的 rocketmq.tcp.consumers[3].listener = sdkOrderListener rocketmq.tcp.consumers[3].topicId = topic_sdk_event rocketmq.tcp.consumers[3].groupId = GID_SDK_ACCESS #商品删除的消费者 rocketmq.tcp.consumers[4].listener = goodsDeleteSdkNormalListener rocketmq.tcp.consumers[4].topicId = topic_sdk_goods_event rocketmq.tcp.consumers[4].groupId = GID_SDK_ACCESS_GOODS rocketmq.tcp.consumers[4].tag = PRODUCT_RELATION_VIEW_PRODUCT_DELETE #物流的消息 rocketmq.tcp.consumers[5].listener = orderLogisticsSdkNormalListener rocketmq.tcp.consumers[5].topicId = topic_sdk_order_event rocketmq.tcp.consumers[5].groupId = GID_SDK_ACCESS_ORDER rocketmq.tcp.consumers[5].tag = LOGISTICS_BUYER_VIEW_TRACE #配置信息 rocketmq.tcp.accessKey= LTAI4G2fA6sbNkFHtJVq3nfA rocketmq.tcp.secretKey= GLnLY2fSXZ3at4KivggP8oP5WUM5Qx rocketmq.tcp.nameSrvAddr=http://MQ_INST_1448792589280488_BXjRmnaq.mq-internet-access.mq-internet.aliyuncs.com:80

#发送消息 @Component @Slf4j public class RocketMqBiz { @Resource RocketMqProducer sdkNormalProducer; @Resource RocketMqTransactionProducer sdkTransactionNormalProducer; @Resource RocketMqDelayProducer sdkDelayProducer; @Resource RocketMqOrderProducer sdkOrderproducer; public void testMq() throws InterruptedException { Msg msg=new Msg(); msg.setName("normal 普通======" + System.nanoTime()); System.out.println("开始发送消息"); sdkNormalProducer.sendAsync(msg,new SendCallback(){

        @Override
        public void onSuccess(SendResult sendResult) {
            System.out.println("成功");
        }

        @Override
        public void onException(OnExceptionContext onExceptionContext) {
            System.out.println("异常");
        }
    });
    /**
     * 事务
     */
    TimeUnit.SECONDS.sleep(2);
    msg.setName("事务消息======"+System.nanoTime());
    sdkTransactionNormalProducer.send(msg,(msg1,args)->{

        log.info("executed local transaction");
        return TransactionStatus.CommitTransaction;
    },null);
    /**
     * 延迟
     */
    msg.setName("延迟消息======"+System.nanoTime());
    sdkDelayProducer.sendAsync(msg, 5, new SendCallback() {
        @Override
        public void onSuccess(SendResult sendResult) {
            System.out.println("延迟成功");
        }

        @Override
        public void onException(OnExceptionContext onExceptionContext) {
            System.out.println("延迟异常");
        }
    });
    msg.setName("顺序消息======"+System.nanoTime());
    sdkOrderproducer.send(msg,"order");
}
 public void testTrans(){
     OrderTrans orderTrans=new OrderTrans();
     orderTrans.setId(UUID.randomUUID().toString());
     orderTrans.setTime(DateUtil.now());
     MsgOption msgOption=new MsgOption();
     msgOption.setTag("orderTrans");
     SendResult result=  sdkTransactionNormalProducer.send(orderTrans,msgOption,((message, o) -> {

         Boolean bln= local();
         if(bln){
             //成功就提交
             log.info("executed local transaction,发送消息成功");
             return TransactionStatus.CommitTransaction;

         }else{
             //如果失败就是回滚
             log.info("executed local transaction,发送消息失败");
             return TransactionStatus.RollbackTransaction;
         }

     }),null);
     System.out.println("发送的结果"+result);
 }
 @Transactional
public Boolean local(){
     Boolean bln=false;
    try {
        Random random=new Random();

        int i =random.nextInt(10) ;
        log.info("奇数"+i);
        if(i%2==0){
            log.info("偶数"+i);
            bln=true;
        }
    }catch (Exception exception){
        log.error("出问题了");
        bln=false;
    }
    return  bln;
}

}

#接收 @Slf4j @RocketMqListener public class OrderCommonEventListener extends AbstractMessageListener {

@Autowired
private FinancialDivideBiz financialDivideBiz;
@Autowired
private FinancialDivideRefundBiz financialDivideRefundBiz;

@Override
public ConsumerAction message(MessageBody<Object> messageBody) {

	if (MsgOptionEnum.ORDER_EVENT_AFTER_SALES_APPLY.equals(messageBody.getOriginMessage().getTag())) {
		AfterSalesMessage body = BeanUtils.toBean(messageBody.getBody(), AfterSalesMessage.class);
		log.debug("接收到售后申请通知:" + JsonUtils.toJson(messageBody));

		DivideOrderRefundReq req = new DivideOrderRefundReq();
		req.setOrderId(String.valueOf(body.getSubId()));
		req.setRefundNo(body.getAfterSalesOrderSn());
		req.setRefundAmount(body.getReturnAmount());
		req.setSkuId(body.getSkuId());
		
		// 售后申请
		financialDivideRefundBiz.apply(req);

	} else if (MsgOptionEnum.ORDER_EVENT_AFTER_SALES_CLOSE.equals(messageBody.getOriginMessage().getTag())) {
		AfterSalesMessage body = BeanUtils.toBean(messageBody.getBody(), AfterSalesMessage.class);
		log.debug("接收到售后取消通知:" + JsonUtils.toJson(messageBody));

		// 售后申请
		financialDivideRefundBiz.cancle(body);

	} else if (MsgOptionEnum.ORDER_EVENT_NOTIFY_SETTLEMENT.equals(messageBody.getOriginMessage().getTag())) {
		OrderSubMessage body = BeanUtils.toBean(messageBody.getBody(), OrderSubMessage.class);
		log.debug("接收到普通订单完结通知:" + JsonUtils.toJson(messageBody));

		// 结算完结
		financialDivideBiz.complete(String.valueOf(body.getId()));

	}

	return ConsumerAction.SUCCESS;
}

}

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/liuqian13601916596/test-ljs-starter.git
git@gitee.com:liuqian13601916596/test-ljs-starter.git
liuqian13601916596
test-ljs-starter
test-ljs-starter
master

搜索帮助