From f6ba3e15355e22767e69f8fc14ae22523f8db8dc Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期三, 22 十一月 2023 19:33:58 +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 | 249 +++++++++++++++++++++++++++++++------------------ 1 files changed, 159 insertions(+), 90 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 08cfe52..8380310 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 @@ -328,13 +328,16 @@ // BenefitsVideos videosWithIds = bfvoClient.getVideosWithIds(detailsRequest.getVideoId()); TCourse byId = courseService.getById(detailsRequest.getVideoId()); TCoursePackage coursePackage = tcpmapper.selectById(detailsRequest.getCoursePackageId()); + CoursePackageScheduling byId1 = new CoursePackageScheduling(); + if (detailsRequest.getScId()!=null){ + byId1 = coursePackageSchedulingService.getById(detailsRequest.getScId()); + } if (null != coursePackage){ response.setCoursePackageId(coursePackage.getId()); response.setVideoId(byId.getId()); response.setVideoURL(byId.getCourseVideo()); response.setVideoName(coursePackage.getName()); -// response.setIntegral(byId.getIntegral()); UserVideoDetails userVideoDetails = uvdmapper.selectOne(new QueryWrapper<UserVideoDetails>() .eq("appUserId",appUserId ) .eq("coursePackageId",coursePackage.getId()) @@ -349,6 +352,10 @@ response.setSynopsis(byId.getIntroduce()); response.setDetailedDiagram(byId.getIntroductionDrawing()); response.setCover(byId.getCoverDrawing()); + if (byId1.getIntegral()!=null) { + response.setIntegral(String.valueOf(byId1.getIntegral())); + } + } return response; @@ -468,12 +475,32 @@ AppUser appUser = appuClient.queryAppUser(appUserId); CourseDetailsResponse response = new CourseDetailsResponse(); TCoursePackagePayment tCoursePackagePayment = this.baseMapper.selectById(coursePayId); + List<TCoursePackagePayment> tCoursePackagePayments = this.baseMapper.selectList(new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId).eq("coursePackageId", tCoursePackagePayment.getCoursePackageId())); + List<Integer> stuIds = new ArrayList<>(); + for (TCoursePackagePayment coursePackagePayment : tCoursePackagePayments) { + stuIds.add(coursePackagePayment.getStudentId()); + } + response.setStuIds(stuIds); + response.setChooseHours(tCoursePackagePayment.getClassHours()); + if (null != tCoursePackagePayment){ TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); if (coursePackage.getType()==2) { response.setTime(new SimpleDateFormat("yyyy.MM.dd").format(coursePackage.getStartTime()) + "-" + new SimpleDateFormat("yyyy.MM.dd").format(coursePackage.getEndTime())); } + +// Store store = storeClient.queryStoreById(coursePackage.getStoreId()); +// response.setStoreName(store.getName()); +// response.setStoreCoverDrawing(store.getCoverDrawing()); +// response.setStoreAddress(store.getAddress()); +// response.setLon(store.getLon()); +// response.setLat(store.getLat()); +// if(ToolUtil.isNotEmpty(lon) && ToolUtil.isNotEmpty(lat)){ +// Map<String, Double> distance = GeodesyUtil.getDistance(lon + "," + lat, store.getLon() + "," + store.getLat()); +// double wgs84 = new BigDecimal(distance.get("WGS84")).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); +// response.setDistance(wgs84); +// } response.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); @@ -537,16 +564,16 @@ } } -// switch (payType) { -// case 1: -// case 2: -// response.setAmount(cashPaymentValue); -// response.setVipAmount(discountMember); -// break; -// case 3: -// response.setWpGold(playPaiCoin); -// break; -// } + switch (payType) { + case 1: + case 2: + response.setAmount(cashPaymentValue); + response.setVipAmount(discountMember); + break; + case 3: + response.setWpGold(playPaiCoin); + break; + } // coursePackage.get @@ -661,6 +688,22 @@ } coursePackagePaymentConfigVo.setPaymentPrice(paymentPrice); + + 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); + } + + if (coursePackagePaymentConfigVo.getPaymentPrice()<coursePackagePaymentConfigVo.getVipPrice()){ coursePackagePaymentConfigVo.setOriginalPrice(coursePackagePaymentConfig.getCashPayment()); coursePackagePaymentConfigVo.setVipPrice(null); @@ -682,7 +725,7 @@ } list.add(coursePackagePaymentConfigVo); }); -// coursePackageInfo.setList(list); + response.setList(list); @@ -957,7 +1000,7 @@ if (tCoursePackagePayments.size() > 0 ){ // int pageNum = 1; // 页码 - int pageSize = 100; // 每页记录数 + int pageSize = 10; // 每页记录数 Page<CoursePackageStudent> page = new Page<>(pageNum, pageSize); // for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { @@ -1010,6 +1053,7 @@ // String classStartTime = coursePackage.getClassStartTime(); // String classEndTime = coursePackage.getClassEndTime(); //这里是过滤今天之后的数据 + // if (byId == null||byId.getClassDate().after(new Date())){ // continue; // } @@ -1059,7 +1103,7 @@ // CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() // .eq("coursePackageId",coursePackageStudent.getCoursePackageId())); CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() - .eq("coursePackageSchedulingId",byId.getId())); + .eq("coursePackageSchedulingId",byId.getId()).last("limit 1")); if (ToolUtil.isNotEmpty(cancelledClasses)){ recordVo.setStatus(3); // 消课 到课状态0 旷课 @@ -1232,6 +1276,9 @@ ArrayList<PayCourseRes> payCourseRes = new ArrayList<>(); for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { TCoursePackage tCoursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); + if (tCoursePackage.getType()!=1){ + continue; + } if(tCoursePackage.getStoreId().equals(storeId)){ PayCourseRes payCourseRes1 = new PayCourseRes(); payCourseRes1.setId(tCoursePackagePayment.getId()); @@ -1333,9 +1380,12 @@ @Autowired private CoursePackageStudentService coursePackageStudentService; + @Autowired + private CourseCounsumService courseCounsumService; + @Override @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) - public ResultUtil payCourse(PayCourseReq req,Integer userId){ + public ResultUtil payCourse(PayCourseReq req,Integer userId) throws ParseException { // 扣除 原来的课时数 // 添加购买课时 paytyoe为7 // 排课可期 判断课程时间段 添加排课表 添加上课记录表 @@ -1347,69 +1397,78 @@ tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours()-req.getNum()); this.baseMapper.updateHoursById(tCoursePackagePayment.getId(),-req.getNum()); -// -// List<CoursePackageStudent> studentCourse = coursePackageStudentService.list(new QueryWrapper<CoursePackageStudent>().eq("studentId", coursePackagePayment.getStudentId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); -// List<Long> collect = studentCourse.stream().map(CoursePackageStudent::getCoursePackageSchedulingId).collect(Collectors.toList()); + + 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", paymentDeductionClassHour.getId()).eq("coursePackageId", coursePackagePayment.getCoursePackageId())); -// -// TCoursePackage tCoursePackage = packageService.getById(tCoursePackagePayment.getCoursePackageId()); -// 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(); -// -// 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++; -// } -// } -// } - - - + 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++; + } + } + } + + + + +// TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId()); // 添加课包 TCoursePackagePayment tCoursePackagePayment1 = new TCoursePackagePayment(); // tCoursePackagePayment1.setAppUserId(userId); @@ -1438,19 +1497,19 @@ tCoursePackagePayment1.setInsertTime(new Date()); this.baseMapper.insert(tCoursePackagePayment1); // 找出课包时间段 - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); String classStartTime = tCoursePackage.getClassStartTime(); String classEndTime = tCoursePackage.getClassEndTime(); - String[] split = classStartTime.split(","); - String[] split1 = classEndTime.split(","); + String[] split5 = classStartTime.split(","); + String[] split6 = classEndTime.split(","); List<String> time = req.getTime(); for (String s : time) { - for (int i = 0; i < split.length; i++) { + for (int i = 0; i < split5.length; i++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { - Date parse = format.parse(s + " " + split[i]); - Date parse1 = format.parse(s + " " + split1[i]); + Date parse = format.parse(s + " " + split5[i]); + Date parse1 = format.parse(s + " " + split6[i]); coursePackageScheduling.setClassDate(parse); coursePackageScheduling.setEndDate(parse1); coursePackageScheduling.setStatus(1); @@ -1476,14 +1535,24 @@ // 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); +// 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.setChangeType(0); + courseCounsum.setNum(req.getNum()); + courseCounsum.setInsertTime(new Date()); + courseCounsum.setReason("体验购课"); + courseCounsum.setAppUserId(userId); + courseCounsumService.save(courseCounsum); + if(tCoursePackagePayment.getLaveClassHours()<=3){ @@ -1518,7 +1587,7 @@ @Override public boolean updateHoursById(TCoursePackagePayment byId, int i) { - return this.baseMapper.updateHoursById(byId.getId(),i); + return this.baseMapper.updateHoursById1(byId.getId(),i); } -- Gitblit v1.7.1