liujie
2025-12-29 b97ec797b8f07dbb21ea723e9f2c82b8e4a88e2f
文档调整
3个文件已添加
1个文件已修改
136 ■■■■■ 已修改文件
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/BuyInsuranceDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TInsuranceOrder.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/UserInsuranceVo.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java
New file
@@ -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("购买失败");
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/dto/BuyInsuranceDto.java
New file
@@ -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;
}
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;
    /**
     * 支付流水号
     */
ruoyi-system/src/main/java/com/ruoyi/system/vo/UserInsuranceVo.java
New file
@@ -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;
}