springboot企业级抽奖项目业务三(活动模块)

梅开三度

开发流程

该业务基于rouyi生成好了mapper和service的代码,现在需要在controller层写接口

实际操作流程:

看接口文档一>controller里定义函数一>看给出的工具类一>补全controller里的函数一>运行测试

接口文档

在用户模块用户先看到活动列表,在活动列表内点击具体活动,进入看到活动信息、奖品信息和中奖列表。

controller里定义

在注解框架里加上list、info、products和hit四个函数

@RestController
@RequestMapping(value = "/api/game")
@Api(tags = {"活动模块"})
public class GameController {@Autowiredprivate GameLoadService loadService;@Autowiredprivate CardGameService gameService;@Autowiredprivate ViewCardUserHitService hitService;@GetMapping("/list/{status}/{curpage}/{limit}")@ApiOperation(value = "活动列表")@ApiImplicitParams({@ApiImplicitParam(name="status",value = "活动状态(-1=全部,0=未开始,1=进行中,2=已结束)",example = "-1",required = true),@ApiImplicitParam(name = "curpage",value = "第几页",defaultValue = "1",dataType = "int", example = "1",required = true),@ApiImplicitParam(name = "limit",value = "每页条数",defaultValue = "10",dataType = "int",example = "3",required = true)})public ApiResult list(@PathVariable int status,@PathVariable int curpage,@PathVariable int limit) {//TODOreturn null;}@GetMapping("/info/{gameid}")@ApiOperation(value = "活动信息")@ApiImplicitParams({@ApiImplicitParam(name="gameid",value = "活动id",example = "1",required = true)})public ApiResult<CardGame> info(@PathVariable int gameid) {//TODOreturn null;}@GetMapping("/products/{gameid}")@ApiOperation(value = "奖品信息")@ApiImplicitParams({@ApiImplicitParam(name="gameid",value = "活动id",example = "1",required = true)})public ApiResult<List<CardProductDto>> products(@PathVariable int gameid) {//TODOreturn null;}@GetMapping("/hit/{gameid}/{curpage}/{limit}")@ApiOperation(value = "中奖列表")@ApiImplicitParams({@ApiImplicitParam(name="gameid",value = "活动id",dataType = "int",example = "1",required = true),@ApiImplicitParam(name = "curpage",value = "第几页",defaultValue = "1",dataType = "int", example = "1",required = true),@ApiImplicitParam(name = "limit",value = "每页条数",defaultValue = "10",dataType = "int",example = "3",required = true)})public ApiResult<PageBean<ViewCardUserHit>> hit(@PathVariable int gameid,@PathVariable int curpage,@PathVariable int limit) {//TODOreturn null;}}

看给出的工具类

找该模块附近的common和util包

补全controller里的函数

比较简单,直接上完整代码(初版,后期修bug)

基本就用wrapper查下

@RestController
@RequestMapping(value = "/api/game")
@Api(tags = {"活动模块"})
public class GameController {@Autowiredprivate GameLoadService loadService;@Autowiredprivate CardGameService gameService;@Autowiredprivate ViewCardUserHitService hitService;@GetMapping("/list/{status}/{curpage}/{limit}")@ApiOperation(value = "活动列表")@ApiImplicitParams({@ApiImplicitParam(name="status",value = "活动状态(-1=全部,0=未开始,1=进行中,2=已结束)",example = "-1",required = true),@ApiImplicitParam(name = "curpage",value = "第几页",defaultValue = "1",dataType = "int", example = "1",required = true),@ApiImplicitParam(name = "limit",value = "每页条数",defaultValue = "10",dataType = "int",example = "3",required = true)})public ApiResult list(@PathVariable int status,@PathVariable int curpage,@PathVariable int limit) {QueryWrapper<CardGame> wrapper = new QueryWrapper<>();if (status != -1) {wrapper.eq("status",status);}Page<CardGame> all = gameService.page(new Page(curpage,limit),wrapper);return new ApiResult(1,"成功",new PageBean<CardGame>(all));}@GetMapping("/info/{gameid}")@ApiOperation(value = "活动信息")@ApiImplicitParams({@ApiImplicitParam(name="gameid",value = "活动id",example = "1",required = true)})public ApiResult<CardGame> info(@PathVariable int gameid) {CardGame game = gameService.getById(gameid);return new ApiResult(1,"成功",game);}@GetMapping("/products/{gameid}")@ApiOperation(value = "奖品信息")@ApiImplicitParams({@ApiImplicitParam(name="gameid",value = "活动id",example = "1",required = true)})public ApiResult<List<CardProductDto>> products(@PathVariable int gameid) {List<CardProductDto> productList = loadService.getByGameId(gameid);return new ApiResult(1,"成功",productList);}@GetMapping("/hit/{gameid}/{curpage}/{limit}")@ApiOperation(value = "中奖列表")@ApiImplicitParams({@ApiImplicitParam(name="gameid",value = "活动id",dataType = "int",example = "1",required = true),@ApiImplicitParam(name = "curpage",value = "第几页",defaultValue = "1",dataType = "int", example = "1",required = true),@ApiImplicitParam(name = "limit",value = "每页条数",defaultValue = "10",dataType = "int",example = "3",required = true)})public ApiResult<PageBean<ViewCardUserHit>> hit(@PathVariable int gameid,@PathVariable int curpage,@PathVariable int limit) {QueryWrapper<ViewCardUserHit> wrapper = new QueryWrapper<>();if (gameid == -1) {wrapper.eq("gameid",gameid);}Page<ViewCardUserHit> all = hitService.page(new Page(curpage,limit),wrapper);return new ApiResult(1,"成功",new PageBean<ViewCardUserHit>(all));}}

运行测试

前后端联调:

​​​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/285554.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泰迪智能科技荣获山东省“技能兴鲁”职业技能大赛优秀组织奖

近日&#xff0c;泰迪智能科技荣获了山东省“技能兴鲁”职业技能大赛——第四届山东省“云数”技能竞赛“优秀组织单位”。 据悉&#xff0c;山东省“技能兴鲁”职业技能大赛——第四届山东省“云数”技能竞赛是由山东电子学会、山东省信息产业协会主办的&#xff0c;该竞赛是通…

32.HarmonyOS App(JAVA)鸿蒙系统app类自动生成GetSet方法

1.空白区域右键单击 2.选择Generate 3.选择getter,setter 4.选择列出的所有项 5.点击OK 6.成功生成。

说一说Java中的四种引用类型?

引言 在JDK1.2之前Java并没有提供软引用、弱引用和虚引用这些高级的引用类型。而是提供了一种基本的引用类型&#xff0c;称为Reference。并且当时Java中的对象只有两种状态&#xff1a;被引用和未被引用。当一个对象被引用时&#xff0c;它将一直存在于内存中&#xff0c;直到…

Spring Boot 实现定时任务动态管理

前言 本文主要介绍了SpringBoot架构下动态定时任务的使用&#xff0c;定时任务表达式配置在数据库中&#xff0c;通过反射执行到目标方法。 Quartz Quartz 是一个开源的作业调度框架,支持分布式定时任务&#xff0c;Quartz定时任务据我了解可分为Trigger&#xff08;触发器&…

毕业论文降重(gpt+完美降重指令),sci论文降重gpt指令——超级好用,重复率低于4%

1. 降重方法&#xff1a;gpt降重指令 2. gpt网站 https://yiyan.baidu.com/ https://chat.openai.com/ 3. 降重指令——非常好用&#xff01;&#xff01;sci论文&#xff0c;本硕大论文都可使用&#xff01; 请帮我把下面句子重新组织&#xff0c;通过调整句子逻辑&#xff0…

nvidia显卡如何安装cuda驱动

目录 查看显卡对应的cuda版本下载与你显卡匹配的CUDA Toolkit 查看显卡对应的cuda版本 按 微软 R 键&#xff0c;输入cmd 然后输入 nvidia-smi &#xff0c;回车显示下面信息&#xff1a; 看到 CUDA Version 为 12.2 下载与你显卡匹配的CUDA Toolkit 打开网页&#xff1a…

【项目管理——时间管理】【自用笔记】

1 项目时间管理&#xff08;进度管理&#xff09;概述 过程&#xff1a;&#xff08;2—6&#xff09;为规划过程组&#xff0c;7为监控过程组 题目定义&#xff1a;项目时间管理又称为进度管理&#xff0c;是指确保项目按时完成所需的过程。目标&#xff1a;时间管理的主要目标…

疲劳检测YOLOV8

疲劳检测YOLOV8&#xff0c;只需要OPENCV&#xff0c;采用YOLOV8训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV调用&#xff0c;支持C/PYTHON/ANDROID开发疲劳检测YOLOV8

嵌入式开发--获取STM32产品系列的信息

嵌入式开发–获取STM32产品系列和容量信息 获取STM32产品系列 有时候我们需要知道当前MCU是STM32的哪一个系列&#xff0c;这当然可以从外部丝印看出来&#xff0c;但是运行在内部的软件如何知道呢&#xff1f; ST为我们提供了一个接口&#xff0c;F1和G4系列地址统一为&…

第十四届蓝桥杯省赛C++ A组所有题目以及题解(C++)【编程题均通过100%测试数据】

第一题《幸运数》【模拟】 【问题描述】 小蓝认为如果一个数含有偶数个数位&#xff0c;并且前面一半的数位之和等于后面一半的数位之和&#xff0c;则这个数是他的幸运数字。例如 2314是一个幸运数字,因为它有4个数位,并且2314。现在请你帮他计算从1至100000000之间共有多少…

李国武:如何评估一家精益制造咨询公司的实施能力?

在制造业转型升级的大背景下&#xff0c;精益制造已成为企业提升竞争力、实现可持续发展的关键。然而&#xff0c;面对市场上众多的精益制造咨询公司&#xff0c;如何评估其实施能力成为了众多企业的难题。本文将从多个方面为大家揭示评估精益制造咨询公司实施能力的方法&#…

Java实现JDBC编程

1 数据库编程的必备条件 编程语言&#xff0c;如Java&#xff0c;C、C、Python等 数据库&#xff0c;如Oracle&#xff0c;MySQL&#xff0c;SQL Server等 数据库驱动包&#xff1a;不同的数据库&#xff0c;对应不同的编程语言提供了不同的数据库驱动包&#xff0c;如&#x…

Linux-shell中变量的引用($变量名,${变量名})

1. 背景 最近写脚本时&#xff0c;发现有个变量在某个地方生效&#xff0c;某个地方又不生效&#xff0c;引用方式为 $变量名。 2. 方法 其实 shell 脚本中对变量的引用有两种方式&#xff1a; $变量名${变量名} 用下面的脚步&#xff0c;去测试效果&#xff1a; a100 b2…

前端Webpack5高级进阶课程

课程介绍 本套视频教程主要内容包含React/Vue最新版本脚手架分析、基于Webpack5编写自己的loader和plugin等&#xff0c;让你开发时选择更多样&#xff0c;最后&#xff0c;用不到一百行的代码实现Webpack打包。通过本套视频教程的学习&#xff0c;可以帮你彻底打通Webpack的任…

mineadmin前端安装启动

在上一篇文章中&#xff0c; 我们已经搭建好了后端环境并启动 mineadmin 快速安装部署&#xff08;docker环境&#xff09; 一、下载前端项目 1、在搭建后端时候&#xff0c;使用php bin/hyperf.php mine:install 的时候&#xff0c;有一个步骤是安装前端项目的。安装目录为&a…

简介:网络数据中心和数字孪生系统融合

前言 云服务器是在云中提供可扩展的计算服务&#xff0c;避免了使用传统服务器时需要预估资源用量及前期投入的情况。云服务器支持用户自定义一切资源&#xff1a;cpu、内存、硬盘、网络、安全等等&#xff0c;并可在访问量和负载等需求发生变化时轻松地调整它们。云服务器为业…

Visio导出高质量图片

直接导出图片比较糊&#xff0c; 在导出高质量图片&#xff0c;应该 直接保存&#xff0c;然后弹出此选项&#xff0c;进行如下设置 即可导出高质量图片

php 快速入门(一)

一、配置系统环境 1.1 安装软件 1、安装php的开发软件&#xff1a;phpstorm 在这个软件中写代码 2、安装php的运行软件&#xff1a;phpstduy 写好的php程序需要放到phpstduy中&#xff0c;用户才能访问和测试 安装过程注意事项&#xff1a;安装的路径中不能有空格和中文字符&…

大东方保险集团陈志远:洞察保险行业的重要性及未来三年发展前景

在当今社会,保险行业作为风险管理的重要工具,正日益凸显其不可或缺的地位。大东方保险集团陈志远近日在接受采访时,深入探讨了保险行业的重要性以及未来三年的发展前景。 一、保险行业的重要性 陈志远指出,保险行业在现代经济中扮演着举足轻重的角色。它不仅是社会稳定的“减震…

LeetCode 1027——最长等差数列

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 假设我们以 f[d][nums[i]]表示以 nums[i] 为结尾元素间距为 d 的等差数列的最大长度&#xff0c;那么&#xff0c;如果 nums[i]-d 也存在于 nums 数组中&#xff0c;则有&#xff1a; f [ d ] [ n u m s [ i ] ] …