From a9564eae9f0169ca39329b2f14a8f13d13358a0a Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期五, 17 十一月 2023 15:28:44 +0800 Subject: [PATCH] 11.7 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 283 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 163 insertions(+), 120 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index 0f00c88..85654ee 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java @@ -451,6 +451,12 @@ resp.setTotalCourseNums(tCoursePackagePayment.getTotalClassHours()); resp.setResidueNums(tCoursePackagePayment.getLaveClassHours()); resp.setDeductionNums(tCoursePackagePayment.getTotalClassHours()-tCoursePackagePayment.getLaveClassHours()); + resp.setCourseType(tCoursePackage.getType()); + if (tCoursePackage.getType()!=1||tCoursePackage.getState()==2||tCoursePackagePayment.getPayStatus()==1){ + resp.setIsAble(0); + }else { + resp.setIsAble(1); + } if (tCoursePackage.getValidDays()!=null){ String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); resp.setPeriodOfValidity(afterDayDate); @@ -848,7 +854,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()); } @@ -860,7 +866,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) { @@ -914,6 +920,13 @@ }) public ResultUtil<PayCourseInfoReq> payCourseInfo(Integer courseId){ try { + 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(packagePaymentService.payCourseInfo(courseId)); }catch (Exception e){ return ResultUtil.runErr(); @@ -1212,7 +1225,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())); @@ -1223,7 +1235,6 @@ -// Student student = studentClient.queryStudentById(coursePackagePayment.getStudentId()); TCoursePackage tCoursePackage = packageService.getById(coursePackagePayment.getCoursePackageId()); String classWeeks = tCoursePackage.getClassWeeks(); @@ -1231,15 +1242,6 @@ 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(); Integer laveClassHours = pay.getLaveClassHours(); @@ -1286,105 +1288,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课时 推送 @@ -1512,6 +1416,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()); @@ -1909,11 +1816,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 { @@ -2116,10 +2102,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(); @@ -2131,8 +2120,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(); @@ -2146,12 +2149,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()) @@ -2159,7 +2167,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){ Integer signInOrNot = list4.get(0).getSignInOrNot(); detailsListVo.setType(1); @@ -2168,15 +2178,48 @@ } 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); -- Gitblit v1.7.1