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