This commit is contained in:
dute7liang
2023-12-30 17:02:58 +08:00
parent 2a5d658cb4
commit 8d4a3ba746
5 changed files with 129 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
package com.ruoyi.cai.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* 城市对象 cai_citys
*
* @author 77
* @date 2023-12-30
*/
@Data
@TableName("cai_citys")
public class CaiCitys implements Serializable {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
*
*/
private String name;
/**
*
*/
private Long parentId;
/**
*
*/
private Integer deep;
}

View File

@@ -0,0 +1,14 @@
package com.ruoyi.cai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cai.domain.CaiCitys;
/**
* 城市Mapper接口
*
* @author 77
* @date 2023-12-30
*/
public interface CaiCitysMapper extends BaseMapper<CaiCitys> {
}

View File

@@ -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();
}

View File

@@ -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;
}
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cai.mapper.CaiCitysMapper">
<resultMap type="com.ruoyi.cai.domain.CaiCitys" id="CaiCitysResult">
<result property="id" column="id"/>
<result property="name" column="name"/>
<result property="parentId" column="parent_id"/>
<result property="deep" column="deep"/>
</resultMap>
</mapper>