This commit is contained in:
张良(004796)
2024-04-26 18:34:15 +08:00
parent 1f5ba3ec6c
commit 82450212db
11 changed files with 361 additions and 5 deletions

View File

@@ -1,8 +1,13 @@
package com.ruoyi.xq.manager;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.xq.domain.VipOrder;
import com.ruoyi.xq.domain.VipPrice;
import com.ruoyi.xq.domain.WxTransOrder;
import com.ruoyi.xq.dto.app.pay.ConsumeResp;
import com.ruoyi.xq.dto.app.pay.PayOrderInfoDTO;
import com.ruoyi.xq.enums.common.OrderTypeEnum;
import com.ruoyi.xq.enums.pay.PayStatusEnum;
import com.ruoyi.xq.enums.pay.PlatformTypeEnum;
import com.ruoyi.xq.mq.AmqpProducer;
import com.ruoyi.xq.mq.handle.dto.CalculateSalesHandleDTO;
@@ -30,6 +35,48 @@ public class PayManager {
@Autowired
private WxTransOrderService wxTransOrderService;
public PayOrderInfoDTO getOrderInfo(String orderNo){
OrderTypeEnum orderTypeEnum = OrderNoUtil.getType(orderNo);
if(orderTypeEnum == null){
log.error("订单类型有误orderNo={}",orderNo);
throw new ServiceException("支付失败,请检查订单号");
}
PayOrderInfoDTO dto = null;
switch (orderTypeEnum) {
case VIP:
VipOrder vipOrder = vipOrderService.getByOrderNo(orderNo);
if(vipOrder == null){
throw new ServiceException("订单不存在,请重新下单支付");
}
if(!PayStatusEnum.READY_PAY.getCode().equals(vipOrder.getPayStatus())){
throw new ServiceException("订单状态有误,请重新下单支付");
}
dto = new PayOrderInfoDTO();
dto.setBody(vipOrder.getBody());
dto.setSubject(vipOrder.getBody());
dto.setPrice(vipOrder.getVipPrice());
dto.setOrderNo(vipOrder.getOrderNo());
break;
case WX_TRANS:
WxTransOrder wxTransOrder = wxTransOrderService.getByOrderNo(orderNo);
if(wxTransOrder == null){
throw new ServiceException("订单不存在,请重新下单支付");
}
if(!PayStatusEnum.READY_PAY.getCode().equals(wxTransOrder.getPayStatus())){
throw new ServiceException("订单状态有误,请重新下单支付");
}
dto = new PayOrderInfoDTO();
dto.setBody(wxTransOrder.getBody());
dto.setSubject(wxTransOrder.getBody());
dto.setPrice(wxTransOrder.getWxPrice());
dto.setOrderNo(wxTransOrder.getOrderNo());
break;
default:
break;
}
return dto;
}
public void callBack(String orderNo, Map<String,String> params, String appId, PlatformTypeEnum payTypeEnum){
OrderTypeEnum orderTypeEnum = OrderNoUtil.getType(orderNo);