Browse Source

支付组件

zouxuan 2 months ago
parent
commit
099e4470e5

+ 20 - 11
mec-application/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -2,6 +2,7 @@ package com.ym.mec.student.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.microsvc.toolkit.middleware.payment.common.api.BasePaymentService;
 import com.microsvc.toolkit.middleware.payment.common.api.PaymentServiceContext;
 import com.microsvc.toolkit.middleware.payment.common.api.entity.PaymentResp;
@@ -145,17 +146,25 @@ public class StudentOrderController extends BaseController {
         }
 		StudentPaymentOrder studentPaymentOrder = studentPaymentOrderService.findOrderByOrderNo(paymentResp.getMerOrderNo());
 		if(studentPaymentOrder == null) {
-			return "订单号错误";
-		}
-        try {
-            Map<String, String> notifyMap = new HashMap<>(4);
-            notifyMap.put("channelType", paymentResp.getPaymentChannel());
-            notifyMap.put("tradeState", paymentResp.getPaymentStatus() == PaymentStatus.SUCCESSED?"1":"0");
-            notifyMap.put("totalMoney", paymentResp.getPaymentAmount().toString());
-            notifyMap.put("merOrderNo", paymentResp.getMerOrderNo());
-            studentPaymentOrderService.updateOrder(notifyMap);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
+            //获取机构订单
+            TenantOrderRecord record = tenantOrderRecordService.getOne(Wrappers.<TenantOrderRecord> lambdaQuery()
+                    .eq(TenantOrderRecord::getOrderNo, paymentResp.getMerOrderNo()));
+            if (Objects.isNull(record)) {
+                throw new BizException("订单号不存在:{}", paymentResp.getMerOrderNo());
+            }else {
+                tenantOrderRecordService.callback(record, request);
+            }
+		}else {
+            try {
+                Map<String, String> notifyMap = new HashMap<>(4);
+                notifyMap.put("channelType", paymentResp.getPaymentChannel());
+                notifyMap.put("tradeState", paymentResp.getPaymentStatus() == PaymentStatus.SUCCESSED?"1":"0");
+                notifyMap.put("totalMoney", paymentResp.getPaymentAmount().toString());
+                notifyMap.put("merOrderNo", paymentResp.getMerOrderNo());
+                studentPaymentOrderService.updateOrder(notifyMap);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
         }
         return paymentService.returnNotifyResult(request);
         /*

+ 3 - 7
mec-application/src/main/java/com/ym/mec/teacher/controller/TeacherOrderController.java

@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 
@@ -22,14 +23,9 @@ import java.io.IOException;
 @Api(tags = "订单回调")
 @RestController
 public class TeacherOrderController extends BaseController {
-	private static final Logger logger = LoggerFactory.getLogger(TeacherOrderController.class);
-	@Autowired
-	private YqPayFeignService yqPayFeignService;
-	@Autowired
-	private TenantPaymentOrderDao tenantPaymentOrderDao;
-	@Autowired
+	@Resource
 	private SysConfigDao sysConfigDao;
-	@Autowired
+	@Resource
 	private TenantPaymentOrderService tenantPaymentOrderService;
 
 	@RequestMapping("paymentResult")

+ 5 - 11
mec-application/src/main/java/com/ym/mec/web/controller/TenantInfoController.java

@@ -8,7 +8,6 @@ import com.ym.mec.biz.dal.entity.TenantInfo;
 import com.ym.mec.biz.dal.entity.TenantProductSumm;
 import com.ym.mec.biz.service.TenantInfoSendMsgService;
 import com.ym.mec.biz.service.TenantInfoService;
-import com.ym.mec.biz.service.TenantOrderRecordService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.WrapperUtil;
@@ -18,14 +17,12 @@ import io.swagger.annotations.*;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.util.Map;
@@ -44,17 +41,14 @@ import static com.ym.mec.biz.service.impl.TenantInfoSendMsgServiceImpl.OPEN;
 public class TenantInfoController extends BaseController {
     private static final Logger log = LoggerFactory.getLogger(TenantInfoController.class);
 
-    @Autowired
+    @Resource
     private TenantInfoService tenantInfoService;
 
-    @Autowired
+    @Resource
     private SysUserFeignService sysUserFeignService;
 
-    @Autowired
-    private TenantInfoSendMsgService tenantInfoSendMsgService;
-
     @Resource
-    private TenantOrderRecordService tenantOrderRecordService;
+    private TenantInfoSendMsgService tenantInfoSendMsgService;
 
     @ApiOperation("添加机构信息")
     @PostMapping(value = "/add")
@@ -187,9 +181,9 @@ public class TenantInfoController extends BaseController {
         return succeed();
     }
 
-    @PostMapping("/callback/{orderNo}")
+    /*@PostMapping("/callback/{orderNo}")
     public String callback(@PathVariable("orderNo") String orderNo, HttpServletRequest request) {
         return tenantOrderRecordService.callback(orderNo, request);
-    }
+    }*/
 
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/TenantOrderRecordService.java

@@ -33,7 +33,7 @@ public interface TenantOrderRecordService extends IService<TenantOrderRecord> {
 
     void rechargeSuccess(TenantOrderRecord record);
 
-    String callback(String orderNo, HttpServletRequest request);
+    String callback(TenantOrderRecord record, HttpServletRequest request);
 
 }
 

+ 1 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantOrderRecordServiceImpl.java

@@ -453,12 +453,7 @@ public class TenantOrderRecordServiceImpl extends ServiceImpl<TenantOrderRecordD
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-	public String callback(String orderNo, HttpServletRequest request) {
-
-		TenantOrderRecord record = this.getOne(Wrappers.<TenantOrderRecord> lambdaQuery().eq(TenantOrderRecord::getOrderNo, orderNo));
-		if (Objects.isNull(record)) {
-			return "failed";
-		}
+	public String callback(TenantOrderRecord record, HttpServletRequest request) {
 		record = tenantOrderRecordDao.getLockedById(record.getId());
 		// 只处理未支付状态的订单
 		if (!record.getOrderState().equals(0)) {