From 2043169ff37980ef2d122c9552940b4d54e04689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=AF=28004796=29?= Date: Thu, 11 Jan 2024 13:49:01 +0800 Subject: [PATCH] 123 --- .../cai/controller/app/ConsumeController.java | 11 ++-- .../ruoyi/cai/manager/ConsumerManager.java | 61 +++++++++++++++++++ .../java/com/ruoyi/cai/mq/AmqpProducer.java | 1 - .../cai/service/RechargeOrderService.java | 4 +- .../impl/RechargeOrderServiceImpl.java | 7 ++- 5 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java index 4bbe9f4b..980f9c83 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/controller/app/ConsumeController.java @@ -3,8 +3,7 @@ package com.ruoyi.cai.controller.app; import com.ruoyi.cai.dto.ConsumeResp; import com.ruoyi.cai.dto.app.query.GiveGiftRes; import com.ruoyi.cai.dto.app.query.GiveGuardReq; -import com.ruoyi.cai.service.GuardTotalService; -import com.ruoyi.cai.service.UserGiftService; +import com.ruoyi.cai.manager.ConsumerManager; import com.ruoyi.common.core.domain.R; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -20,21 +19,19 @@ import org.springframework.web.bind.annotation.RestController; public class ConsumeController { @Autowired - private GuardTotalService guardTotalService; - @Autowired - private UserGiftService userGiftService; + private ConsumerManager consumerManager; @PostMapping("/give/guard") @Operation(summary = "赠送主播守护") public R giveGuard(@RequestBody GiveGuardReq query){ - ConsumeResp resp = guardTotalService.giveGuard(query); + ConsumeResp resp = consumerManager.sendGuard(query); return R.ok(resp.isSuccess()); } @PostMapping("/give/gift") @Operation(summary = "赠送主播礼物") public R giveGift(@RequestBody GiveGiftRes query){ - ConsumeResp resp = userGiftService.giveGift(query); + ConsumeResp resp = consumerManager.sendGift(query); return R.ok(resp.isSuccess()); } } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java new file mode 100644 index 00000000..f848b3ba --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/manager/ConsumerManager.java @@ -0,0 +1,61 @@ +package com.ruoyi.cai.manager; + +import com.ruoyi.cai.dto.ConsumeResp; +import com.ruoyi.cai.dto.app.query.GiveGiftRes; +import com.ruoyi.cai.dto.app.query.GiveGuardReq; +import com.ruoyi.cai.mq.AmqpProducer; +import com.ruoyi.cai.service.GuardTotalService; +import com.ruoyi.cai.service.RechargeOrderService; +import com.ruoyi.cai.service.UserGiftService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class ConsumerManager { + @Autowired + private GuardTotalService guardTotalService; + @Autowired + private UserGiftService userGiftService; + @Autowired + private AmqpProducer amqpProducer; + @Autowired + private RechargeOrderService rechargeOrderService; + + public ConsumeResp sendGuard(GiveGuardReq query){ + ConsumeResp resp = guardTotalService.giveGuard(query); + if(resp.isSuccess()){ + try { + amqpProducer.sendCalculateSales(resp.getConsumeLogId()+""); + }catch (Exception e){ + log.error("RabbitMq 发送失败, 守护分销流程流转失败!",e); + } + } + return resp; + } + + public ConsumeResp sendGift(GiveGiftRes query){ + ConsumeResp resp = userGiftService.giveGift(query); + if(resp.isSuccess()){ + try { + amqpProducer.sendCalculateSales(resp.getConsumeLogId()+""); + }catch (Exception e){ + log.error("RabbitMq 发送失败, 礼物分销流程流转失败!",e); + } + } + return resp; + } + + public ConsumeResp rechargeOrderSuccess(String tradeNo){ + ConsumeResp resp = rechargeOrderService.orderSuccess(tradeNo); + if(resp.isSuccess()){ + try { + amqpProducer.sendCalculateSales(resp.getConsumeLogId()+""); + }catch (Exception e){ + log.error("RabbitMq 发送失败, 充值分销流程流转失败!",e); + } + } + return resp; + } +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/AmqpProducer.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/AmqpProducer.java index c8dffdd9..22bf8fbe 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/AmqpProducer.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mq/AmqpProducer.java @@ -13,7 +13,6 @@ public class AmqpProducer { rabbitTemplate.convertAndSend(AmqpConsumer.CALCULATE_SALES_EXCHANGE, AmqpConsumer.CALCULATE_SALES_KEY, message); } - public void sendCheckTimeOut(String message,Integer timeout){ rabbitTemplate.convertAndSend(CheckTimeOutMqConfig.EXCHANGE_NAME, CheckTimeOutMqConfig.ROUTING_KEY, diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RechargeOrderService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RechargeOrderService.java index 73af78b8..e1920616 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RechargeOrderService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/RechargeOrderService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cai.domain.RechargeOrder; import com.ruoyi.cai.dto.AddRechargeOrderAdminDto; import com.ruoyi.cai.dto.AddRechargeOrderDto; +import com.ruoyi.cai.dto.ConsumeResp; import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo; import com.ruoyi.common.core.domain.PageQuery; import org.springframework.transaction.annotation.Transactional; @@ -23,8 +24,7 @@ public interface RechargeOrderService extends IService { RechargeOrder addRechargeOrder(AddRechargeOrderDto addRechargeOrderDto); - @Transactional(rollbackFor = Exception.class) - void orderSuccess(String orderNo); + ConsumeResp orderSuccess(String orderNo); RechargeOrder updateAdminRechargeOrder(AddRechargeOrderAdminDto dto); } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RechargeOrderServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RechargeOrderServiceImpl.java index 03538ae4..0b47cbe6 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RechargeOrderServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/RechargeOrderServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.cai.domain.*; import com.ruoyi.cai.dto.AddRechargeOrderAdminDto; import com.ruoyi.cai.dto.AddRechargeOrderDto; +import com.ruoyi.cai.dto.ConsumeResp; import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo; import com.ruoyi.cai.enums.AccountBusinessEnum; import com.ruoyi.cai.enums.AccountChangeEnum; @@ -88,7 +89,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl