| | |
| | | */ |
| | | @RequestMapping("/base/coursePackagePayment/add") |
| | | public Object addCoursePackagePayment(@RequestBody TCoursePackagePayment packagePayment) { |
| | | packagePayment.setInsertTime(new Date()); |
| | | packagePayment.setInsertTime(new Date()); |
| | | Integer studentId = packagePayment.getStudentId(); |
| | | // 添加学员上课记录 |
| | | CoursePackageStudent coursePackageStudent = new CoursePackageStudent(); |
| | | TCoursePackagePayment one = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", packagePayment.getStudentId()) |
| | | .orderByDesc("insertTime") |
| | | .last("LIMIT 1")); |
| | | |
| | | if (one != null) { |
| | | Integer totalClassHours = one.getTotalClassHours(); |
| | | Integer absencesNumber = one.getAbsencesNumber(); |
| | | // 没有过期 |
| | | if (one.getUseTime().after(new Date())) { |
| | | if (one.getLaveClassHours() - packagePayment.getClassHours() < 0) { |
| | | return 5002; |
| | | } |
| | | packagePayment.setTotalClassHours(one.getTotalClassHours()); |
| | | packagePayment.setLaveClassHours(one.getLaveClassHours() - packagePayment.getClassHours()); |
| | | packagePayment.setAbsencesNumber(one.getAbsencesNumber()); |
| | | } |
| | | packagePayment.setTotalClassHours(packagePayment.getClassHours()); |
| | | packagePayment.setLaveClassHours(packagePayment.getClassHours()); |
| | | packagePayment.setAbsencesNumber(one.getAbsencesNumber()); |
| | | } else { |
| | | packagePayment.setTotalClassHours(packagePayment.getClassHours()); |
| | | packagePayment.setLaveClassHours(packagePayment.getClassHours()); |
| | | packagePayment.setAbsencesNumber(0); |
| | | } |
| | | // 生成排课数据 |
| | | TCoursePackage coursePackage = tcpService.getById(packagePayment.getCoursePackageId()); |
| | | //生成排课数据 |
| | | try { |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date date = sdf1.parse(sdf.format(new Date()) + " 00:00:00"); |
| | | List<String> list = Arrays.asList(coursePackage.getClassWeeks().split(";")); |
| | | String value = coursePackage.getClassStartTime(); |
| | | String value1 = coursePackage.getClassEndTime(); |
| | | |
| | | String[] star = value.split(","); |
| | | String[] end = value1.split(","); |
| | | for (int i = 0; i < star.length; i++) { |
| | | // int index = star[i].indexOf(","); |
| | | // String result = value.substring(0, index).trim(); |
| | | String classStartTime = star[i]; |
| | | String[] split = classStartTime.split(":"); |
| | | // String value1 = en; |
| | | int index1 = value1.indexOf(","); |
| | | // String result1 = value.substring(0, index1).trim(); |
| | | String classEndTime = end[i]; |
| | | String[] split1 = classEndTime.split(":"); |
| | | Calendar s = Calendar.getInstance(); |
| | | s.setTime(date); |
| | | s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); |
| | | s.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); |
| | | s.set(Calendar.MINUTE, Integer.valueOf(split[1])); |
| | | s.set(Calendar.SECOND, 0); |
| | | |
| | | Calendar e = Calendar.getInstance(); |
| | | e.setTime(date); |
| | | e.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 14); |
| | | long timeInMillis = e.getTimeInMillis(); |
| | | |
| | | while (true) { |
| | | int w = s.get(Calendar.DAY_OF_WEEK); |
| | | WeekEnum weekEnum = WeekEnum.getWeekEnum(w); |
| | | if (list.contains(weekEnum.getChineseName())) { |
| | | Calendar classDate = Calendar.getInstance(); |
| | | classDate.setTime(s.getTime()); |
| | | classDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0])); |
| | | classDate.set(Calendar.MINUTE, Integer.valueOf(split[1])); |
| | | classDate.set(Calendar.SECOND, 0); |
| | | |
| | | Calendar endDate = Calendar.getInstance(); |
| | | endDate.setTime(s.getTime()); |
| | | endDate.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split1[0])); |
| | | endDate.set(Calendar.MINUTE, Integer.valueOf(split1[1])); |
| | | endDate.set(Calendar.SECOND, 0); |
| | | |
| | | CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); |
| | | coursePackageScheduling.setCoursePackageId(coursePackage.getId()); |
| | | coursePackageScheduling.setClassDate(classDate.getTime()); |
| | | coursePackageScheduling.setEndDate(endDate.getTime()); |
| | | coursePackageScheduling.setStatus(1); |
| | | coursePackageSchedulingService.save(coursePackageScheduling); |
| | | coursePackageStudent.setCoursePackageSchedulingId(coursePackageScheduling.getId()); |
| | | |
| | | List<CoursePackageScheduling> list1 = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>() |
| | | .eq("coursePackageId", coursePackage.getId()) |
| | | .eq("classDate", classDate.getTime()) |
| | | .eq("endDate", endDate.getTime())); |
| | | if (list1.size() + 1 > coursePackage.getMaxSubscribeNumber()) { |
| | | // 当前课包预约人数已满 |
| | | //校验是否已经报满 |
| | | Integer cpId = Integer.valueOf((int) packagePayment.getCoursePackageId()); |
| | | Integer integer = coursePackagePaymentService.queryCountNumber(cpId); |
| | | TCoursePackage course = coursePackageService.getById(packagePayment.getId()); |
| | | if (course.getType() != 3) { |
| | | if (integer + 1 > course.getMaxSubscribeNumber()) { |
| | | return 5001; |
| | | } |
| | | } |
| | | s.set(Calendar.DAY_OF_YEAR, s.get(Calendar.DAY_OF_YEAR) + 1); |
| | | if (s.getTimeInMillis() > timeInMillis) { |
| | | break; |
| | | // 如果重复购买 累加课时 |
| | | CoursePackageOrder coursePackageOrder = new CoursePackageOrder(); |
| | | coursePackageOrder.setAppUserId(packagePayment.getAppUserId()); |
| | | coursePackageOrder.setStudentIds(String.valueOf(packagePayment.getStudentId())); |
| | | coursePackageOrder.setCoursePackageId(packagePayment.getCoursePackageId()); |
| | | coursePackageOrder.setClassHours(packagePayment.getClassHours()); |
| | | coursePackageOrder.setOriginalPrice(packagePayment.getOriginalPrice()); |
| | | coursePackageOrder.setCashPayment(packagePayment.getCashPayment()); |
| | | coursePackageOrder.setPlayPaiCoin(packagePayment.getPlayPaiCoin()); |
| | | coursePackageOrder.setPayStatus(1); |
| | | coursePackageOrder.setState(1); |
| | | coursePackageOrder.setInsertTime(new Date()); |
| | | coursePackageOrder.setSalesName(packagePayment.getSalesName()); |
| | | coursePackageOrderService.save(coursePackageOrder); |
| | | TCoursePackage byId = coursePackageService.getById(packagePayment.getCoursePackageId()); |
| | | if (byId.getType()==1){ |
| | | CoursePackageOrderStudent coursePackageOrderStudent = new CoursePackageOrderStudent(); |
| | | coursePackageOrderStudent.setAppUserId(packagePayment.getAppUserId()); |
| | | coursePackageOrderStudent.setStudentId(packagePayment.getStudentId()); |
| | | coursePackageOrderStudent.setCoursePackageId(packagePayment.getCoursePackageId()); |
| | | coursePackageOrderStudent.setTotalClassHours(packagePayment.getClassHours()); |
| | | coursePackageOrderStudent.setLaveClassHours(packagePayment.getClassHours()); |
| | | coursePackageOrderStudent.setAbsencesNumber(0); |
| | | coursePackageOrderStudent.setDropoutsNumber(0); |
| | | coursePackageOrderStudent.setStatus(1); |
| | | coursePackageOrderStudent.setState(1); |
| | | coursePackageOrderStudent.setInsertTime(new Date()); |
| | | coursePackageOrderStudent.setGiftClassHours(packagePayment.getGiftClassHours()); |
| | | // 获取常规课的有效期 计算是哪一天 |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.add(Calendar.DAY_OF_MONTH, byId.getValidDays()); |
| | | Date time = calendar.getTime(); |
| | | coursePackageOrderStudent.setUseTime(time); |
| | | return coursePackageOrderStudentService.save(coursePackageOrderStudent); |
| | | } |
| | | } |
| | | } |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // 生成排课数据 |
| | | return null; |
| | | |
| | | coursePackageStudent.setStudentId(packagePayment.getStudentId()); |
| | | coursePackageStudent.setCoursePackageId(packagePayment.getCoursePackageId()); |
| | | |
| | | |
| | | coursePackageStudent.setSignInOrNot(0); |
| | | coursePackageStudent.setReservationStatus(1); |
| | | coursePackageStudent.setInsertTime(new Date()); |
| | | coursePackageStudent.setAppUserId(packagePayment.getAppUserId()); |
| | | packagePaymentService.save(packagePayment); |
| | | coursePackageStudent.setCoursePackagePaymentId(packagePayment.getId()); |
| | | |
| | | return coursePackageStudentService.save(coursePackageStudent); |
| | | } |
| | | |
| | | /** |