From f88cfa02e36752e4acad7adc4b045155e8e50f21 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 08 十二月 2023 09:16:29 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 446 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 235 insertions(+), 211 deletions(-) diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java index 3d6656f..25b9b3e 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java @@ -18,10 +18,8 @@ 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; @@ -118,9 +116,11 @@ @Autowired private ICoursePackageSchedulingService coursePackageSchedulingService; - @Autowired private RestTemplate internalRestTemplate; + + @Resource + private UserIntegralChangesClient userIntegralChangesClient; @Override @@ -130,13 +130,8 @@ @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 @@ -157,70 +152,110 @@ @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 @@ -326,7 +361,6 @@ @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(); @@ -373,6 +407,17 @@ 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"; @@ -502,13 +547,35 @@ @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()); @@ -517,6 +584,7 @@ } 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()); @@ -553,6 +621,16 @@ 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) { @@ -579,12 +657,14 @@ 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; } @@ -702,16 +782,16 @@ 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()) { @@ -1184,6 +1264,7 @@ @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; @@ -1200,12 +1281,27 @@ 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() : ""); @@ -1214,11 +1310,12 @@ 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; } @@ -1277,9 +1374,9 @@ @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; @@ -1396,121 +1493,55 @@ // 添加购买课时 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]); @@ -1522,8 +1553,8 @@ 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); @@ -1537,19 +1568,12 @@ } } + 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()); @@ -1558,7 +1582,7 @@ courseCounsumService.save(courseCounsum); - if (tCoursePackagePayment.getLaveClassHours() <= 3) { + if (coursePackageOrderStudent.getLaveClassHours() <= 3) { Integer appUserId = userId; //调用推送 -- Gitblit v1.7.1