From db4f7bbb81d14ba590206b9ba2ebcea76f7de9bf Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sun, 21 Sep 2025 14:51:27 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 4 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 b9c5693..f67cb2b 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/im/ImApiController.java
@@ -5,17 +5,19 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.im.comm.Result;
 import com.ruoyi.im.config.IpUtils;
 import com.ruoyi.im.dto.UpdateUserBusinessDto;
 import com.ruoyi.im.service.ImApiServcie;
 import com.ruoyi.im.dto.RegisterDto;
+import com.ruoyi.im.service.InsuranceProductService;
+import com.ruoyi.im.service.MedicalInsuranceAccountService;
 import com.ruoyi.im.util.SymmetricCryptoUtil;
 import com.ruoyi.im.util.ValidatorUtil;
-import com.ruoyi.system.domain.GroupWelcomeConfig;
-import com.ruoyi.system.domain.IpBlacklist;
-import com.ruoyi.system.domain.UserAccount;
+import com.ruoyi.system.domain.*;
+import com.ruoyi.system.domain.out.UserOut;
 import com.ruoyi.system.domain.vo.UserAccountUpdateVo;
 import com.ruoyi.system.service.GroupWelcomeConfigService;
 import com.ruoyi.system.service.ISysUserService;
@@ -57,6 +59,11 @@
     @Autowired
     GroupWelcomeConfigService groupWelcomeConfigService;
 
+    @Autowired
+    InsuranceProductService insuranceProductService;
+
+    @Autowired
+    MedicalInsuranceAccountService medicalInsuranceAccountService;
 
 
     @Value("${file.upload-dir}")
@@ -239,6 +246,48 @@
         }
     }
 
+    /**
+     * 产品信息列表
+     */
+    @GetMapping("/list")
+    public Result list() {
+        LambdaQueryWrapper<InsuranceProduct> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(InsuranceProduct::getStatus, "ACTIVE");
+        // 按创建时间倒序排列
+        wrapper.orderByDesc(InsuranceProduct::getCreatedAt);
 
-
+        List<InsuranceProduct> list = insuranceProductService.list(wrapper);
+        return Result.success(list);
+    }
+    /**
+     * 获取用户详情
+     */
+    @GetMapping("/getUserByAccount")
+    public Result getUserByAccount(HttpServletRequest request,@RequestParam("account") String account){
+        try {
+            String clientIp = IpUtils.getClientIp(request);
+            if(StringUtils.isEmpty(clientIp)){
+                return Result.success();
+            }
+            UserAccount userAccount = userAccountService.getOne(new LambdaQueryWrapper<>(UserAccount.class).eq(UserAccount::getCloudMessageAccount, account));
+            if(ObjectUtil.isEmpty(userAccount)){
+                return Result.error("账号不存在!");
+            }
+            UserOut user = new UserOut();
+            MedicalInsuranceAccount insuranceAccount = medicalInsuranceAccountService.getOne(new LambdaQueryWrapper<>(MedicalInsuranceAccount.class)
+                    .eq(MedicalInsuranceAccount::getUserId, userAccount.getId())
+                    .eq(MedicalInsuranceAccount::getAccountStatus, MedicalInsuranceAccount.AccountStatus.ACTIVE)
+            );
+            user.setKycStatus(userAccount.getKycStatus());
+            if(ObjectUtil.isEmpty(insuranceAccount)){
+                return Result.success(user);
+            }
+            user.setAmountClaimed(insuranceAccount.getAmountClaimed());
+            user.setAlreadyReceived(insuranceAccount.getAlreadyReceived());
+            return Result.success(user);
+        }catch (Exception e){
+            log.error("获取失败:",e);
+            return Result.error("获取失败,请稍后再试!");
+        }
+    }
 }

--
Gitblit v1.9.3