diff --git a/HomeWork-community/src/main/java/HomeWork/community/controller/CommunityController.java b/HomeWork-community/src/main/java/HomeWork/community/controller/CommunityController.java index ca6b1bc..256e94e 100644 --- a/HomeWork-community/src/main/java/HomeWork/community/controller/CommunityController.java +++ b/HomeWork-community/src/main/java/HomeWork/community/controller/CommunityController.java @@ -1,12 +1,12 @@ package HomeWork.community.controller; -import HomeWork.community.domain.City; -import HomeWork.community.domain.Province; +import HomeWork.common.core.domain.R; +import HomeWork.community.domain.dto.PlotDto; +import HomeWork.community.domain.vo.PlotVo; +import HomeWork.community.domain.vo.TreeVo; import HomeWork.community.service.CommunityService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -21,19 +21,18 @@ import java.util.List; public class CommunityController { @Autowired private CommunityService communityService; - @PostMapping("/province") - public List province(){ - List list = communityService.province(); - return list; + @GetMapping("/tree/list") + public R> treeList() { + List list = communityService.list(); + return R.ok(list); } - @PostMapping("/city") - public List city(){ - List list = communityService.city(); - return list; + @PostMapping("/plot/{id}") + public R> plot(@PathVariable Integer id) { + List plotVos= communityService.plotList(id); + return R.ok(plotVos); } - @PostMapping("/district") - public List district(){ - List list = communityService.district(); - return list; + @PostMapping("/add") + public R add(@RequestBody PlotDto plotDto) { + return R.ok(communityService.add(plotDto)); } } diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/City.java b/HomeWork-community/src/main/java/HomeWork/community/domain/City.java deleted file mode 100644 index 7db660a..0000000 --- a/HomeWork-community/src/main/java/HomeWork/community/domain/City.java +++ /dev/null @@ -1,16 +0,0 @@ -package HomeWork.community.domain; - -import lombok.Data; - -/** - * @ClassName : City - * @Description : 市 - * @Author : FJJ - * @Date: 2024-01-30 16:31 - */ -@Data -public class City { - private int cityId; - private String name; - private Province province; -} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/District.java b/HomeWork-community/src/main/java/HomeWork/community/domain/District.java deleted file mode 100644 index 7fba8d1..0000000 --- a/HomeWork-community/src/main/java/HomeWork/community/domain/District.java +++ /dev/null @@ -1,16 +0,0 @@ -package HomeWork.community.domain; - -import lombok.Data; - -/** - * @ClassName : District - * @Description : 区 - * @Author : FJJ - * @Date: 2024-01-30 16:32 - */ -@Data -public class District { - private int districtId; - private String name; - private City city; -} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/Province.java b/HomeWork-community/src/main/java/HomeWork/community/domain/Province.java deleted file mode 100644 index 3547479..0000000 --- a/HomeWork-community/src/main/java/HomeWork/community/domain/Province.java +++ /dev/null @@ -1,15 +0,0 @@ -package HomeWork.community.domain; - -import lombok.Data; - -/** - * @ClassName : Province - * @Description : 省 - * @Author : FJJ - * @Date: 2024-01-30 16:30 - */ -@Data -public class Province { - private Integer id; - private String name; -} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/dto/PlotDto.java b/HomeWork-community/src/main/java/HomeWork/community/domain/dto/PlotDto.java new file mode 100644 index 0000000..16b9abb --- /dev/null +++ b/HomeWork-community/src/main/java/HomeWork/community/domain/dto/PlotDto.java @@ -0,0 +1,12 @@ +package HomeWork.community.domain.dto; + +import lombok.Data; + +@Data +public class PlotDto { + private String name; + private String num; + private String img; + private Integer parentId; + private String address; +} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/entity/PlotEntity.java b/HomeWork-community/src/main/java/HomeWork/community/domain/entity/PlotEntity.java new file mode 100644 index 0000000..f4541b5 --- /dev/null +++ b/HomeWork-community/src/main/java/HomeWork/community/domain/entity/PlotEntity.java @@ -0,0 +1,15 @@ +package HomeWork.community.domain.entity; + +import lombok.Data; + +@Data +public class PlotEntity { + private Integer id; + private String name; + private Integer parentId; + private String address; + private String img; + private Integer building; + private Integer tenement; + private String num; +} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/entity/TreeEntity.java b/HomeWork-community/src/main/java/HomeWork/community/domain/entity/TreeEntity.java new file mode 100644 index 0000000..52576b8 --- /dev/null +++ b/HomeWork-community/src/main/java/HomeWork/community/domain/entity/TreeEntity.java @@ -0,0 +1,16 @@ +package HomeWork.community.domain.entity; + +import lombok.Data; + +/** + * @ClassName : Tree + * @Description :目录树 + * @Author : FJJ + * @Date: 2024-01-30 20:15 + */ +@Data +public class TreeEntity { + private Integer id; + private String name; + private Integer parentId; +} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/vo/PlotVo.java b/HomeWork-community/src/main/java/HomeWork/community/domain/vo/PlotVo.java new file mode 100644 index 0000000..e0de2e6 --- /dev/null +++ b/HomeWork-community/src/main/java/HomeWork/community/domain/vo/PlotVo.java @@ -0,0 +1,15 @@ +package HomeWork.community.domain.vo; + +import lombok.Data; + +@Data +public class PlotVo { + private Integer id; + private String name; + private Integer parentId; + private String address; + private String img; + private Integer building; + private Integer tenement; + private String num; +} diff --git a/HomeWork-community/src/main/java/HomeWork/community/domain/vo/TreeVo.java b/HomeWork-community/src/main/java/HomeWork/community/domain/vo/TreeVo.java new file mode 100644 index 0000000..bc4e067 --- /dev/null +++ b/HomeWork-community/src/main/java/HomeWork/community/domain/vo/TreeVo.java @@ -0,0 +1,19 @@ +package HomeWork.community.domain.vo; + +import lombok.Data; + +import java.util.List; + +/** + * @ClassName : Tree + * @Description :目录树 + * @Author : FJJ + * @Date: 2024-01-30 20:15 + */ +@Data +public class TreeVo { + private Integer id; + private String name; + private Integer parentId; + private List children; +} diff --git a/HomeWork-community/src/main/java/HomeWork/community/mapper/CommunityMapper.java b/HomeWork-community/src/main/java/HomeWork/community/mapper/CommunityMapper.java index 3d52ca2..fbda091 100644 --- a/HomeWork-community/src/main/java/HomeWork/community/mapper/CommunityMapper.java +++ b/HomeWork-community/src/main/java/HomeWork/community/mapper/CommunityMapper.java @@ -1,8 +1,10 @@ package HomeWork.community.mapper; -import HomeWork.community.domain.City; -import HomeWork.community.domain.Province; +import HomeWork.community.domain.dto.PlotDto; +import HomeWork.community.domain.entity.TreeEntity; +import HomeWork.community.domain.vo.PlotVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -14,9 +16,17 @@ import java.util.List; */ @Mapper public interface CommunityMapper { - List province(); - List city(); - List district(); + List findChildren(@Param("id") Integer id); + + List treeListByTreeParentId(Integer parentId); + + List treeListByTreeIds(@Param("ids")String[] split); + + List treeList(); + + List plotList(@Param("id") Integer id); + + int add(PlotDto plotDto); } diff --git a/HomeWork-community/src/main/java/HomeWork/community/service/CommunityService.java b/HomeWork-community/src/main/java/HomeWork/community/service/CommunityService.java index f47d2de..13b5b7f 100644 --- a/HomeWork-community/src/main/java/HomeWork/community/service/CommunityService.java +++ b/HomeWork-community/src/main/java/HomeWork/community/service/CommunityService.java @@ -1,7 +1,9 @@ package HomeWork.community.service; -import HomeWork.community.domain.City; -import HomeWork.community.domain.Province; +import HomeWork.common.core.domain.R; +import HomeWork.community.domain.dto.PlotDto; +import HomeWork.community.domain.vo.PlotVo; +import HomeWork.community.domain.vo.TreeVo; import java.util.List; @@ -12,9 +14,10 @@ import java.util.List; * @Date: 2024-01-30 16:41 */ public interface CommunityService { - List province(); - List city(); + List list(); - List district(); + List plotList(Integer id); + + R add(PlotDto plotDto); } diff --git a/HomeWork-community/src/main/java/HomeWork/community/service/serviceImpl/CommunityServiceImpl.java b/HomeWork-community/src/main/java/HomeWork/community/service/serviceImpl/CommunityServiceImpl.java index d99bf0f..227badb 100644 --- a/HomeWork-community/src/main/java/HomeWork/community/service/serviceImpl/CommunityServiceImpl.java +++ b/HomeWork-community/src/main/java/HomeWork/community/service/serviceImpl/CommunityServiceImpl.java @@ -1,12 +1,17 @@ package HomeWork.community.service.serviceImpl; -import HomeWork.community.domain.City; -import HomeWork.community.domain.Province; +import HomeWork.common.core.domain.R; +import HomeWork.community.domain.dto.PlotDto; +import HomeWork.community.domain.entity.TreeEntity; +import HomeWork.community.domain.vo.PlotVo; +import HomeWork.community.domain.vo.TreeVo; import HomeWork.community.mapper.CommunityMapper; import HomeWork.community.service.CommunityService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -19,18 +24,54 @@ import java.util.List; public class CommunityServiceImpl implements CommunityService { @Autowired private CommunityMapper communityMapper; + @Override - public List province() { - return communityMapper.province(); + public List list() { + ArrayList treeVos = new ArrayList<>(); + List treeVoList = communityMapper.treeList(); + if (treeVoList.size()>0){ + for (TreeEntity tree : treeVoList) { + TreeVo treeVo = new TreeVo(); + BeanUtils.copyProperties(tree,treeVo); + List children = findChildren(tree.getId()); + treeVo.setChildren(children); + treeVos.add(treeVo); + } + } + return treeVos; } @Override - public List city() { - return communityMapper.city(); + public List plotList(Integer id) { + return communityMapper.plotList(id); } @Override - public List district() { - return communityMapper.district(); + public R add(PlotDto plotDto) { + if (communityMapper.add(plotDto)==0){ + return R.fail("添加失败"); + } + return R.ok("添加成功"); + } + + private List findChildren(Integer id) { + ArrayList treeVos = new ArrayList<>(); + List treeEntities = communityMapper.findChildren(id); + String ids=""; + for (TreeEntity treeVo : treeEntities) { + ids+=treeVo.getId()+","; + } + String[] split = ids.split(","); + List treeVos1 = communityMapper.treeListByTreeIds(split); + for (TreeEntity treeVo : treeVos1) { + TreeVo treeVo1 = new TreeVo(); + BeanUtils.copyProperties(treeVo,treeVo1); + List children = communityMapper.findChildren(treeVo1.getId()); + if (children.size()>0){ + treeVo1.setChildren(findChildren(treeVo1.getId())); + } + treeVos.add(treeVo1); + } + return treeVos; } } diff --git a/HomeWork-community/src/main/resources/mapper/CommunityMapper.xml b/HomeWork-community/src/main/resources/mapper/CommunityMapper.xml index 69abd88..dbdfb5f 100644 --- a/HomeWork-community/src/main/resources/mapper/CommunityMapper.xml +++ b/HomeWork-community/src/main/resources/mapper/CommunityMapper.xml @@ -3,15 +3,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + insert into plot + values (0, #{name}, #{parentId}, #{address}, #{img}, null, null,#{num}) + - + select * + from tree + where parent_id = #{id} - + select * from tree where id in + + #{treeId} + - + select * from tree where parent_id=0 + + +