44323
2023-11-27 aa45df63fa01b2f010560e4157f00bec5150a1fb
cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java
@@ -38,6 +38,7 @@
import net.bytebuddy.asm.Advice;
import org.aspectj.weaver.ast.Var;
import io.swagger.models.auth.In;
import org.checkerframework.checker.units.qual.C;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
@@ -129,14 +130,36 @@
    private ICoursePackageSchedulingService coursePackageSchedulingService;
    @Autowired
    private CoursePackageStudentService coursePackageStudentService;
    @Autowired
    private TOrderService orderService;
    private final SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
    /**
     * 查询学员入学时间 根据第一次购买课包的时间
     * @return
     */
    @RequestMapping("/base/coursePackagePayment/getTime")
    public String getTime(@RequestBody Integer studentId){
        List<TCoursePackagePayment> list = packagePaymentService.list(new QueryWrapper<TCoursePackagePayment>()
                .eq("studentId", studentId)
                .orderByDesc("insertTime")
                .last("LIMIT 1"));
        if (list.size()>0){
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date insertTime = list.get(0).getInsertTime();
            String format1 = format.format(list.get(0).getInsertTime());
            return format1;
        }
        return "";
    }
    /**
     * 添加购课记录-后台
     * @return
     */
    @RequestMapping("/base/coursePackagePayment/add")
    public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment){
        packagePayment.setInsertTime(new Date());
        packagePayment.setInsertTime(new Date());
        Integer studentId = packagePayment.getStudentId();
@@ -254,6 +277,7 @@
        coursePackageStudent.setAppUserId(packagePayment.getAppUserId());
        packagePaymentService.save(packagePayment);
        coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId());
        return coursePackageStudentService.save(coursePackageStudent);
    }
    /**
@@ -330,8 +354,7 @@
                    re.setBuyTypeName("手动支付"+"-"+re.getBuyTypeName());
                }
            }
            BigDecimal subtract = re.getOriginalPrice().subtract(re.getCashPayment());
            re.setDiscountAmount(subtract);
            // 如果支付用户类型为管理员 则购买方式则为1线下购买
            if (re.getPayUserType()!=null){
                if (re.getPayUserType()== 2){
@@ -347,6 +370,13 @@
                    }
                }
            }
            if(re.getCashPayment()==null){
                BigDecimal bigDecimal = new BigDecimal("0.00");
                re.setDiscountAmount(bigDecimal);
                continue;
            }
            BigDecimal subtract = re.getOriginalPrice().subtract(re.getCashPayment());
            re.setDiscountAmount(subtract);
            }
        if (query.getPayStudent()== null || query.getPayStudent().equals("")){
            if (query.getPayUser()== null || query.getPayUser().equals("")){
@@ -432,9 +462,17 @@
                .eq("appUserId",student.getAppUserId())
                .eq("studentId",stuId).eq("payStatus",2));
        Date date = new Date();
        if (byUserId.size() > 0 ){
            for (TCoursePackagePayment tCoursePackagePayment : byUserId) {
                TCoursePackage tCoursePackage = tcpService.getById(tCoursePackagePayment.getCoursePackageId());
                if (tCoursePackagePayment.getUseTime()!=null) {
                    if (tCoursePackagePayment.getUseTime().after(date)) {
                        date = tCoursePackagePayment.getUseTime();
                    }
                }
                if (tCoursePackage.getType()==3){
                    continue;
                }
@@ -445,13 +483,38 @@
                resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours());
                resp.setResidueNums(tCoursePackagePayment.getLaveClassHours());
                resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours());
                if (tCoursePackage.getValidDays()!=null){
                String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + "");
                resp.setPeriodOfValidity(afterDayDate);
                resp.setCourseType(tCoursePackage.getType());
                if (tCoursePackage.getType()!=1||tCoursePackage.getState()==2||tCoursePackagePayment.getPayStatus()==1){
                    resp.setIsAble(0);
                }else {
                    resp.setIsAble(1);
                }
                if (tCoursePackagePayment.getUseTime()!=null){
//                String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + "");
//                resp.setPeriodOfValidity(afterDayDate);
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    String str = sdf.format(tCoursePackagePayment.getUseTime());
                    resp.setPeriodOfValidity(str);
                }
                resps.add(resp);
            }
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String str = sdf.format(date);
        for (StuCourseResp resp : resps) {
            resp.setPeriodOfValidity(str);
        }
        return resps;
    }
@@ -539,11 +602,13 @@
                    .in("id", collect));
            list.forEach(vo -> {
                StuSessionDetailsVo detVo = new StuSessionDetailsVo();
                detVo.setSessionid(vo.getId());
                detVo.setSessionName(vo.getName());
                String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(),vo.getValidDays() + "");
                detVo.setPeriodOfValidity(afterDayDate);
                detailsVos.add(detVo);
                if (vo.getType()!=2) {
                    detVo.setSessionid(vo.getId());
                    detVo.setSessionName(vo.getName());
                    String afterDayDate = DateUtil.getAfterDayDate2(vo.getInsertTime(), vo.getValidDays() + "");
                    detVo.setPeriodOfValidity(afterDayDate);
                    detailsVos.add(detVo);
                }
            });
        }
        return detailsVos;
@@ -842,7 +907,7 @@
//            }
            QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("appUserId", appUserId);
            QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId());
            if (ToolUtil.isNotEmpty(search.getCourseTypeId())){
                queryWrapper1.eq("coursePackageId",search.getCourseTypeId());
            }
@@ -854,7 +919,7 @@
            }
            System.out.println("======longs========"+longs);
           List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
//           List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId"));
           List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs);
           if (search.getSearch()!=null) {
@@ -908,7 +973,14 @@
    })
    public ResultUtil<PayCourseInfoReq> payCourseInfo(Integer courseId){
        try {
            return ResultUtil.success(packagePaymentService.payCourseInfo(courseId));
            PayCourseInfoReq payCourseInfoReq = packagePaymentService.payCourseInfo(courseId);
//            Arrays.sort(payCourseInfoReq.getDay(), (a, b) -> a.compareTo(b));
            Collections.sort(payCourseInfoReq.getDay(), Comparator.comparing(String::toString));
            return ResultUtil.success(payCourseInfoReq);
        }catch (Exception e){
            return ResultUtil.runErr();
        }
@@ -1025,9 +1097,13 @@
    @ApiOperation(value = "已报名课程详情", tags = {"APP-开始上课"})
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
            @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = false),
            @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = false),
            @ApiImplicitParam(name = "coursePayId" ,value = "课包记录id",dataType = "long"),
            @ApiImplicitParam(name = "orderId" ,value = "订单id",dataType = "int")
    })
    public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId){
    public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat,Integer orderId){
        try {
            Integer appUserId = tokenUtil.getUserIdFormRedis();
            if(null == appUserId){
@@ -1035,7 +1111,9 @@
            }
            return ResultUtil.success(packagePaymentService.queryRegisteredCourseDetails(coursePayId,appUserId));
        }catch (Exception e){
            return ResultUtil.runErr();
            e.printStackTrace();
            throw new RuntimeException(e.getMessage());
//            return ResultUtil.runErr();
        }
    }
@@ -1206,7 +1284,6 @@
//                    coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().eq("courseId", coursePackagePayment.getCoursePackageId()));
                    List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId()));
@@ -1217,7 +1294,6 @@
//                    Student student = studentClient.queryStudentById(coursePackagePayment.getStudentId());
                    TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId());
                    String classWeeks = tCoursePackage.getClassWeeks();
@@ -1225,16 +1301,11 @@
                    TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.getStudentId()));
//                        List<CoursePackageStudent> studentCourse1 = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", pay.getStudentId()).eq("coursePackageId", pay.getCoursePackageId()));
//                        List<Long> collect1 = studentCourse1.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
                        //拿到最后一天的排课记录
//                        CoursePackageScheduling cs = null;
//                        if (collect1.size()>0) {
//                            cs = coursePackageSchedulingService.getOne(new QueryWrapper<CoursePackageScheduling>().in("id", collect1).orderByDesc("classDate").last("limit 1"));
//
//                        }
                        Date today = new Date();
                    Calendar calendar = Calendar.getInstance();
                    calendar.add(Calendar.DATE, -1);
                    today = calendar.getTime();
                    Integer laveClassHours = pay.getLaveClassHours();
                    Integer codeTime = tCoursePackage.getCodeTime();
@@ -1280,105 +1351,7 @@
                        }
                    }
//                    }
//                    // 本周周几
//                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date()) - 1;
//                    for (Integer integer : week) {
//                        if (integer < i) {
//                            // 找下一周的时间
//                            Calendar instance = Calendar.getInstance();
//                            instance.add(Calendar.DATE, 7 - (i - integer));
//                            Date time = instance.getTime();
//
//                            for (int i1 = 0; i1 < split.length; i1++) {
//
//                                CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
//                                coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
//                                Date parse = format1.parse(format.format(time) + " " + split[i1]);
//                                Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
//                                coursePackageScheduling.setClassDate(parse);
//                                coursePackageScheduling.setEndDate(parse1);
//                                coursePackageScheduling.setStatus(1);
//                                coursePackageSchedulingService.save(coursePackageScheduling);
//                                CoursePackageStudent student1 = new CoursePackageStudent();
//                                student1.setAppUserId(student.getAppUserId());
//                                student1.setStudentId(student.getId());
//                                student1.setCoursePackageId(tCoursePackage.getId());
//                                student1.setCoursePackagePaymentId(coursePackagePayment.getId());
//                                student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
//                                student1.setSignInOrNot(1);
//                                student1.setReservationStatus(1);
//                                student1.setInsertTime(new Date());
//                                studentService.save(student1);
//
//                            }
//
//                        } else if (integer > i) {
//                            Calendar instance = Calendar.getInstance();
//                            instance.add(Calendar.DATE, integer - i);
//                            Date time1 = instance.getTime();
//                            List<Date> list6 = new ArrayList<>();
//                            list6.add(time1);
//                            instance.add(Calendar.DATE, 7);
//                            Date time2 = instance.getTime();
//                            list6.add(time2);
//                            for (Date time : list6) {
//                                for (int i1 = 0; i1 < split.length; i1++) {
//                                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
//                                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
//                                    Date parse = format1.parse(format.format(time) + " " + split[i1]);
//                                    Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
//                                    coursePackageScheduling.setClassDate(parse);
//                                    coursePackageScheduling.setEndDate(parse1);
//                                    coursePackageScheduling.setStatus(1);
//                                    coursePackageSchedulingService.save(coursePackageScheduling);
//
//                                    CoursePackageStudent student1 = new CoursePackageStudent();
//                                    student1.setAppUserId(student.getAppUserId());
//                                    student1.setStudentId(student.getId());
//                                    student1.setCoursePackageId(tCoursePackage.getId());
//                                    student1.setCoursePackagePaymentId(coursePackagePayment.getId());
//                                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
//                                    student1.setSignInOrNot(1);
//                                    student1.setReservationStatus(1);
//                                    student1.setInsertTime(new Date());
//                                    studentService.save(student1);
//                                }
//                            }
//
//                        } else {
//                            Calendar instance = Calendar.getInstance();
//                            instance.add(Calendar.DATE, 7);
//                            Date time = instance.getTime();
//
//                            for (int i1 = 0; i1 < split.length; i1++) {
//                                CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
//                                coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
//                                Date parse = format1.parse(format.format(time) + " " + split[i1]);
//                                Date parse1 = format1.parse(format.format(time) + " " + split1[i1]);
//                                coursePackageScheduling.setClassDate(parse);
//                                coursePackageScheduling.setEndDate(parse1);
//                                coursePackageScheduling.setStatus(1);
//                                coursePackageSchedulingService.save(coursePackageScheduling);
//
//                                CoursePackageStudent student1 = new CoursePackageStudent();
//                                student1.setAppUserId(student.getAppUserId());
//                                student1.setStudentId(student.getId());
//                                student1.setCoursePackageId(tCoursePackage.getId());
//                                student1.setCoursePackagePaymentId(coursePackagePayment.getId());
//                                student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
//                                student1.setSignInOrNot(1);
//                                student1.setReservationStatus(1);
//                                student1.setInsertTime(new Date());
//                                studentService.save(student1);
//                            }
//                        }
//                    }
                        // 2.0 少于3课时 推送
@@ -1472,6 +1445,7 @@
            for (CancelledClasses cancelledClasses : voucher) {
                TCoursePackagePayment coursePackagePayment = packagePaymentService.getById(cancelledClasses.getCoursePackagePaymentId());
                coursePackagePayment.setLaveClassHours(coursePackagePayment.getLaveClassHours() + cancelledClasses.getCancelledClassesNumber());
                coursePackagePayment.setAppUserId(null);
                packagePaymentService.updateById(coursePackagePayment);
                cancelledClassesService.removeById(cancelledClasses.getId());
@@ -1506,6 +1480,9 @@
        for (TCoursePackagePayment tCoursePackagePayment : list) {
            Integer coursePackageId = tCoursePackagePayment.getCoursePackageId();
            TCoursePackage byId = tcpService.getById(coursePackageId);
            if (byId.getType()==3){
                continue;
            }
            if(storeIds.contains(byId.getStoreId())){
                PayCourseRes payCourseRes = new PayCourseRes();
                payCourseRes.setCourseNum(tCoursePackagePayment.getLaveClassHours());
@@ -1903,11 +1880,90 @@
    // 2.0 送课时
    @PostMapping("/base/coursePack/sendHours")
    public Integer sendHours(@RequestBody  String s){
        String[] split = s.split("_");
        TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split[0]));
        byId.setTotalClassHours(byId.getTotalClassHours()+Integer.valueOf(split[2]));
        boolean b = packagePaymentService.updateHoursById(byId,Integer.valueOf(split[2]));
    public Integer sendHours(@RequestBody  String s) throws ParseException {
        String[] split2 = s.split("_");
        TCoursePackagePayment byId = packagePaymentService.getById(Long.valueOf(split2[0]));
        byId.setTotalClassHours(byId.getTotalClassHours()+Integer.valueOf(split2[2]));
        boolean b = packagePaymentService.updateHoursById(byId,Integer.valueOf(split2[2]));
        CourseCounsum courseCounsum = new CourseCounsum();
        courseCounsum.setPaymentId(byId.getId());
        courseCounsum.setChangeType(1);
        courseCounsum.setNum(Integer.valueOf(split2[2]));
        courseCounsum.setInsertTime(new Date());
        courseCounsum.setReason("介绍有礼");
        courseCounsumService.save(courseCounsum);
        List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId()));
        List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList());
        coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect));
        coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", byId.getStudentId()).eq("coursePackageId", byId.getCoursePackageId()));
        TCoursePackage tCoursePackage = packageService.getById(byId.getCoursePackageId());
        String classWeeks = tCoursePackage.getClassWeeks();
        List<Integer> week = week(classWeeks);
        TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", byId.getCoursePackageId()).eq("studentId", byId.getStudentId()));
        Date today = new Date();
        Integer laveClassHours = pay.getLaveClassHours();
        Integer codeTime = tCoursePackage.getCodeTime();
        Integer can = laveClassHours/codeTime;
        int count = 0;
        String[] split = tCoursePackage.getClassStartTime().split(",");
        String[] split1 = tCoursePackage.getClassEndTime().split(",");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Date[] dates = generateDateArray(14,today);
        for (Date date : dates) {
            if (count==can){
                break;
            }
            int wei =  cn.hutool.core.date.DateUtil.dayOfWeek(date);
            if (week.contains(wei)){
                for (int i1 = 0; i1 < split.length; i1++) {
                    if (count==can){
                        break;
                    }
                    CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling();
                    coursePackageScheduling.setCoursePackageId(tCoursePackage.getId());
                    Date parse = format1.parse(format.format(date) + " " + split[i1]);
                    Date parse1 = format1.parse(format.format(date) + " " + split1[i1]);
                    coursePackageScheduling.setClassDate(parse);
                    coursePackageScheduling.setEndDate(parse1);
                    coursePackageScheduling.setStatus(1);
                    coursePackageSchedulingService.save(coursePackageScheduling);
                    CoursePackageStudent student1 = new CoursePackageStudent();
                    student1.setAppUserId(pay.getAppUserId());
                    student1.setStudentId(pay.getStudentId());
                    student1.setCoursePackageId(pay.getCoursePackageId());
                    student1.setCoursePackagePaymentId(pay.getId());
                    student1.setCoursePackageSchedulingId(coursePackageScheduling.getId());
                    student1.setSignInOrNot(1);
                    student1.setReservationStatus(1);
                    student1.setInsertTime(new Date());
                    studentService.save(student1);
                    count++;
                }
            }
        }
        if(b){
            return 1;
        }else {
@@ -2082,10 +2138,15 @@
    HashMap<String, Object> weeksOfCourseDetailsList(@RequestBody CourseDetailReq courseDetailReq){
        HashMap<String, Object> map = new HashMap<>();
        ArrayList<DetailsListVo> objects = new ArrayList<>();
        try {
//        try {
            String time = courseDetailReq.getTime();
            Date parse = new SimpleDateFormat("yyyy-MM-dd").parse(time);
            int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1;
        Date parse = null;
        try {
            parse = new SimpleDateFormat("yyyy-MM-dd").parse(time);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
        int i = cn.hutool.core.date.DateUtil.dayOfWeek(parse)-1;
            String week = week(i);
            Store store = sreClient.queryStoreById(courseDetailReq.getStoreId());
            String lat = store.getLat();
@@ -2110,10 +2171,13 @@
            List<TCoursePackagePayment> list1 = packagePaymentService.list(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, courseDetailReq.getAppUserId()).eq(TCoursePackagePayment::getStudentId, courseDetailReq.getStuId()).in(TCoursePackagePayment::getCoursePackageId, collect));
            List<Integer> collect1 = list1.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList());
            List<Long> ids = list1.stream().map(TCoursePackagePayment::getId).collect(Collectors.toList());
            for (TCoursePackage tCoursePackage : list) {
                DetailsListVo detailsListVo = new DetailsListVo();
                detailsListVo.setId(tCoursePackage.getId());
                detailsListVo.setName(tCoursePackage.getName());
                detailsListVo.setCourseType(tCoursePackage.getType());
                String classStartTime = tCoursePackage.getClassStartTime();
                String[] split = classStartTime.split(",");
                String classEndTime = tCoursePackage.getClassEndTime();
@@ -2125,8 +2189,22 @@
                        strings.add(s);
                    }
                }
                if (detailsListVo.getCourseType()==1) {
                    detailsListVo.setTime(strings);
                }else {
                    Date startTime = tCoursePackage.getStartTime();
                    Date endTime = tCoursePackage.getEndTime();
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    String formattedStartTime = sdf.format(startTime);
                    String formattedEndTime = sdf.format(endTime);
                detailsListVo.setTime(strings);
                    String result = formattedStartTime + "至" + formattedEndTime;
                    List<String> stringLists = new ArrayList<>();
                    stringLists.add(result);
                    detailsListVo.setTime(stringLists);
                }
                //价格
                List<CoursePackagePaymentConfig> list2 = icppcService.list(new LambdaQueryWrapper<CoursePackagePaymentConfig>().eq(CoursePackagePaymentConfig::getCoursePackageId, tCoursePackage.getId()).orderByAsc(CoursePackagePaymentConfig::getCashPayment));
                if (list2.size() > 0) {
                    Double cashPayment = list2.get(0).getCashPayment();
@@ -2140,12 +2218,17 @@
                            .like(CoursePackageScheduling::getClassDate, courseDetailReq.getTime())
                    );
                    if(list3.size()==0){
                        break;
                        detailsListVo.setType(2);
                        objects.add(detailsListVo);
                        continue;
                    }
                    //排课的ids
                    List<Long> collect2 = list3.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList());
                    if(collect2.size()==0){
                        collect2.add(-1l);
                    }
                    List<CoursePackageStudent> list4 = cspsService.list(new LambdaQueryWrapper<CoursePackageStudent>()
                            .eq(CoursePackageStudent::getAppUserId, courseDetailReq.getAppUserId())
                            .eq(CoursePackageStudent::getCoursePackageId, tCoursePackage.getId())
@@ -2153,7 +2236,9 @@
                                    in(CoursePackageStudent::getCoursePackagePaymentId, ids)
                    );
                    if(list4.size()>0){
                    List<CoursePackageStudent> list5 = cspsService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", courseDetailReq.getStuId()).eq("coursePackageId",tCoursePackage.getId()));
                    if(list5.size()>0&&list4.size()>0){
                        Integer signInOrNot = list4.get(0).getSignInOrNot();
                        detailsListVo.setType(1);
@@ -2162,23 +2247,56 @@
                        }
                        detailsListVo.setIsType(list4.get(0).getType());
                        for (CoursePackageStudent coursePackageStudent : list4) {
                            Integer signInOrNot1 = coursePackageStudent.getSignInOrNot();
                            detailsListVo.setType(1);
                            if(signInOrNot1==2){
                                detailsListVo.setType(3);
                            }
                            detailsListVo.setIsType(coursePackageStudent.getType());
                            CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId());
                            Date classDate = coursePackageScheduling.getClassDate();
                            Date endDate = coursePackageScheduling.getEndDate();
                            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
                            String formattedClassDate = sdf.format(classDate);
                            String formattedEndDate = sdf.format(endDate);
                            String result = formattedClassDate + "-" + formattedEndDate;
                            List<String> strings1 =new ArrayList<>();
                            strings1.add(result);
                            detailsListVo.setTime(strings1);
                            DetailsListVo detailsListVo1 = new DetailsListVo();
//                            detailsListVo1.setId(coursePackageStudent.getId());
                            BeanUtils.copyProperties(detailsListVo,detailsListVo1);
                            objects.add(detailsListVo1);
                        }
                    }else {
                        detailsListVo.setType(2);
                        objects.add(detailsListVo);
                    }
                } else {
                    detailsListVo.setType(2);
                    objects.add(detailsListVo);
                }
                objects.add(detailsListVo);
//                objects.add(detailsListVo);
            }
            map.put("data",objects);
            return map;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return map;
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//        return map;
    }
    private String week(int i){
@@ -2227,7 +2345,7 @@
        for (TCoursePackagePayment tCoursePackagePayment : list1) {
            for (TCoursePackage tCoursePackage : list2) {
                if(tCoursePackagePayment.getCoursePackageId().equals(tCoursePackage.getId())){
                    tCoursePackagePayment.setType(tCoursePackage.getType());
                    tCoursePackagePayment.setType(tCoursePackage.getCoursePackageTypeId());
                }
            }
        }
@@ -2263,6 +2381,7 @@
        List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.listOne(userPt);
        int sum = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getTotalClassHours).sum();
        int sum1 = tCoursePackagePayments.stream().mapToInt(TCoursePackagePayment::getLaveClassHours).sum();
        // 查询介绍有礼课时数量
        map.put("allCourse",sum-sum1);
        //所有课包