This commit is contained in:
张良(004796)
2024-01-30 18:29:33 +08:00
parent 21ab6a06cd
commit 5cbed4c929
14 changed files with 221 additions and 38 deletions

View File

@@ -3,7 +3,7 @@ package com.ruoyi.cai.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.TypeReference;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.constant.RedisConstant;
import com.ruoyi.cai.constant.RedisHttpConstant;
import com.ruoyi.cai.domain.Citys;
import com.ruoyi.cai.mapper.CitysMapper;
import com.ruoyi.cai.service.CitysService;
@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -39,18 +38,18 @@ public class CitysServiceImpl extends ServiceImpl<CitysMapper, Citys> implements
public void resetRedis(){
List<Citys> list = this.list();
Map<String, String> map = list.stream().collect(Collectors.toMap(i -> String.valueOf(i.getId()), Citys::getName));
redisTemplate.opsForHash().putAll(RedisConstant.CITY_CACHE_REDIS, map);
redisTemplate.opsForHash().putAll(RedisHttpConstant.CITY_CACHE_REDIS, map);
}
@Override
public Map<Long, String> all() {
String value = redisTemplate.opsForValue().get(RedisConstant.CITY_CACHE_ALL_REDIS);
String value = redisTemplate.opsForValue().get(RedisHttpConstant.CITY_CACHE_ALL_REDIS);
if(value != null){
return JSON.parseObject(value, new TypeReference<LinkedHashMap<Long, String>>(){});
}
List<Citys> list = this.list();
Map<Long, String> map = list.stream().collect(Collectors.toMap(Citys::getId, Citys::getName));
redisTemplate.opsForValue().set(RedisConstant.CITY_CACHE_REDIS,JSON.toJSONString(map),30, TimeUnit.DAYS);
redisTemplate.opsForValue().set(RedisHttpConstant.CITY_CACHE_REDIS,JSON.toJSONString(map),30, TimeUnit.DAYS);
return map;
}
@@ -59,7 +58,7 @@ public class CitysServiceImpl extends ServiceImpl<CitysMapper, Citys> implements
if(cityId == null || cityId == 0){
return null;
}
Object val = redisTemplate.opsForHash().get(RedisConstant.CITY_CACHE_REDIS, cityId+"");
Object val = redisTemplate.opsForHash().get(RedisHttpConstant.CITY_CACHE_REDIS, cityId+"");
if(val != null){
return String.valueOf(val);
}
@@ -67,7 +66,7 @@ public class CitysServiceImpl extends ServiceImpl<CitysMapper, Citys> implements
if(city == null){
return null;
}
redisTemplate.opsForHash().put(RedisConstant.CITY_CACHE_REDIS, cityId, city.getName());
redisTemplate.opsForHash().put(RedisHttpConstant.CITY_CACHE_REDIS, cityId, city.getName());
return city.getName();
}
}

View File

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.constant.RedisConstant;
import com.ruoyi.cai.constant.RedisHttpConstant;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.domain.UserGreet;
import com.ruoyi.cai.dto.admin.vo.UserGreetAdminVo;
@@ -113,13 +113,13 @@ public class UserGreetServiceImpl extends ServiceImpl<UserGreetMapper,UserGreet>
}
try {
lock.lock(3,TimeUnit.SECONDS);
String numKey = String.format(RedisConstant.USER_GREET_TOTAL_REDIS, DateUtil.today(), userId);
String numKey = String.format(RedisHttpConstant.USER_GREET_TOTAL_REDIS, DateUtil.today(), userId);
String val = stringRedisTemplate.opsForValue().get(numKey);
Long max = systemConfigManager.getSystemConfigOfLong(SystemConfigEnum.TODAY_GREET_MAX);
if(val != null && Long.parseLong(val) > max){
throw new ServiceException("您今天打招呼的次数已经用完了");
}
String sendGreetCount = String.format(RedisConstant.USER_GREET_SEND_TIME_REDIS,userId);
String sendGreetCount = String.format(RedisHttpConstant.USER_GREET_SEND_TIME_REDIS,userId);
String lastTime = stringRedisTemplate.opsForValue().get(sendGreetCount);
if(StringUtils.isNotBlank(lastTime)){
Integer inter = systemConfigManager.getSystemConfigOfInt(SystemConfigEnum.GREET_INTERVAL_MIN);