| | |
| | | @Autowired |
| | | private ICoursePackageOrderService coursePackageOrderService; |
| | | |
| | | @Autowired |
| | | private ICoursePackageOrderStudentService coursePackageOrderStudentService; |
| | | |
| | | @Autowired |
| | | private TCoursePackageService coursePackageService; |
| | | |
| | | |
| | | |
| | | |
| | | @Override |
| | | public CourseDetailsResponse queryRegisteredCourseDetails(Long coursePayId, Integer appUserId, String lon, String lat) { |
| | | AppUser appUser = appuClient.queryAppUser(appUserId); |
| | | CourseDetailsResponse response = new CourseDetailsResponse(); |
| | | CoursePackageOrder coursePackageOrder = coursePackageOrderService.getById(coursePayId); |
| | | 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") |
| | | ); |
| | | |
| | | |
| | | response.setChooseHours(coursePackageOrder.getClassHours()); |
| | | |
| | | if (null != coursePackageOrder) { |
| | |
| | | Integer integer = cpsMapper.selectCount(new QueryWrapper<CoursePackageStudent>().eq("appUserId", appUserId) |
| | | .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 2)); |
| | | map.put("already", integer); |
| | | // if (student != null && student.getName().equals("杨锴1")) { |
| | | // map.put("totalClassHours", "测试"); |
| | | // } |
| | | ; |
| | | } |
| | | return list; |
| | | } |
| | |
| | | @Override |
| | | public List<PayCourseRes> getMyCourseList(Integer storeId, Integer appUserId) { |
| | | // 找到购买的课包 |
| | | List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new LambdaQueryWrapper<TCoursePackagePayment>().eq(TCoursePackagePayment::getAppUserId, appUserId)); |
| | | List<CoursePackageOrderStudent> tCoursePackagePayments = coursePackageOrderStudentService.list(new LambdaQueryWrapper<CoursePackageOrderStudent>().eq(CoursePackageOrderStudent::getAppUserId, appUserId)); |
| | | ArrayList<PayCourseRes> payCourseRes = new ArrayList<>(); |
| | | for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { |
| | | for (CoursePackageOrderStudent tCoursePackagePayment : tCoursePackagePayments) { |
| | | TCoursePackage tCoursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); |
| | | if (tCoursePackage.getType() != 1) { |
| | | continue; |
| | |
| | | // 添加购买课时 paytyoe为7 |
| | | // 排课可期 判断课程时间段 添加排课表 添加上课记录表 |
| | | // 找到原来的课包 扣课时 |
| | | TCoursePackagePayment tCoursePackagePayment = this.baseMapper.selectById(req.getOldCourseId()); |
| | | if (req.getNum() > tCoursePackagePayment.getLaveClassHours()) { |
| | | CoursePackageOrderStudent coursePackageOrderStudent = coursePackageOrderStudentService.getById(req.getOldCourseId()); |
| | | if (req.getNum() > coursePackageOrderStudent.getLaveClassHours()) { |
| | | return ResultUtil.error("当前课包课时数不足"); |
| | | } |
| | | tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours() - req.getNum()); |
| | | this.baseMapper.updateHoursById(tCoursePackagePayment.getId(), -req.getNum()); |
| | | TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); |
| | | coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum()); |
| | | coursePackageOrderStudentService.updateById(coursePackageOrderStudent); |
| | | //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 |
| | | List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() |
| | | .eq("studentId", coursePackageOrderStudent.getStudentId()).eq("status", 1) |
| | | .eq("type", 1).orderByDesc("classDate")); |
| | | //已经排课但没有使用的课时数量 |
| | | int number = list1.size() * coursePackage.getNeedNum(); |
| | | Integer laveClassHours1 = coursePackageOrderStudent.getLaveClassHours(); |
| | | //需要删除多余的排课记录 |
| | | if(number > laveClassHours1){ |
| | | int n = number - laveClassHours1; |
| | | for (int i = 0; i < n; i++) { |
| | | CoursePackageScheduling coursePackageScheduling = list1.get(i); |
| | | coursePackageSchedulingService.getBaseMapper().deleteById(coursePackageScheduling.getId()); |
| | | |
| | | |
| | | List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", tCoursePackagePayment.getStudentId()).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId())); |
| | | List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); |
| | | |
| | | List<CoursePackageScheduling> list = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id", collect).le("classDate", new Date())); |
| | | coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id", collect).le("classDate", new Date())); |
| | | List<Long> collect1 = list.stream().map(CoursePackageScheduling::getId).collect(Collectors.toList()); |
| | | |
| | | |
| | | // coursePackageSchedulingService.remove(new QueryWrapper<CoursePackageScheduling>().in("id",collect)); |
| | | coursePackageStudentService.remove(new QueryWrapper<CoursePackageStudent>().eq("studentId", tCoursePackagePayment.getStudentId()).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId())); |
| | | |
| | | TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId()); |
| | | String classWeeks = tCoursePackage.getClassWeeks(); |
| | | List<Integer> week = week(classWeeks); |
| | | |
| | | TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", tCoursePackagePayment.getCoursePackageId()).eq("studentId", tCoursePackagePayment.getStudentId())); |
| | | |
| | | |
| | | Date today = new Date(); |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.add(Calendar.DATE, -1); |
| | | today = calendar.getTime(); |
| | | |
| | | 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()); |
| | | coursePackageStudentService.save(student1); |
| | | count++; |
| | | } |
| | | coursePackageStudentService.getBaseMapper().delete(new QueryWrapper<CoursePackageStudent>() |
| | | .eq("coursePackageSchedulingId", coursePackageScheduling.getId())); |
| | | } |
| | | } |
| | | |
| | | |
| | | // TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId()); |
| | | // 添加课包 |
| | | TCoursePackagePayment tCoursePackagePayment1 = new TCoursePackagePayment(); |
| | | // tCoursePackagePayment1.setAppUserId(userId); |
| | | // Student student = studentClient.queryDefaultStudent(userId); |
| | | // // student ID |
| | | // |
| | | // Integer sId=null; |
| | | // if(student!=null){ |
| | | // tCoursePackagePayment1.setStudentId(student.getId()); |
| | | // sId=student.getId(); |
| | | // } |
| | | tCoursePackagePayment1.setCoursePackageId(tCoursePackage.getId()); |
| | | tCoursePackagePayment1.setStudentId(req.getStuId()); |
| | | tCoursePackagePayment1.setPayType(7); |
| | | tCoursePackagePayment1.setClassHours(req.getNum()); |
| | | tCoursePackagePayment1.setOriginalPrice(0.0); |
| | | tCoursePackagePayment1.setTotalClassHours(req.getNum()); |
| | | tCoursePackagePayment1.setLaveClassHours(req.getNum()); |
| | | tCoursePackagePayment1.setAbsencesNumber(0); |
| | | tCoursePackagePayment1.setPayUserType(1); |
| | | tCoursePackagePayment1.setPayStatus(2); |
| | | tCoursePackagePayment1.setPayUserId(userId); |
| | | tCoursePackagePayment1.setStatus(1); |
| | | tCoursePackagePayment1.setAppUserId(userId); |
| | | tCoursePackagePayment1.setState(1); |
| | | tCoursePackagePayment1.setInsertTime(new Date()); |
| | | this.baseMapper.insert(tCoursePackagePayment1); |
| | | // 找出课包时间段 |
| | | // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | String classStartTime = tCoursePackage.getClassStartTime(); |
| | | String classEndTime = tCoursePackage.getClassEndTime(); |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
| | | String classStartTime = coursePackage.getClassStartTime(); |
| | | String classEndTime = coursePackage.getClassEndTime(); |
| | | String[] split5 = classStartTime.split(","); |
| | | String[] split6 = classEndTime.split(","); |
| | | List<String> time = req.getTime(); |
| | | for (String s : time) { |
| | | for (int i = 0; i < split5.length; i++) { |
| | | CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); |
| | | coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); |
| | | coursePackageScheduling.setType(3); |
| | | coursePackageScheduling.setAppUserId(userId); |
| | | coursePackageScheduling.setStudentId(req.getStuId()); |
| | | coursePackageScheduling.setCoursePackageId(coursePackage.getId()); |
| | | try { |
| | | Date parse = format.parse(s + " " + split5[i]); |
| | | Date parse1 = format.parse(s + " " + split6[i]); |
| | |
| | | CoursePackageStudent student1 = new CoursePackageStudent(); |
| | | student1.setAppUserId(userId); |
| | | student1.setStudentId(req.getStuId()); |
| | | student1.setCoursePackageId(tCoursePackage.getId()); |
| | | student1.setCoursePackagePaymentId(tCoursePackagePayment1.getId()); |
| | | student1.setCoursePackageId(coursePackage.getId()); |
| | | student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); |
| | | student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); |
| | | student1.setSignInOrNot(1); |
| | | student1.setReservationStatus(1); |
| | |
| | | } |
| | | |
| | | |
| | | // 2.0 |
| | | // TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord(); |
| | | // tCourseInfoRecord.setUserId(userId); |
| | | // tCourseInfoRecord.setCourseId(req.getCourseId()); |
| | | // tCourseInfoRecord.setName("体验购课"); |
| | | // tCourseInfoRecord.setNum(req.getNum()); |
| | | // tCourseInfoRecord.setTime(new Date()); |
| | | // tCourseInfoRecord.setType(2); |
| | | // appuClient.addCourseInfoRecord(tCourseInfoRecord); |
| | | |
| | | |
| | | CourseCounsum courseCounsum = new CourseCounsum(); |
| | | courseCounsum.setPaymentId(tCoursePackagePayment.getId()); |
| | | courseCounsum.setPaymentId(coursePackageOrderStudent.getId()); |
| | | courseCounsum.setChangeType(0); |
| | | courseCounsum.setNum(req.getNum()); |
| | | courseCounsum.setInsertTime(new Date()); |
| | |
| | | courseCounsumService.save(courseCounsum); |
| | | |
| | | |
| | | if (tCoursePackagePayment.getLaveClassHours() <= 3) { |
| | | if (coursePackageOrderStudent.getLaveClassHours() <= 3) { |
| | | Integer appUserId = userId; |
| | | |
| | | //调用推送 |