From 5b16e50ef283a1ccdd6408ee2ccf41726f349923 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 24 Sep 2025 00:12:19 +0800
Subject: [PATCH] 1
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java | 2 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java | 10 ++++-
ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsurancePositionDto.java | 2 +
ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java | 6 ++
ruoyi-system/src/main/java/com/ruoyi/system/domain/InsurancePosition.java | 2 +
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java | 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java | 8 +++
ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserWalletControlkler.java | 67 +++++++++++++++++++++++++++++++++
ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java | 4 +-
ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java | 2
10 files changed, 97 insertions(+), 8 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java
index 5aa4951..b6b67df 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java
@@ -322,7 +322,11 @@
.eq(UserAccount::getInvitationAccount, userAccount.getAccount())
);
UserTeamAndPositionOut userTeamAndPositionOut = new UserTeamAndPositionOut();
+
+ List<InsurancePosition> positions = insurancePositionService.list();
+
if(CollectionUtils.isEmpty(userAccountList)){
+ userTeamAndPositionOut.setInsurancePosition(positions);
return Result.success(userTeamAndPositionOut);
}
List<Integer> idList = userAccountList.stream()
@@ -346,7 +350,7 @@
long activeNumber = UserPolicyUtils.countActivePolicies(userPolicyList);
userTeamAndPositionOut.setInsureNumber(activeNumber);
- List<InsurancePosition> positions = insurancePositionService.list();
+
positions.forEach(f->{
if(userPolicyList.size() >= f.getNumberPeople()){
userTeamAndPositionOut.setPosition(f.getPosition());
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
index fb95e3b..8dc2ec6 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/service/impl/ImApiServcieImpl.java
@@ -127,7 +127,7 @@
String invitationCode = getInvitationCode();
UserAccount user = new UserAccount();
- if(dto.getAccountType() == 0 && StringUtils.isNotEmpty(dto.getInvitationCode()) && !dto.getInvitationCode().equals("000000")){
+ if(dto.getAccountType() == 0 && StringUtils.isNotEmpty(dto.getInvitationCode()) && !dto.getInvitationCode().equals("00000000")){
user = userAccountService.getOne(new LambdaQueryWrapper<UserAccount>()
.eq(UserAccount::getInvitationCode, dto.getInvitationCode()).last(" limit 1"));
if(ObjectUtil.isEmpty(user)){
@@ -231,7 +231,7 @@
*/
public static String generateInvitationCode() {
Random random = new Random();
- int code = 100000 + random.nextInt(900000);
+ int code = 10000000 + random.nextInt(90000000);
return String.valueOf(code);
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java
index 7b75a59..58fbe02 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/InsurancePositionController.java
@@ -33,6 +33,7 @@
insurancePosition.setNumberPeople(dto.getNumberPeople());
insurancePosition.setRank(dto.getRank());
insurancePosition.setSalary(dto.getSalary());
+ insurancePosition.setSort(dto.getSort());
insurancePosition.setCreatedAt(new Date());
insurancePosition.setUpdatedAt(new Date());
service.save(insurancePosition);
@@ -86,6 +87,7 @@
position.setNumberPeople(dto.getNumberPeople());
position.setRank(dto.getRank());
position.setSalary(dto.getSalary());
+ position.setSort(dto.getSort());
position.setUpdatedAt(new Date());
service.updateById(position);
return AjaxResult.success("修改成功");
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java
index 7c2fef0..2164758 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java
@@ -41,7 +41,7 @@
return medicalInsuranceAccountService.getReceiveStatus(account);
}catch (Exception e){
e.printStackTrace();
- return Result.error("购买失败!");
+ return Result.error("获取失败!");
}
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
index db582f5..9f10557 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserKycController.java
@@ -121,12 +121,18 @@
* 什么认证列表
*/
@GetMapping("/list")
- public TableDataInfo list(@RequestParam(value = "account",required = false) String account) {
+ public TableDataInfo list(@RequestParam(value = "account",required = false) String account,
+ @RequestParam(value = "state",required = false) Integer state
+
+ ) {
startPage();
LambdaQueryWrapper<UserKyc> wrapper = new LambdaQueryWrapper<>();
if(StringUtils.isNotEmpty(account)){
wrapper.eq(UserKyc::getAccount,account);
}
+ if(state != null){
+ wrapper.eq(UserKyc::getState,state);
+ }
// 按创建时间倒序排列
wrapper.orderByDesc(UserKyc::getCreatedAt);
List<UserKyc> list = userKycService.list(wrapper);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java
index a128a55..193c723 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserPolicyController.java
@@ -78,7 +78,8 @@
@GetMapping("/list")
public TableDataInfo list(@RequestParam(value = "account",required = false) String account,
@RequestParam(value = "approvalStatus",required = false) Integer approvalStatus,
- @RequestParam(value = "productName",required = false) String productName) {
+ @RequestParam(value = "productName",required = false) String productName,
+ @RequestParam(value = "policyStatus",required = false) String policyStatus) {
startPage();
LambdaQueryWrapper<UserPolicy> wrapper = new LambdaQueryWrapper<>();
@@ -93,11 +94,16 @@
wrapper.like(UserPolicy::getProductName, productName);
}
- // 产品状态精确查询
+ // 审批状态
if (approvalStatus != null) {
wrapper.eq(UserPolicy::getApprovalStatus, approvalStatus);
}
+ // 保单状态
+ if (StringUtils.isNotEmpty(policyStatus)) {
+ wrapper.eq(UserPolicy::getPolicyStatus, policyStatus);
+ }
+
// 按创建时间倒序排列
wrapper.orderByDesc(UserPolicy::getCreatedAt);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserWalletControlkler.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserWalletControlkler.java
new file mode 100644
index 0000000..f582b18
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/UserWalletControlkler.java
@@ -0,0 +1,67 @@
+package com.ruoyi.web.controller.product;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.UserAccount;
+import com.ruoyi.system.domain.UserKyc;
+import com.ruoyi.system.service.UserAccountService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@RestController
+@RequestMapping("/wallet")
+public class UserWalletControlkler {
+
+ @Autowired
+ UserAccountService userAccountService;
+
+ /**
+ * 用户资金操作
+ * @param userId 用户id
+ * @param type 账变类型 1:充值 2:扣款
+ * @param money 账变金额
+ * @return
+ */
+ @GetMapping("/topUp")
+ @Transactional
+ public AjaxResult topUp(@RequestParam(value = "userId") Integer userId,
+ @RequestParam(value = "type") Integer type,
+ @RequestParam(value = "money") BigDecimal money) {
+ if(userId == null || type == null || money.compareTo(BigDecimal.ZERO) <= 0) {
+ return AjaxResult.error("参数不正确");
+ }
+ try {
+ UserAccount userAccount = userAccountService.getById(userId);
+ if(ObjectUtil.isEmpty(userAccount)){
+ return AjaxResult.error("用户不存在");
+ }
+ if(type == 1){
+ userAccount.setBalance(userAccount.getBalance().add(money));
+ }else if(type == 2){
+ BigDecimal balance = userAccount.getBalance().subtract(money);
+ if(balance.compareTo(BigDecimal.ZERO) < 0){
+ return AjaxResult.success("扣款金额超过用户余额,操作失败!");
+ }
+ userAccount.setBalance(balance);
+ }else {
+ return AjaxResult.success("充值类型错误");
+ }
+ userAccountService.updateById(userAccount);
+ return AjaxResult.success("充值成功");
+ }catch (Exception e){
+ e.printStackTrace();
+ // 手动设置回滚
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return AjaxResult.error("充值失败!");
+ }
+ }
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsurancePosition.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsurancePosition.java
index d4740a8..0fb6542 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsurancePosition.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsurancePosition.java
@@ -23,6 +23,8 @@
private String rank;
//工资
private BigDecimal salary;
+ //排序
+ private Integer sort;
//创建时间
private Date createdAt;
//更新时间
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java
index f96446b..dca466a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/InsuranceProduct.java
@@ -75,7 +75,7 @@
// 枚举类型 产品状态(ACTIVE 上架,INACTIVE 下架)
public enum ProductStatus {
- ACTIVE, INACTIVE
+ ACTIVE, INACTIVE ,SOLDOUT
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsurancePositionDto.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsurancePositionDto.java
index aa621f3..af315a4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsurancePositionDto.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/InsurancePositionDto.java
@@ -16,4 +16,6 @@
private String rank;
//工资
private BigDecimal salary;
+ //排序
+ private Integer sort;
}
--
Gitblit v1.9.3