From 7de1396e315896dbc72a9d54e44f77434ea90f18 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 23:47:34 +0800
Subject: [PATCH] feat:增加企业微信自动登录

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java |   51 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 39 insertions(+), 12 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java
index ca8d171..d4f92b1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java
@@ -40,20 +40,26 @@
     @GetMapping("/search")
     public AjaxResult searchHospitals(
             @RequestParam(value = "keyword", required = false) String keyword,
-            @RequestParam(value = "deptId", required = false) Long deptId) {
+            @RequestParam(value = "deptId", required = false) Long deptId,
+            @RequestParam(value = "pageSize", required = false, defaultValue = "50") Integer pageSize) {
         List<HospData> list;
         
         // 濡傛灉keyword涓虹┖锛屼娇鐢ㄩ儴闂ㄥ尯鍩熻繃婊ゆ煡璇�
-        if (keyword == null || keyword.trim().isEmpty()) {
+        if (keyword == null || keyword=="") {
             if (deptId != null) {
-                list = hospDataMapper.searchHospitalsByDeptRegion(null, deptId);
+                list = hospDataMapper.searchHospitalsByDeptRegion("", deptId);
             } else {
-                list = hospDataMapper.searchHospitals(null, null);
+                list = hospDataMapper.searchHospitals("", "");
             }
         } else {
            
-                list = hospDataMapper.searchHospitals(keyword, null);
+                list = hospDataMapper.searchHospitals(keyword, "");
             
+        }
+        
+        // 闄愬埗杩斿洖鏁伴噺
+        if (pageSize != null && pageSize > 0 && list.size() > pageSize) {
+            list = list.subList(0, pageSize);
         }
         
         // 纭繚"瀹朵腑"鍦ㄧ粨鏋滀腑
@@ -81,11 +87,13 @@
      * 鑾峰彇甯哥敤杞嚭鍖婚櫌鍒楄〃锛堜粠MySQL tb_hosp_data琛ㄦ煡璇級
      * @param serviceOrdClass 鍒嗗叕鍙哥紪鐮侊紙service_order_class锛�
      * @param region 鍦板煙鍏抽敭璇嶏紙鍙�夛級
+     * @param pageSize 杩斿洖缁撴灉鏁伴噺闄愬埗锛堥粯璁�50锛�
      */
     @GetMapping("/frequent/out")
     public AjaxResult getFrequentOutHospitals(
             @RequestParam("serviceOrdClass") String serviceOrdClass,
-            @RequestParam(value = "region", required = false) String region) {
+            @RequestParam(value = "region", required = false) String region,
+            @RequestParam(value = "pageSize", required = false, defaultValue = "50") Integer pageSize) {
         // 鏌ヨ甯哥敤杞嚭鍖婚櫌ID鍒楄〃
         logger.info("getFrequentOutHospitals 浼犲叆鐨� serviceOrdClass :{}",serviceOrdClass);
         List<Integer> hospIds = sqlHospDataService.selectFrequentOutHospitalIds(serviceOrdClass);
@@ -96,6 +104,11 @@
 
         // 鏍规嵁ID鍒楄〃鏌ヨ鍖婚櫌璇︽儏
         List<HospData> hospitals = hospDataMapper.selectHospDataByIds(hospIds, region);
+        
+        // 闄愬埗杩斿洖鏁伴噺
+        if (pageSize != null && pageSize > 0 && hospitals.size() > pageSize) {
+            hospitals = hospitals.subList(0, pageSize);
+        }
 
         return success(hospitals);
     }
@@ -104,11 +117,13 @@
      * 鑾峰彇甯哥敤杞叆鍖婚櫌鍒楄〃锛堜粠MySQL tb_hosp_data琛ㄦ煡璇級
      * @param serviceOrdClass 鍒嗗叕鍙哥紪鐮侊紙service_order_class锛�
      * @param region 鍦板煙鍏抽敭璇嶏紙鍙�夛級
+     * @param pageSize 杩斿洖缁撴灉鏁伴噺闄愬埗锛堥粯璁�50锛�
      */
     @GetMapping("/frequent/in")
     public AjaxResult getFrequentInHospitals(
             @RequestParam("serviceOrdClass") String serviceOrdClass,
-            @RequestParam(value = "region", required = false) String region) {
+            @RequestParam(value = "region", required = false) String region,
+            @RequestParam(value = "pageSize", required = false, defaultValue = "50") Integer pageSize) {
         // 鏌ヨ甯哥敤杞叆鍖婚櫌ID鍒楄〃
         logger.info("getFrequentInHospitals 浼犲叆鐨� serviceOrdClass {}",serviceOrdClass);
         List<Integer> hospIds = sqlHospDataService.selectFrequentInHospitalIds(serviceOrdClass);
@@ -120,29 +135,41 @@
 
         // 鏍规嵁ID鍒楄〃鏌ヨ鍖婚櫌璇︽儏
         List<HospData> hospitals = hospDataMapper.selectHospDataByIds(hospIds, region);
+        
+        // 闄愬埗杩斿洖鏁伴噺
+        if (pageSize != null && pageSize > 0 && hospitals.size() > pageSize) {
+            hospitals = hospitals.subList(0, pageSize);
+        }
+        
         if(homeHospId>0) {
-
-         HospData hospData=   hospDataMapper.selectHospDataById(homeHospId);
+         HospData hospData = hospDataMapper.selectHospDataById(homeHospId);
          hospitals.add(0,hospData);
         }
         return success(hospitals);
     }
     
     /**
-     * 鏍规嵁閮ㄩ棬鍖哄煙閰嶇疆鎼滅储鍖婚櫌锛堜粠MySQL tb_hosp_data琛ㄦ煡璇紝鏀寔鐪併�佸競銆佸幙/鍖虹瓑澶氱骇鍖哄煙锛�
+     * 鏍规嵁閮ㄩ棬鍖哄煙閰嶇疆鎼滅储鍖婚櫌锛堜粠MySQLtb_hosp_data琛ㄦ煡璇紝鏀寔鐪併�佸競銆佸幙/鍖虹瓑澶氱骇鍖哄煙锛�
      * @param keyword 鎼滅储鍏抽敭璇�
      * @param deptId 閮ㄩ棬ID
+     * @param pageSize 杩斿洖缁撴灉鏁伴噺闄愬埗锛堥粯璁�50锛�
      */
     @GetMapping("/search/by-dept-region")
     public AjaxResult searchHospitalsByDeptRegion(
             @RequestParam(value = "keyword", required = false) String keyword,
-            @RequestParam("deptId") Long deptId) {
-        logger.info("鏍规嵁閮ㄩ棬鍖哄煙閰嶇疆鎼滅储鍖婚櫌锛歞eptId={}, keyword={}", deptId, keyword);
+            @RequestParam("deptId") Long deptId,
+            @RequestParam(value = "pageSize", required = false, defaultValue = "50") Integer pageSize) {
+        logger.info("鏍规嵁閮ㄩ棬鍖哄煙閰嶇疆鎼滅储鍖婚櫌锛歞eptId={}, keyword={}, pageSize={}", deptId, keyword, pageSize);
         
         // 璋冪敤Mapper鏌ヨ锛岃嚜鍔ㄦ牴鎹儴闂ㄧ殑鍖哄煙閰嶇疆杩囨护鍖婚櫌
         List<HospData> hospitals = hospDataMapper.searchHospitalsByDeptRegion(keyword, deptId);
         logger.info("鏌ヨ鍒板尰闄㈡暟閲忥細{}", hospitals.size());
         
+        // 闄愬埗杩斿洖鏁伴噺
+        if (pageSize != null && pageSize > 0 && hospitals.size() > pageSize) {
+            hospitals = hospitals.subList(0, pageSize);
+        }
+        
         // 纭繚"瀹朵腑"鍦ㄧ粨鏋滀腑
         Integer homeHospId = hospDataMapper.getHomeHospId();
         if (homeHospId > 0 && hospitals.stream().noneMatch(h -> h.getHospId().equals(homeHospId))) {

--
Gitblit v1.9.1