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 | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 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 ddc3209..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,18 +55,15 @@
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()
- .eq(UserPolicy::getApprovalStatus, 0)
- .or()
- .eq(UserPolicy::getApprovalStatus, 1)
+ .eq(UserPolicy::getApprovalStatus, 1))
+
);
if(count > 0){
return Result.error("你已申购此保险,请勿重复申购");
@@ -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());
@@ -86,9 +91,7 @@
userPolicy.setName(dto.getName());
userPolicy.setGender(dto.getGender());
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
- LocalDateTime dateTime = LocalDateTime.parse(dto.getBirthDate(), formatter);
- userPolicy.setBirthDate(dateTime.toLocalDate());
+ userPolicy.setBirthDate(LocalDate.parse(dto.getBirthDate()));
userPolicy.setOccupation(dto.getOccupation());
userPolicy.setIdCard(dto.getIdCard());
@@ -101,6 +104,8 @@
userPolicy.setIsLifelong(insuranceProduct.getTerm() == 0 ? 0 : 1);
save(userPolicy);
+
+
return Result.success("购买成功,注意查看资料审核状态!");
}
--
Gitblit v1.9.3