From 41b60f3df5f3054aad44307c13a26b14f3b32ac0 Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 21 十一月 2023 09:46:03 +0800 Subject: [PATCH] 11.21 --- cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java | 16 ++ cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java | 15 ++ cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java | 3 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 4 cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java | 2 cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java | 3 cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 18 ++ cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java | 1 cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 157 ++++++++++++---------- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 6 cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java | 53 ++++--- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java | 130 +++++++++++++++++ 12 files changed, 294 insertions(+), 114 deletions(-) diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java index f588d89..c137268 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java +++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java @@ -471,6 +471,7 @@ @PostMapping("/base/appUser/addVipPaymentAliCallback") public void addVipPaymentAliCallback(HttpServletRequest request, HttpServletResponse response){ try { + System.err.println("==============购买优惠卷回调========="); Map<String, String> map = payMoneyUtil.alipayCallback(request); if(null != map){ String out_trade_no = map.get("out_trade_no"); diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java index 58f2acc..62bea5b 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/EvaluateStudentServiceImpl.java @@ -2,12 +2,15 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.dsh.account.entity.Coach; import com.dsh.account.entity.EvaluateStudent; import com.dsh.account.entity.TStudent; import com.dsh.account.mapper.EvaluateStudentMapper; import com.dsh.account.mapper.TStudentMapper; import com.dsh.account.model.vo.commentDetail.StuCommentsVo; +import com.dsh.account.service.CoachService; import com.dsh.account.service.EvaluateStudentService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -32,17 +35,26 @@ private final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + + @Autowired + private CoachService coachService; @Override public List<StuCommentsVo> queryStuCommentsList(Integer stuId) { List<StuCommentsVo> stuCommentsVos = new ArrayList<>(); TStudent tStudent = tstuMapper.selectById(stuId); List<EvaluateStudent> evaluateStudents = this.list(new QueryWrapper<EvaluateStudent>() .eq("studentId",stuId )); + + if (evaluateStudents.size() > 0){ for (EvaluateStudent evaluateStudent : evaluateStudents) { StuCommentsVo vo = new StuCommentsVo(); - vo.setHeadImg(tStudent.getHeadImg()); - vo.setStuName(tStudent.getName()); + + Coach coach = coachService.getById(evaluateStudent.getCoachId()); +// vo.setHeadImg(tStudent.getHeadImg()); + vo.setHeadImg(coach.getDiploma()); +// vo.setStuName(tStudent.getName()); + vo.setStuName(coach.getName()); vo.setComTime(format.format(tStudent.getInsertTime())); vo.setContents(evaluateStudent.getContent()); String imgs = evaluateStudent.getImgs(); diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java index 2bfa6a3..a7d0bc2 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java @@ -285,7 +285,7 @@ .eq("appUserId",tAppUser.getId()) .eq("state",1) .eq("isDefault",1)); - if (tStudents==null){ + if (tStudents.isEmpty()){ tStudents = tsmapper.selectList(new QueryWrapper<TStudent>() .eq("appUserId",tAppUser.getId()) .eq("state",1)) @@ -868,7 +868,7 @@ if (rechargeRecords.size() > 0) { for (RechargeRecords rechargeRecord : rechargeRecords) { ConsumeDetail consumeDetail = new ConsumeDetail(); - consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins()); + consumeDetail.setConsumeName(RechargeRecordEnum.RECHARGE.getMsg() + ":" + rechargeRecord.getPlayPaiCoins()+"币"); consumeDetail.setConsumeTime(simpleDateFormat.format(rechargeRecord.getInsertTime())); consumeDetail.setConsumeAmount("-" + rechargeRecord.getAmount()); consumeDetail.setType(2); diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java index c220ffb..bb9af63 100644 --- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java +++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TStudentServiceImpl.java @@ -677,9 +677,21 @@ List<RecordAppoint> recordAppoints = couPayClient.obtainStudentClassDetailsData(courseRest); if (recordAppoints.size() > 0) { if (ToolUtil.isNotEmpty(appointStatus) && appointStatus != 0) { + if (appointStatus ==2){ + recordAppoints = recordAppoints.stream() + .filter(record -> record.getStatus().equals(3)) + .collect(Collectors.toList()); + }else if (appointStatus ==3){ + recordAppoints = recordAppoints.stream() + .filter(record -> record.getStatus().equals(4)) + .collect(Collectors.toList()); + } + else { + recordAppoints = recordAppoints.stream() .filter(record -> record.getStatus().equals(appointStatus)) .collect(Collectors.toList()); + } } if (ToolUtil.isNotEmpty(search)) { recordAppoints = recordAppoints.stream() @@ -697,7 +709,8 @@ .filter(record -> { try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - Date time = sdf.parse(record.getTimeFrame().substring(11)); + String substring = record.getTimeFrame().substring(11); + Date time = sdf.parse(substring); return !time.before(lastWeekStartDate) && !time.after(lastOfDate); } catch (ParseException e) { return false; diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index 3d96cac..9394121 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -1186,8 +1186,10 @@ }else { detailsVo.setUseType(1); detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime())); - StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); - detailsVo.setWriteOffName(courseOfStore.getStoreName()); + if (byId.getStoreId()!=null) { + StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); + detailsVo.setWriteOffName(courseOfStore.getStoreName()); + } } switch (pmdsServiceById.getUseScope()){ case 1: diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java index d5ea088..031bf29 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/service/impl/CouponServiceImpl.java @@ -106,6 +106,9 @@ for (Coupon coupon : userId) { + if (coupon.getDistributionMethod()!=2){ + continue; + } CouponListVo couponListVo = new CouponListVo(); couponListVo.setId(coupon.getId().longValue()); couponListVo.setName(coupon.getName()); diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java index 051c02a..2d1d64e 100644 --- a/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java +++ b/cloud-server-competition/src/main/java/com/dsh/competition/service/impl/ParticipantServiceImpl.java @@ -102,31 +102,6 @@ //利用HashMap去重身份证 LinkedHashMap<String,ParticipantVo> linkedHashMap =new LinkedHashMap<>(); SimpleDateFormat sdf_year = new SimpleDateFormat("yyyy"); - for (TStudent tStudent : tStudents) { - ParticipantVo participantVo = new ParticipantVo(); - participantVo.setId(tStudent.getId()); - participantVo.setName(tStudent.getName()); - participantVo.setIdcard(tStudent.getIdCard()); - Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(tStudent.getBirthday())); - participantVo.setAge(age); - Integer integer = coursePackagePaymentClient.queryResidueClassHour(tStudent.getId()); - participantVo.setResidueClassHour(integer); - participantVo.setPhone(tStudent.getPhone()); - participantVo.setHeight(tStudent.getHeight().intValue()); - participantVo.setWeight(tStudent.getWeight()); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - if(null != tStudent.getBirthday()){ - String format = sdf.format(tStudent.getBirthday()); - participantVo.setBirthday(format); - } - participantVo.setGender(tStudent.getSex()); - participantVo.setIsStudent(1); - if (tStudent.getIdCard()==null|| tStudent.getIdCard().isEmpty()){ - listVo1.add(participantVo); - continue; - } - linkedHashMap.put(tStudent.getIdCard(),participantVo); - } @@ -172,6 +147,34 @@ } + for (TStudent tStudent : tStudents) { + ParticipantVo participantVo = new ParticipantVo(); + participantVo.setId(tStudent.getId()); + participantVo.setName(tStudent.getName()); + participantVo.setIdcard(tStudent.getIdCard()); + Integer age = Integer.valueOf(sdf_year.format(new Date())) - Integer.valueOf(sdf_year.format(tStudent.getBirthday())); + participantVo.setAge(age); + Integer integer = coursePackagePaymentClient.queryResidueClassHour(tStudent.getId()); + participantVo.setResidueClassHour(integer); + participantVo.setPhone(tStudent.getPhone()); + participantVo.setHeight(tStudent.getHeight().intValue()); + participantVo.setWeight(tStudent.getWeight()); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if(null != tStudent.getBirthday()){ + String format = sdf.format(tStudent.getBirthday()); + participantVo.setBirthday(format); + } + participantVo.setGender(tStudent.getSex()); + participantVo.setIsStudent(1); + if (tStudent.getIdCard()==null|| tStudent.getIdCard().isEmpty()){ + listVo1.add(participantVo); + continue; + } + linkedHashMap.put(tStudent.getIdCard(),participantVo); + } + + + listVo1.addAll(linkedHashMap.values()); diff --git a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java index 1bc790a..8a4b4f6 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java +++ b/cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java @@ -457,10 +457,18 @@ }else { resp.setIsAble(1); } - if (tCoursePackage.getValidDays()!=null){ - String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); - resp.setPeriodOfValidity(afterDayDate); + if (tCoursePackagePayment.getUseTime()!=null){ +// String afterDayDate = DateUtil.getAfterDayDate2(tCoursePackage.getInsertTime(),tCoursePackage.getValidDays() + ""); +// resp.setPeriodOfValidity(afterDayDate); + + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String str = sdf.format(tCoursePackagePayment.getUseTime()); + resp.setPeriodOfValidity(str); } + + + resps.add(resp); } } @@ -1245,6 +1253,10 @@ TCoursePackagePayment pay = packagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", coursePackagePayment.getCoursePackageId()).eq("studentId", coursePackagePayment.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(); diff --git a/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java b/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java index 1e91012..c20c92e 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java +++ b/cloud-server-course/src/main/java/com/dsh/course/entity/CourseCounsum.java @@ -27,4 +27,6 @@ @TableField("insertTime") @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone = "GMT+8") Date insertTime; + @TableField("appUserId") + Integer appUserId; } diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java index 81e5796..ae1a575 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/TCoursePackagePaymentService.java @@ -14,6 +14,7 @@ import com.dsh.course.util.ResultUtil; import io.swagger.models.auth.In; +import java.text.ParseException; import java.util.Date; import java.util.List; import java.util.Map; @@ -117,7 +118,7 @@ PayCourseInfoReq payCourseInfo(Integer courseId); - ResultUtil payCourse(PayCourseReq req, Integer userId); + ResultUtil payCourse(PayCourseReq req, Integer userId) throws ParseException; void updateUseTime(Long id, Date date); 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 26f4622..82a599e 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 @@ -981,7 +981,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) { @@ -1034,9 +1034,10 @@ // String classStartTime = coursePackage.getClassStartTime(); // String classEndTime = coursePackage.getClassEndTime(); //这里是过滤今天之后的数据 - if (byId == null||byId.getClassDate().after(new Date())){ - continue; - } + +// if (byId == null||byId.getClassDate().after(new Date())){ +// continue; +// } if (byId == null){ continue; @@ -1083,7 +1084,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 旷课 @@ -1256,6 +1257,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()); @@ -1359,7 +1363,7 @@ @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 // 排课可期 判断课程时间段 添加排课表 添加上课记录表 @@ -1371,69 +1375,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); @@ -1462,19 +1475,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); diff --git a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java index 4d0de4b..3709539 100644 --- a/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java +++ b/cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackageServiceImpl.java @@ -726,6 +726,25 @@ } 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); @@ -1035,6 +1054,21 @@ TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId())); + //赠送课时 + int weekday = DateUtil.dayOfWeek(new Date()) - 1; + TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1")); + + Integer hour = 0; + if (discount!=null) { + JSONArray objects = JSONObject.parseArray(discount.getContent()); + JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0))); + hour = parse.getInteger("hour"); + if (hour == null) { + hour = 0; + } + } + + if (coursePackagePaymentServiceOne==null) { TCoursePackagePayment coursePackagePayment = new TCoursePackagePayment(); coursePackagePayment.setCode(code); @@ -1042,11 +1076,11 @@ coursePackagePayment.setStudentId(Integer.valueOf(s)); coursePackagePayment.setCoursePackageId(paymentCourseVo.getId()); coursePackagePayment.setPayType(paymentCourseVo.getPayType()); - coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackagePayment.setClassHours(coursePackagePaymentConfig.getClassHours()+hour); coursePackagePayment.setOriginalPrice(paymentCourseVo.getPrice()); coursePackagePayment.setPlayPaiCoin(paymentPrice.intValue()); - coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()); - coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()); + coursePackagePayment.setTotalClassHours(coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePayment.setLaveClassHours(coursePackagePaymentConfig.getClassHours()+hour); coursePackagePayment.setAbsencesNumber(0); coursePackagePayment.setPayUserType(1); coursePackagePayment.setPayStatus(1); @@ -1072,6 +1106,19 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePayment.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum); + + } + + }else { // coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()); @@ -1157,11 +1204,26 @@ for (String s1 : split) { TCoursePackagePayment coursePackagePaymentServiceOne = coursePackagePaymentService.getOne(new QueryWrapper<TCoursePackagePayment>().eq("studentId", s).eq("coursePackageId", paymentCourseVo.getId())); if (coursePackagePaymentServiceOne!=null) { - coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()); + + TCoursePackageDiscount discount = coursePackageDiscountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("type",4).eq("coursePackageId", paymentCourseVo.getId()).last("limit 1")); + + Integer hour = 0; + if (discount!=null) { + JSONArray objects = JSONObject.parseArray(discount.getContent()); + JSONObject parse = JSONObject.parseObject(JSONObject.toJSONString(objects.get(0))); + hour = parse.getInteger("hour"); + if (hour == null) { + hour = 0; + } + } + + + + coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setOriginalPrice(coursePackagePaymentServiceOne.getOriginalPrice()+paymentCourseVo.getPrice()); coursePackagePaymentServiceOne.setPlayPaiCoin(coursePackagePaymentServiceOne.getPlayPaiCoin()+paymentPrice.intValue()); - coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()); - coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()); + coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour); + coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setCode(code); coursePackagePaymentServiceOne.setAppUserId(null); @@ -1183,6 +1245,18 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("续课"); courseCounsumService.save(courseCounsum); + + + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePaymentServiceOne.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum); + + } } @@ -1335,6 +1409,8 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String code = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5); + TCoursePackage course = coursePackageService.getById(paymentCourseVo.getId()); + //赠送课时 int weekday = DateUtil.dayOfWeek(new Date()) - 1; @@ -1374,6 +1450,16 @@ coursePackagePayment.setStatus(1); coursePackagePayment.setState(1); coursePackagePayment.setInsertTime(new Date()); + + if (course.getValidDays()!=null) { + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, course.getValidDays()); + date = calendar.getTime(); + coursePackagePayment.setUseTime(date); + } + coursePackagePaymentService.save(coursePackagePayment); Integer sId = null; Student student = studentClient.queryDefaultStudent(appUser.getId()); @@ -1391,6 +1477,16 @@ courseCounsum.setReason("购买课包"); courseCounsumService.save(courseCounsum); + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePayment.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum1); + } + }else{ coursePackagePaymentServiceOne.setClassHours(coursePackagePaymentServiceOne.getClassHours()+coursePackagePaymentConfig.getClassHours()+hour); if (coursePackagePaymentServiceOne.getOriginalPrice()!=null) { @@ -1406,6 +1502,18 @@ coursePackagePaymentServiceOne.setTotalClassHours(coursePackagePaymentServiceOne.getTotalClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setLaveClassHours(coursePackagePaymentServiceOne.getLaveClassHours()+coursePackagePaymentConfig.getClassHours()+hour); coursePackagePaymentServiceOne.setAppUserId(null); + + + if (course.getValidDays()!=null) { + Date date = coursePackagePaymentServiceOne.getUseTime(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, course.getValidDays()); + date = calendar.getTime(); + coursePackagePaymentServiceOne.setUseTime(date); + } + + coursePackagePaymentService.updateById(coursePackagePaymentServiceOne); // coursePackagePaymentService.save(coursePackagePayment); @@ -1425,6 +1533,16 @@ courseCounsum.setReason("续课"); courseCounsumService.save(courseCounsum); + if (hour!=0){ + CourseCounsum courseCounsum1 = new CourseCounsum(); + courseCounsum1.setPaymentId(coursePackagePaymentServiceOne.getId()); + courseCounsum1.setChangeType(1); + courseCounsum1.setNum(hour); + courseCounsum1.setInsertTime(new Date()); + courseCounsum1.setReason("赠送课时"); + courseCounsumService.save(courseCounsum1); + } + } -- Gitblit v1.7.1