liujie
2025-12-31 02f0e7a6e372e56e80bbda9e4f7c37aa7b30acab
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/InsuranceController.java
@@ -109,13 +109,16 @@
        String payNo = OrderNos.getDid();
        insuranceOrder.setPayNo(payNo);
        boolean save = tInsuranceOrderService.save(insuranceOrder);
        if(dto.getType()==2){
            return R.ok();
        }
        Map<String, Object> result = wxV3Pay.jsApiInsurance(payNo, insuranceOrder.getPayMoney().multiply(BigDecimal.valueOf(100)).longValue(), appUser.getOpenId(),"购买保险","");
        return R.ok(result);
    }
    @ApiOperation(value = "保险模块--缴费记录")
    @ApiOperation(value = "保险模块--缴费记录",response = TInsuranceOrder.class)
    @PostMapping("/getInsuranceOrderList")
    public R<?> getInsuranceOrderList(@RequestBody BasePage query) {
        String userId = tokenService.getLoginUserApplet().getUserId();
@@ -131,6 +134,10 @@
    public R<?> refundOrder(@RequestBody TInsuranceOrder order) {
        String userId = tokenService.getLoginUserApplet().getUserId();
        TInsuranceOrder order1 = tInsuranceOrderService.getById(order.getId());
        if(order1.getPayType()==2){
            return R.fail("线下支付无法退款");
        }
        order1.setRefundReason(order.getRefundReason());
        order1.setRefundReasonPictures(order.getRefundReasonPictures());
@@ -138,6 +145,18 @@
        order1.setRefundMoney(order1.getPayMoney().doubleValue());
        Integer type = order1.getType();
        String insuranceId = order1.getInsuranceId();
        TInsurance insurance = tInsuranceService.getById(insuranceId);
        if(insurance==null){
            return R.fail("保险已关闭,无法退款");
        }
        // 判断是否过期
        if(order1.getEndTime().before(new Date())){
            return R.fail("保险已过期,无法退款");
        }
        // 判断是否有当前的课程 待支付 和已完成
        int count = tCourseOrderService.countOrderNum( userId, type);
@@ -156,7 +175,7 @@
        if(payTime==null){
            return R.fail("状态不允许退款");
        }
        if(payTime.plusDays(2).isBefore(LocalDateTime.now()) || order.getPayType()==2){
        if(payTime.plusDays(2).isBefore(LocalDateTime.now()) || order1.getPayType()==2){
            order1.setBankCardNumber(order.getBankCardNumber());
            order1.setCardholderName(order.getCardholderName());
            order1.setRefundStatus(1);