Explorar o código

修改回调机制

july %!s(int64=4) %!d(string=hai) anos
pai
achega
ee003de283

+ 1 - 1
ldt-core/src/main/java/org/springblade/payment/callback/trade/MallSendCallback.java

@@ -44,7 +44,7 @@ public class MallSendCallback {
 	private IBillsService billsService;
 
 	@EventListener
-	private void handle(MallSendPointEvent mallSendPointEvent){
+	public void handle(MallSendPointEvent mallSendPointEvent){
 		SuccessParams successParams = mallSendPointEvent.getSuccessParams();
 		String requestNo = successParams.getRes().getString("requestNo");
 		PointBills pointBills = pointBillsService.getOne(new QueryWrapper<PointBills>().lambda().eq(PointBills::getRequestNo, requestNo));

+ 1 - 1
ldt-core/src/main/java/org/springblade/payment/callback/trade/ShopSendCallback.java

@@ -41,7 +41,7 @@ public class ShopSendCallback {
 	private ILoginUserService loginUserService;
 
 	@EventListener
-	private void handle(ShopSendPointEvent shopSendPointEvent){
+	public void handle(ShopSendPointEvent shopSendPointEvent){
 		SuccessParams successParams = shopSendPointEvent.getSuccessParams();
 		String requestNo = successParams.getRes().getString("requestNo");
 		BalanceBills balanceBills = balanceBillsService.getOne(new QueryWrapper<BalanceBills>().lambda().eq(BalanceBills::getRequestNo, requestNo));

+ 1 - 1
ldt-core/src/main/java/org/springblade/payment/callback/trade/UserPayCS.java

@@ -78,7 +78,7 @@ public class UserPayCS {
 
 
 	@EventListener
-	@Async
+	//@Async
 	public void PaySuccess(UserPayCsEvent userPayCsEvent) {
 		SuccessParams successParams = userPayCsEvent.getSuccessParams();
 		PaymentVO paymentVO = PaymentVO.builder().isSuccess(Boolean.FALSE).msg("订单付款异常!").build();

+ 63 - 12
ldt-core/src/main/java/org/springblade/payment/service/impl/PaymentService.java

@@ -1,10 +1,11 @@
 package org.springblade.payment.service.impl;
 
+import lombok.AllArgsConstructor;
 import org.springblade.common.enums.OrderType;
+import org.springblade.payment.callback.trade.*;
 import org.springblade.payment.entity.SuccessParams;
 import org.springblade.payment.event.*;
 import org.springblade.payment.service.IPaymentService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.stereotype.Service;
 
@@ -14,41 +15,91 @@ import org.springframework.stereotype.Service;
  * @since: 8/5/21 -- 2:34 PM
  */
 @Service
+@AllArgsConstructor
 public class PaymentService implements IPaymentService {
 
-	@Autowired
 	private ApplicationEventPublisher eventPublisher;
+	private AgentChargeCallback agentChargeCallback;
+	private MallChargeCallback mallChargeCallback;
+	private MallRechargeCallback mallRechargeCallback;
+	private MallSendCallback mallSendCallback;
+	private ShopSendCallback shopSendCallback;
+	private UserPayCallback userPayCallback;
+	private UserPayCS userPayCS;
+	private UserPointTransferWithdrawCallback userPointTransferWithdrawCallback;
+	private UserPointWithdrawCallback userPointWithdrawCallback;
+	private UserWithdrawCallback userWithdrawCallback;
+	private WeChatPayCallback weChatPayCallback;
+
+//	@Override
+//	public void success(SuccessParams successParams) {
+//		switch (OrderType.valueOf(successParams.getOrderType())) {
+//			case USER_PAY:
+//				eventPublisher.publishEvent(new UserPayEvent(successParams));
+//				return;
+//			case AGENT_CHARGE:
+//				eventPublisher.publishEvent(new AgentChargeEvent(successParams));
+//				return;
+//			case MALL_CHARGE:
+//				eventPublisher.publishEvent(new MallChargeEvent(successParams));
+//				return;
+//			case WECHAT_PAY:
+//				eventPublisher.publishEvent(new WeChatPayEvent(successParams));
+//				return;
+//			case USER_WITHDRAW:
+//				eventPublisher.publishEvent(new UserWithdrawEvent(successParams));
+//				return;
+//			case MALL_SEND:
+//				eventPublisher.publishEvent(new MallSendPointEvent(successParams));
+//				return;
+//			case SHOP_SEND:
+//				eventPublisher.publishEvent(new ShopSendPointEvent(successParams));
+//				return;
+//			case MALL_RECHARGE:
+//				eventPublisher.publishEvent(new MallRechargeEvent((successParams)));
+//			case USER_POINT_TRANSFER_WITHDRAW:
+//				eventPublisher.publishEvent(new UserPointTransferWithdrawEvent(successParams));
+//			case USER_POINT_WITHDRAW:
+//				eventPublisher.publishEvent(new UserPointWithdrawEvent(successParams));
+//			default:
+//				return;
+//
+//		}
+//	}
 
 	@Override
 	public void success(SuccessParams successParams) {
 		switch (OrderType.valueOf(successParams.getOrderType())) {
 			case USER_PAY:
-				eventPublisher.publishEvent(new UserPayEvent(successParams));
+				userPayCallback.PaySuccess(new UserPayEvent(successParams));
 				return;
 			case AGENT_CHARGE:
-				eventPublisher.publishEvent(new AgentChargeEvent(successParams));
+				agentChargeCallback.PaySuccess(new AgentChargeEvent(successParams));
 				return;
 			case MALL_CHARGE:
-				eventPublisher.publishEvent(new MallChargeEvent(successParams));
+				mallChargeCallback.PaySuccess(new MallChargeEvent(successParams));
 				return;
 			case WECHAT_PAY:
-				eventPublisher.publishEvent(new WeChatPayEvent(successParams));
+				weChatPayCallback.handleWeChatPayCallback(new WeChatPayEvent(successParams));
 				return;
 			case USER_WITHDRAW:
-				eventPublisher.publishEvent(new UserWithdrawEvent(successParams));
+				userWithdrawCallback.PaySuccess(new UserWithdrawEvent(successParams));
 				return;
 			case MALL_SEND:
-				eventPublisher.publishEvent(new MallSendPointEvent(successParams));
+				mallSendCallback.handle(new MallSendPointEvent(successParams));
 				return;
 			case SHOP_SEND:
-				eventPublisher.publishEvent(new ShopSendPointEvent(successParams));
+				shopSendCallback.handle(new ShopSendPointEvent(successParams));
 				return;
 			case MALL_RECHARGE:
-				eventPublisher.publishEvent(new MallRechargeEvent((successParams)));
+				mallRechargeCallback.PaySuccess(new MallRechargeEvent((successParams)));
+				return;
 			case USER_POINT_TRANSFER_WITHDRAW:
-				eventPublisher.publishEvent(new UserPointTransferWithdrawEvent(successParams));
+				userPointTransferWithdrawCallback.PaySuccess(new UserPointTransferWithdrawEvent(successParams));
+				return;
 			case USER_POINT_WITHDRAW:
-				eventPublisher.publishEvent(new UserPointWithdrawEvent(successParams));
+				userPointWithdrawCallback.PaySuccess(new UserPointWithdrawEvent(successParams));
+				return;
 			default:
 				return;