This commit is contained in:
77
2024-03-24 19:07:45 +08:00
parent d0b1f961e8
commit e6611ea05e
45 changed files with 935 additions and 104 deletions

View File

@@ -0,0 +1,56 @@
package com.ruoyi.xq.manager;
import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.enums.common.OrderTypeEnum;
import com.ruoyi.xq.enums.pay.PlatformTypeEnum;
import com.ruoyi.xq.mq.AmqpProducer;
import com.ruoyi.xq.mq.handle.dto.CalculateSalesHandleDTO;
import com.ruoyi.xq.service.UserExtendService;
import com.ruoyi.xq.service.VipOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@Slf4j
public class PayManager {
@Autowired
private VipOrderService vipOrderService;
@Autowired
private UserExtendService userExtendService;
@Autowired
private AmqpProducer amqpProducer;
public void callBack(String orderNo, Map<String,String> params, String appId, PlatformTypeEnum payTypeEnum){
OrderTypeEnum orderTypeEnum = OrderNoUtil.getType(orderNo);
if(orderTypeEnum == null){
log.error("订单类型有误orderNo={}",orderNo);
return;
}
switch (orderTypeEnum){
case VIP:
ConsumeResp vipResp = vipOrderService.doSuccess(orderNo,params,appId,payTypeEnum);
if(vipResp.isSuccess()){
try {
// 用户消费统计
userExtendService.incsConsumeTotal(vipResp.getUserId(), vipResp.getPrice());
}catch (Exception e){
log.error("用户VIP消费统计",e);
}
try {
if(vipResp.getConsumerId() != null){
CalculateSalesHandleDTO dto = new CalculateSalesHandleDTO();
dto.setConsumerLogId(vipResp.getConsumerId());
amqpProducer.sendCommonMq(dto);
}
}catch (Exception e){
log.error("RabbitMq 发送失败, 充值分销流程流转失败!",e);
}
}
break;
default:
break;
}
}
}