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);
}
}