init
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.CaiCitys;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 城市Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-30
|
||||
*/
|
||||
public interface CaiCitysService extends IService<CaiCitys> {
|
||||
|
||||
Map<Long,String> all();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
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.domain.CaiCitys;
|
||||
import com.ruoyi.cai.mapper.CaiCitysMapper;
|
||||
import com.ruoyi.cai.service.CaiCitysService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 城市Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2023-12-30
|
||||
*/
|
||||
@Service
|
||||
public class CaiCitysServiceImpl extends ServiceImpl<CaiCitysMapper,CaiCitys> implements CaiCitysService {
|
||||
|
||||
@Autowired
|
||||
private StringRedisTemplate redisTemplate;
|
||||
|
||||
@Override
|
||||
public Map<Long, String> all() {
|
||||
String value = redisTemplate.opsForValue().get(RedisConstant.CITY_CACHE_REDIS);
|
||||
if(value != null){
|
||||
return JSON.parseObject(value, new TypeReference<LinkedHashMap<Long, String>>(){});
|
||||
}
|
||||
List<CaiCitys> list = this.list();
|
||||
Map<Long, String> map = list.stream().collect(Collectors.toMap(CaiCitys::getId, CaiCitys::getName));
|
||||
redisTemplate.opsForValue().set(RedisConstant.CITY_CACHE_REDIS,JSON.toJSONString(map),30, TimeUnit.DAYS);
|
||||
return map;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user