From 5e179f4180fd2dc93623699af614df9a2497ded6 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 25 Sep 2025 02:27:38 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
index a20c520..aef921a 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/UserPolicyServiceImpl.java
@@ -55,13 +55,10 @@
         if(!isPhoneValid){
             return Result.error("手机号格式不正确!");
         }
-//        // 验证身份证
-//        boolean isIdCardValid = ValidatorUtil.isValidIdCard(dto.getIdCard());
-//        if(!isIdCardValid){
-//            return Result.error("身份证格式不正确!");
-//        }
+
         long count = count(new LambdaQueryWrapper<UserPolicy>()
                 .eq(UserPolicy::getUserId, userAccount.getId())
+                .eq(UserPolicy::getProductId,dto.getProductId())
                 .eq(UserPolicy::getPolicyStatus, UserPolicy.PolicyStatus.ACTIVE)
                 .and(a-> a.eq(UserPolicy::getApprovalStatus, 0)
                 .or()
@@ -75,6 +72,14 @@
         if(ObjectUtil.isEmpty(insuranceProduct)){
             return Result.error("该产品停止购买或已下架!");
         }
+        if(userAccount.getBalance().compareTo(insuranceProduct.getPremium()) < 0){
+            return Result.error("余额不足!");
+        }
+
+        userAccount.setBalance(userAccount.getBalance().subtract(insuranceProduct.getPremium()));
+
+        userAccountService.updateById(userAccount);
+
         UserPolicy userPolicy = new UserPolicy();
         userPolicy.setAccount(userAccount.getAccount());
         userPolicy.setProductName(insuranceProduct.getProductName());
@@ -99,6 +104,8 @@
         userPolicy.setIsLifelong(insuranceProduct.getTerm() == 0 ? 0 : 1);
 
         save(userPolicy);
+
+
         return Result.success("购买成功,注意查看资料审核状态!");
     }
 

--
Gitblit v1.9.3