nickchange
2023-11-24 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -1166,6 +1166,10 @@
            }else {
                if (coursePackagePaymentServiceOne.getPayStatus()==1){
                    isContinue = 1;
                }
//                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours());
//                coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice());
//                coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue());
@@ -1203,11 +1207,11 @@
        }
        //新的订单添加
        if (paymentCourseVo.getOrderId()==null) {
            TOrder order = new TOrder();
            order.setIsPay(1);
            order.setPayType(2);
            order.setPayType(1);
            order.setAppUserId(uid);
            order.setPrice(paymentPrice);
            order.setCode(code);
@@ -1245,12 +1249,17 @@
                            Thread.sleep(wait);
                            List<TCoursePackagePayment> list = coursePackagePaymentService.list(new QueryWrapper<TCoursePackagePayment>().eq("state", 1).eq("code", code).eq("payType", 2));
                            TCoursePackagePayment one = list.get(0);
                            List<TOrder> list1 = orderService.list(new QueryWrapper<TOrder>().eq("code", code).eq("payType", 1));
                            TOrder order = list1.get(0);
                            AlipayTradeQueryResponse alipayTradeQueryResponse = payMoneyUtil.queryALIOrder(code);
                            if(one.getPayStatus() == 2){
                            if(order.getIsPay() == 2){
                                break;
                            }
                            if( one.getPayStatus() == 1){
                            if(order.getIsPay() == 1){
                                /**
                                 * WAIT_BUYER_PAY(交易创建,等待买家付款)、
                                 * TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、
@@ -1276,6 +1285,14 @@
                                    }
                                    coursePackagePaymentService.updateBatchById(list);
                                    for (TOrder tOrder : list1) {
                                        tOrder.setIsPay(2);
                                        tOrder.setOrderNum(tradeNo);
                                    }
                                    orderService.updateBatchById(list1);
                                    for (String s1 : split) {
@@ -1348,7 +1365,7 @@
                                    userCouponClient.sendUserCoupon(new SendCouponReq(uid,coursePackagePaymentConfig.getCouponIds()));
                                    for (TCoursePackagePayment coursePackagePayment : list) {
                                        addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentCourseVo.getPrice());
                                        addPackageStudent(paymentCourseVo.getId(),uid, finalSid,coursePackagePayment.getId(),paymentPrice);
                                    }
                                    moneyOut(tradeNo,tradeNo);
@@ -1483,6 +1500,9 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
        List<Long> pays = new ArrayList<>();
        TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId());
@@ -1561,6 +1581,8 @@
                    courseCounsumService.save(courseCounsum1);
                }
                pays.add(coursePackagePayment.getId());
            }else{
                coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour);
                if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) {
@@ -1618,10 +1640,34 @@
                }
                pays.add(coursePackagePaymentServiceOne.getId());
            }
        }
        if (paymentCourseVo.getOrderId()==null) {
            TOrder order = new TOrder();
            order.setIsPay(1);
            order.setPayType(2);
            order.setAppUserId(appUser.getId());
            order.setPrice(paymentPrice);
            order.setCode(code);
            String paysStr = pays.stream()
                    .map(String::valueOf)
                    .collect(Collectors.joining(","));
            order.setPaysId(paysStr);
            orderService.save(order);
        }
        Integer playPaiCoins = appUser.getPlayPaiCoins();
        appUser.setPlayPaiCoins(playPaiCoins - paymentPrice.intValue());
        appUserClient.updateAppUser(appUser);