| | |
| | | import com.dsh.course.feignclient.account.AppUserClient; |
| | | import com.dsh.course.feignclient.account.CoachClient; |
| | | import com.dsh.course.feignclient.account.StudentClient; |
| | | import com.dsh.course.feignclient.account.model.AppUser; |
| | | import com.dsh.course.feignclient.account.model.Coach; |
| | | import com.dsh.course.feignclient.account.model.Student; |
| | | import com.dsh.course.feignclient.account.model.TCourseInfoRecord; |
| | | import com.dsh.course.feignclient.account.UserIntegralChangesClient; |
| | | import com.dsh.course.feignclient.account.model.*; |
| | | import com.dsh.course.feignclient.activity.BenefitVideoClient; |
| | | import com.dsh.course.feignclient.activity.CouponClient; |
| | | import com.dsh.course.feignclient.activity.model.BenefitsVideos; |
| | |
| | | @Autowired |
| | | private ICoursePackageSchedulingService coursePackageSchedulingService; |
| | | |
| | | |
| | | @Autowired |
| | | private RestTemplate internalRestTemplate; |
| | | |
| | | @Resource |
| | | private UserIntegralChangesClient userIntegralChangesClient; |
| | | |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public int changeState(CoursePackagePayDTO dto) { |
| | | List<String> ids = dto.getIds(); |
| | | List<Long> list = new ArrayList<>(); |
| | | for (String id : ids) { |
| | | long value = Long.parseLong(id); |
| | | list.add(value); |
| | | } |
| | | return cpConfigMapper.changeState(list, dto.getPayUserName(), dto.getUserId()); |
| | | |
| | | return cpConfigMapper.changeState(Long.valueOf(dto.getIds()), dto.getPayUserName(), dto.getUserId()); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getStudentTotal(StudentQeryDto studentQeryDto) { |
| | | List<Map<String, Object>> studentTotal = this.baseMapper.getStudentTotal(studentQeryDto); |
| | | // String cityCode = studentQeryDto.getCityCode(); |
| | | // String start = studentQeryDto.getStart(); |
| | | // String end = studentQeryDto.getEnd(); |
| | | // //获取用户数据 |
| | | // List<Integer> appUserIds = null; |
| | | // if(ToolUtil.isNotEmpty(cityCode)){ |
| | | // List<AppUser> appUsers = appuClient.queryAppUserByCityCode(cityCode); |
| | | // if(appUsers.size() > 0){ |
| | | // appUserIds = appUsers.stream().map(AppUser::getId).collect(Collectors.toList()); |
| | | // } |
| | | // } |
| | | // QueryWrapper<CoursePackageStudent> status = new QueryWrapper<CoursePackageStudent>().eq("payStatus", 2).eq("status", 1); |
| | | // if(null != appUserIds){ |
| | | // status.in("appUserId", appUserIds); |
| | | // } |
| | | // List<Map<String, Object>> maps = this.baseMapper.getStudentTotal(appUserIds, studentQeryDto.getStart(), studentQeryDto.getEnd()); |
| | | // List<Map<String, Object>> list = new ArrayList<>(); |
| | | // for (Map<String, Object> objectMap : maps) { |
| | | // Integer studentId = Integer.valueOf(objectMap.get("studentId").toString()); |
| | | // Integer appUserId = Integer.valueOf(objectMap.get("appUserId").toString()); |
| | | // Integer coursePackageId = Integer.valueOf(objectMap.get("coursePackageId").toString()); |
| | | // Integer number = Integer.valueOf(objectMap.get("number").toString()); |
| | | // Map<String, Object> map = new HashMap<>(); |
| | | // Student student = studentClient.queryStudentById(studentId); |
| | | // map.put("studentName", student.getName()); |
| | | // AppUser appUser = appuClient.queryAppUser(appUserId); |
| | | // map.put("province", appUser.getProvince()); |
| | | // map.put("provinceCode", appUser.getProvinceCode()); |
| | | // map.put("city", appUser.getCity()); |
| | | // map.put("cityCode", appUser.getCityCode()); |
| | | // TCoursePackage coursePackage = coursePackageService.getById(coursePackageId); |
| | | // map.put("courseName", coursePackage.getName()); |
| | | // map.put("totalClassHours", number); |
| | | // map.put("cashPayment", coursePackageOrder.getCashPayment()); |
| | | // map.put("hasHours", ) |
| | | // |
| | | // |
| | | // } |
| | | |
| | | for (Map<String, Object> student : studentTotal) { |
| | | Integer appUserId = (Integer) student.get("appUserId"); |
| | | AppUser appUser = appuClient.queryAppUser(appUserId); |
| | | student.put("province", appUser.getProvince()); |
| | | student.put("provinceCode", appUser.getProvinceCode()); |
| | | |
| | | student.put("city", appUser.getCity()); |
| | | student.put("cityCode", appUser.getCityCode()); |
| | | |
| | | Student studentId = studentClient.queryStudentById((Integer) student.get("studentId")); |
| | | student.put("studentName", studentId.getName()); |
| | | BigDecimal cashPayment = (BigDecimal) student.get("cashPayment"); |
| | | BigDecimal totalClassHours = (BigDecimal) student.get("totalClassHours"); |
| | | BigDecimal hasHours = (BigDecimal) student.get("hasHours"); |
| | | if (cashPayment == null) { |
| | | continue; |
| | | } |
| | | if (totalClassHours.compareTo(BigDecimal.ZERO) == 0) { |
| | | totalClassHours = totalClassHours.add(new BigDecimal("1")); |
| | | } |
| | | BigDecimal hasPayment = cashPayment.divide(totalClassHours, 2, RoundingMode.HALF_UP) |
| | | .multiply(hasHours).setScale(2, RoundingMode.HALF_UP); |
| | | student.put("hasPayment", hasPayment); |
| | | } |
| | | |
| | | if (studentQeryDto.getCityCode() != null && studentQeryDto.getCityCode() != "") { |
| | | String value = studentQeryDto.getCityCode(); |
| | | boolean allZeros = value.substring(value.length() - 4).endsWith("0000"); |
| | | System.out.println(allZeros); // Output: true |
| | | if (allZeros) { |
| | | Iterator<Map<String, Object>> iterator = studentTotal.iterator(); |
| | | while (iterator.hasNext()) { |
| | | Map<String, Object> student = iterator.next(); |
| | | String cityCode = (String) student.get("provinceCode"); |
| | | if (!cityCode.equals(studentQeryDto.getCityCode())) { |
| | | iterator.remove(); // Remove the element from the list |
| | | } |
| | | } |
| | | } else { |
| | | Iterator<Map<String, Object>> iterator = studentTotal.iterator(); |
| | | while (iterator.hasNext()) { |
| | | Map<String, Object> student = iterator.next(); |
| | | String cityCode = (String) student.get("cityCode"); |
| | | if (!cityCode.equals(studentQeryDto.getCityCode())) { |
| | | iterator.remove(); // Remove the element from the list |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (studentQeryDto.getStudentName() != null && studentQeryDto.getStudentName() != "") { |
| | | List<Map<String, Object>> totallike = new ArrayList<>(); |
| | | for (Map<String, Object> student : studentTotal) { |
| | | String studentName = (String) student.get("studentName"); |
| | | if (studentName.contains(studentQeryDto.getStudentName())) { |
| | | totallike.add(student); |
| | | } |
| | | |
| | | } |
| | | return totallike; |
| | | } |
| | | return studentTotal; |
| | | // List<Map<String, Object>> studentTotal = this.baseMapper.getStudentTotal(studentQeryDto); |
| | | // for (Map<String, Object> student : studentTotal) { |
| | | // Integer appUserId = (Integer) student.get("appUserId"); |
| | | // AppUser appUser = appuClient.queryAppUser(appUserId); |
| | | // student.put("province", appUser.getProvince()); |
| | | // student.put("provinceCode", appUser.getProvinceCode()); |
| | | // |
| | | // student.put("city", appUser.getCity()); |
| | | // student.put("cityCode", appUser.getCityCode()); |
| | | // |
| | | // Student studentId = studentClient.queryStudentById((Integer) student.get("studentId")); |
| | | // student.put("studentName", studentId.getName()); |
| | | // BigDecimal cashPayment = (BigDecimal) student.get("cashPayment"); |
| | | // BigDecimal totalClassHours = (BigDecimal) student.get("totalClassHours"); |
| | | // BigDecimal hasHours = (BigDecimal) student.get("hasHours"); |
| | | // if (cashPayment == null) { |
| | | // continue; |
| | | // } |
| | | // if (totalClassHours.compareTo(BigDecimal.ZERO) == 0) { |
| | | // totalClassHours = totalClassHours.add(new BigDecimal("1")); |
| | | // } |
| | | // BigDecimal hasPayment = cashPayment.divide(totalClassHours, 2, RoundingMode.HALF_UP) |
| | | // .multiply(hasHours).setScale(2, RoundingMode.HALF_UP); |
| | | // student.put("hasPayment", hasPayment); |
| | | // } |
| | | // |
| | | // if (studentQeryDto.getCityCode() != null && studentQeryDto.getCityCode() != "") { |
| | | // String value = studentQeryDto.getCityCode(); |
| | | // boolean allZeros = value.substring(value.length() - 4).endsWith("0000"); |
| | | // System.out.println(allZeros); // Output: true |
| | | // if (allZeros) { |
| | | // Iterator<Map<String, Object>> iterator = studentTotal.iterator(); |
| | | // while (iterator.hasNext()) { |
| | | // Map<String, Object> student = iterator.next(); |
| | | // String cityCode = (String) student.get("provinceCode"); |
| | | // if (!cityCode.equals(studentQeryDto.getCityCode())) { |
| | | // iterator.remove(); // Remove the element from the list |
| | | // } |
| | | // } |
| | | // } else { |
| | | // Iterator<Map<String, Object>> iterator = studentTotal.iterator(); |
| | | // while (iterator.hasNext()) { |
| | | // Map<String, Object> student = iterator.next(); |
| | | // String cityCode = (String) student.get("cityCode"); |
| | | // if (!cityCode.equals(studentQeryDto.getCityCode())) { |
| | | // iterator.remove(); // Remove the element from the list |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // |
| | | // if (studentQeryDto.getStudentName() != null && studentQeryDto.getStudentName() != "") { |
| | | // List<Map<String, Object>> totallike = new ArrayList<>(); |
| | | // for (Map<String, Object> student : studentTotal) { |
| | | // String studentName = (String) student.get("studentName"); |
| | | // if (studentName.contains(studentQeryDto.getStudentName())) { |
| | | // totallike.add(student); |
| | | // } |
| | | // |
| | | // } |
| | | // return totallike; |
| | | // } |
| | | // return studentTotal; |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public CourseOfVideoResponse queryVideoDetails(CourseWithDetailsRequest detailsRequest, Integer appUserId) { |
| | | CourseOfVideoResponse response = new CourseOfVideoResponse(); |
| | | // BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId()); |
| | | TCourse byId = courseService.getById(detailsRequest.getVideoId()); |
| | | TCoursePackage coursePackage = tcpmapper.selectById(detailsRequest.getCoursePackageId()); |
| | | CoursePackageScheduling byId1 = new CoursePackageScheduling(); |
| | |
| | | userVideoDetails.setState(2); |
| | | userVideoDetails.setUpdateTime(new Date()); |
| | | uvdmapper.updateById(userVideoDetails); |
| | | |
| | | CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingService.getById(detailsRequest.getScId()); |
| | | //添加积分 |
| | | AppUser appUser = appuClient.queryAppUser(coursePackageScheduling.getAppUserId()); |
| | | appUser.setIntegral((null == appUser.getIntegral() ? 0 : appUser.getIntegral()) + (null == coursePackageScheduling.getIntegral() ? 0 : coursePackageScheduling.getIntegral())); |
| | | appuClient.updateAppUser(appUser); |
| | | SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo(); |
| | | vo.setAppUserId(coursePackageScheduling.getAppUserId()); |
| | | vo.setIntegral(coursePackageScheduling.getIntegral()); |
| | | vo.setType(4); |
| | | userIntegralChangesClient.saveUserIntegralChanges(vo); |
| | | return "SUCCESS"; |
| | | } |
| | | return "ERROR"; |
| | |
| | | @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); |
| | | if (coursePackageOrder==null){ |
| | | // student = coursePackageStudentService.getById(coursePayId); |
| | | CoursePackageOrderStudent student = coursePackageOrderStudentService.getById(coursePayId); |
| | | |
| | | coursePackageOrder = coursePackageOrderService.getOne(new QueryWrapper<CoursePackageOrder>().eq("appUserId", student.getAppUserId()).like("studentIds", student.getStudentId()).eq("coursePackageId", student.getCoursePackageId()).orderByDesc("insertTime").last("limit 1")); |
| | | |
| | | } |
| | | response.setOrinPrice(coursePackageOrder.getOriginalPrice()); |
| | | |
| | | |
| | | response.setChooseHours(coursePackageOrder.getClassHours()); |
| | | response.setStuIds(coursePackageOrder.getStudentIds().split(",")); |
| | | response.setPayType(coursePackageOrder.getPayType()); |
| | | response.setPayPrice(coursePackageOrder.getCashPayment()); |
| | | response.setCoinPrice(coursePackageOrder.getPlayPaiCoin()); |
| | | |
| | | if (null != coursePackageOrder) { |
| | | TCoursePackage coursePackage = tcpmapper.selectById(coursePackageOrder.getCoursePackageId()); |
| | |
| | | } |
| | | Store store = storeClient.queryStoreById(coursePackage.getStoreId()); |
| | | response.setStoreName(store.getName()); |
| | | response.setStoreAddress(store.getAddress()); |
| | | |
| | | if (ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)) { |
| | | Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat()); |
| | |
| | | response.setIntroduceDrawing(coursePackage.getIntroduceDrawing()); |
| | | |
| | | Integer payType = coursePackageOrder.getPayType(); |
| | | if(null == payType){ |
| | | CoursePackagePaymentConfig config = coursePackagePaymentConfigService.list(new QueryWrapper<CoursePackagePaymentConfig>().eq("coursePackageId", coursePackage.getId()).orderByAsc("classHours")).get(0); |
| | | if (ToolUtil.isNotEmpty(config.getCashPayment()) && config.getCashPayment() > 0 && ToolUtil.isNotEmpty(config.getPlayPaiCoin()) && config.getPlayPaiCoin() > 0) { |
| | | payType = 3; |
| | | } else if (ToolUtil.isNotEmpty(config.getCashPayment()) && config.getCashPayment() > 0) { |
| | | payType = 1; |
| | | } else if (ToolUtil.isNotEmpty(config.getPlayPaiCoin()) && config.getPlayPaiCoin() > 0) { |
| | | payType = 2; |
| | | } |
| | | } |
| | | BigDecimal cashPayment = coursePackageOrder.getCashPayment(); |
| | | double cashPaymentValue = 0.0; |
| | | if (cashPayment != null) { |
| | |
| | | |
| | | switch (payType) { |
| | | case 1: |
| | | case 2: |
| | | case 3: |
| | | response.setAmount(cashPaymentValue); |
| | | response.setVipAmount(discountMember); |
| | | break; |
| | | case 3: |
| | | response.setWpGold(playPaiCoin); |
| | | case 2: |
| | | if (playPaiCoin!=null) { |
| | | response.setWpGold(playPaiCoin); |
| | | } |
| | | break; |
| | | } |
| | | |
| | |
| | | TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackagePaymentConfigId", coursePackagePaymentConfig.getId()) |
| | | .eq("type", 2).eq("auditStatus", 2)); |
| | | |
| | | Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser"); |
| | | Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember"); |
| | | |
| | | |
| | | if (coursePackagePaymentConfigVo.getPaymentPrice() > continuingMember) { |
| | | coursePackagePaymentConfigVo.setPaymentPrice(continuingMember); |
| | | } |
| | | if (coursePackagePaymentConfigVo.getVipPrice() > vipcontinuingMember) { |
| | | coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember); |
| | | } |
| | | // Double continuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingUser"); |
| | | // Double vipcontinuingMember = JSON.parseObject(discount.getContent()).getDouble("continuingMember"); |
| | | // |
| | | // |
| | | // if (coursePackagePaymentConfigVo.getPaymentPrice() > continuingMember) { |
| | | // coursePackagePaymentConfigVo.setPaymentPrice(continuingMember); |
| | | // } |
| | | // if (coursePackagePaymentConfigVo.getVipPrice() > vipcontinuingMember) { |
| | | // coursePackagePaymentConfigVo.setVipPrice(vipcontinuingMember); |
| | | // } |
| | | |
| | | |
| | | if (coursePackagePaymentConfigVo.getPaymentPrice() < coursePackagePaymentConfigVo.getVipPrice()) { |
| | |
| | | @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; |
| | |
| | | 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); |
| | | } |
| | | |
| | | list.addAll(this.baseMapper.queryRegistrationRecord3(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().split(",")[0]); |
| | | } |
| | | |
| | | TAppUser appUser = appuClient.queryAppUser1(appUserId); |
| | | map.put("userName", null != appUser ? appUser.getName() : ""); |
| | |
| | | map.put("studentName", null != student ? student.getName() : ""); |
| | | Integer integer = cpsMapper.selectCount(new QueryWrapper<CoursePackageStudent>().eq("appUserId", appUserId) |
| | | .eq("studentId", studentId).eq("coursePackagePaymentId", id).eq("signInOrNot", 2)); |
| | | |
| | | int count = coursePackageStudentService.count(new QueryWrapper<CoursePackageStudent>().eq("coursePackageId", coursePackageId).eq("studentId", studentId).eq("signInOrNot",2)); |
| | | |
| | | map.put("absencesNumber", count); |
| | | |
| | | 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()); |
| | | |
| | | |
| | | 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; |
| | | TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); |
| | | TCoursePackage coursePackage1 = coursePackageService.getById(req.getCourseId()); |
| | | //判断剩余课时是否已经全部进行排课,如果排课需要删除已经排好的记录 |
| | | 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(); |
| | | laveClassHours1 -= number; |
| | | //需要购买使用的课时数 |
| | | Integer num = req.getNum(); |
| | | //需要删除多余的排课记录 |
| | | if(num.compareTo(laveClassHours1) > 0){ |
| | | //课时数差额 |
| | | int number1 = num - laveClassHours1; |
| | | double o = number1 % coursePackage.getNeedNum(); |
| | | int l = 0; |
| | | if(0 != o){ |
| | | l = 1; |
| | | } |
| | | 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++; |
| | | } |
| | | 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()); |
| | | |
| | | 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 HH:mm:ss"); |
| | | String classStartTime = coursePackage1.getClassStartTime(); |
| | | String classEndTime = coursePackage1.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(req.getCourseId()); |
| | | 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(req.getCourseId()); |
| | | student1.setCoursePackagePaymentId(coursePackageOrderStudent.getId()); |
| | | student1.setCoursePackageSchedulingId(coursePackageScheduling.getId()); |
| | | student1.setSignInOrNot(1); |
| | | student1.setReservationStatus(1); |
| | |
| | | } |
| | | } |
| | | |
| | | coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours() - req.getNum()); |
| | | coursePackageOrderStudentService.updateById(coursePackageOrderStudent); |
| | | |
| | | // 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; |
| | | |
| | | //调用推送 |