From af089361635328d40bcca8c16246170a61e79f68 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Mon, 18 Jul 2022 18:07:25 +0800 Subject: [PATCH] =?UTF-8?q?:rocket:=20=E5=BC=80=E5=8F=91=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kicc/common/data/entity/TreeEntity.java | 1 + .../cloud/kicc/system/api/entity/Address.java | 59 --------------- .../cloud/kicc/system/api/entity/Region.java | 35 +++++++++ ...sController.java => RegionController.java} | 38 +++++----- .../kicc/system/mapper/AddressMapper.java | 20 ----- .../kicc/system/mapper/RegionMapper.java | 30 ++++++++ .../kicc/system/service/AddressService.java | 17 ----- .../kicc/system/service/RegionService.java | 34 +++++++++ .../service/impl/AddressServiceImpl.java | 47 ------------ .../service/impl/RegionServiceImpl.java | 52 +++++++++++++ .../src/main/resources/mapper/Address.xml | 74 ------------------- .../main/resources/mapper/RegionMapper.xml | 50 +++++++++++++ 12 files changed, 221 insertions(+), 236 deletions(-) delete mode 100644 kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Address.java create mode 100644 kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Region.java rename kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/{AddressController.java => RegionController.java} (64%) delete mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/AddressMapper.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/RegionMapper.java delete mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RegionService.java delete mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AddressServiceImpl.java create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RegionServiceImpl.java delete mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/Address.xml create mode 100644 kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RegionMapper.xml diff --git a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/TreeEntity.java b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/TreeEntity.java index 043ce539..7eb29cc1 100644 --- a/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/TreeEntity.java +++ b/kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/TreeEntity.java @@ -22,6 +22,7 @@ public class TreeEntity extends CommonEntity { /** 编号 **/ @ApiModelProperty("编号") private String id; + /** 父级编号 **/ @ApiModelProperty("父级编号") private String parentId; diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Address.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Address.java deleted file mode 100644 index b1e64574..00000000 --- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Address.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.cloud.kicc.system.api.entity; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.cloud.kicc.common.data.entity.CommonEntity; -import com.fasterxml.jackson.annotation.JsonInclude; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.util.ArrayList; -import java.util.List; - -/** - * @Author: TangSheng - * @Description: 地址管理实体 - * @Since 1.0 - * @Date Created in 9:57 2022/3/21 - */ -@Data -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@TableName(value="sys_address") -public class Address extends CommonEntity { - /** 编号 **/ - @ApiModelProperty("id") - @TableId(value = "id") - private String id; - @ApiModelProperty("编码") - private String code; - /** 父级编号 **/ - @ApiModelProperty("父级编号") - private String parentId; - - /** 名称 */ - @ApiModelProperty("名称") - protected String name; - - /** 排序 **/ - @ApiModelProperty("排序") - private Integer sort; - - @ApiModelProperty("子级集合") - @TableField(exist = false) - @JsonInclude(JsonInclude.Include.NON_EMPTY) - protected List
children = new ArrayList(); - - @ApiModelProperty("标识字段") - @TableField(exist = false) - private String fooLevel; -// @ApiModelProperty("层级") -// private Integer level; - -// @ApiModelProperty("排序") -// private boolean lastLevel; - -} diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Region.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Region.java new file mode 100644 index 00000000..33b79ec0 --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/Region.java @@ -0,0 +1,35 @@ +package com.cloud.kicc.system.api.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cloud.kicc.common.data.entity.TreeEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 区域管理 + * 区域数据量太大了,采用懒加载形式处理 + *

+ * + * @Author: entfrm开发团队-王翔 + * @Date: 2022/7/18 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName(value="sys_region", excludeProperty = { "remarks", "delFlag" }) +public class Region extends TreeEntity { + + /** 区域编码 */ + private String code; + + /** 地区级别 */ + private Integer level; + + /** 层级标记 */ + @TableField(exist = false) + private String tag; + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RegionController.java similarity index 64% rename from kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java rename to kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RegionController.java index 737519b5..689c42b7 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/AddressController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RegionController.java @@ -3,8 +3,8 @@ package com.cloud.kicc.system.controller; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.constant.AppConstants; -import com.cloud.kicc.system.api.entity.Address; -import com.cloud.kicc.system.service.AddressService; +import com.cloud.kicc.system.api.entity.Region; +import com.cloud.kicc.system.service.RegionService; import com.cloud.kicc.system.service.UserService; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; @@ -20,30 +20,30 @@ import org.springframework.web.bind.annotation.*; @RequiredArgsConstructor @RequestMapping(AppConstants.APP_SYSTEM + "/address") @Api(value = "app", tags = "地址管理模块") -public class AddressController { +public class RegionController { private final UserService userService; - private final AddressService addressService; + private final RegionService regionService; /** * 新增节点 - * @param address 节点dto + * @param region 节点dto * @return */ @PostMapping("/add") - public R add(@RequestBody Address address){ - addressService.save(address); - return R.ok(address); + public R add(@RequestBody Region region){ + regionService.save(region); + return R.ok(region); } /** * 修改节点 - * @param address 修改对象 + * @param region 修改对象 * @return */ @PutMapping("/update") - public R update(@RequestBody Address address){ - addressService.updateById(address); - return R.ok(address); + public R update(@RequestBody Region region){ + regionService.updateById(region); + return R.ok(region); } /** @@ -53,10 +53,10 @@ public class AddressController { */ @DeleteMapping("/remove/{id}") public R remove(@PathVariable("id") String id){ - if(addressService.getMap(Wrappers.
lambdaQuery().eq(Address::getParentId,id))!=null){ + if(regionService.getMap(Wrappers.lambdaQuery().eq(Region::getParentId,id))!=null){ return R.error("存在下级区域,不允许删除"); } - addressService.removeById(id); + regionService.removeById(id); return R.ok(); } @@ -67,7 +67,7 @@ public class AddressController { */ @GetMapping("/{id:\\w+}") public R getById(@PathVariable("id") String id) { - return R.ok(addressService.getById(id)); + return R.ok(regionService.getById(id)); } /** @@ -75,8 +75,8 @@ public class AddressController { * @return */ @GetMapping("/list") - public R list(Address address){ - return R.ok(addressService.queryList(address)); + public R list(Region region){ + return R.ok(regionService.queryList(region)); } /** @@ -85,7 +85,7 @@ public class AddressController { */ @GetMapping("/lazyList") public R lazyList(String parentId){ - return R.ok(addressService.lazyList(parentId)); + return R.ok(regionService.lazyList(parentId)); } -} \ No newline at end of file +} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/AddressMapper.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/AddressMapper.java deleted file mode 100644 index da2576f5..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/AddressMapper.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.cloud.kicc.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.cloud.kicc.system.api.entity.Address; - -import java.util.List; - -/** - * @Author: TangSheng - * @Description: - * @Since 1.0 - * @Date Created in 11:07 2022/3/21 - */ -public interface AddressMapper extends BaseMapper
{ - - List
lazyList(String parentId); - - List
queryList(Address address); - -} \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/RegionMapper.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/RegionMapper.java new file mode 100644 index 00000000..1f09308d --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/RegionMapper.java @@ -0,0 +1,30 @@ +package com.cloud.kicc.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.cloud.kicc.system.api.entity.Region; + +import java.util.List; + +/** + * @Author: TangSheng + * @Description: + * @Since 1.0 + * @Date Created in 11:07 2022/3/21 + */ +public interface RegionMapper extends BaseMapper { + + /** + * 懒加载查询 + * @param parentId 父节点 + * @return List + */ + List lazyList(String parentId); + + /** + * 条件查询 + * @param region 区域对象 + * @return List + */ + List queryList(Region region); + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java deleted file mode 100644 index 08d963c7..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/AddressService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.cloud.kicc.system.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.cloud.kicc.system.api.entity.Address; - -import java.util.List; - - -public interface AddressService extends IService
{ - - - List
lazyList(String parentId); - - List
queryList(Address address); - -} \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RegionService.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RegionService.java new file mode 100644 index 00000000..68ccc148 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RegionService.java @@ -0,0 +1,34 @@ +package com.cloud.kicc.system.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.cloud.kicc.system.api.entity.Region; + +import java.util.List; + +/** + *

+ * 区域服务 + *

+ * + * @Author: entfrm开发团队-王翔 + * @Date: 2022/7/18 + */ +public interface RegionService extends IService { + + + /** + * 懒加载查询 + * @param parentId 父节点 + * @return List + */ + List lazyList(String parentId); + + /** + * 条件查询 + * @param region 区域对象 + * @return List + */ + List queryList(Region region); + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AddressServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AddressServiceImpl.java deleted file mode 100644 index 47f92c21..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/AddressServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.cloud.kicc.system.service.impl; - - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.cloud.kicc.system.api.entity.Address; -import com.cloud.kicc.system.mapper.AddressMapper; -import com.cloud.kicc.system.service.AddressService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - - -@Service -@RequiredArgsConstructor -@Slf4j -public class AddressServiceImpl extends ServiceImpl implements AddressService { - - - @Override - public List
queryList(Address address) { - List
addressList = this.baseMapper.queryList(address); - return addressList.stream().filter(item ->"1".equals(item.getFooLevel())) - .map(item -> { - List
addresses = addressList.stream().filter(e -> "1".equals(item.getFooLevel())).collect(Collectors.toList()); - if(addresses.size() != 0) { - item.setChildren(addresses); - } - return item; - }).collect(Collectors.toList()); - } - - @Override - public List
lazyList(String parentId) { - List
addressList = this.baseMapper.lazyList(parentId); - return addressList.stream().filter(item -> item.getParentId().equals(parentId)) - .map(item -> { - List
address = addressList.stream().filter(e -> e.getParentId().equals(item.getId())).collect(Collectors.toList()); - if(address.size() != 0) { - item.setChildren(address); - } - return item; - }).collect(Collectors.toList()); - } -} \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RegionServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RegionServiceImpl.java new file mode 100644 index 00000000..e5325807 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RegionServiceImpl.java @@ -0,0 +1,52 @@ +package com.cloud.kicc.system.service.impl; + + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cloud.kicc.system.api.entity.Region; +import com.cloud.kicc.system.mapper.RegionMapper; +import com.cloud.kicc.system.service.RegionService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + *

+ * 区域服务实现 + *

+ * + * @Author: entfrm开发团队-王翔 + * @Date: 2022/7/18 + */ +@Service +@RequiredArgsConstructor +public class RegionServiceImpl extends ServiceImpl implements RegionService { + + @Override + public List queryList(Region region) { + List regionList = this.baseMapper.queryList(region); + return regionList.stream().filter(item ->"1".equals(item.getTag())) + .map(item -> { + List regions = regionList.stream().filter(e -> "1".equals(item.getTag())).collect(Collectors.toList()); + if(regions.size() != 0) { + item.setChildren(regions); + } + return item; + }).collect(Collectors.toList()); + } + + @Override + public List lazyList(String parentId) { + List regionList = this.baseMapper.lazyList(parentId); + return regionList.stream().filter(item -> item.getParentId().equals(parentId)) + .map(item -> { + List regions = regionList.stream().filter(e -> e.getParentId().equals(item.getId())).collect(Collectors.toList()); + if(regions.size() != 0) { + item.setChildren(regions); + } + return item; + }).collect(Collectors.toList()); + } + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/Address.xml b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/Address.xml deleted file mode 100644 index 7caf8a7a..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/Address.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RegionMapper.xml b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RegionMapper.xml new file mode 100644 index 00000000..dd31afb1 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RegionMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + +