From fa5ea853099e88be253fca4fb2b0c2b7af5f396e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 09 十一月 2025 15:57:04 +0800
Subject: [PATCH] feat:微信登录

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/HospDataController.java |   62 +++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 3 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 e8da24b..a83ee32 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
@@ -27,11 +27,20 @@
     
     /**
      * 鎼滅储鍖婚櫌
-     * 鏀寔鏍规嵁鍖婚櫌鍚嶇О鎴栧湴鍧�杩涜妯$硦鎼滅储
+     * 鏀寔鏍规嵁鍖婚櫌鍚嶇О銆佸湴鍧�銆佸湴鍩熻繘琛屾ā绯婃悳绱�
+     * @param keyword 鎼滅储鍏抽敭璇嶏紙鍖婚櫌鍚嶇О銆佸湴鍧�銆佺畝绉般�佺渷甯傚尯锛�
+     * @param region 鍦板煙鍏抽敭璇嶏紙鐢ㄤ簬杩囨护鐪佸競鍖猴級
      */
     @GetMapping("/search")
-    public AjaxResult searchHospitals(@RequestParam(value = "keyword", required = false) String keyword) {
-        List<HospData> list = hospDataMapper.searchHospitals(keyword);
+    public AjaxResult searchHospitals(
+            @RequestParam(value = "keyword", required = false) String keyword,
+            @RequestParam(value = "region", required = false) String region) {
+        List<HospData> list = hospDataMapper.searchHospitals(keyword, region);
+        Integer homeHospId=hospDataMapper.getHomeHospId();
+        if(homeHospId>0 && list.stream().count()>0 && list.stream().filter(hospData -> hospData.getHospId().equals(homeHospId)).count()<=0) {
+            HospData hospData=   hospDataMapper.selectHospDataById(homeHospId);
+            list.add(0,hospData);
+        }
         return success(list);
     }
     
@@ -43,4 +52,51 @@
         HospData hospital = hospDataMapper.selectHospDataById(hospId);
         return success(hospital);
     }
+    
+    /**
+     * 鑾峰彇甯哥敤杞嚭鍖婚櫌鍒楄〃
+     * @param serviceOrdClass 鍒嗗叕鍙哥紪鐮侊紙service_order_class锛�
+     * @param region 鍦板煙鍏抽敭璇嶏紙鍙�夛級
+     */
+    @GetMapping("/frequent/out")
+    public AjaxResult getFrequentOutHospitals(
+            @RequestParam("serviceOrdClass") String serviceOrdClass,
+            @RequestParam(value = "region", required = false) String region) {
+        // 鏌ヨ甯哥敤杞嚭鍖婚櫌ID鍒楄〃
+        List<Integer> hospIds = hospDataMapper.selectFrequentOutHospitalIds(serviceOrdClass);
+        if (hospIds == null || hospIds.isEmpty()) {
+            return success();
+        }
+
+        // 鏍规嵁ID鍒楄〃鏌ヨ鍖婚櫌璇︽儏
+        List<HospData> hospitals = hospDataMapper.selectHospDataByIds(hospIds, region);
+
+        return success(hospitals);
+    }
+    
+    /**
+     * 鑾峰彇甯哥敤杞叆鍖婚櫌鍒楄〃
+     * @param serviceOrdClass 鍒嗗叕鍙哥紪鐮侊紙service_order_class锛�
+     * @param region 鍦板煙鍏抽敭璇嶏紙鍙�夛級
+     */
+    @GetMapping("/frequent/in")
+    public AjaxResult getFrequentInHospitals(
+            @RequestParam("serviceOrdClass") String serviceOrdClass,
+            @RequestParam(value = "region", required = false) String region) {
+        // 鏌ヨ甯哥敤杞叆鍖婚櫌ID鍒楄〃
+        List<Integer> hospIds = hospDataMapper.selectFrequentInHospitalIds(serviceOrdClass);
+        if (hospIds == null || hospIds.isEmpty()) {
+            return success();
+        }
+        Integer homeHospId=hospDataMapper.getHomeHospId();
+
+        // 鏍规嵁ID鍒楄〃鏌ヨ鍖婚櫌璇︽儏
+        List<HospData> hospitals = hospDataMapper.selectHospDataByIds(hospIds, region);
+        if(homeHospId>0) {
+
+         HospData hospData=   hospDataMapper.selectHospDataById(homeHospId);
+         hospitals.add(0,hospData);
+        }
+        return success(hospitals);
+    }
 }

--
Gitblit v1.9.1