Browse Source

🚀 区域管理接口开发完毕

master
wangxiang 3 years ago
parent
commit
f61a459ec9
  1. 95
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RegionController.java
  2. 7
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/RegionMapper.java
  3. 8
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RegionService.java
  4. 21
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RegionServiceImpl.java
  5. 34
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RegionMapper.xml

95
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/RegionController.java

@ -1,91 +1,78 @@
package com.cloud.kicc.system.controller; package com.cloud.kicc.system.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants; import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.system.api.entity.Menu;
import com.cloud.kicc.system.api.entity.Region; import com.cloud.kicc.system.api.entity.Region;
import com.cloud.kicc.system.service.RegionService; import com.cloud.kicc.system.service.RegionService;
import com.cloud.kicc.system.service.UserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* @Author: TangSheng *<p>
* @Description: 地址管理 * 区域管理
* @Since 1.0 *</p>
* @Date Created in 10:22 2022/3/21 *
* @Author: entfrm开发团队-王翔
* @Date: 2022/7/19
*/ */
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
@RequestMapping(AppConstants.APP_SYSTEM + "/address") @RequestMapping(AppConstants.APP_SYSTEM + "/address")
@Api(value = "app", tags = "地址管理模块") @Api(value = "app", tags = "地址管理模块")
public class RegionController { public class RegionController {
private final UserService userService;
private final RegionService regionService; private final RegionService regionService;
/**
* 新增节点 private LambdaQueryWrapper<Region> getQueryWrapper(Region region) {
* @param region 节点dto return new LambdaQueryWrapper<Region>()
* @return .like(StrUtil.isNotBlank(region.getName()), Region::getName, region.getName())
*/ .eq(StrUtil.isNotBlank(region.getCode()), Region::getCode, region.getCode())
@PostMapping("/add") .between(StrUtil.isNotBlank(region.getBeginTime()) && StrUtil.isNotBlank(region.getEndTime()), Region::getCreateTime, region.getBeginTime(), region.getEndTime())
public R add(@RequestBody Region region){ .orderByAsc(Region::getSort);
}
@GetMapping("/list")
public R list(Region region) {
List<Region> result = regionService.list(getQueryWrapper(region));
return R.ok(result, result.size());
}
@GetMapping("/lazyList")
public R lazyList(String parentId){
return R.ok(regionService.lazyList(parentId));
}
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
return R.ok(regionService.getById(id));
}
@PostMapping("/save")
public R save(@RequestBody Region region){
regionService.save(region); regionService.save(region);
return R.ok(region); return R.ok(region);
} }
/**
* 修改节点
* @param region 修改对象
* @return
*/
@PutMapping("/update") @PutMapping("/update")
public R update(@RequestBody Region region){ public R update(@RequestBody Region region){
regionService.updateById(region); regionService.updateById(region);
return R.ok(region); return R.ok(region);
} }
/** @DeleteMapping("/remove/{id:\\w+}")
* 删除地址节点
* @param id 节点id
* @return
*/
@DeleteMapping("/remove/{id}")
public R remove(@PathVariable("id") String id){ public R remove(@PathVariable("id") String id){
if(regionService.getMap(Wrappers.<Region>lambdaQuery().eq(Region::getParentId,id))!=null){ if (regionService.count(new LambdaQueryWrapper<Region>().eq(Region::getParentId, id)) > 0) {
return R.error("存在下级区域,不允许删除"); return R.error("存在下级区域,不允许删除");
} }
regionService.removeById(id); regionService.removeById(id);
return R.ok(); return R.ok();
} }
/**
* 查询根据id
* @param id
* @return
*/
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
return R.ok(regionService.getById(id));
}
/**
* 查询地址列表
* @return
*/
@GetMapping("/list")
public R list(Region region){
return R.ok(regionService.queryList(region));
}
/**
* 查询地址列表
* @return
*/
@GetMapping("/lazyList")
public R lazyList(String parentId){
return R.ok(regionService.lazyList(parentId));
}
} }

7
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/mapper/RegionMapper.java

@ -20,11 +20,4 @@ public interface RegionMapper extends BaseMapper<Region> {
*/ */
List<Region> lazyList(String parentId); List<Region> lazyList(String parentId);
/**
* 条件查询
* @param region 区域对象
* @return List
*/
List<Region> queryList(Region region);
} }

8
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RegionService.java

@ -16,7 +16,6 @@ import java.util.List;
*/ */
public interface RegionService extends IService<Region> { public interface RegionService extends IService<Region> {
/** /**
* 懒加载查询 * 懒加载查询
* @param parentId 父节点 * @param parentId 父节点
@ -24,11 +23,4 @@ public interface RegionService extends IService<Region> {
*/ */
List<Region> lazyList(String parentId); List<Region> lazyList(String parentId);
/**
* 条件查询
* @param region 区域对象
* @return List
*/
List<Region> queryList(Region region);
} }

21
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RegionServiceImpl.java

@ -23,27 +23,16 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor @RequiredArgsConstructor
public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService { public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {
@Override
public List<Region> queryList(Region region) {
List<Region> regionList = this.baseMapper.queryList(region);
return regionList.stream().filter(item ->"1".equals(item.getTag()))
.map(item -> {
List<Region> 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 @Override
public List<Region> lazyList(String parentId) { public List<Region> lazyList(String parentId) {
List<Region> regionList = this.baseMapper.lazyList(parentId); List<Region> regionList = this.baseMapper.lazyList(parentId);
return regionList.stream().filter(item -> item.getParentId().equals(parentId)) return regionList.stream().filter(item -> item.getParentId().equals(parentId))
.map(item -> { .map(item -> {
List<Region> regions = regionList.stream().filter(e -> e.getParentId().equals(item.getId())).collect(Collectors.toList()); // 处理存入子数据,处理让树形表格显示图标
if(regions.size() != 0) { List<Region> regionChildren = regionList.stream()
item.setChildren(regions); .filter(e -> e.getParentId().equals(item.getId())).collect(Collectors.toList());
if(regionChildren.size() != 0) {
item.setChildren(regionChildren);
} }
return item; return item;
}).collect(Collectors.toList()); }).collect(Collectors.toList());

34
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RegionMapper.xml

@ -2,40 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.cloud.kicc.system.mapper.RegionMapper"> <mapper namespace="com.cloud.kicc.system.mapper.RegionMapper">
<select id="queryList" resultType="com.cloud.kicc.system.api.entity.Region">
select * from (
select *, '1' as 'tag' from sys_region
<where>
<if test="name != null and name != ''">
name like concat(#{name},'%')
</if>
<if test="code != null and code!=''">
and code = #{code}
</if>
<if test="createTime != null and createTime != ''">
and createTime between #{beginTime} and #{endTime}
</if>
</where>
union all
select T2.*, '2' as 'tag' from
(select id from sys_region
<where>
<if test="name != null and name != ''">
and name like concat(#{name},'%')
</if>
<if test="code != null and code != ''">
and code = #{code}
</if>
<if test="createTime != null and createTime != ''">
and createTime between #{beginTime} and #{endTime}
</if>
</where>
) T1, sys_region T2
WHERE T1.id = T2.parent_id
) result where del_flag ='0'
ORDER BY sort ASC
</select>
<select id="lazyList" parameterType="String" resultType="com.cloud.kicc.system.api.entity.Region"> <select id="lazyList" parameterType="String" resultType="com.cloud.kicc.system.api.entity.Region">
SELECT * FROM SELECT * FROM
( (

Loading…
Cancel
Save