From 829c75731bf547b84b744d6cca8d2aedffd2a230 Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 08 十二月 2023 09:01:10 +0800
Subject: [PATCH] 待支付bug

---
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java |    6 +++++-
 cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java                         |    2 +-
 cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java       |   11 ++++++++++-
 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java        |   39 ++++++++++++++++++++++-----------------
 4 files changed, 38 insertions(+), 20 deletions(-)

diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java b/cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java
index 9ce9f8d..0982f8e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/PaymentCourseVo.java
@@ -24,5 +24,5 @@
     @ApiModelProperty(value = "优惠券id", dataType = "long", required = false)
     private Long couponId;
     @ApiModelProperty(value = "订单id", dataType = "int", required = false)
-    private Integer orderId;
+    private Long orderId;
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
index 698cda0..8a34a29 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/model/vo/response/CourseDetailsResponse.java
@@ -5,6 +5,7 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @Data
@@ -50,7 +51,7 @@
     @ApiModelProperty("1常规 2假期 3体验")
     private Integer type;
     @ApiModelProperty("学员的ids")
-    private List<Integer> stuIds;
+    private String[] stuIds;
     @ApiModelProperty("选择的课时数")
     private Integer chooseHours;
     @ApiModelProperty("课时套餐")
@@ -62,5 +63,13 @@
     @ApiModelProperty("距离")
     private Double distance;
 
+    @ApiModelProperty("支付方式1=微信,2=支付宝,3=玩湃币")
+    private Integer payType;
+
+    private BigDecimal payPrice;
+    private Integer coinPrice;
+    private double orinPrice;
+
+
 
 }
diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
index 5b5a589..b4f739e 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -528,10 +528,14 @@
             coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("appUserId", student.getAppUserId()).like("studentIds", student.getStudentId()).eq("coursePackageId", student.getCoursePackageId()).orderByDesc("insertTime").last("limit 1"));
 
         }
-
+        response.setOrinPrice(coursePackageOrder.getOriginalPrice());
 
 
         response.setChooseHours(coursePackageOrder.getClassHours());
+        response.setStuIds(coursePackageOrder.getStudentIds().split(","));
+        response.setPayType(coursePackageOrder.getPayType());
+        response.setPayPrice(coursePackageOrder.getCashPayment());
+        response.setCoinPrice(coursePackageOrder.getPlayPaiCoin());
 
         if (null != coursePackageOrder) {
             TCoursePackage coursePackage = tcpmapper.selectById(coursePackageOrder.getCoursePackageId());
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 0fd01d9..e148d1e 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
@@ -1023,24 +1023,29 @@
         String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
         //生成支付订单
         CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
-        coursePackageOrder.setCode(code);
-        coursePackageOrder.setAppUserId(uid);
-        coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
-        coursePackageOrder.setCoursePackageId(paymentCourseVo.getId());
-        coursePackageOrder.setPayType(paymentCourseVo.getPayType());
-        coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours());
-        coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
-        coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
-        coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
-        coursePackageOrder.setPayUserType(1);
-        coursePackageOrder.setPayStatus(1);
-        coursePackageOrder.setPayUserId(uid);
-        coursePackageOrder.setState(1);
-        coursePackageOrder.setInsertTime(new Date());
-        coursePackageOrderService.save(coursePackageOrder);
+        if (paymentCourseVo.getOrderId()==null) {
+            coursePackageOrder.setCode(code);
+            coursePackageOrder.setAppUserId(uid);
+            coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
+            coursePackageOrder.setCoursePackageId(paymentCourseVo.getId());
+            coursePackageOrder.setPayType(paymentCourseVo.getPayType());
+            coursePackageOrder.setClassHours(coursePackagePaymentConfig.getClassHours());
+            coursePackageOrder.setOriginalPrice(paymentCourseVo.getPrice());
+            coursePackageOrder.setUserCouponId(paymentCourseVo.getCouponId());
+            coursePackageOrder.setCashPayment(new BigDecimal(paymentPrice));
+            coursePackageOrder.setPayUserType(1);
+            coursePackageOrder.setPayStatus(1);
+            coursePackageOrder.setPayUserId(uid);
+            coursePackageOrder.setState(1);
+            coursePackageOrder.setInsertTime(new Date());
+            coursePackageOrderService.save(coursePackageOrder);
+        }else {
+            code = coursePackageOrderService.getById(paymentCourseVo.getOrderId()).getCode();
+        }
 
         ResultUtil alipay = payMoneyUtil.alipay("购买课程", "购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
         if (alipay.getCode() == 200) {
+            String finalCode = code;
             new Thread(new Runnable() {
                 @Override
                 public void run() {
@@ -1054,11 +1059,11 @@
                             wait += (min * num);
                             Thread.sleep(wait);
                             CoursePackageOrder coursePackageOrder1 = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
-                                    .eq("code", code).eq("state", 1));
+                                    .eq("code", finalCode).eq("state", 1));
                             if (coursePackageOrder1.getPayStatus() == 2) {
                                 break;
                             }
-                            AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code);
+                            AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(finalCode);
                             if (null != alipayTradeQueryResponse) {
                                 /**
                                  * WAIT_BUYER_PAY(交易创建,等待买家付款)、

--
Gitblit v1.7.1