package com.template.controller; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.template.api.WelcomeBuildControllerAPI; import com.template.model.pojo.WelcomeBuild; import com.template.model.result.CommonResult; import com.template.model.result.PageUtils; import com.template.services.WelcomeBuildService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** *

* 前端控制器 *

* * @author ceshi * @since 2025-06-13 */ @RestController public class WelcomeBuildController implements WelcomeBuildControllerAPI { @Autowired WelcomeBuildService welcomeBuildService; @Override public CommonResult saveBuild(WelcomeBuild welcomeBuild) { String build = welcomeBuild.getBuild(); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WelcomeBuild::getBuild, build) .eq(WelcomeBuild::getSchool,welcomeBuild.getSchool()); WelcomeBuild wb = welcomeBuildService.getOne(wrapper); if (ObjectUtils.isNotEmpty(wb)) { return CommonResult.fail("已存在该楼栋"); } welcomeBuildService.save(welcomeBuild); return CommonResult.ok(); } @Override public CommonResult deleteBuild(Integer buildId) { welcomeBuildService.removeById(buildId); return CommonResult.ok(); } @Override public CommonResult updateBuild(WelcomeBuild welcomeBuild) { // 先查询是否有当前楼栋信息 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WelcomeBuild::getBuild, welcomeBuild.getBuild()) .eq(WelcomeBuild::getSchool,welcomeBuild.getSchool()); WelcomeBuild one = welcomeBuildService.getOne(wrapper); if (ObjectUtils.isNotEmpty(one)) { Integer id = one.getId(); if (!id.equals(welcomeBuild.getId())) { return CommonResult.fail("修改的楼栋已存在"); } } welcomeBuildService.updateById(welcomeBuild); return CommonResult.ok(); } @Override public CommonResult listBuild(int currentPage, int pageCount, String schoolName, String buildName, String sex) { PageUtils pageUtils =welcomeBuildService.listBuild(currentPage,pageCount,schoolName,buildName,sex); return CommonResult.ok(pageUtils); } @Override public CommonResult schoolGroup() { LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); wrapper.groupBy(WelcomeBuild::getSchool); List schoolGroup = welcomeBuildService.list(wrapper); return CommonResult.ok(schoolGroup); } @Override public CommonResult buildGroup(String schoolName) { LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); wrapper.eq(ObjectUtils.isNotEmpty(schoolName),WelcomeBuild::getSchool,schoolName) .groupBy(WelcomeBuild::getBuild); List schoolGroup = welcomeBuildService.list(wrapper); return CommonResult.ok(schoolGroup); } }