| | |
| | | Page<TCourseOrder> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<TCourseOrder> courseOrderPage = courseOrderService.page(page, Wrappers.<TCourseOrder>lambdaQuery() |
| | | .eq(TCourseOrder::getAppUserId, userId) |
| | | .ne(TCourseOrder::getPayStatus, 4) |
| | | .eq(Objects.nonNull(query.getPayStatus()),TCourseOrder::getPayStatus, query.getPayStatus()) |
| | | .ne(TCourseOrder::getPayStatus, 4) |
| | | .orderByDesc(TCourseOrder::getCreateTime)); |
| | | List<TCourseOrder> records = courseOrderPage.getRecords(); |
| | | if(!records.isEmpty()){ |
| | |
| | | LocalDate endTime = course.getEndTime(); |
| | | |
| | | |
| | | long count1 = insuranceOrderService.count(new LambdaQueryWrapper<TInsuranceOrder>().eq(TInsuranceOrder::getType,course.getCourseType()).eq(TInsuranceOrder::getAppUserId, userId).eq(TInsuranceOrder::getStatus, 2)); |
| | | if(count1<=0){ |
| | | return R.fail("请先缴纳保险费"); |
| | | if(endTime.isBefore(LocalDate.now())){ |
| | | return R.fail("课程已截至报名"); |
| | | } |
| | | long count = courseOrderService.count(Wrappers.lambdaQuery(TCourseOrder.class).eq(TCourseOrder::getCourseId, course.getId()).in(TCourseOrder::getPayStatus, Arrays.asList(1, 2, 5))); |
| | | if(count>=course.getPeopleLimit()){ |
| | | return R.fail("报名人数已满"); |
| | | } |
| | | |
| | | long userCount = courseOrderService.count(Wrappers.lambdaQuery(TCourseOrder.class) |
| | | .eq(TCourseOrder::getIdCard, courseOrder.getIdCard()) |
| | | .eq(TCourseOrder::getCourseId, course.getId()) |
| | | .in(TCourseOrder::getPayStatus, 1, 2, 5, 6)); |
| | | |
| | | if(userCount>0){ |
| | | return R.fail("该课程已提交相同的报名意向!"); |
| | | } |
| | | |
| | | courseOrder.setAppUserId(userId); |
| | | courseOrder.setPayMoney(course.getCourseCost()); |
| | | courseOrder.setPayStatus(1); |
| | | courseOrder.setOrderNumber(OrderNos.getDid()); |
| | | boolean save = courseOrderService.save(courseOrder); |
| | | // if (save) { |
| | | // Map<String, ? extends Object> maps = |
| | | // new ImmutableMap.Builder<String, String>(). |
| | | // put("id", courseOrder.getId()) |
| | | // .build(); |
| | | // QuartzManager.addJob( |
| | | // OrderJob.class, |
| | | // (OrderJob.name+courseOrder.getId()).toUpperCase(), |
| | | // TimeJobType.CANCEL_ORDER, |
| | | // DateUtils.localDateTimeToDate(LocalDateTime.now().plusMinutes(15)), |
| | | // maps |
| | | // ); |
| | | // Map<String, Object> result = wxV3Pay.jsApi(courseOrder.getOrderNumber(), course.getCourseCost().multiply(BigDecimal.valueOf(100)).longValue(), appUser.getOpenId(),"购买课程",""); |
| | | // return R.ok(result); |
| | | //// return R.ok(); |
| | | // } |
| | | return R.ok(); |
| | | } |
| | | @PostMapping("/saveOrderAndPay") |
| | | @ApiOperation(value = "课程模块--报名并支付") |
| | | public R<Map<String, Object>> saveOrderAndPay(@RequestBody TCourseOrder courseOrder) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TAppUser appUser = appUserService.getById(userId); |
| | | TCourse course = courseService.getById(courseOrder.getCourseId()); |
| | | LocalDate endTime = course.getEndTime(); |
| | | |
| | | TOtherConfig config = otherConfigService.getById(1); |
| | | if(config.getIsOpenInsurance()==1){ |
| | | long count1 = insuranceOrderService.count(new LambdaQueryWrapper<TInsuranceOrder>().eq(TInsuranceOrder::getType,course.getCourseType()).eq(TInsuranceOrder::getAppUserId, userId).eq(TInsuranceOrder::getStatus, 2)); |
| | | if(count1<=0){ |
| | | return R.fail("请先缴纳保险费"); |
| | | } |
| | | |
| | | } |
| | | |
| | | if(course.getIsOpenCourse()==0){ |
| | | return R.fail("课程未开启缴费"); |
| | | } |
| | | |
| | | if(endTime.isBefore(LocalDate.now())){ |
| | |
| | | @ApiOperation(value = "课程模块--支付订单") |
| | | public R<Map<String, Object>> payOrder(@RequestBody TCourseOrder courseOrder) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TCourseOrder courseOrder1 = courseOrderService.getById(courseOrder.getId()); |
| | | TCourse course = courseService.getById(courseOrder1.getCourseId()); |
| | | |
| | | TCourse course = courseService.getById(courseOrder.getCourseId()); |
| | | long count1 = insuranceOrderService.count(new LambdaQueryWrapper<TInsuranceOrder>().eq(TInsuranceOrder::getType,course.getCourseType()).eq(TInsuranceOrder::getAppUserId, userId).eq(TInsuranceOrder::getStatus, 2)); |
| | | if(count1<=0){ |
| | | return R.fail("请先缴纳保险费"); |
| | | TOtherConfig config = otherConfigService.getById(1); |
| | | if(config.getIsOpenInsurance()==1){ |
| | | long count1 = insuranceOrderService.count(new LambdaQueryWrapper<TInsuranceOrder>().eq(TInsuranceOrder::getType,course.getCourseType()).eq(TInsuranceOrder::getAppUserId, userId).eq(TInsuranceOrder::getStatus, 2)); |
| | | if(count1<=0){ |
| | | return R.fail("请先缴纳保险费"); |
| | | } |
| | | |
| | | } |
| | | TAppUser appUser = appUserService.getById(userId); |
| | | TCourseOrder courseOrder1 = courseOrderService.getById(courseOrder.getId()); |
| | | |
| | | // if(!userId.equals(courseOrder1.getAppUserId())){ |
| | | // return R.fail("无权限操作"); |
| | | // } |
| | |
| | | }else { |
| | | String outRefundNo = OrderNos.getDid(); |
| | | courseOrder1.setRefundNumber(outRefundNo); |
| | | courseOrder1.setBankCardNumber(courseOrder.getBankCardNumber()); |
| | | courseOrder1.setCardholderName(courseOrder.getCardholderName()); |
| | | courseOrder1.setBankName(courseOrder.getBankName()); |
| | | courseOrderService.updateById(courseOrder1); |
| | | // WxPaymentRefundModel refundModel = new WxPaymentRefundModel(); |
| | | //// refundModel.setSub_mchid(weixinPayProperties.getMchId()); |