暑假学习springboot小项目day04

三:crud


1:添加@Slf4j,增加@Api注释。

2:为方法添加@ApiOperation。

3:控制器负责接收数据,检验数据,将数据传到service层,在service层处理数据。返回给控制器。

4:查询操作全部设置为分页查询,方便查询与前端操作。使用mybatis-flex的Page方法,使用的包为com.mybatisflex.core.paginate

5:校验的操作使用了hutool的Validate。参考文档:Document

以下为目前编写的代码,代码受限与个人,而本人能力有限。

@RestController
@Slf4j
@Api(tags = "场地信息管理")
@RequestMapping("/admin/siteInfo")
//控制器负责接受数据,校验数据,然后把数据丢给service,然后返回service给你的结果
public class SiteInfoController {

    @Autowired
    private SiteInfoService siteInfoService;
//新增场地
    @PostMapping("addSite")
    @ApiOperation("新增场地")
    public Result add(@RequestBody SiteInfo siteInfo)//SiteInfoDto siteInfoDto
    {

        //校验数据
        if(siteInfo.getSiteCode()==null)
        {
            log.error("空数据");
            return Result.error("场地编号不能为空");
        }else if (siteInfoService.isExisted(siteInfo.getSiteCode())){//判断是否存在相同的场地编号
            log.error("场地编号已存在");
            return Result.error("场地编号已存在");
        }else if (siteInfo.getSiteState()==null){
            log.error("场地状态不能为空");
            return Result.error("场地状态不能为空");
        }
        log.info("新增场地:{}",siteInfo);
        siteInfoService.addSite(siteInfo);
        return Result.success(siteInfo);
    }
@DeleteMapping("remove/{id}")
    @ApiOperation("删除场地")
    public Result remove(@PathVariable Integer id) {
        if (!siteInfoService.isExisted(id)){
            log.error("场地id:{}不存在",id);
            return Result.error("场地"+id+"不存在");
        }
        //todo判断是否存在需要删除的字段
        //用场地编号删除
        else if (siteInfoService.deleteLogically(id)==1){
            log.info("已删除场地id:{}",id);
            return Result.success();
        } else {
            return Result.error("删除场地"+id+"失败");
        }
    }
@PutMapping("updateSiteState")
    @ApiOperation("更改场地状态")
    public Result updateSiteState(@RequestBody SiteInfo siteInfo)
    {
//        log.info("更改场地状态:{}",siteInfo);
        if (Validator.isEmpty(siteInfo)){
            log.error("传入的类型为空");
            return Result.error("传入的类型为空");

        }
        else if (Validator.isEmpty(siteInfo.getSiteCode())){
            log.error("场地编号不能为空");
            return Result.error("场地编号不能为空");
        }else if (Validator.isEmpty(siteInfo.getSiteState())){
            log.error("场地状态不能为空");
            return Result.error("场地状态不能为空");
        }
            else if (siteInfoService.isDeletedLogically(siteInfo.getSiteCode())){
            log.error("场地已删除");
            return Result.error("场地已删除");
        }
        else if (siteInfoService.setSiteState(siteInfo)){
            log.info("更改场地状态:{}",siteInfo.getSiteState());
            return Result.success("已更改为"+siteInfo.getSiteState());
        }else {
            log.error("更改场地状态失败:{}",siteInfo.getSiteState());
            return Result.error("更改场地状态失败");
        }

//        return siteInfoService.getSiteState(siteInfo.getSiteCode());
    }
@GetMapping("getSiteState")
    @ApiOperation("查询哪些场地被占用")//分页查询
    public Result<Page<SiteInfo>> getSiteState() throws SQLException {
        Page result=siteInfoService.selectSiteState();
        if (siteInfoService.selectSiteState()!=null){
            log.info("查询成功,被占用的场地为:{}",result);
            return Result.success(result);
        }else {
            log.error("查询失败");
            return Result.error("查询失败");
        }
       //1.日志输出在返回前端之前 2.控制器校验数据 3.使用统一的返回类型Result
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值