From b97ec797b8f07dbb21ea723e9f2c82b8e4a88e2f Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期一, 29 十二月 2025 14:54:21 +0800
Subject: [PATCH] 文档调整

---
 ruoyi-system/src/main/java/com/ruoyi/system/dto/BuyInsuranceDto.java             |   25 ++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/vo/UserInsuranceVo.java              |   24 ++++++++
 ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java |   83 +++++++++++++++++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java           |    4 +
 4 files changed, 136 insertions(+), 0 deletions(-)

diff --git a/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java
new file mode 100644
index 0000000..2a7a876
--- /dev/null
+++ b/ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java
@@ -0,0 +1,83 @@
+package com.ruoyi.web.controller.api;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.BaseModel;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.system.dto.BuyInsuranceDto;
+import com.ruoyi.system.model.TBanner;
+import com.ruoyi.system.model.TCourse;
+import com.ruoyi.system.model.TInsuranceOrder;
+import com.ruoyi.system.query.GetCourseListQuery;
+import com.ruoyi.system.service.TInsuranceOrderService;
+import com.ruoyi.system.vo.UserInsuranceVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Objects;
+
+@Slf4j
+@RestController
+@RequestMapping("/insurance")
+@Api(tags = "保险模块")
+public class InsuranceController {
+
+    private final TInsuranceOrderService tInsuranceOrderService;
+    private final TokenService tokenService;
+
+    public InsuranceController(TInsuranceOrderService tInsuranceOrderService, TokenService tokenService) {
+        this.tInsuranceOrderService = tInsuranceOrderService;
+        this.tokenService = tokenService;
+    }
+
+
+    /**
+     * 获取是否支付了保险费 是否到期
+     */
+    @GetMapping("/getInsurance")
+    @ApiOperation(value = "保险模块--获取用户是否有保险",response = TBanner.class)
+    public R<UserInsuranceVo> getCourseList() {
+        String userId = tokenService.getLoginUserApplet().getUserId();
+        UserInsuranceVo insuranceVo = new UserInsuranceVo();
+        TInsuranceOrder one = tInsuranceOrderService.getOne(Wrappers.<TInsuranceOrder>lambdaQuery().eq(TInsuranceOrder::getAppUserId, userId).eq(TInsuranceOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("LIMIT 1"));
+        if(one!=null){
+            insuranceVo.setUserId(userId);
+            insuranceVo.setPayTime(one.getPayTime());
+            insuranceVo.setEndTime(one.getEndTime());
+        }
+        return R.ok(insuranceVo);
+    }
+
+
+
+    @PostMapping("/buyInsurance")
+    @ApiOperation(value = "保险模块--购买保险")
+    public R<?> buyInsurance(@RequestBody BuyInsuranceDto dto) {
+        String userId = tokenService.getLoginUserApplet().getUserId();
+        // 查询保险订单
+        TInsuranceOrder one = tInsuranceOrderService.getOne(Wrappers.<TInsuranceOrder>lambdaQuery().eq(TInsuranceOrder::getAppUserId, userId).eq(TInsuranceOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("LIMIT 1"));
+        if(one!=null){
+            return R.fail("您已购买保险");
+        }
+        TInsuranceOrder insuranceOrder = new TInsuranceOrder();
+        insuranceOrder.setAppUserId(userId);
+        insuranceOrder.setName(dto.getName());
+        insuranceOrder.setPhone(dto.getPhone());
+        insuranceOrder.setIdCard(dto.getIdCard());
+        insuranceOrder.setImg(dto.getImg());
+        insuranceOrder.setPayType(dto.getType());
+
+
+
+        boolean save = tInsuranceOrderService.save(insuranceOrder);
+        if(save){
+            return R.ok("购买成功");
+        }
+        return R.fail("购买失败");
+    }
+
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/dto/BuyInsuranceDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/dto/BuyInsuranceDto.java
new file mode 100644
index 0000000..1ec3d0f
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/dto/BuyInsuranceDto.java
@@ -0,0 +1,25 @@
+package com.ruoyi.system.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("购买保险参数")
+public class BuyInsuranceDto {
+
+    @ApiModelProperty("姓名")
+    private String name;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("身份证号")
+    private String idCard;
+
+    @ApiModelProperty("凭证")
+    private String img;
+
+    @ApiModelProperty("1线上2线下")
+    private Integer type;
+}
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
index 562068e..2ee35f4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java
@@ -82,6 +82,10 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "支付时间")
     private Date payTime;
+    @TableField("end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "截至时间")
+    private Date endTime;
     /**
      * 支付流水号
      */
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserInsuranceVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserInsuranceVo.java
new file mode 100644
index 0000000..eacfaf9
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/UserInsuranceVo.java
@@ -0,0 +1,24 @@
+package com.ruoyi.system.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel("用户保险信息")
+public class UserInsuranceVo {
+
+    @ApiModelProperty("用户id")
+    private String userId;
+
+    @ApiModelProperty("保险支付时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date payTime;
+
+    @ApiModelProperty("保险到期时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+}

--
Gitblit v1.7.1