From 70fab9b9607f18df92fc2c7c0efced0dcd55d5fc Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 02 三月 2026 09:46:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java | 82 ++++++++++++++++++++++++++++++++++++----
1 files changed, 73 insertions(+), 9 deletions(-)
diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
index 4074a3d..a343407 100644
--- a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java
@@ -96,8 +96,8 @@
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()){
@@ -138,9 +138,65 @@
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())){
@@ -179,14 +235,19 @@
@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("无权限操作");
// }
@@ -235,6 +296,9 @@
}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());
--
Gitblit v1.7.1