| | |
| | | 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; |
| | |
| | | coursePackageOrder.setInsertTime(new Date()); |
| | | coursePackageOrder.setSalesName(packagePayment.getSalesName()); |
| | | coursePackageOrderService.save(coursePackageOrder); |
| | | |
| | | // 生成排课数据 |
| | | return 200; |
| | | |
| | |
| | | .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); |
| | |
| | | .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); |
| | |
| | | } |
| | | } |
| | | } |
| | | if(byId.getType() == 2){ |
| | | addPackageStudent1(byId, byId1.getAppUserId(), Integer.valueOf(byId1.getStudentIds()), null); |
| | | } |
| | | return packagePaymentService.changeState(dto); |
| | | } |
| | | |
| | |
| | | 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()); |
| | |
| | | Store store = storeClient.queryStoreById(re.getStoreId()); |
| | | TAppUser appUser = appUserClient.queryAppUser1(re.getAppUserId()); |
| | | String studentId = re.getStudentId(); |
| | | String[] split = studentId.split(","); |
| | | String[] split = studentId.split(";"); |
| | | StringBuilder stringBuilder = new StringBuilder(""); |
| | | |
| | | for (String s : split) { |
| | |
| | | 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); |
| | | } |
| | |
| | | |
| | | @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) |
| | | ); |
| | |
| | | return videoVos; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @PostMapping("/base/coursePack/allPaymentCourseList") |
| | | @ResponseBody |
| | | public List<CouponPaymentVo> getAppuserCourseList(@RequestBody Integer appUserId) { |
| | |
| | | |
| | | Set<BaseVo> set = new HashSet<>(list); |
| | | List<BaseVo> back = new ArrayList<>(set); |
| | | |
| | | return ResultUtil.success(back); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | @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()); |
| | |
| | | } |
| | | |
| | | 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) { |
| | |
| | | } |
| | | |
| | | return ResultUtil.success(coursePackageSchedulings1); |
| | | |
| | | |
| | | // }catch (Exception e){ |
| | | // return ResultUtil.runErr(); |
| | | // } |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 已报名课程详情 |
| | | */ |
| | |
| | | @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) { |
| | |
| | | } |
| | | CourseDetailsResponse courseDetailsResponse = packagePaymentService.queryRegisteredCourseDetails(coursePayId, appUserId, lon, lat); |
| | | |
| | | |
| | | |
| | | |
| | | // |
| | | // if (orderId != null) { |
| | | // TOrder byId = orderService.getById(orderId); |
| | | // courseDetailsResponse.setAmount(byId.getPrice()); |
| | |
| | | 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); |
| | |
| | | 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(); |
| | | //扣除课时数 |
| | |
| | | return packagePaymentService.getById(id); |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/coursePackagePayment/queryCoursePackagePaymentById1") |
| | | public CoursePackageOrderStudent queryCoursePackagePaymentById1(@RequestParam("id") Long id) { |
| | | return coursePackageOrderStudentService.getById(id); |
| | | } |
| | | |
| | | |
| | | // @Autowired |
| | | // private ICoursePackageOrderStudentService orderStudentService; |
| | |
| | | |
| | | @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); |
| | |
| | | courseCounsum.setInsertTime(new Date()); |
| | | courseCounsum.setReason("补课"); |
| | | courseCounsumService.save(courseCounsum); |
| | | return ResultUtil.success("补课成功"); |
| | | return 2; |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/coursePackagePayment/CountqueryByClassId") |
| | | public Integer CountqueryByClassId(@RequestBody Integer id) { |
| | | int coursePackageId = packagePaymentService.count(new QueryWrapper<TCoursePackagePayment>().eq("coursePackageId", id)); |
| | | int coursePackageId = coursePackageOrderStudentService.count(new QueryWrapper<CoursePackageOrderStudent>().eq("coursePackageId", id)); |
| | | |
| | | |
| | | return coursePackageId; |
| | |
| | | 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); |
| | | } |
| | | |
| | | |
| | |
| | | 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); |
| | |
| | | .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) |
| | | // ); |
| | | |
| | | |
| | | |
| | |
| | | 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); |
| | | |
| | |
| | | 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"); |