From 8c55ab2701c99cec16eff92a26fefdf77fcdd28f Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期一, 25 九月 2023 16:17:44 +0800 Subject: [PATCH] app接口修改 --- cloud-server-course/src/main/java/com/dsh/course/service/impl/TCoursePackagePaymentServiceImpl.java | 272 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 190 insertions(+), 82 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 024404f..0f3ac1f 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 @@ -222,32 +222,36 @@ .eq("appUserId",appUserId )); System.out.println(tCoursePackagePayments); if (tCoursePackagePayments.size() > 0){ - for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { - TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); - Store store = stoClient.queryStoreById(coursePackage.getStoreId()); - RegisterCourseVo registerCourseVo = new RegisterCourseVo(); - // 2.0 - registerCourseVo.setType(coursePackage.getType()); + try { + for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { + TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); + Store store = stoClient.queryStoreById(coursePackage.getStoreId()); + RegisterCourseVo registerCourseVo = new RegisterCourseVo(); + // 2.0 + registerCourseVo.setType(coursePackage.getType()); - registerCourseVo.setCoursePayId(tCoursePackagePayment.getId()); - registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); - registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId()); - registerCourseVo.setPackageImg(coursePackage.getCoverDrawing()); - String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")"; - registerCourseVo.setCourseNameStore(storeAndCourse); + registerCourseVo.setCoursePayId(tCoursePackagePayment.getId()); + registerCourseVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); + registerCourseVo.setCoursePackTypeId(coursePackage.getCoursePackageTypeId()); + registerCourseVo.setPackageImg(coursePackage.getCoverDrawing()); + String storeAndCourse = coursePackage.getName()+"("+ store.getName() +")"; + registerCourseVo.setCourseNameStore(storeAndCourse); // registerCourseVo.setCourseTime(coursePackage.getClassStartTime()+"-"+coursePackage.getClassEndTime()); - // 2.0 - registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime())); - Coach coach = coachClient.queryCoachById(coursePackage.getCoachId()); - registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName()); - List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>() - .eq("coursePackageId",coursePackage.getId()) - .eq("studentId",appUserId )); - if (coursePackageStudents.size() > 0 ){ - registerCourseVo.setCourseNums(coursePackageStudents.size() * 2); + // 2.0 + registerCourseVo.setCourseTime(new SimpleDateFormat("yyyy-MM-dd").format(tCoursePackagePayment.getInsertTime())); + Coach coach = coachClient.queryCoachById(coursePackage.getCoachId()); + registerCourseVo.setCourseTeacher(ToolUtil.isEmpty(coach) ? "" : coach.getName()); + List<CoursePackageStudent> coursePackageStudents = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>() + .eq("coursePackageId",coursePackage.getId()) + .eq("studentId",appUserId )); + if (coursePackageStudents.size() > 0 ){ + registerCourseVo.setCourseNums(coursePackageStudents.size() * 2); + } + registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus()); + courseVos.add(registerCourseVo); } - registerCourseVo.setPayStatus(tCoursePackagePayment.getPayStatus()); - courseVos.add(registerCourseVo); + }catch (Exception e){ + e.printStackTrace(); } if (ToolUtil.isNotEmpty(courseTypeId.getSearch())){ @@ -298,22 +302,29 @@ Integer payType = tCoursePackagePayment.getPayType(); BigDecimal cashPayment = tCoursePackagePayment.getCashPayment(); - double cashPaymentValue = cashPayment.doubleValue(); + double cashPaymentValue = 0.0; + if(cashPayment!=null){ + + cashPaymentValue = cashPayment.doubleValue(); + } Integer playPaiCoin = tCoursePackagePayment.getPlayPaiCoin(); TCoursePackageDiscount coursePackageDiscount = tcpdMapper.selectOne(new QueryWrapper<TCoursePackageDiscount>() .eq("coursePackageId",coursePackage.getId() ) .eq("type",1) .eq("auditStatus",2)); ObjectMapper objectMapper = new ObjectMapper(); - String content = coursePackageDiscount.getContent(); double discountMember = 0.0; - DiscountJsonDto discountJsonDto = null; - try { - discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class); - discountMember = discountJsonDto.getDiscountMember(); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); + if(coursePackageDiscount!=null){ + String content = coursePackageDiscount.getContent(); + DiscountJsonDto discountJsonDto = null; + try { + discountJsonDto = objectMapper.readValue(content, DiscountJsonDto.class); + discountMember = discountJsonDto.getDiscountMember(); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } } + switch (payType) { case 1: case 2: @@ -586,67 +597,70 @@ SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); if (tCoursePackagePayments.size() > 0 ){ for (TCoursePackagePayment tCoursePackagePayment : tCoursePackagePayments) { - RecordAppoint recordVo = new RecordAppoint(); - recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); - TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); - - recordVo.setCoursePackageName(coursePackage.getName()); - recordVo.setCourseHours(tCoursePackagePayment.getClassHours()); - Date date = DateUtil.getDate(); - - String classStartTime = coursePackage.getClassStartTime(); - String classEndTime = coursePackage.getClassEndTime(); - recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime); - Store store = stoClient.queryStoreById(coursePackage.getStoreId()); - recordVo.setStoreNameAddr(store.getName()+store.getAddress()); - CoursePackageStudent coursePackageStudent = cpsMapper.selectOne(new QueryWrapper<CoursePackageStudent>() + List<CoursePackageStudent> coursePackageStudent1 = cpsMapper.selectList(new QueryWrapper<CoursePackageStudent>() .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() ) .eq("studentId",stuId) .eq("appUserId",appUserId) .eq("reservationStatus",1)); - if (ToolUtil.isNotEmpty(coursePackageStudent) && coursePackageStudent.getReservationStatus() == 1){ + if (ToolUtil.isNotEmpty(coursePackageStudent1) && coursePackageStudent1.size() > 0){ + for (CoursePackageStudent coursePackageStudent : coursePackageStudent1) { + RecordAppoint recordVo = new RecordAppoint(); + recordVo.setCoursePackageId(tCoursePackagePayment.getCoursePackageId()); - recordVo.setCourseStuRecordId(coursePackageStudent.getId()); - String classWeeks = coursePackage.getClassWeeks(); - String[] split = classWeeks.split(";"); - List<String> integerList = Arrays.asList(split); - String weekOfDate = DateTimeHelper.getWeekOfDate(new Date()); - if (integerList.contains(weekOfDate)){ - String dat = simpleDateFormat.format(date) +" "+ classStartTime; + TCoursePackage coursePackage = tcpmapper.selectById(tCoursePackagePayment.getCoursePackageId()); - Date start = null; - try { - start = format.parse(dat); - } catch (ParseException e) { - throw new RuntimeException(e); - } - if (start.after(new Date())){ - recordVo.setStatus(1); - }else if(coursePackageStudent.getSignInOrNot()==2){ - recordVo.setStatus(5); - }else { - CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() - .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )); - if (ToolUtil.isNotEmpty(cancelledClasses)){ - recordVo.setStatus(3); - // 消课 到课状态0 旷课 - if(coursePackageStudent.getSignInOrNot()==0){ - recordVo.setStatus(6); - } + recordVo.setCoursePackageName(coursePackage.getName()); + recordVo.setCourseHours(tCoursePackagePayment.getClassHours()); + Date date = DateUtil.getDate(); - }else { - recordVo.setStatus(2); + String classStartTime = coursePackage.getClassStartTime(); + String classEndTime = coursePackage.getClassEndTime(); + recordVo.setTimeFrame(simpleDateFormat.format(date)+" "+classStartTime+"-"+classEndTime); + Store store = stoClient.queryStoreById(coursePackage.getStoreId()); + recordVo.setStoreNameAddr(store.getName()+store.getAddress()); + recordVo.setCourseStuRecordId(coursePackageStudent.getId()); + String classWeeks = coursePackage.getClassWeeks(); + String[] split = classWeeks.split(";"); + List<String> integerList = Arrays.asList(split); + String weekOfDate = DateTimeHelper.getWeekOfDate(new Date()); + if (integerList.contains(weekOfDate)){ + String dat = simpleDateFormat.format(date) +" "+ classStartTime; + + Date start = null; + try { + start = format.parse(dat); + } catch (ParseException e) { + throw new RuntimeException(e); } + if (start.after(new Date())){ + recordVo.setStatus(1); + }else if(coursePackageStudent.getSignInOrNot()==2){ + recordVo.setStatus(5); + }else { + CancelledClasses cancelledClasses = cacMapper.selectOne(new QueryWrapper<CancelledClasses>() + .eq("coursePackageId",tCoursePackagePayment.getCoursePackageId() )); + if (ToolUtil.isNotEmpty(cancelledClasses)){ + recordVo.setStatus(3); + // 消课 到课状态0 旷课 + if(coursePackageStudent.getSignInOrNot()==0){ + recordVo.setStatus(6); + } + + }else { + recordVo.setStatus(2); + } + } + }else { + recordVo.setStatus(1); } - }else { - recordVo.setStatus(1); + recordVoList.add(recordVo); } }else { - recordVo.setStatus(4); +// recordVo.setStatus(4); } - recordVoList.add(recordVo); + } } return recordVoList; @@ -799,9 +813,98 @@ strings.add(s); } payCourseInfoReq.setTime(strings); + List<Integer> week = week(tCoursePackage.getClassWeeks()); + + // 今天周几 + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + + SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd"); + ArrayList<String> strings1 = new ArrayList<>(); + + for (Integer integer : week) { + if(integer<i){ + // 找下一周的时间 + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7-(i-integer)); + Date time = instance.getTime(); + strings1.add(format.format(time)); + + }else if(integer>i) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,integer-i); + Date time = instance.getTime(); + strings1.add(format.format(time)); + }else { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7); + Date time = instance.getTime(); + strings1.add(format.format(time)); + } + } + payCourseInfoReq.setDay(strings1); return payCourseInfoReq; } + private static List<Integer> week(String week){ + String[] split = week.split(";"); + ArrayList<Integer> integers = new ArrayList<>(); + for (String s : split) { + switch (s){ + case "周一": + integers.add(1); + break; + case "周二": + integers.add(2); + break; + case "周三": + integers.add(3); + break; + case "周四": + integers.add(4); + break; + case "周五": + integers.add(5); + break; + case "周六": + integers.add(6); + break; + case "周日": + integers.add(7); + break; + } + } + return integers; + } + public static void main(String[] args) { + List<Integer> week = week("周一,周二"); + // 今天周几 + int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1; + + SimpleDateFormat format = new SimpleDateFormat("MM.dd"); + + ArrayList<String> strings = new ArrayList<>(); + for (Integer integer : week) { + if(integer<i){ + // 找下一周的时间 + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7-(i-integer)); + Date time = instance.getTime(); + strings.add(format.format(time)); + + }else if(integer>i) { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,integer-i); + Date time = instance.getTime(); + strings.add(format.format(time)); + }else { + Calendar instance = Calendar.getInstance(); + instance.add(Calendar.DATE,7); + Date time = instance.getTime(); + strings.add(format.format(time)); + } + } + System.out.println(strings); + } @Override @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRES_NEW) public ResultUtil payCourse(PayCourseReq req,Integer userId){ @@ -814,7 +917,7 @@ return ResultUtil.error("当前课包课时数不足"); } tCoursePackagePayment.setLaveClassHours(tCoursePackagePayment.getLaveClassHours()-req.getNum()); - this.baseMapper.updateById(tCoursePackagePayment); + this.baseMapper.updateHoursById(tCoursePackagePayment.getId(),-req.getNum()); TCoursePackage tCoursePackage = tcpmapper.selectById(req.getCourseId()); @@ -852,7 +955,7 @@ for (String s : time) { for (int i = 0; i < split.length; i++) { CoursePackageScheduling coursePackageScheduling = new CoursePackageScheduling(); - coursePackageScheduling.setCourseId(tCoursePackage.getId()); + coursePackageScheduling.setCoursePackageId(tCoursePackage.getId()); try { Date parse = format.parse(s + " " + split[i]); Date parse1 = format.parse(s + " " + split1[i]); @@ -871,7 +974,7 @@ student1.setReservationStatus(1); student1.setInsertTime(new Date()); cpsMapper.insert(student1); - } catch (ParseException e) { + } catch (Exception e) { e.printStackTrace(); } @@ -882,7 +985,7 @@ // 2.0 TCourseInfoRecord tCourseInfoRecord = new TCourseInfoRecord(); tCourseInfoRecord.setUserId(userId); - tCourseInfoRecord.setCourseId(req.getOldCourseId()); + tCourseInfoRecord.setCourseId(req.getCourseId()); tCourseInfoRecord.setName("体验购课"); tCourseInfoRecord.setNum(req.getNum()); tCourseInfoRecord.setTime(new Date()); @@ -920,5 +1023,10 @@ return this.baseMapper.getStudentIds(payId); } + @Override + public boolean updateHoursById(TCoursePackagePayment byId, int i) { + return this.baseMapper.updateHoursById(byId.getId(),i); + } + } -- Gitblit v1.7.1