From 5ca4dbed191c98f121b9d493d943e72ab8a3645e Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 29 十二月 2025 14:14:32 +0800
Subject: [PATCH] 文档调整
---
ruoyi-system/src/main/java/com/ruoyi/system/service/TInsuranceOrderService.java | 17 +++
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TInsuranceOrderMapper.java | 17 +++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInsuranceOrderServiceImpl.java | 20 ++++
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/CourseController.java | 32 ++++-
ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java | 129 +++++++++++++++++++++++++
ruoyi-system/src/main/resources/mapper/system/TInsuranceMapper.xml | 36 +++++++
6 files changed, 242 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 43cc43e..5e71224 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
@@ -1,23 +1,20 @@
package com.ruoyi.web.controller.api;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.OrderNos;
import com.ruoyi.framework.web.service.TokenService;
-import com.ruoyi.system.model.TAppUser;
import com.ruoyi.system.model.TCourse;
import com.ruoyi.system.model.TCourseOrder;
+import com.ruoyi.system.model.TInsuranceOrder;
import com.ruoyi.system.query.CourseOrderListQuery;
import com.ruoyi.system.query.GetCourseListQuery;
import com.ruoyi.system.service.TAppUserService;
import com.ruoyi.system.service.TCourseOrderService;
import com.ruoyi.system.service.TCourseService;
-import com.ruoyi.system.task.base.QuartzManager;
-import com.ruoyi.system.task.base.TimeJobType;
-import com.ruoyi.system.task.jobs.OrderJob;
+import com.ruoyi.system.service.TInsuranceOrderService;
import com.ruoyi.system.wxPay.model.WeixinPayProperties;
import com.ruoyi.system.wxPay.utils.WxRefundUtil;
import com.ruoyi.system.wxPay.utils.WxV3Pay;
@@ -28,6 +25,7 @@
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
@@ -47,14 +45,16 @@
private final WxV3Pay wxV3Pay;
private final WeixinPayProperties weixinPayProperties;
private final TAppUserService appUserService;
+ private final TInsuranceOrderService insuranceOrderService;
- public CourseController(TCourseService courseService, TCourseOrderService courseOrderService, TokenService tokenService, WxV3Pay wxV3Pay, WeixinPayProperties weixinPayProperties, TAppUserService appUserService) {
+ public CourseController(TCourseService courseService, TCourseOrderService courseOrderService, TokenService tokenService, WxV3Pay wxV3Pay, WeixinPayProperties weixinPayProperties, TAppUserService appUserService, TInsuranceOrderService insuranceOrderService) {
this.courseService = courseService;
this.courseOrderService = courseOrderService;
this.tokenService = tokenService;
this.wxV3Pay = wxV3Pay;
this.weixinPayProperties = weixinPayProperties;
this.appUserService = appUserService;
+ this.insuranceOrderService = insuranceOrderService;
}
@PostMapping("/getCourseList")
@@ -121,8 +121,18 @@
@ApiOperation(value = "课程模块--报名")
public R<Map<String, Object>> saveOrder(@RequestBody TCourseOrder courseOrder) {
String userId = tokenService.getLoginUserApplet().getUserId();
- TAppUser appUser = appUserService.getById(userId);
+// TAppUser appUser = appUserService.getById(userId);
TCourse course = courseService.getById(courseOrder.getCourseId());
+ LocalDate endTime = course.getEndTime();
+
+ long count1 = insuranceOrderService.count(new LambdaQueryWrapper<TInsuranceOrder>().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("报名人数已满");
@@ -155,7 +165,11 @@
@PostMapping("/payOrder")
@ApiOperation(value = "课程模块--支付订单")
public R<Map<String, Object>> payOrder(@RequestBody TCourseOrder courseOrder) {
-// String userId = tokenService.getLoginUserApplet().getUserId();
+ String userId = tokenService.getLoginUserApplet().getUserId();
+ long count1 = insuranceOrderService.count(new LambdaQueryWrapper<TInsuranceOrder>().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())){
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TInsuranceOrderMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TInsuranceOrderMapper.java
new file mode 100644
index 0000000..bb88a92
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TInsuranceOrderMapper.java
@@ -0,0 +1,17 @@
+package com.ruoyi.system.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.system.model.TInsuranceOrder;
+
+/**
+ * <p>
+ * 用户保险费 Mapper 接口
+ * </p>
+ *
+ * @author administrator
+ * @since 2025-12-29
+ */
+public interface TInsuranceOrderMapper extends BaseMapper<TInsuranceOrder> {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java
new file mode 100644
index 0000000..8694565
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java
@@ -0,0 +1,129 @@
+package com.ruoyi.system.model;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.ruoyi.common.core.domain.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 用户保险费
+ * </p>
+ *
+ * @author administrator
+ * @since 2025-12-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("t_insurance_order")
+public class TInsuranceOrder extends BaseModel {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private String id;
+ @TableField("app_user_id")
+ private String appUserId;
+ private String name;
+ private String phone;
+ @TableField("id_card")
+ private String idCard;
+ /**
+ * 支付凭证
+ */
+ private String img;
+ /**
+ * 1线上2线下
+ */
+ @TableField("pay_type")
+ private Integer payType;
+ /**
+ * 支付编号
+ */
+ @TableField("pay_no")
+ private String payNo;
+ /**
+ * 支付金额
+ */
+ @TableField("pay_money")
+ private BigDecimal payMoney;
+ /**
+ * 支付时间
+ */
+ @TableField("pay_time")
+ private Date payTime;
+ /**
+ * 支付流水号
+ */
+ @TableField("transaction_id")
+ private String transactionId;
+ /**
+ * 0未付款 1已退 2已支付
+ */
+ @TableField("status")
+ private Integer status;
+ /**
+ * 退款时间
+ */
+ @TableField("refund_time")
+ private Date refundTime;
+ /**
+ * 申请退款时间
+ */
+ @TableField("request_refund_time")
+ private Date requestRefundTime;
+ /**
+ * 退款金额
+ */
+ @TableField("refund_money")
+ private Double refundMoney;
+ /**
+ * 退款原因
+ */
+ @TableField("refund_reason")
+ private String refundReason;
+ /**
+ * 申请退款原因图片
+ */
+ @TableField("refund_reason_pictures")
+ private String refundReasonPictures;
+ /**
+ * 退款单号
+ */
+ @TableField("refund_number")
+ private String refundNumber;
+ /**
+ * 退款流水号
+ */
+ @TableField("refund_transaction_id")
+ private String refundTransactionId;
+ /**
+ * 退款审核状态 1=待审核 2=通过 3=驳回
+ */
+ @TableField("refund_status")
+ private Integer refundStatus;
+ /**
+ * 退款凭证
+ */
+ @TableField("refund_voucher")
+ private String refundVoucher;
+ /**
+ * 驳回原因
+ */
+ @TableField("reject_reason")
+ private String rejectReason;
+
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TInsuranceOrderService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TInsuranceOrderService.java
new file mode 100644
index 0000000..8a770d0
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TInsuranceOrderService.java
@@ -0,0 +1,17 @@
+package com.ruoyi.system.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.system.model.TInsuranceOrder;
+
+/**
+ * <p>
+ * 用户保险费 服务类
+ * </p>
+ *
+ * @author administrator
+ * @since 2025-12-29
+ */
+public interface TInsuranceOrderService extends IService<TInsuranceOrder> {
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInsuranceOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInsuranceOrderServiceImpl.java
new file mode 100644
index 0000000..356f70b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TInsuranceOrderServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.mapper.TInsuranceOrderMapper;
+import com.ruoyi.system.model.TInsuranceOrder;
+import com.ruoyi.system.service.TInsuranceOrderService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 用户保险费 服务实现类
+ * </p>
+ *
+ * @author administrator
+ * @since 2025-12-29
+ */
+@Service
+public class TInsuranceOrderServiceImpl extends ServiceImpl<TInsuranceOrderMapper, TInsuranceOrder> implements TInsuranceOrderService {
+
+}
diff --git a/ruoyi-system/src/main/resources/mapper/system/TInsuranceMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TInsuranceMapper.xml
new file mode 100644
index 0000000..a734300
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/system/TInsuranceMapper.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.TInsuranceOrderMapper">
+
+ <!-- 通用查询映射结果 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TInsuranceOrder">
+ <id column="id" property="id" />
+ <result column="app_user_id" property="appUserId" />
+ <result column="name" property="name" />
+ <result column="phone" property="phone" />
+ <result column="id_card" property="idCard" />
+ <result column="img" property="img" />
+ <result column="pay_type" property="payType" />
+ <result column="pay_no" property="payNo" />
+ <result column="pay_money" property="payMoney" />
+ <result column="pay_time" property="payTime" />
+ <result column="transaction_id" property="transactionId" />
+ <result column="status" property="status" />
+ <result column="refund_time" property="refundTime" />
+ <result column="request_refund_time" property="requestRefundTime" />
+ <result column="refund_money" property="refundMoney" />
+ <result column="refund_reason" property="refundReason" />
+ <result column="refund_reason_pictures" property="refundReasonPictures" />
+ <result column="refund_number" property="refundNumber" />
+ <result column="refund_transaction_id" property="refundTransactionId" />
+ <result column="refund_status" property="refundStatus" />
+ <result column="refund_voucher" property="refundVoucher" />
+ <result column="reject_reason" property="rejectReason" />
+ <result column="create_time" property="createTime" />
+ <result column="update_time" property="updateTime" />
+ <result column="create_by" property="createBy" />
+ <result column="update_by" property="updateBy" />
+ <result column="disabled" property="disabled" />
+ </resultMap>
+
+</mapper>
--
Gitblit v1.7.1