This commit is contained in:
张良(004796)
2024-01-11 13:49:01 +08:00
parent fc2b6ef12d
commit 2043169ff3
5 changed files with 73 additions and 11 deletions

View File

@@ -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<Boolean> 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<Boolean> giveGift(@RequestBody GiveGiftRes query){
ConsumeResp resp = userGiftService.giveGift(query);
ConsumeResp resp = consumerManager.sendGift(query);
return R.ok(resp.isSuccess());
}
}

View File

@@ -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;
}
}

View File

@@ -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,

View File

@@ -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> {
RechargeOrder addRechargeOrder(AddRechargeOrderDto addRechargeOrderDto);
@Transactional(rollbackFor = Exception.class)
void orderSuccess(String orderNo);
ConsumeResp orderSuccess(String orderNo);
RechargeOrder updateAdminRechargeOrder(AddRechargeOrderAdminDto dto);
}

View File

@@ -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<RechargeOrderMapper,Re
@Override
@Transactional(rollbackFor = Exception.class)
public void orderSuccess(String orderNo){
public ConsumeResp orderSuccess(String orderNo){
RechargeOrder rechargeOrder = this.getByOrderNo(orderNo);
if(rechargeOrder == null){
throw new ServiceException("订单不存在");
@@ -114,6 +115,10 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
consumeLog.setType(ConsumeLogType.RECHARGE.getCode());
consumeLog.setAmount(rechargeOrder.getRechargeCoin());
accountService.recharge(consumeLog);
ConsumeResp resp = new ConsumeResp();
resp.setSuccess(true);
resp.setConsumeLogId(consumeLog.getId());
return resp;
}
@Override