From 11ffae1ecbe3d26863fd51262d7ffb043eb089da Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Mon, 27 Oct 2025 03:38:28 +0800
Subject: [PATCH] 1

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/product/MedicalInsuranceAccountController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

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 2164758..1671bcf 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
@@ -1,16 +1,29 @@
 package com.ruoyi.web.controller.product;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.im.comm.Result;
 import com.ruoyi.im.service.MedicalInsuranceAccountService;
+import com.ruoyi.system.domain.MedicalInsuranceAccount;
+import com.ruoyi.system.domain.MedicalInsuranceDailyClaim;
 import com.ruoyi.system.domain.UserPolicy;
+import com.ruoyi.system.domain.out.CollectionRecordOut;
+import com.ruoyi.system.mapper.MedicalInsuranceAccountMapper;
+import com.ruoyi.system.mapper.MedicalInsuranceDailyClaimMapper;
+import com.ruoyi.system.service.UserAccountService;
 import org.springframework.beans.factory.annotation.Autowired;
 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.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.locks.ReentrantLock;
 
 @RestController
 @RequestMapping("/MedicalInsuranceAccount")
@@ -18,6 +31,16 @@
 
     @Autowired
     MedicalInsuranceAccountService medicalInsuranceAccountService;
+
+    @Autowired
+    private MedicalInsuranceAccountMapper medicalInsuranceAccountMapper;
+
+    @Autowired
+    private MedicalInsuranceDailyClaimMapper medicalInsuranceDailyClaimMapper;
+
+    @Autowired
+    UserAccountService userAccountService;
+
 
     /**
      * 领取保险金
@@ -44,4 +67,40 @@
             return Result.error("获取失败!");
         }
     }
+
+
+    /**
+     * 领取记录
+     */
+    @GetMapping("/list")
+    public AjaxResult list(@RequestParam(value = "userId",required = true) String userId) {
+
+        MedicalInsuranceAccount medicalInsuranceAccount = medicalInsuranceAccountMapper.selectOne(new LambdaQueryWrapper<MedicalInsuranceAccount>()
+                .eq(MedicalInsuranceAccount::getUserId, userId)
+                .eq(MedicalInsuranceAccount::getAccountStatus, MedicalInsuranceAccount.AccountStatus.ACTIVE)
+        );
+        TableDataInfo rspData = new TableDataInfo();
+        if (medicalInsuranceAccount == null) {
+            return AjaxResult.error("用户医保账户未激活!");
+        }
+
+        // 检查今天是否已经领取
+        List<MedicalInsuranceDailyClaim> medicalInsuranceDailyClaims = medicalInsuranceDailyClaimMapper.selectList(new LambdaQueryWrapper<MedicalInsuranceDailyClaim>()
+                .eq(MedicalInsuranceDailyClaim::getUserId, userId)
+        );
+
+        CollectionRecordOut collectionRecordOut = new CollectionRecordOut();
+            List<CollectionRecordOut.RecordLog> recordLogList = new ArrayList<>();
+        collectionRecordOut.setNumber(medicalInsuranceDailyClaims.size());
+        collectionRecordOut.setMoney(medicalInsuranceAccount.getAlreadyReceived());
+        medicalInsuranceDailyClaims.forEach(f->{
+            CollectionRecordOut.RecordLog recordLog = new CollectionRecordOut.RecordLog();
+            recordLog.setReceiveTime(f.getClaimDate());
+            recordLog.setMoney(f.getClaimAmount());
+            recordLogList.add(recordLog);
+        });
+        collectionRecordOut.setRecords(recordLogList);
+        return AjaxResult.success(collectionRecordOut);
+    }
+
 }

--
Gitblit v1.9.3