From d6a0c57043e8cc20694a3c678bf8e3a8f28f6499 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 29 五月 2025 11:20:14 +0800
Subject: [PATCH] 新增加用户端接口
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 83 insertions(+), 0 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
index a7fb541..078b62f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl.config;
+import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.system.api.constant.SecurityConstant;
import com.ruoyi.system.domain.pojo.config.Region;
@@ -7,6 +8,7 @@
import com.ruoyi.system.mapper.config.RegionMapper;
import com.ruoyi.system.service.config.RegionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.util.HttpUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -31,6 +33,81 @@
@Resource
private RedisService redisService;
+ /**
+ * @param
+ * @return List<RegionVo>
+ * @description
+ * @author jqs
+ * @date 2023/6/12 15:18
+ */
+ @Override
+ public List<RegionVo> listCityVo() {
+ if (redisService.hasKey(SecurityConstant.CITY_LIST)) {
+ // 如果存在,则直接从缓存中获取并返回
+ List<RegionVo> result = redisService.getCacheList(SecurityConstant.CITY_LIST);
+ return result;
+ } else {
+ // 如果不存在,则从数据库中查询并进行处理
+ List<RegionVo> regionVoList = regionMapper.listRegionVo();
+ List<RegionVo> regionVoList1 = new ArrayList<>();
+ List<RegionVo> regionVoList2 = new ArrayList<>();
+ List<RegionVo> regionVoList3 = new ArrayList<>();
+ // 将地区按照级别分别存放到不同的列表中
+ for (RegionVo regionVo : regionVoList) {
+ if (regionVo.getLevel() == 1) {
+ regionVoList1.add(regionVo);
+ }
+ if (regionVo.getLevel() == 2) {
+ regionVoList2.add(regionVo);
+ }
+ if (regionVo.getLevel() == 3) {
+ regionVoList3.add(regionVo);
+ }
+ }
+ RegionVo children;
+ Iterator<RegionVo> regionVoIterator2;
+
+ for (RegionVo regionVo : regionVoList2) {
+ if (null == regionVo.getChildren()) {
+ regionVo.setChildren(new ArrayList<>());
+ }
+ regionVoIterator2 = regionVoList3.iterator();
+ while (regionVoIterator2.hasNext()) {
+ children = regionVoIterator2.next();
+ if (regionVo.getId().equals(children.getParentId())) {
+ regionVo.getChildren().add(children);
+ regionVoIterator2.remove();
+ }
+ }
+ }
+
+ // 将第二级地区挂到第一级地区下面
+ for (RegionVo regionVo : regionVoList1) {
+ if (null == regionVo.getChildren()) {
+ regionVo.setChildren(new ArrayList<>());
+ }
+ regionVoIterator2 = regionVoList2.iterator();
+ while (regionVoIterator2.hasNext()) {
+ children = regionVoIterator2.next();
+ if (regionVo.getId().equals(children.getParentId())) {
+ regionVo.getChildren().add(children);
+ regionVoIterator2.remove();
+ }
+ }
+ }
+ // 将处理后的地区列表存入缓存中
+ redisService.setCacheList(SecurityConstant.CITY_LIST, regionVoList1);
+ // 返回处理后的地区列表
+ return regionVoList1;
+ }
+ }
+
+
+ @Override
+ public List<RegionVo> listRegions(Long pid) {
+ return regionMapper.listRegions(pid);
+ }
+
/**
* @param
* @return List<RegionVo>
@@ -99,4 +176,10 @@
return regionVoList1;
}
}
+
+
+
+// public R renewalRegion(){
+// HttpUtils.doPost()
+// }
}
--
Gitblit v1.7.1