From e2778109931e6f944e6bdd9f14dcb0bec8aa32da Mon Sep 17 00:00:00 2001 From: vincentlu <t1341870251@gmail.com> Date: 星期四, 13 二月 2025 14:00:51 +0800 Subject: [PATCH] # --- rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java | 13 +++--- rsf-server/src/main/resources/application-prod.yml | 13 +++++- rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java | 84 ++++++++++++------------------------------ rsf-server/src/main/resources/application-dev.yml | 4 - 4 files changed, 43 insertions(+), 71 deletions(-) diff --git a/rsf-common/src/main/java/com/vincent/rsf/common/utils/RedisSupport.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java similarity index 82% rename from rsf-common/src/main/java/com/vincent/rsf/common/utils/RedisSupport.java rename to rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java index 6886d97..87c8a4a 100644 --- a/rsf-common/src/main/java/com/vincent/rsf/common/utils/RedisSupport.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/service/RedisService.java @@ -1,13 +1,15 @@ -package com.vincent.rsf.common.utils; +package com.vincent.rsf.server.common.service; +import com.vincent.rsf.common.utils.Serialize; +import com.vincent.rsf.server.common.config.RedisProperties; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.util.Date; -import java.util.HashMap; -import java.util.Map; import java.util.Set; /** @@ -15,71 +17,38 @@ * Created by vincent on 2023-03-13 */ @Slf4j -public class RedisSupport { - - private static final Map<String, RedisSupport> REDIS_CACHE = new HashMap<>(); - - public static final String DEFAULT_FLAG = "redis"; +@Service +public class RedisService { private static final String LINK = "."; - public static RedisSupport defaultRedisSupport = RedisSupport.getRedis(DEFAULT_FLAG); - protected JedisPool pool; - - protected JedisPoolConfig config; Integer index = 0; - public Boolean initialize = false; + public Boolean initialize = true; - public synchronized static RedisSupport getRedis(String name){ - RedisSupport redisSupport = REDIS_CACHE.get(name); - if (null == redisSupport){ - redisSupport = new RedisSupport(name); - REDIS_CACHE.put(name, redisSupport); + @Autowired + private RedisProperties redisProperties; + + public JedisPool getPool() { + if (null == this.pool) { + JedisPoolConfig config = new JedisPoolConfig(); + config.setTestOnBorrow(false); + this.index = redisProperties.getIndex(); + this.pool = new JedisPool(config + , redisProperties.getHost() + , redisProperties.getPort() + , redisProperties.getTimeout() + , redisProperties.getPassword() + ); } - return redisSupport; - } - - private RedisSupport(String name) { - try { - boolean bAll = true; - String[] configKeys = {"host", "port", "max", "min", "timeout", "index"}; - for(String key : configKeys){ - if(!ConfigHelper.contains(name + "." + key)){ - bAll = false; - } - } - if (bAll) { - config = new JedisPoolConfig(); - config.setMaxIdle(ConfigHelper.getInteger(name + ".min")); - config.setMaxWaitMillis(ConfigHelper.getLong(name + ".timeout")); - // 鍦╞orrow涓�涓猨edis瀹炰緥鏃讹紝鏄惁鎻愬墠杩涜validate鎿嶄綔锛涘鏋滀负true锛屽垯寰楀埌鐨刯edis瀹炰緥鍧囨槸鍙敤鐨勶紱 - config.setTestOnBorrow(false); - // 褰撳墠jedis杩炴帴鐨勫簱鍙� - index = ConfigHelper.getInteger(name + ".index"); - // 瀹炰緥鍖杍edis姹� - String host = ConfigHelper.getString(name + ".host"); - int port = ConfigHelper.getInteger(name + ".port"); - int timeout = ConfigHelper.getInteger(name + ".timeout"); - String password = ConfigHelper.getString(name + ".password"); - - pool = new JedisPool(config, host , port, timeout, password); - Jedis jedis = this.getJedis(); - this.pool.returnResource(jedis); - initialize = true; - } else { - log.error("ERROR - 鍒濆鍖朢eids鏃跺嚭閿欙紝鍦ㄩ厤缃枃浠朵腑鏈壘鍒皗}.***灞炴��(host,port,max,min,timeout,index)", name); - } - } catch (Exception e) { - log.error(this.getClass().getSimpleName(), e); - } + return this.pool; } public Jedis getJedis(){ try{ - Jedis jedis = pool.getResource(); + Jedis jedis = this.getPool().getResource(); if(this.index != jedis.getDB().intValue()) { jedis.select(this.index); @@ -88,7 +57,6 @@ } catch (Exception e){ log.error(this.getClass().getSimpleName(), e); } - return null; } @@ -518,10 +486,6 @@ log.error(this.getClass().getSimpleName(), e); } return null; - } - - public static void main(String...strings){ - RedisSupport redis = RedisSupport.defaultRedisSupport; } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java index 415079f..76c5b80 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/AuthController.java @@ -1,7 +1,6 @@ package com.vincent.rsf.server.system.controller; import com.vincent.rsf.common.enums.SystemModeType; -import com.vincent.rsf.common.utils.RedisSupport; import com.vincent.rsf.common.utils.Utils; import com.vincent.rsf.framework.common.BaseRes; import com.vincent.rsf.framework.common.Cools; @@ -12,6 +11,7 @@ import com.vincent.rsf.server.common.security.JwtSubject; import com.vincent.rsf.server.common.service.EmailService; import com.vincent.rsf.server.common.utils.JwtUtil; +import com.vincent.rsf.server.common.service.RedisService; import com.vincent.rsf.server.system.controller.param.LoginParam; import com.vincent.rsf.server.system.controller.param.RegisterParam; import com.vincent.rsf.server.system.controller.param.UpdatePasswordParam; @@ -45,8 +45,6 @@ @RestController public class AuthController extends BaseController { - private final RedisSupport redis = RedisSupport.defaultRedisSupport; - @Resource private ConfigProperties configProperties; @Resource @@ -59,6 +57,8 @@ private TenantService tenantService; @Autowired private EmailService emailService; + @Autowired + private RedisService redisService; @PostMapping("/login") public R login(@RequestBody LoginParam param, HttpServletRequest request) { @@ -90,12 +90,13 @@ if (null != userService.getByEmail(email, null)) { return R.error("Email Already Exist"); } - if (redis.getExpire(EmailType.REGISTER_VERIFY.toString(), email) > (configProperties.getCodeTime() - 60)) { + Long expire = redisService.getExpire(EmailType.REGISTER_VERIFY.toString(), email); + if (expire > (configProperties.getCodeTime() - 60)) { return R.error("Please don't request code too frequently."); } String code = Utils.randomNumbers(configProperties.getCodeLength()); if (emailService.sendEmail(email, EmailType.REGISTER_VERIFY, Cools.add("code", code))) { - redis.setValue(EmailType.REGISTER_VERIFY.toString(), email, code, configProperties.getCodeTime()); + redisService.setValue(EmailType.REGISTER_VERIFY.toString(), email, code, configProperties.getCodeTime()); } return R.ok(); } @@ -106,7 +107,7 @@ if (Cools.isEmpty(param.getUsername(), param.getPassword(), param.getEmail(), param.getCode())) { return R.parse(BaseRes.PARAM); } - String cacheCode = redis.getValue(EmailType.REGISTER_VERIFY.toString(), param.getEmail()); + String cacheCode = redisService.getValue(EmailType.REGISTER_VERIFY.toString(), param.getEmail()); if (Cools.isEmpty(cacheCode)) { return R.error("The verification code has expired."); } diff --git a/rsf-server/src/main/resources/application-dev.yml b/rsf-server/src/main/resources/application-dev.yml index ea93e7e..c8d7a03 100644 --- a/rsf-server/src/main/resources/application-dev.yml +++ b/rsf-server/src/main/resources/application-dev.yml @@ -73,7 +73,5 @@ host: 127.0.0.1 password: xltys1995 port: 6379 - max: 30 - min: 10 timeout: 5000 - index: 11 \ No newline at end of file + index: 15 \ No newline at end of file diff --git a/rsf-server/src/main/resources/application-prod.yml b/rsf-server/src/main/resources/application-prod.yml index 890851d..74876c3 100644 --- a/rsf-server/src/main/resources/application-prod.yml +++ b/rsf-server/src/main/resources/application-prod.yml @@ -43,12 +43,21 @@ maxRequestSize: 100MB jmx: enabled: false + mail: + from: whatsflow.team@gmail.com + host: smtp.gmail.com + port: 587 + username: whatsflow.team@gmail.com + password: elpc vfwk twnu uoyy + properties: + mail: + smtp: + auth: true + starttls.enable: true redis: host: 127.0.0.1 password: xltys1995 port: 6379 - max: 30 - min: 10 timeout: 5000 index: 11 \ No newline at end of file -- Gitblit v1.9.1