puzhibing
2023-12-08 32106f511657695e79d53e98a350ce70a36f6da1
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -183,6 +183,7 @@
        coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice());
        coursePackageOrder.setCashPayment(packagePayment.getCashPayment());
        coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin());
        coursePackageOrder.setCode(packagePayment.getCode());
        coursePackageOrder.setPayStatus(1);
        coursePackageOrder.setState(1);
        coursePackageOrder.setInsertTime(new Date());
@@ -242,11 +243,11 @@
                calendar.setTime(new Date());
                calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + validDays);
                coursePackageOrderStudent.setUseTime(calendar.getTime());
                coursePackageOrderStudent.setInsertTime(new Date());
                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                Integer studentId = Integer.valueOf(byId1.getStudentIds());
                //开始排课
                addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
                addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
            } else {
                Date useTime = coursePackageOrderStudent.getUseTime();
                coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours() + byId1.getClassHours());
@@ -275,16 +276,17 @@
                calendar9.add(Calendar.DAY_OF_MONTH, byId.getValidDays());
                Date time = calendar9.getTime();
                coursePackageOrderStudent.setUseTime(time);
                coursePackageOrderStudent.setInsertTime(new Date());
                coursePackageOrderStudentService.saveOrUpdate(coursePackageOrderStudent);
                Integer studentId = Integer.valueOf(byId1.getStudentIds());
                //中间断课,没有连续续费的情况需要重新排课
                if (useTime.compareTo(new Date()) < 0) {
                    addPackageStudent1(byId, byId1.getAppUserId(), studentId, coursePackageOrderStudent);
                    addPackageStudent1(byId, byId1.getAppUserId(), studentId, byId1, coursePackageOrderStudent);
                }
            }
        }
            if(byId.getType() == 2){
                addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null);
                addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), byId1, null);
            }
        return packagePaymentService.changeState(dto);
    }
@@ -469,7 +471,8 @@
                }
            }
            TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId());
            Student student = studentClient.queryStudentById(re.getStudentId());
            String[] split = re.getStudentIds().split(",");
            Student student = studentClient.queryStudentById(Integer.valueOf(split[0]));
            re.setPayStudent(student.getName());
            re.setPayUser(appUser.getName());
            re.setPhone(appUser.getPhone());
@@ -1728,7 +1731,7 @@
                if (student != null) {
                    sId = student.getId();
                }
                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment.getId());
                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePayment, coursePackagePayment.getId());
                CourseCounsum courseCounsum = new CourseCounsum();
@@ -1751,7 +1754,7 @@
                if (student != null) {
                    sId = student.getId();
                }
                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne.getId());
                addPackageStudent(orderDto.getClassId(), orderDto.getAppUserId(), Integer.valueOf(s), coursePackagePaymentServiceOne, coursePackagePaymentServiceOne.getId());
                CourseCounsum courseCounsum = new CourseCounsum();
@@ -1760,6 +1763,7 @@
                courseCounsum.setNum(orderDto.getClassHours());
                courseCounsum.setInsertTime(new Date());
                courseCounsum.setReason("积分兑换");
                courseCounsum.setInsertTime(new Date());
                courseCounsumService.save(courseCounsum);
@@ -1901,7 +1905,8 @@
    @Autowired
    private TCoursePackageService coursePackageService;
    private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrderStudent coursePackageOrderStudent) {
    private void addPackageStudent1(TCoursePackage tCoursePackage, Integer userId, Integer sId, CoursePackageOrder coursePackageOrder, CoursePackageOrderStudent coursePackageOrderStudent) {
        try {
            //1常规 2假期 3体验
            if (tCoursePackage.getType() == 1) {
@@ -2043,7 +2048,7 @@
            e.printStackTrace();
        }
    }
    private void addPackageStudent(Integer courseId, Integer userId, Integer sId, Long paymentId) throws ParseException {
    private void addPackageStudent(Integer courseId, Integer userId, Integer sId, TCoursePackagePayment coursePackagePayment, Long paymentId) throws ParseException {
        // 课包
        TCoursePackage tCoursePackage = coursePackageService.getById(courseId);
@@ -2717,18 +2722,18 @@
            ids.add(-1);
        }
        List<TCoursePackagePayment> list1 = packagePaymentService.listOne(ids);
        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
        if (collect.size() == 0) {
            collect.add(-1);
        }
        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
        for (TCoursePackagePayment tCoursePackagePayment : list1) {
            for (TCoursePackage tCoursePackage : list2) {
                if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
                    tCoursePackagePayment.setType(tCoursePackage.getType());
                }
            }
        }
//        List<Integer> collect = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
//        if (collect.size() == 0) {
//            collect.add(-1);
//        }
//        List<TCoursePackage> list2 = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().in(TCoursePackage::getId, collect));
//        for (TCoursePackagePayment tCoursePackagePayment : list1) {
//            for (TCoursePackage tCoursePackage : list2) {
//                if (tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())) {
//                    tCoursePackagePayment.setType(tCoursePackage.getType());
//                }
//            }
//        }
        List<Map<String, Object>> mapList = new ArrayList<>();
@@ -2737,7 +2742,7 @@
            map.put("name", tCoursePackageType.getName());
            int a = 0;
            for (TCoursePackagePayment tCoursePackagePayment : list1) {
                if (tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
                if (null != tCoursePackagePayment.getType() && tCoursePackagePayment.getType().equals(tCoursePackageType.getId())) {
                    a += tCoursePackagePayment.getLaveClassHours();
                }
            }
@@ -3200,4 +3205,18 @@
        return map;
    }
    @ResponseBody
    @PostMapping("/coursePackagePayment/queryPaymentCoursePackage")
    public List<Integer> queryPaymentCoursePackage(@RequestBody List<Integer> storeIds){
        List<TCoursePackage> list = coursePackageService.list(new QueryWrapper<TCoursePackage>().eq("auditStatus", 2)
                .ne("status", 4).eq("state", 1).in("storeId", storeIds));
        List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList());
        if(collect.size() == 0){
            return new ArrayList<>();
        }
        List<CoursePackageOrder> list1 = coursePackageOrderService.list(new QueryWrapper<CoursePackageOrder>().in("coursePackageId", collect).eq("payStatus", 2).eq("status", 1));
        return list1.stream().map(CoursePackageOrder::getAppUserId).collect(Collectors.toList());
    }
}