From aa2c6d722ed799290285b6365f011aaa74373d73 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期六, 23 十二月 2023 17:30:07 +0800
Subject: [PATCH] 11.27,9

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
index e140bb1..1d0b910 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1041,7 +1041,7 @@
         return weixinpay;
     }
 
-
+    private String smid = "2088330203191220";//平台支付宝商户号
     /**
      * 课程支付宝支付
      *
@@ -1055,6 +1055,7 @@
         CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
         String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
+        String smid1="";
         //生成支付订单
         if (paymentCourseVo.getOrderId()==null){
             CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
@@ -1083,8 +1084,18 @@
             coursePackageOrder.setPayUserId(uid);
             coursePackageOrderService.updateById(coursePackageOrder);
         }
-
-        ResultUtil alipay = payMoneyUtil.alipay("购买课程", "购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
+        // 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号
+        Integer coursePackageId = paymentCourseVo.getId();
+        TCoursePackage byId = coursePackageService.getById(coursePackageId);
+        Store store = storeClient.queryStoreById(byId.getStoreId());
+        if (store.getOperatorId() == null ){
+            smid1 = smid;
+        }else{
+            smid1 = storeClient.getSMIDByOperatorId(store.getOperatorId());
+        }
+        ResultUtil alipay = payMoneyUtil.alipay(smid1,"购买课程", "购买课程",
+                coursePackagePaymentConfig.getId().toString(),
+                code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
         if (alipay.getCode() == 200) {
             String finalCode = code;
             new Thread(new Runnable() {
@@ -1092,7 +1103,6 @@
                 public void run() {
                     try {
                         Thread.sleep(1000);
-
                         int num = 1;
                         int wait = 0;
                         while (num <= 10) {
@@ -1128,7 +1138,23 @@
                                     coursePackageOrderService.updateById(coursePackageOrder1);
                                     addCoursePackageOrderStudent(coursePackageOrder1.getId(), coursePackagePaymentConfig);
                                     moneyOut(tradeNo,tradeNo,finalCode);
-                                    break;
+                                    // 根据课程id 查询这个课程属于哪个门店 属于哪个运营商
+                                    Integer id = paymentCourseVo.getId();
+                                    TCoursePackage byId = coursePackageService.getById(id);
+                                    Integer storeId = byId.getStoreId();
+                                    Store store = storeClient.queryStoreById(storeId);
+                                    Integer operatorId = store.getOperatorId();
+                                    if (operatorId==null){
+                                        String smid ="2088330203191220";
+                                            // 说明是平台的
+                                            payMoneyUtil.confirm(smid,finalCode,tradeNo,paymentPrice.toString());
+                                        break;
+                                    }else{
+                                        // 当前课程不属于门店 查询这个课程属于哪个门店 属于哪个运营商
+                                        String smidByOperatorId = storeClient.getSMIDByOperatorId(operatorId);
+                                        payMoneyUtil.confirm(smidByOperatorId,finalCode,tradeNo,paymentPrice.toString());
+                                        break;
+                                    }
                                 }
                                 if ("WAIT_BUYER_PAY".equals(s)) {
                                     num++;

--
Gitblit v1.7.1