| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- package com.template.controller;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.template.api.BuildingControllerAPI;
- import com.template.model.pojo.Building;
- import com.template.model.pojo.HouseNumber;
- import com.template.model.result.CommonResult;
- import com.template.model.vo.BuildingBarVo;
- import com.template.services.BuildingService;
- import com.template.services.HouseNumberService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author ceshi
- * @since 2024-08-08
- */
- @RestController
- public class BuildingController implements BuildingControllerAPI {
- @Autowired
- BuildingService buildingService;
- @Autowired
- HouseNumberService houseNumberService;
- @Override
- public CommonResult save(Building building) {
- String building1 = building.getBuilding();
- String element = building.getElement();
- if (ObjectUtils.isEmpty(building1) || ObjectUtils.isEmpty(element)) {
- return CommonResult.fail("楼栋和单元不能为空");
- }
- LambdaQueryWrapper<Building> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Building::getBuilding, building1)
- .eq(Building::getElement, element);
- Building one = buildingService.getOne(wrapper);
- if (ObjectUtils.isNotEmpty(one)) {
- return CommonResult.fail("已存在");
- }
- buildingService.save(building);
- return CommonResult.ok();
- }
- @Override
- public CommonResult getPage(int page, int size, String keyWord) {
- IPage<Building> buildingPage = new Page<>(page, size);
- LambdaQueryWrapper<Building> wrapper = new LambdaQueryWrapper<>();
- wrapper.like(ObjectUtils.isNotEmpty(keyWord), Building::getBuilding, keyWord)
- .or()
- .like(ObjectUtils.isNotEmpty(keyWord),Building::getElement,keyWord);
- wrapper.orderByAsc(Building::getBuilding)
- .orderByAsc(Building::getElement);
- IPage<Building> page1 = buildingService.page(buildingPage, wrapper);
- return CommonResult.ok(page1);
- }
- @Override
- public CommonResult update(Building building) {
- String building1 = building.getBuilding();
- String element = building.getElement();
- if (ObjectUtils.isEmpty(building1) || ObjectUtils.isEmpty(element)) {
- return CommonResult.fail("楼栋和单元不能为空");
- }
- LambdaQueryWrapper<Building> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(Building::getBuilding, building1)
- .eq(Building::getElement, element);
- Building one = buildingService.getOne(wrapper);
- if (ObjectUtils.isNotEmpty(one)) {
- return CommonResult.fail("已存在该楼栋和单元");
- }
- buildingService.updateById(building);
- return CommonResult.ok();
- }
- @Override
- public CommonResult delete(Integer buildingId) {
- LambdaQueryWrapper<HouseNumber> wrapper=new LambdaQueryWrapper<>();
- wrapper.eq(HouseNumber::getBuildingId,buildingId);
- List<HouseNumber> list = houseNumberService.list(wrapper);
- if (ObjectUtils.isNotEmpty(list)) {
- return CommonResult.fail("该楼栋下还存在房间");
- }
- buildingService.removeById(buildingId);
- return CommonResult.ok();
- }
- @Override
- public CommonResult displayBar() {
- List<String> buildings = buildingService.group();
- List<Building> list = buildingService.list(new LambdaQueryWrapper<>());
- ArrayList<BuildingBarVo> vos = new ArrayList<>();
- for (int i = 0; i < buildings.size(); i++) {
- String b = buildings.get(i);
- BuildingBarVo vo = new BuildingBarVo();
- vo.setId(1000000+i);
- vo.setElement(b);
- List<Building> ownerClasses = list.stream().filter(e -> e.getBuilding().equals(b)).collect(Collectors.toList());
- if (ownerClasses != null && ownerClasses.size() > 0) {
- vo.setBuildings(ownerClasses);
- }
- vos.add(vo);
- }
- return CommonResult.ok(vos);
- }
- }
|