123
This commit is contained in:
@@ -3,8 +3,7 @@ package com.ruoyi.cai.controller.app;
|
|||||||
import com.ruoyi.cai.dto.ConsumeResp;
|
import com.ruoyi.cai.dto.ConsumeResp;
|
||||||
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
import com.ruoyi.cai.dto.app.query.GiveGiftRes;
|
||||||
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
|
import com.ruoyi.cai.dto.app.query.GiveGuardReq;
|
||||||
import com.ruoyi.cai.service.GuardTotalService;
|
import com.ruoyi.cai.manager.ConsumerManager;
|
||||||
import com.ruoyi.cai.service.UserGiftService;
|
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@@ -20,21 +19,19 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
public class ConsumeController {
|
public class ConsumeController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private GuardTotalService guardTotalService;
|
private ConsumerManager consumerManager;
|
||||||
@Autowired
|
|
||||||
private UserGiftService userGiftService;
|
|
||||||
|
|
||||||
@PostMapping("/give/guard")
|
@PostMapping("/give/guard")
|
||||||
@Operation(summary = "赠送主播守护")
|
@Operation(summary = "赠送主播守护")
|
||||||
public R<Boolean> giveGuard(@RequestBody GiveGuardReq query){
|
public R<Boolean> giveGuard(@RequestBody GiveGuardReq query){
|
||||||
ConsumeResp resp = guardTotalService.giveGuard(query);
|
ConsumeResp resp = consumerManager.sendGuard(query);
|
||||||
return R.ok(resp.isSuccess());
|
return R.ok(resp.isSuccess());
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/give/gift")
|
@PostMapping("/give/gift")
|
||||||
@Operation(summary = "赠送主播礼物")
|
@Operation(summary = "赠送主播礼物")
|
||||||
public R<Boolean> giveGift(@RequestBody GiveGiftRes query){
|
public R<Boolean> giveGift(@RequestBody GiveGiftRes query){
|
||||||
ConsumeResp resp = userGiftService.giveGift(query);
|
ConsumeResp resp = consumerManager.sendGift(query);
|
||||||
return R.ok(resp.isSuccess());
|
return R.ok(resp.isSuccess());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,7 +13,6 @@ public class AmqpProducer {
|
|||||||
rabbitTemplate.convertAndSend(AmqpConsumer.CALCULATE_SALES_EXCHANGE, AmqpConsumer.CALCULATE_SALES_KEY, message);
|
rabbitTemplate.convertAndSend(AmqpConsumer.CALCULATE_SALES_EXCHANGE, AmqpConsumer.CALCULATE_SALES_KEY, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void sendCheckTimeOut(String message,Integer timeout){
|
public void sendCheckTimeOut(String message,Integer timeout){
|
||||||
rabbitTemplate.convertAndSend(CheckTimeOutMqConfig.EXCHANGE_NAME,
|
rabbitTemplate.convertAndSend(CheckTimeOutMqConfig.EXCHANGE_NAME,
|
||||||
CheckTimeOutMqConfig.ROUTING_KEY,
|
CheckTimeOutMqConfig.ROUTING_KEY,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
import com.ruoyi.cai.domain.RechargeOrder;
|
import com.ruoyi.cai.domain.RechargeOrder;
|
||||||
import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
||||||
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
||||||
|
import com.ruoyi.cai.dto.ConsumeResp;
|
||||||
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
||||||
import com.ruoyi.common.core.domain.PageQuery;
|
import com.ruoyi.common.core.domain.PageQuery;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -23,8 +24,7 @@ public interface RechargeOrderService extends IService<RechargeOrder> {
|
|||||||
|
|
||||||
RechargeOrder addRechargeOrder(AddRechargeOrderDto addRechargeOrderDto);
|
RechargeOrder addRechargeOrder(AddRechargeOrderDto addRechargeOrderDto);
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
ConsumeResp orderSuccess(String orderNo);
|
||||||
void orderSuccess(String orderNo);
|
|
||||||
|
|
||||||
RechargeOrder updateAdminRechargeOrder(AddRechargeOrderAdminDto dto);
|
RechargeOrder updateAdminRechargeOrder(AddRechargeOrderAdminDto dto);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import com.ruoyi.cai.domain.*;
|
import com.ruoyi.cai.domain.*;
|
||||||
import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
||||||
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
||||||
|
import com.ruoyi.cai.dto.ConsumeResp;
|
||||||
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
||||||
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
import com.ruoyi.cai.enums.AccountBusinessEnum;
|
||||||
import com.ruoyi.cai.enums.AccountChangeEnum;
|
import com.ruoyi.cai.enums.AccountChangeEnum;
|
||||||
@@ -88,7 +89,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void orderSuccess(String orderNo){
|
public ConsumeResp orderSuccess(String orderNo){
|
||||||
RechargeOrder rechargeOrder = this.getByOrderNo(orderNo);
|
RechargeOrder rechargeOrder = this.getByOrderNo(orderNo);
|
||||||
if(rechargeOrder == null){
|
if(rechargeOrder == null){
|
||||||
throw new ServiceException("订单不存在");
|
throw new ServiceException("订单不存在");
|
||||||
@@ -114,6 +115,10 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
|||||||
consumeLog.setType(ConsumeLogType.RECHARGE.getCode());
|
consumeLog.setType(ConsumeLogType.RECHARGE.getCode());
|
||||||
consumeLog.setAmount(rechargeOrder.getRechargeCoin());
|
consumeLog.setAmount(rechargeOrder.getRechargeCoin());
|
||||||
accountService.recharge(consumeLog);
|
accountService.recharge(consumeLog);
|
||||||
|
ConsumeResp resp = new ConsumeResp();
|
||||||
|
resp.setSuccess(true);
|
||||||
|
resp.setConsumeLogId(consumeLog.getId());
|
||||||
|
return resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user