From f9b2f64a98e1b7e155223a2d7384d072c66d6633 Mon Sep 17 00:00:00 2001 From: 77 <77@77.com> Date: Sat, 18 May 2024 17:36:07 +0800 Subject: [PATCH] init --- .../java/com/ruoyi/test/business/ImTest.java | 5 ++++ .../controller/app/SettingAppController.java | 9 +++++- .../xq/enums/common/AreaCodeLevelEnum.java | 2 +- .../com/ruoyi/xq/service/AreaCodeService.java | 2 ++ .../xq/service/impl/AreaCodeServiceImpl.java | 28 +++++++++++++++++++ 5 files changed, 44 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/test/java/com/ruoyi/test/business/ImTest.java b/ruoyi-admin/src/test/java/com/ruoyi/test/business/ImTest.java index f5fe94d..9e79945 100644 --- a/ruoyi-admin/src/test/java/com/ruoyi/test/business/ImTest.java +++ b/ruoyi-admin/src/test/java/com/ruoyi/test/business/ImTest.java @@ -16,4 +16,9 @@ public class ImTest { public void refresh(){ imOp.refreshIm(false); } + + @Test + public void refreshImNoSaveToken(){ + imOp.refreshImNoSaveToken(); + } } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/SettingAppController.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/SettingAppController.java index 946e62c..ab6897e 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/SettingAppController.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/controller/app/SettingAppController.java @@ -82,12 +82,19 @@ public class SettingAppController { } @GetMapping("/areaCode/tree") - @Operation(summary = "获取所有省市区编码") + @Operation(summary = "获取所有省市区编码(树形结构)") public R> areaCodeTree(){ List node = areaCodeService.tree(); return R.ok(node); } + @GetMapping("/areaCode/city/tree") + @Operation(summary = "获取所有省市编码(树形结构)") + public R> areaCodeCityTree(){ + List node = areaCodeService.treeCity(); + return R.ok(node); + } + @GetMapping("/customerService/pic") @Operation(summary = "获取客服二维码") @SaIgnore diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/AreaCodeLevelEnum.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/AreaCodeLevelEnum.java index 847952d..c79283e 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/AreaCodeLevelEnum.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/enums/common/AreaCodeLevelEnum.java @@ -7,7 +7,7 @@ public enum AreaCodeLevelEnum { COUNTRY("country","国家"), PROVINCE("province","省份"), CITY("city","市"), - DISTRICT("city","区县"), + DISTRICT("district","区县"), ; private final String code; private final String text; diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AreaCodeService.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AreaCodeService.java index 806b43c..a103d11 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AreaCodeService.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/AreaCodeService.java @@ -22,4 +22,6 @@ public interface AreaCodeService extends IService { List tree(); + List treeCity(); + } diff --git a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AreaCodeServiceImpl.java b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AreaCodeServiceImpl.java index ea7e5ce..155469e 100644 --- a/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AreaCodeServiceImpl.java +++ b/ruoyi-xq/src/main/java/com/ruoyi/xq/service/impl/AreaCodeServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.xq.domain.AreaCode; import com.ruoyi.xq.dto.admin.areacode.AreaCodeAdminTree; import com.ruoyi.xq.dto.app.areacode.AreaCodeQuery; import com.ruoyi.xq.dto.app.areacode.AreaCodeTree; +import com.ruoyi.xq.enums.common.AreaCodeLevelEnum; import com.ruoyi.xq.mapper.AreaCodeMapper; import com.ruoyi.xq.service.AreaCodeService; import org.springframework.stereotype.Service; @@ -83,4 +84,31 @@ public class AreaCodeServiceImpl extends ServiceImpl im } return new ArrayList<>(roots); } + + @Override + public List treeCity() { + List list = this.list(Wrappers.lambdaQuery(AreaCode.class) + .in(AreaCode::getLevel, AreaCodeLevelEnum.PROVINCE,AreaCodeLevelEnum.CITY)); + List nodeList = BeanConvertUtil.convertListTo(list, AreaCodeTree::new); + Map nodeMap = new HashMap<>(); + Set roots = new HashSet<>(); + // 遍历列表构建节点映射表 + for (AreaCodeTree node : nodeList) { + nodeMap.put(node.getCode(), node); + if (node.getPcode() == 0 || !nodeMap.containsKey(node.getPcode())) { + roots.add(node); + } + } + // 建立父子关系 + for (AreaCodeTree node : nodeList) { + if (nodeMap.containsKey(node.getPcode())) { + AreaCodeTree parentNode = nodeMap.get(node.getPcode()); + parentNode.addChild(node); + } + } + return new ArrayList<>(roots); + } + + + }