From 8d4a3ba746f1760ccb09b1eacce35a40b5ac71f6 Mon Sep 17 00:00:00 2001 From: dute7liang <383200134@qq.com> Date: Sat, 30 Dec 2023 17:02:58 +0800 Subject: [PATCH] init --- .../java/com/ruoyi/cai/domain/CaiCitys.java | 39 +++++++++++++++++ .../com/ruoyi/cai/mapper/CaiCitysMapper.java | 14 ++++++ .../ruoyi/cai/service/CaiCitysService.java | 18 ++++++++ .../cai/service/impl/CaiCitysServiceImpl.java | 43 +++++++++++++++++++ .../resources/mapper/cai/CaiCitysMapper.xml | 15 +++++++ 5 files changed, 129 insertions(+) create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiCitys.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiCitysMapper.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiCitysService.java create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiCitysServiceImpl.java create mode 100644 ruoyi-cai/src/main/resources/mapper/cai/CaiCitysMapper.xml diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiCitys.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiCitys.java new file mode 100644 index 00000000..c21302ba --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/domain/CaiCitys.java @@ -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; + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiCitysMapper.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiCitysMapper.java new file mode 100644 index 00000000..6d304616 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/mapper/CaiCitysMapper.java @@ -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 { + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiCitysService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiCitysService.java new file mode 100644 index 00000000..c48ec892 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/CaiCitysService.java @@ -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 { + + Map all(); + +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiCitysServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiCitysServiceImpl.java new file mode 100644 index 00000000..e7587166 --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/CaiCitysServiceImpl.java @@ -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 implements CaiCitysService { + + @Autowired + private StringRedisTemplate redisTemplate; + + @Override + public Map all() { + String value = redisTemplate.opsForValue().get(RedisConstant.CITY_CACHE_REDIS); + if(value != null){ + return JSON.parseObject(value, new TypeReference>(){}); + } + List list = this.list(); + Map 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; + } +} diff --git a/ruoyi-cai/src/main/resources/mapper/cai/CaiCitysMapper.xml b/ruoyi-cai/src/main/resources/mapper/cai/CaiCitysMapper.xml new file mode 100644 index 00000000..065af583 --- /dev/null +++ b/ruoyi-cai/src/main/resources/mapper/cai/CaiCitysMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + +