浪花 - 组队功能后端开发

这篇具有很好参考价值的文章主要介绍了浪花 - 组队功能后端开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基础增删改查功能

1. 添加队伍

    @PostMapping("/add")
    public BaseResponse<Boolean> addTeam(@RequestBody Team team) {
        if (team == null) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        boolean result = teamService.save(team);
        if (!result) {
            throw new BusinessException(ErrorCode.SYSTEM_ERROR, "添加失败");
        }
        return ResultUtils.success(result);
    }

2. 删除队伍

    @PostMapping("/delete")
    public BaseResponse<Boolean> deleteTeamById(long id) {
        if (id <= 0) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        boolean result = teamService.removeById(id);
        if (!result) {
            throw new BusinessException(ErrorCode.SYSTEM_ERROR, "删除失败");
        }
        return ResultUtils.success(result);
    }

3. 修改 / 更新队伍信息

    @PostMapping("/update")
    public BaseResponse<Boolean> updateTeam(@RequestBody Team team) {
        if (team == null) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        boolean result = teamService.updateById(team);
        if (!result) {
            throw new BusinessException(ErrorCode.SYSTEM_ERROR, "更新失败");
        }
        return ResultUtils.success(result);
    }

4. 查找队伍

    @GetMapping("/get")
    public BaseResponse<Team> getTeamById(long teamId) {
        if (teamId <= 0) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        Team team = teamService.getById(teamId);
        if (team == null) {
            throw new BusinessException(ErrorCode.NULL_ERROR);
        }
        return ResultUtils.success(team);
    }

二、列表查询

1. 封装请求包装类

package com.example.usercenter.model.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.example.usercenter.common.PageRequest;
import lombok.Data;


/**
 * @author 乐小鑫
 * @version 1.0
 * @Date 2024-01-22-20:14
 */
@Data
public class TeamQuery extends PageRequest {
    private static final long serialVersionUID = -8434935321943948180L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 队伍名称
     */
    private String name;

    /**
     * 最大人数
     */
    private Integer maxNum;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 0 - 公开,1 - 私有,2 - 加密
     */
    private Integer status;
}

2. 创建查询构造器

3. 执行列表查询

    @GetMapping("/list")
    public BaseResponse<List<Team>> listTeams(TeamQuery teamQuery) {
        if (teamQuery == null) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        Team team = new Team();
        BeanUtils.copyProperties(teamQuery, team);
        QueryWrapper<Team> queryWrapper = new QueryWrapper<>();
        List<Team> teamList = teamService.list(queryWrapper);
        return ResultUtils.success(teamList);
    }

三、分页查询

1. 通用分页查询请求参数

package com.example.usercenter.common;

import lombok.Data;

import java.io.Serializable;

/**
 * 通用分页查询参数
 * @author 乐小鑫
 * @version 1.0
 * @Date 2024-01-22-20:16
 */
@Data
public class PageRequest implements Serializable {

    private static final long serialVersionUID = 1395844225639844641L;

    /**
     * 页面大小
     */
    private int pageSize = 10;

    /**
     * 当前页数
     */
    private int pageNum = 1;

}

2. 创建查询构造器

3. 执行分页查询

    @GetMapping("/list/page")
    public BaseResponse<Page<Team>> listTeamsByPage(TeamQuery teamQuery) {
        if (teamQuery == null) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        Page<Team> page = new Page<>(teamQuery.getPageNum(),teamQuery.getPageSize());
        QueryWrapper<Team> queryWrapper = new QueryWrapper<>();
        Page<Team> resultPage = teamService.page(page, queryWrapper);
        return ResultUtils.success(resultPage);
    }

四、请求参数包装类和包装类

1. 为什么需要请求参数包装类?

  • 请求参数名称 / 类型和实体类型不一致
  • 有一些参数用不到,如果要生成接口文档,会增加理解成本
  • 多个实体类映射到一个对象的场景

2. 为什么需要(响应数据)包装类?文章来源地址https://www.toymoban.com/news/detail-817979.html

  • 有些数据需要隐藏,不能返回给前端(封装 VO 类)
  • 有些字段某些方法不关心

到了这里,关于浪花 - 组队功能后端开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity之Photon PUN2开发多人游戏如何实现组队功能

    Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戏开发框架。它提供了一系列易于使用的API和工具,使开发者可以快速构建多人戏,并轻松处理多人游戏中的网络同步、房间管理、玩家匹配等问题。 我们在查看Pun2的Demo时,会发现Demo中自带了一个简易的PhotonTeam和

    2024年02月11日
    浏览(60)
  • 软件是什么?前端,后端,数据库

    软件是什么? 由于很多东西没有实际接触,很难理解,对于软件的定义也是各种各样。但是我还是不理解,软件开发中的 前端,后端,数据库到底有什么关系呢 ! 这个问题足足困扰了三年半,练习时长三年半,希望能为你解惑! 前端 : 数据渲染 发送请求 接受响应数据

    2024年01月20日
    浏览(44)
  • 数据库管理系统(基于前端+后端+数据库)

      库存管理系统 包括模块: (1)基本信息管理。 (2)商品入库管理。 (3)商品出库管理。 (4)商品查询管理。 (5)查看商品目录。 实训步骤: 开发环境:html , css , js , python,Mysql,pycharm 需求分析: 和其他数据库系统相比, MySQL 有点与众不同,它的架构可以在多种

    2024年02月04日
    浏览(68)
  • Java后端向前端返回文件流——实现下载功能!

    前端实现文件下载功能有多种方法,这里就不一一介绍,这里只介绍使用文件流下载的实现方法。 既然是文件流那就肯定需要给前端返回一堆二进制编码,作为后端就可以返回一个 OutPutStream 后端可以使用Java中servlet提供的 HttpServletResponse ,核心步骤是要设置响应的数据类型

    2024年02月08日
    浏览(45)
  • Java后端向前端返回文件流——实现下载功能

    前端实现文件下载功能有多种方法,这里就不一一介绍,这里只介绍使用文件流下载的实现方法。 既然是文件流那就肯定需要给前端返回一堆二进制编码,作为后端就可以返回一个 OutPutStream 后端可以使用Java中servlet提供的 HttpServletResponse ,核心步骤是要设置响应的数据类型

    2024年02月11日
    浏览(46)
  • uniapp 开发H5页面,实现语音识别功能--前端,不包含后端转换

    一、背景 微信小程序开发,内嵌h5页面,不能调用微信内部的插件 二、实现方式 通过安装  js-audio-recorder  插件实现既定需求 三、具体步骤 1、安装插件 npm i js-audio-recorder 2、引入 在需要使用的页面中引入:import Recorder from \\\'js-audio-recorder\\\'; 3、具体配置

    2024年04月13日
    浏览(42)
  • 【项目实战】登录与注册业务的实现(前端+后端+数据库)

             本示例基于Vue.js和mint UI实现。 目录 一、数据库的创建 二、后端接口与数据库的连接 三、前端代码实现 1.注册页相关代码 2.注册页效果 3.登录页相关代码 4.登录页效果 四、注册登录演示 五、项目文件结构         此处以 Navicat 软件进行创建,新建数据库r

    2023年04月08日
    浏览(59)
  • 基于Luckysheet实现的协同编辑在线表格支持在线导入数据库,前端导出,前端导入,后端导出

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 这两年,在线表格协作工具越来越火,但开源界一直没有相关的实现,被垄断在几个大厂手上,随着Luckysheet 的横空出世,开源界终于也有一个漂亮能打的在

    2024年02月11日
    浏览(56)
  • 用chatGPT快速开发java后端功能

      需求如图 常规无非是建表接口测试类,最后造数据进行自测。突发奇想,要不用GPT试一下快速写业务代码? 第一步:建表,直接复制excel中内容到GPT中  第二步:要求转为下划线:    第三步:给出条件和想要的结果(下面第一幅图是自己写的,其它代码图都是GPT生成的)

    2024年02月06日
    浏览(30)
  • JAVA---后端开发中实现分页功能

    Java开发是一门广泛应用于各种软件系统和网络应用的重要技术。在实际开发中,经常需要处理大量的数据和结果集,而分页功能则成为了提高用户体验和系统性能的关键。分页是将大数据集按照固定大小划分成多页并逐页显示的过程,能够有效减少数据传输量和页面加载时间

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包