nickchange
2023-11-27 aa7815675bafe30675a93420f8f2776dabb48cfd
cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java
@@ -515,16 +515,7 @@
    public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) {
        AppUser appUser = appuClient.queryAppUser(appUserId);
        CourseDetailsResponse response = new CourseDetailsResponse();
        CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(coursePayId);
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>()
                .eq("appUserId", coursePackageOrderStudent.getAppUserId())
                .eq("coursePackageId", coursePackageOrderStudent.getCoursePackageId())
                .eq("payStatus", 2)
                .eq("state", 1)
                .like("studentIds", coursePackageOrderStudent.getStudentId())
                .orderByDesc("insertTime")
                .last(" limit 0, 1")
        );
        CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId);
        response.setChooseHours(coursePackageOrder.getClassHours());
@@ -1203,6 +1194,7 @@
    @Override
    public List<Map<String, Object>> queryRegistrationRecord(Page<Map<String, Object>> page, QueryRegistrationRecord queryRegistrationRecord) {
        Integer coursePackageId = queryRegistrationRecord.getCoursePackageId();
        TCoursePackage coursePackage = coursePackageService.getById(coursePackageId);
        String userName = queryRegistrationRecord.getUserName();
        List<Integer> userIds = null;
        List<Integer> studentIds = null;
@@ -1219,12 +1211,23 @@
                studentIds = students.stream().map(Student::getId).collect(Collectors.toList());
            }
        }
        List<Map<String, Object>> list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);
        List<Map<String, Object>> list = new ArrayList<>();
        if (coursePackage.getType()==1){
      list = this.baseMapper.queryRegistrationRecord(page, coursePackageId, userIds, studentIds);}else {
            list = this.baseMapper.queryRegistrationRecord1(page, coursePackageId, userIds, studentIds);
        }
        for (Map<String, Object> map : list) {
            Long id = Long.valueOf(map.get("id").toString());
            Integer appUserId = Integer.valueOf(map.get("appUserId").toString());
            Integer studentId = Integer.valueOf(map.get("studentId").toString());
            Integer studentId = 0;
            if (coursePackage.getType()==1) {
                studentId = Integer.valueOf(map.get("studentId").toString());
            }else {
                studentId = Integer.valueOf(map.get("studentIds").toString());
            }
            TAppUser appUser = appuClient.queryAppUser1(appUserId);
            map.put("userName", null != appUser ? appUser.getName() : "");
@@ -1416,8 +1419,7 @@
            return ResultUtil.error("当前课包课时数不足");
        }
        TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId());
        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum());
        coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
        TCoursePackage coursePackage1 = coursePackageService.getById(req.getCourseId());
        //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录
        List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>()
                .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1)
@@ -1425,9 +1427,19 @@
        //已经排课但没有使用的课时数量
        int number = list1.size() * coursePackage.getNeedNum();
        Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours();
        laveClassHours1 -= number;
        //需要购买使用的课时数
        Integer num = req.getNum();
        //需要删除多余的排课记录
        if(number > laveClassHours1){
            int n = number - laveClassHours1;
        if(num.compareTo(laveClassHours1) > 0){
            //课时数差额
            int number1 = num - laveClassHours1;
            double o = number1 % coursePackage.getNeedNum();
            int l = 0;
            if(0 != o){
                l = 1;
            }
            int n = Double.valueOf(number1 / coursePackage.getNeedNum()).intValue() + l;
            for (int i = 0; i < n; i++) {
                CoursePackageScheduling coursePackageScheduling = list1.get(i);
                coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId());
@@ -1438,9 +1450,9 @@
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String classStartTime = coursePackage.getClassStartTime();
        String classEndTime = coursePackage.getClassEndTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String classStartTime = coursePackage1.getClassStartTime();
        String classEndTime = coursePackage1.getClassEndTime();
        String[] split5 = classStartTime.split(",");
        String[] split6 = classEndTime.split(",");
        List<String> time = req.getTime();
@@ -1450,7 +1462,7 @@
                coursePackageScheduling.setType(3);
                coursePackageScheduling.setAppUserId(userId);
                coursePackageScheduling.setStudentId(req.getStuId());
                coursePackageScheduling.setCoursePackageId(coursePackage.getId());
                coursePackageScheduling.setCoursePackageId(req.getCourseId());
                try {
                    Date parse = format.parse(s + " " + split5[i]);
                    Date parse1 = format.parse(s + " " + split6[i]);
@@ -1462,7 +1474,7 @@
                    CoursePackageStudent student1 = new CoursePackageStudent();
                    student1.setAppUserId(userId);
                    student1.setStudentId(req.getStuId());
                    student1.setCoursePackageId(coursePackage.getId());
                    student1.setCoursePackageId(req.getCourseId());
                    student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId());
                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                    student1.setSignInOrNot(1);
@@ -1477,7 +1489,8 @@
            }
        }
        coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum());
        coursePackageOrderStudentService.updateById(coursePackageOrderStudent);
        CourseCounsum courseCounsum = new CourseCounsum();