From 279d3bbbe15d4839cba8dfb48053c75b504aacc3 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 22 四月 2025 10:55:25 +0800
Subject: [PATCH] 修改缓存连接方式

---
 ManagementZYTravel/guns-admin/src/main/resources/application.yml                                                     |    7 +
 ManagementZYTravel/guns-admin/pom.xml                                                                                |    7 -
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java |   11 +-
 ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java                    |  167 +++++++++++++++++++++--------------------
 4 files changed, 100 insertions(+), 92 deletions(-)

diff --git a/ManagementZYTravel/guns-admin/pom.xml b/ManagementZYTravel/guns-admin/pom.xml
index 884d4db..b5cb44b 100644
--- a/ManagementZYTravel/guns-admin/pom.xml
+++ b/ManagementZYTravel/guns-admin/pom.xml
@@ -61,11 +61,10 @@
             <artifactId>spring-boot-devtools</artifactId>
             <optional>true</optional>
         </dependency>
-
+    
         <dependency>
-            <groupId>redis.clients</groupId>
-            <artifactId>jedis</artifactId>
-            <version>2.9.0</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
 
         <!-- 导入Excel数据依赖 start -->
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java
index 96c3994..43afa98 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/HomeController.java
@@ -169,13 +169,14 @@
             ne1.eq("companyId", companyId).or().eq("franchiseeId", companyId);
         }
         List<TDriver> tDrivers = tDriverService.selectList(ne1);
-        String keys = "";
+        List<String> driver_position = new ArrayList<>();
         for(TDriver driver : tDrivers){
-            keys += "DRIVER" + driver.getId() + ",";
+            String value = redisUtil.getValue("DRIVER" + driver.getId());
+            if(ToolUtil.isNotEmpty(value)){
+                driver_position.add(value);
+            }
         }
-        String value = redisUtil.getValues(keys.substring(0, keys.length() - 1));
-        JSONArray jsonArray = JSON.parseArray(value);
-        map1.put("netcardriver", jsonArray.size());  //在线司机
+        map1.put("netcardriver", driver_position.size());  //在线司机
 
         Wrapper<TOrderTaxi> travelTime1 = new EntityWrapper<TOrderTaxi>().between("travelTime", calendar1.getTime(), calendar2.getTime());
         if(companyId != null){
diff --git a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
index ce51f7f..69c7496 100644
--- a/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
+++ b/ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
@@ -1,21 +1,12 @@
 package com.stylefeng.guns.modular.system.util;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.stylefeng.guns.core.util.ToolUtil;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestTemplate;
-import redis.clients.jedis.Jedis;
-import redis.clients.jedis.JedisPool;
-
-import java.util.HashMap;
-import java.util.Map;
+import org.springframework.util.StringUtils;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
 
 
 /**
@@ -23,30 +14,24 @@
  */
 @Component
 public class RedisUtil {
-
-
-
+    
+    @Autowired
+    private RedisTemplate redisTemplate;
+    
+    
+    
     /**
      * 向redis中存储字符串没有过期时间
      * @param key
      * @param value
      */
     public void setStrValue(String key, String value){
-        if(ToolUtil.isNotEmpty(key)){
-            //将请求头部和参数合成一个请求
-            Map<String,String> map = new HashMap<>();
-            map.put("key", key);
-            map.put("value", value);
-            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/setValue_", map);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
+        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
+            redisTemplate.opsForValue().set(key, value);
         }
-
     }
-
-
+    
+    
     /**
      * 以分钟为单位设置存储值(设置过期时间)
      * @param key
@@ -54,20 +39,12 @@
      * @param time 秒
      */
     public void setStrValue(String key, String value, int time){
-        if(ToolUtil.isNotEmpty(key)){
-            Map<String,String> map = new HashMap<>();
-            map.put("key", key);
-            map.put("value", value);
-            map.put("time", String.valueOf(time));
-            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/setValue", map);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
+        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
+            redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
         }
     }
-
-
+    
+    
     /**
      * 从redis中获取值
      * @param key
@@ -75,55 +52,81 @@
      */
     public String getValue(String key){
         if(ToolUtil.isNotEmpty(key)){
-            Map<String,String> map = new HashMap<>();
-            map.put("key", key);
-            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/getValue", map);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
-            return jsonObject.getString("data");
+            String data = (String) redisTemplate.opsForValue().get(key);
+            return data;
         }
         return null;
     }
-
-
-
-    /**
-     * 从redis中获取值
-     * @param key
-     * @return
-     */
-    public String getValues(String key){
-        if(ToolUtil.isNotEmpty(key)){
-            Map<String,String> map = new HashMap<>();
-            map.put("keys", key);
-            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/getValues", map);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
-            return jsonObject.getString("data");
-        }
-        return null;
-    }
-
-
+    
+    
+    
+    
     /**
      * 删除key
      * @param key
      */
-    public String remove(String key){
+    public void remove(String key){
         if(ToolUtil.isNotEmpty(key)){
-            Map<String,String> map = new HashMap<>();
-            map.put("key", key);
-            String s = HttpRequestUtil.postRequest(PushURL.zull_user_url + "/redis/getValue", map);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
-            return jsonObject.getString("data");
+            redisTemplate.delete(key);
         }
-        return null;
+    }
+    
+    
+    
+    
+    
+    
+    
+    /**
+     * redis加锁
+     * @param key
+     * @param value
+     * @param time
+     * @return
+     */
+    public boolean lock(String key, String value, int time){
+        if(!StringUtils.isEmpty(key)){
+            key += "_lock";
+            return redisTemplate.opsForValue().setIfAbsent(key, value);
+        }
+        return false;
+    }
+    
+    /**
+     * 获取redis锁
+     * @param time
+     * @return
+     */
+    public boolean lock(int time){
+        String uuid = UUID.randomUUID().toString();
+        return lock("redis", uuid, time);
+    }
+    
+    
+    public boolean lock(String key, int time){
+        String uuid = UUID.randomUUID().toString();
+        return lock(key, uuid, time);
+    }
+    
+    
+    /**
+     * redis释放锁
+     * @param key
+     * @return
+     */
+    public boolean unlock(String key){
+        if(!StringUtils.isEmpty(key)){
+            key += "_lock";
+            return redisTemplate.delete(key);
+        }
+        return false;
+    }
+    
+    /**
+     * 删除锁
+     * @return
+     */
+    public boolean unlock(){
+        return unlock("redis");
     }
 }
diff --git a/ManagementZYTravel/guns-admin/src/main/resources/application.yml b/ManagementZYTravel/guns-admin/src/main/resources/application.yml
index a677692..46043b8 100644
--- a/ManagementZYTravel/guns-admin/src/main/resources/application.yml
+++ b/ManagementZYTravel/guns-admin/src/main/resources/application.yml
@@ -2,7 +2,7 @@
   port: 8010
 
 guns:
-  swagger-open: true              #是否开启swagger (true/false)
+  swagger-open: false              #是否开启swagger (true/false)
   kaptcha-open: false             #是否开启登录时验证码 (true/false)
   spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
   session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
@@ -29,6 +29,11 @@
     multipart:
       max-request-size: 100MB
       max-file-size: 100MB
+  redis:
+    database: 0
+    host: 127.0.0.1
+    port: 16379
+    password: mPMHThYzlT8DWgl8HLqwPEyPOiHDPPB5
 
 mybatis-plus:
   type-aliases-package: com.stylefeng.guns.modular.system.model

--
Gitblit v1.7.1