From b1c60c1fed0536d9e1334bb928934ebe2c77b97b Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 01 八月 2025 16:01:10 +0800
Subject: [PATCH] 司机支付宝账号添加
---
UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java | 164 ++++++++++++++++++++++++++++--------------------------
1 files changed, 85 insertions(+), 79 deletions(-)
diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
index 22f75e6..2e15fec 100644
--- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
+++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
@@ -1,18 +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 org.springframework.util.StringUtils;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
/**
@@ -20,37 +14,24 @@
*/
@Component
public class RedisUtil {
-
+
@Autowired
- private RestTemplate internalRestTemplate;
-
-
+ private RedisTemplate redisTemplate;
+
+
+
/**
* 向redis中存储字符串没有过期时间
* @param key
* @param value
*/
public void setStrValue(String key, String value){
- if(ToolUtil.isNotEmpty(key)){
- //发送验证码短信
- HttpHeaders headers = new HttpHeaders();
- // 以表单的方式提交
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- //将请求头部和参数合成一个请求
- MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
- params.add("key", key);
- params.add("value", value);
- HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
- String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/setValue_", requestEntity, String.class);
- 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
@@ -58,26 +39,12 @@
* @param time 秒
*/
public void setStrValue(String key, String value, int time){
- if(ToolUtil.isNotEmpty(key)){
- //发送验证码短信
- HttpHeaders headers = new HttpHeaders();
- // 以表单的方式提交
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- //将请求头部和参数合成一个请求
- MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
- params.add("key", key);
- params.add("value", value);
- params.add("time", String.valueOf(time));
- HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
- String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/setValue", requestEntity, String.class);
- 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
@@ -85,44 +52,83 @@
*/
public String getValue(String key){
if(ToolUtil.isNotEmpty(key)){
- HttpHeaders headers = new HttpHeaders();
- // 以表单的方式提交
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- //将请求头部和参数合成一个请求
- MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
- params.add("key", key);
- HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
- String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/getValue",requestEntity , String.class);
- JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
- if(jsonObject.getIntValue("code") != 200){
- System.err.println("调用redis出错了");
- }
- return jsonObject.getString("data");
+ System.err.println("查询缓存:" + key);
+ Object o = redisTemplate.opsForValue().get(key);
+ System.err.println(o);
+ return (String) o;
}
return null;
}
+
-
+
+
/**
* 删除key
* @param key
*/
- public String remove(String key){
+ public void remove(String key){
if(ToolUtil.isNotEmpty(key)){
- HttpHeaders headers = new HttpHeaders();
- // 以表单的方式提交
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
- //将请求头部和参数合成一个请求
- MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
- params.add("key", key);
- HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
- String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/remove",requestEntity , String.class);
- 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");
}
}
--
Gitblit v1.7.1