| | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | |
| | | public R<Page<TCourseOrder>> getCourseOrderList(@RequestBody CourseOrderListQuery query) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | Page<TCourseOrder> page = new Page<>(query.getPageNum(), query.getPageSize()); |
| | | Page<TCourseOrder> courseOrderPage = courseOrderService.page(page, Wrappers.<TCourseOrder>lambdaQuery().eq(TCourseOrder::getAppUserId, userId).eq(Objects.nonNull(query.getPayStatus()),TCourseOrder::getPayStatus, query.getPayStatus()).orderByDesc(TCourseOrder::getCreateTime)); |
| | | Page<TCourseOrder> courseOrderPage = courseOrderService.page(page, Wrappers.<TCourseOrder>lambdaQuery() |
| | | .eq(TCourseOrder::getAppUserId, userId) |
| | | .eq(Objects.nonNull(query.getPayStatus()),TCourseOrder::getPayStatus, query.getPayStatus()) |
| | | .orderByDesc(TCourseOrder::getCreateTime)); |
| | | List<TCourseOrder> records = courseOrderPage.getRecords(); |
| | | if(!records.isEmpty()){ |
| | | List<String> courseIds = records.stream().map(TCourseOrder::getCourseId).collect(Collectors.toList()); |
| | | List<TCourse> tCourses = courseService.listByIds(courseIds); |
| | | records.forEach(courseOrder -> { |
| | | tCourses.forEach(course -> { |
| | | if(course.getId().equals(courseOrder.getCourseId())){ |
| | | courseOrder.setCourse(course); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | courseOrderPage.setRecords(records); |
| | | return R.ok(courseOrderPage); |
| | | } |
| | | |
| | | @GetMapping("/getCourseOrderDetail/{id}") |
| | | @ApiOperation(value = "课程模块--订单详情",response = TCourseOrder.class) |
| | | public R<TCourseOrder> getCourseOrderList(@PathVariable String id) { |
| | | String userId = tokenService.getLoginUserApplet().getUserId(); |
| | | TCourseOrder courseOrder = courseOrderService.getById(id); |
| | | if(!courseOrder.getAppUserId().equals(userId)){ |
| | | return R.fail("无权限"); |
| | | } |
| | | String courseId = courseOrder.getCourseId(); |
| | | TCourse course = courseService.getById(courseId); |
| | | courseOrder.setCourse(course); |
| | | return R.ok(courseOrder); |
| | | } |
| | | |
| | | @PostMapping("/saveOrder") |
| | |
| | | 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); |
| | | } |
| | | |
| | | 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 |
| | | ); |
| | | |
| | | |
| | | return R.fail("报名失败"); |
| | | } |
| | | |
| | |
| | | courseOrder1.setRefundReason(courseOrder.getRefundReason()); |
| | | courseOrder1.setRefundReasonPictures(courseOrder.getRefundReasonPictures()); |
| | | courseOrder1.setPayStatus(6); |
| | | courseOrder1.setRequestRefundTime(LocalDateTime.now()); |
| | | courseOrder1.setRefundMoney(courseOrder1.getPayMoney()); |
| | | |
| | | if(!userId.equals(courseOrder1.getAppUserId())){ |
| | | return R.fail("无权限操作"); |