1
zj
2025-09-25 5e179f4180fd2dc93623699af614df9a2497ded6
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("购买成功,注意查看资料审核状态!");
    }