From 376ea9972dd1696f48f6951d69e2639c464e1972 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期四, 23 十一月 2023 18:47:28 +0800 Subject: [PATCH] 11.23 --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 46 insertions(+), 14 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 b1032f1..11db9d2 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 @@ -762,6 +762,7 @@ if(appUser.getIsVip() == 1) { if (coursePackagePaymentConfigVo.getVipPrice()<coursePackagePaymentConfigVo.getPaymentPrice()){ coursePackagePaymentConfigVo.setPaymentPrice(coursePackagePaymentConfigVo.getVipPrice()); + coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); } } @@ -856,9 +857,10 @@ paymentPrice = new BigDecimal(students.length).multiply(new BigDecimal(paymentPrice)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); Double playPaiCoin = coursePackagePaymentConfigVo.getPlayPaiCoin().doubleValue();//支付币 playPaiCoin = new BigDecimal(students.length).multiply(new BigDecimal(playPaiCoin)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); - if(paymentCourseVo.getPayType() != 3 && paymentPrice.compareTo(paymentCourseVo.getPrice()) != 0&&paymentCourseVo.getCouponId()!=null){ - return ResultUtil.error("支付金额异常,请刷新后重试"); - } + +// if(paymentCourseVo.getPayType() != 3 && paymentPrice.compareTo(paymentCourseVo.getPrice()) != 0&&paymentCourseVo.getCouponId()!=null){ +// return ResultUtil.error("支付金额异常,请刷新后重试"); +// } if(paymentCourseVo.getPayType() == 3 && playPaiCoin.compareTo(paymentCourseVo.getPrice()) != 0){ return ResultUtil.error("支付金额异常,请刷新后重试"); } @@ -1034,6 +1036,8 @@ return weixinpay; } + @Autowired + private TOrderService orderService; /** * 课程支付宝支付 @@ -1048,6 +1052,8 @@ String[] split = paymentCourseVo.getStudentIds().split(";"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + List<Long> pays = new ArrayList<>(); + for (String s : split) { // TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment(); // coursePackagePayment.setCode(code); @@ -1096,6 +1102,7 @@ } + if (coursePackagePaymentServiceOne==null) { TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment(); coursePackagePayment.setCode(code); @@ -1122,6 +1129,8 @@ sId = student.getId(); } + pays.add(coursePackagePayment.getId()); + // coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); // addPackageStudent(paymentCourseVo.getId(), uid, Integer.valueOf(s), coursePackagePayment.getId()); @@ -1134,6 +1143,9 @@ courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + + + if (hour!=0){ CourseCounsum courseCounsum1 = new CourseCounsum(); courseCounsum1.setPaymentId(coursePackagePayment.getId()); @@ -1145,6 +1157,9 @@ } + //保存订单 + + }else { @@ -1155,11 +1170,14 @@ // coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()); coursePackagePaymentServiceOne.setCode(code); // -// coursePackagePaymentServiceOne.setPayStatus(2); - coursePackagePaymentServiceOne.setSalesName("续课"); + coursePackagePaymentServiceOne.setPayStatus(1); +// coursePackagePaymentServiceOne.setSalesName("续课"); coursePackagePaymentServiceOne.setAppUserId(null); // coursePackagePaymentServiceOne.setPayStatus(2); coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); + pays.add(coursePackagePaymentServiceOne.getId()); + + // // Integer sId = null; // Student student = studentClient.queryDefaultStudent(uid); @@ -1179,6 +1197,25 @@ } + } + + + + if (paymentCourseVo.getOrderId()==null) { + TOrder order = new TOrder(); + order.setIsPay(1); + order.setPayType(2); + order.setAppUserId(uid); + order.setPrice(paymentPrice); + order.setCode(code); + + String paysStr = pays.stream() + .map(String::valueOf) + .collect(Collectors.joining(",")); + order.setPaysId(paysStr); + + orderService.save(order); + } Student student = studentClient.queryDefaultStudent(uid); @@ -1221,11 +1258,6 @@ String tradeNo = alipayTradeQueryResponse.getTradeNo(); if("TRADE_CLOSED".equals(s) || "TRADE_FINISHED".equals(s) || num == 10){ for (TCoursePackagePayment coursePackagePayment : list) { - if (coursePackagePayment.getStudentName()!=null){ - if (coursePackagePayment.getStudentName().equals("续课")){ - coursePackagePayment.setPayStatus(2); - } - } coursePackagePayment.setStatus(3); } @@ -1239,8 +1271,11 @@ coursePackagePayment.setAppUserId(null); } + coursePackagePaymentService.updateBatchById(list); + + for (String s1 : split) { - TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId())); + TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s1).eq("coursePackageId", paymentCourseVo.getId())); if (coursePackagePaymentServiceOne!=null) { TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1")); @@ -1300,7 +1335,6 @@ } } - coursePackagePaymentService.updateBatchById(list); System.out.println("===========到达支付"); // 2.0 String[] coupons = coursePackagePaymentConfig.getCouponIds().split(","); @@ -1311,8 +1345,6 @@ for (TCoursePackagePayment coursePackagePayment : list) { addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentCourseVo.getPrice()); - - } moneyOut(tradeNo,tradeNo); -- Gitblit v1.7.1