From d4fbea2ac7f7c98ffd83480f8f2535ca92f3baea Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期三, 29 十一月 2023 18:19:43 +0800 Subject: [PATCH] 11.29 --- cloud-server-course/src/main/java/com/dsh/course/controller/CoursePackagePaymentController.java | 190 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 132 insertions(+), 58 deletions(-) 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 7831e10..7332374 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 @@ -28,6 +28,7 @@ import com.dsh.course.util.*; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.obs.services.internal.ServiceException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -187,7 +188,6 @@ coursePackageOrder.setInsertTime(new Date()); coursePackageOrder.setSalesName(packagePayment.getSalesName()); coursePackageOrderService.save(coursePackageOrder); - // 生成排课数据 return 200; @@ -230,7 +230,7 @@ .eq("type", 4).eq("auditStatus", 2).eq("status", 1) .eq("coursePackagePaymentConfigId",one1.getId())); if (one!=null){ - Integer giftClassHours = getGiftClassHours(one); + Integer giftClassHours = getGiftClassHours(one,null); coursePackageOrderStudent.setGiftClassHours(giftClassHours); coursePackageOrderStudent.setTotalClassHours(coursePackageOrderStudent.getTotalClassHours()+giftClassHours); coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()+giftClassHours); @@ -265,7 +265,7 @@ .eq("type", 4).eq("auditStatus", 2).eq("status", 1) .eq("coursePackagePaymentConfigId",one1.getId())); if (one!=null){ - Integer giftClassHours = getGiftClassHours(one); + Integer giftClassHours = getGiftClassHours(one,null); coursePackageOrderStudent.setGiftClassHours(giftClassHours); }else{ coursePackageOrderStudent.setGiftClassHours(0); @@ -283,6 +283,9 @@ } } } + if(byId.getType() == 2){ + addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null); + } return packagePaymentService.changeState(dto); } @@ -303,6 +306,25 @@ List<CoursePackagePaymentVO> res = packagePaymentService.listAll(query); List<CoursePackagePaymentVO> result = new ArrayList<>(); for (CoursePackagePaymentVO re : res) { + // 判断这条记录有没有赠送课时 + Integer coursePackageId = re.getCoursePackageId(); + Integer classHours = re.getClassHours(); + CoursePackagePaymentConfig one = icppcService.getOne(new QueryWrapper<CoursePackagePaymentConfig>() + .eq("coursePackageId", coursePackageId) + .eq("classHours", classHours)); + if (one!=null){ + TCoursePackageDiscount one1 = discountService.getOne(new QueryWrapper<TCoursePackageDiscount>().eq("coursePackageId", coursePackageId) + .eq("coursePackagePaymentConfigId", one.getId()) + .eq("auditStatus",2).eq("status",1).eq("type",4)); + if (one1 == null){ + re.setGiftClassHours(0); + }else{ + Integer giftClassHours = getGiftClassHours(one1,re.getInsertTime()); + re.setGiftClassHours(giftClassHours); + } + }else{ + re.setGiftClassHours(0); + } if (re.getCashPayment() == null) { if (re.getPlayPaiCoin() != null) { String value = String.valueOf(re.getPlayPaiCoin()); @@ -371,7 +393,7 @@ if (discountService.list(new QueryWrapper<TCoursePackageDiscount>() .eq("coursePackageId", re.getCoursePackageId()).eq("auditStatus", 2)).size() > 0) { re.setBuyType(3); - re.setDiscountAmount(re.getOriginalPrice().subtract(re.getPayMoney())); + re.setDiscountAmount(re.getOriginalPrice().subtract(re.getCashPayment())); } else { re.setBuyType(2); } @@ -666,17 +688,17 @@ @PostMapping("/base/coursePack/getRecord") public List<PurchaseRecordVo> getRecord(@RequestBody RecordTimeRequest recordTimeRequest) { - List<CoursePackageOrderStudent> list = new ArrayList<>(); +// List<CoursePackageOrderStudent> list = new ArrayList<>(); Integer[] changes = {1, 0}; - if (recordTimeRequest.getType() == null) { - list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - } else { - - list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); - } - List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); +// if (recordTimeRequest.getType() == null) { +// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); +// } else { +// +// list = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>().eq("studentId", recordTimeRequest.getStuId()).eq("coursePackageId", recordTimeRequest.getLessionId()).orderByDesc("insertTime")); +// } +// List<Integer> appUserIds = list.stream().map(CoursePackageOrderStudent::getAppUserId).collect(Collectors.toList()); List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() - .in("appUserId", appUserIds) + .eq("studentId", recordTimeRequest.getStuId()) .eq("coursePackageId", recordTimeRequest.getLessionId()) .eq("state", 1) ); @@ -833,9 +855,6 @@ return videoVos; } - - - @PostMapping("/base/coursePack/allPaymentCourseList") @ResponseBody public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId) { @@ -901,7 +920,6 @@ Set<BaseVo> set = new HashSet<>(list); List<BaseVo> back = new ArrayList<>(set); - return ResultUtil.success(back); } catch (Exception e) { e.printStackTrace(); @@ -919,25 +937,11 @@ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), }) public ResultUtil<List<AppUserVideoResponse>> queryAfterSourceList(CourseOfAfterRequest search) throws Exception { -// try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if (null == appUserId) { return ResultUtil.tokenErr(); } -// -// List<Integer> courseIds = new ArrayList<>(); -// QueryWrapper<TCoursePackagePayment> queryWrapper = new QueryWrapper<TCoursePackagePayment>().eq("appUserId", appUserId) -// .groupBy("coursePackageId"); -// if (ToolUtil.isNotEmpty(search.getCourseTypeId())){ -// queryWrapper.eq("coursePackageId",search.getCourseTypeId()); -// } -// List<TCoursePackagePayment> tCoursePackagePayments = packagePaymentService.list(queryWrapper); -// if (tCoursePackagePayments.size() > 0 ){ -// courseIds = tCoursePackagePayments.stream().map(TCoursePackagePayment::getCoursePackageId).collect(Collectors.toList()); -// } - - QueryWrapper<CoursePackageStudent> queryWrapper1 = new QueryWrapper<CoursePackageStudent>().eq("studentId", search.getStuId()); if (ToolUtil.isNotEmpty(search.getCourseTypeId())) { queryWrapper1.eq("coursePackageId", search.getCourseTypeId()); @@ -950,7 +954,6 @@ } System.out.println("======longs========" + longs); -// List<CoursePackageScheduling> coursePackageSchedulings = coursePackageSchedulingService.list(new QueryWrapper<CoursePackageScheduling>().in("id",longs).isNotNull("courseId")); List<AppUserVideoResponse> coursePackageSchedulings1 = coursePackageSchedulingService.queryAll(longs); if (search.getSearch() != null) { @@ -965,11 +968,6 @@ } return ResultUtil.success(coursePackageSchedulings1); - - -// }catch (Exception e){ -// return ResultUtil.runErr(); -// } } /** @@ -1117,7 +1115,6 @@ } - /** * 已报名课程详情 */ @@ -1132,7 +1129,7 @@ @ApiImplicitParam(name = "orderId", value = "订单id", dataType = "int") }) - public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat, Integer orderId) { + public ResultUtil<CourseDetailsResponse> getRegisteredData(Long coursePayId, String lon, String lat) { try { Integer appUserId = tokenUtil.getUserIdFormRedis(); if (null == appUserId) { @@ -1140,9 +1137,7 @@ } CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId, lon, lat); - - - +// // if (orderId != null) { // TOrder byId = orderService.getById(orderId); // courseDetailsResponse.setAmount(byId.getPrice()); @@ -1790,7 +1785,66 @@ return dateList.toArray(new Date[0]); } - public Integer getGiftClassHours(TCoursePackageDiscount one){ + public Integer getGiftClassHours(TCoursePackageDiscount one,Date insertTime){ + if (insertTime!=null){ + // 判断购买时间 是否满足折扣规则 + char c = one.getContent().charAt(0); + String value1 = String.valueOf(c); + JSONObject jsonObject ; + if (value1.equals("[")){ + jsonObject = JSONObject.fromObject(one.getContent() + .substring(1,one.getContent().length() - 1)); + }else{ + jsonObject = JSONObject.fromObject(one.getContent()); + } + // 赠送课时 判断当前课包有没有赠送课时 + String weeks = jsonObject.getString("weeks"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(insertTime); + // 获取星期几,星期日是1,星期一是2,以此类推 + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); + // 将星期日(Calendar定义为1)转换为7 + if (dayOfWeek == Calendar.SUNDAY) { + dayOfWeek = 7; + } else { + // 其他星期减一即可得到1-6的数字表示 + dayOfWeek -= 1; + } + // todo + if (weeks.contains(String.valueOf(dayOfWeek))){ + // 限时折扣判断是否在有效期 + try { + // 判断当日时间是否能享受到折扣 + String startTime = jsonObject.getString("startTime"); + String endTime = jsonObject.getString("endTime"); + + // 定义时间格式 + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); + // 解析开始时间和结束时间为Date对象 + Date startTime1 = sdf.parse(startTime); + Date endTime1 = sdf.parse(endTime); + Date date1 = new Date(); + date1.setHours(startTime1.getHours()); + date1.setMinutes(startTime1.getMinutes()); + date1.setSeconds(startTime1.getSeconds()); + Date date2 = new Date(); + date2.setHours(endTime1.getHours()); + date2.setMinutes(endTime1.getMinutes()); + date2.setSeconds(endTime1.getSeconds()); + // 检查当前时间是否在开始时间和结束时间之间 + if (insertTime.after(date1) && insertTime.before(date2)) { + System.out.println("当前时间在开始时间和结束时间之间。"); + String hour = jsonObject.getString("hour"); + return Integer.valueOf(hour); + } else { + System.out.println("当前时间不在开始时间和结束时间之间。"); + return 0; + } + } catch (ParseException e) { + e.printStackTrace(); + } + } + } // 判断购买时间 是否满足折扣规则 char c = one.getContent().charAt(0); String value1 = String.valueOf(c); @@ -1860,8 +1914,6 @@ String[] split1 = tCoursePackage.getClassEndTime().split(","); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - - //剩余课时 Integer laveClassHours = coursePackageOrderStudent.getLaveClassHours(); //扣除课时数 @@ -2303,6 +2355,12 @@ return packagePaymentService.getById(id); } + @ResponseBody + @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById1") + public CoursePackageOrderStudent queryCoursePackagePaymentById1(@RequestParam("id") Long id) { + return coursePackageOrderStudentService.getById(id); + } + // @Autowired // private ICoursePackageOrderStudentService orderStudentService; @@ -2310,13 +2368,13 @@ @ResponseBody @PostMapping("/coursePackagePayment/consumeCourse") - public ResultUtil consumeCourse(@RequestBody Integer coursePackagePaymentId) { + public Integer consumeCourse(@RequestBody Integer coursePackagePaymentId) { CoursePackageOrderStudent coursePackageOrderStudent = orderStudentService.getById(coursePackagePaymentId); TCoursePackage coursePackage = coursePackageService.getById(coursePackageOrderStudent.getCoursePackageId()); if (coursePackageOrderStudent.getLaveClassHours()<coursePackage.getNeedNum()){ - return ResultUtil.error("当前学员课时数不足"); + return 1; } coursePackageOrderStudent.setLaveClassHours(coursePackageOrderStudent.getLaveClassHours()-coursePackage.getNeedNum()); orderStudentService.updateById(coursePackageOrderStudent); @@ -2327,7 +2385,7 @@ courseCounsum.setInsertTime(new Date()); courseCounsum.setReason("补课"); courseCounsumService.save(courseCounsum); - return ResultUtil.success("补课成功"); + return 2; } @@ -2365,6 +2423,16 @@ System.out.println("editCoursePackagePayment1====coursePackagePayment" + coursePackagePayment); // coursePackagePayment.setCoursePackageId(null); packagePaymentService.updateBytime(coursePackagePayment); + } + + @ResponseBody + @PostMapping("/coursePackagePayment/editCoursePackagePayment2") + public void editCoursePackagePayment2(@RequestBody CoursePackageOrderStudent coursePackageOrderStudent) { + System.out.println("editCoursePackagePayment1====coursePackagePayment" + coursePackageOrderStudent); +// coursePackagePayment.setCoursePackageId(null); +// packagePaymentService.updateBytime(coursePackagePayment); + + coursePackageOrderStudentService.updateById(coursePackageOrderStudent); } @@ -2466,7 +2534,9 @@ map.put("lon", lon); map.put("lat", lat); // 找出门店的所有课程 排出体验 - List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>().eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3).eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week)); + List<TCoursePackage> list = tcpService.list(new LambdaQueryWrapper<TCoursePackage>() + .eq(TCoursePackage::getStoreId, courseDetailReq.getStoreId()).ne(TCoursePackage::getType, 3) + .eq(TCoursePackage::getState, 1).like(TCoursePackage::getClassWeeks, week)); List<Integer> collect = list.stream().map(TCoursePackage::getId).collect(Collectors.toList()); if (collect.size() == 0) { collect.add(-1); @@ -2478,14 +2548,14 @@ .in(CoursePackageScheduling::getCoursePackageId, collect) ); List<Integer> collect1 = list8.stream().map(CoursePackageScheduling::getCoursePackageId).collect(Collectors.toList()); - // 找出购买的课包 - List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() - .eq("appUserId", courseDetailReq.getAppUserId()) - .eq("studentId", courseDetailReq.getStuId()) - .in("coursePackageId", collect1) - .eq("status", 1) - .eq("state", 1) - ); +// // 找出购买的课包 +// List<CoursePackageOrderStudent> list1 = coursePackageOrderStudentService.list(new QueryWrapper<CoursePackageOrderStudent>() +// .eq("appUserId", courseDetailReq.getAppUserId()) +// .eq("studentId", courseDetailReq.getStuId()) +// .in("coursePackageId", collect1) +// .eq("status", 1) +// .eq("state", 1) +// ); @@ -2571,6 +2641,11 @@ detailsListVo.setIsType(list4.get(0).getType()); for (CoursePackageStudent coursePackageStudent : list4) { + CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId()); + if (coursePackageScheduling.getStatus()==4){ + detailsListVo.setIsType(3); + } + Integer signInOrNot1 = coursePackageStudent.getSignInOrNot(); detailsListVo.setType(1); @@ -2578,7 +2653,6 @@ detailsListVo.setType(3); } detailsListVo.setIsType(coursePackageStudent.getType()); - CoursePackageScheduling coursePackageScheduling = coursePackageSchedulingMapper.selectById(coursePackageStudent.getCoursePackageSchedulingId()); Date classDate = coursePackageScheduling.getClassDate(); Date endDate = coursePackageScheduling.getEndDate(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); -- Gitblit v1.7.1