puzhibing
2023-12-14 f21cf2729f0ebf3cfea564c8bc0fc7349cdabe48
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java
@@ -927,27 +927,40 @@
        CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        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.setStatus(1);
        coursePackageOrder.setState(1);
        coursePackageOrder.setInsertTime(new Date());
        coursePackageOrderService.save(coursePackageOrder);
        Long orderId = paymentCourseVo.getOrderId();
        if(null == orderId){
            //生成支付订单
            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.setStatus(1);
            coursePackageOrder.setState(1);
            coursePackageOrder.setInsertTime(new Date());
            coursePackageOrderService.save(coursePackageOrder);
            orderId = coursePackageOrder.getId();
        }else{
            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(orderId);
            code = coursePackageOrder.getCode();
            coursePackageOrder.setPayType(1);
            coursePackageOrder.setAppUserId(null);
            coursePackageOrder.setPayUserType(1);
            coursePackageOrder.setPayUserId(uid);
            coursePackageOrderService.updateById(coursePackageOrder);
        }
        ResultUtil weixinpay = payMoneyUtil.weixinpay("购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/weChatPaymentCourseCallback", "APP", "");
        if (weixinpay.getCode() == 200) {
            String finalCode = code;
            new Thread(new Runnable() {
                @Override
                public void run() {
@@ -959,11 +972,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;
                            }
                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(code, "");
                            ResultUtil<Map<String, String>> resultUtil = payMoneyUtil.queryWXOrder(finalCode, "");
                            if (resultUtil.getCode() == 200 && coursePackageOrder1.getPayStatus() == 1) {
                                /**
                                 * SUCCESS—支付成功,
@@ -1023,8 +1036,8 @@
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
        //生成支付订单
        CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
        if (paymentCourseVo.getOrderId()==null){
            CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
            coursePackageOrder.setCode(code);
            coursePackageOrder.setAppUserId(uid);
            coursePackageOrder.setStudentIds(paymentCourseVo.getStudentIds());
@@ -1042,7 +1055,13 @@
            coursePackageOrder.setInsertTime(new Date());
            coursePackageOrderService.save(coursePackageOrder);
        }else {
            code = coursePackageOrderService.getById(paymentCourseVo.getOrderId()).getCode();
            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(paymentCourseVo.getOrderId());
            code = coursePackageOrder.getCode();
            coursePackageOrder.setPayType(2);
            coursePackageOrder.setAppUserId(null);
            coursePackageOrder.setPayUserType(1);
            coursePackageOrder.setPayUserId(uid);
            coursePackageOrderService.updateById(coursePackageOrder);
        }
        ResultUtil alipay = payMoneyUtil.alipay("购买课程", "购买课程", coursePackagePaymentConfig.getId().toString(), code, paymentPrice.toString(), "/base/course/aliPaymentCourseCallback");
@@ -1125,27 +1144,39 @@
        CoursePackagePaymentConfig coursePackagePaymentConfig = coursePackagePaymentConfigService.getById(paymentCourseVo.getCoursePackagePaymentConfigId());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
        String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);
        //生成支付订单
        CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
        coursePackageOrder.setCode(code);
        coursePackageOrder.setAppUserId(appUser.getId());
        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.setPlayPaiCoin(paymentCourseVo.getPrice().intValue());
        coursePackageOrder.setPayUserType(1);
        coursePackageOrder.setPayStatus(2);
        coursePackageOrder.setPayUserId(appUser.getId());
        coursePackageOrder.setStatus(1);
        coursePackageOrder.setState(1);
        coursePackageOrder.setInsertTime(new Date());
        coursePackageOrderService.save(coursePackageOrder);
        Long orderId = paymentCourseVo.getOrderId();
        if(null == orderId){
            //生成支付订单
            CoursePackageOrder coursePackageOrder = new CoursePackageOrder();
            coursePackageOrder.setCode(code);
            coursePackageOrder.setAppUserId(appUser.getId());
            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.setPlayPaiCoin(paymentCourseVo.getPrice().intValue());
            coursePackageOrder.setPayUserType(1);
            coursePackageOrder.setPayStatus(2);
            coursePackageOrder.setPayUserId(appUser.getId());
            coursePackageOrder.setStatus(1);
            coursePackageOrder.setState(1);
            coursePackageOrder.setInsertTime(new Date());
            coursePackageOrderService.save(coursePackageOrder);
            orderId = coursePackageOrder.getId();
        }else{
            CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(orderId);
            coursePackageOrder.setPayType(3);
            coursePackageOrder.setAppUserId(null);
            coursePackageOrder.setPayUserId(appUser.getId());
            coursePackageOrder.setPayUserType(1);
            coursePackageOrder.setPayStatus(2);
            coursePackageOrderService.updateById(coursePackageOrder);
        }
        addCoursePackageOrderStudent(coursePackageOrder.getId(), coursePackagePaymentConfig);
        addCoursePackageOrderStudent(orderId, coursePackagePaymentConfig);
        return ResultUtil.success();
    }