From a540a342416302805adfb1599599bbbbaa191030 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 08 八月 2025 23:42:13 +0800 Subject: [PATCH] 赛事模块 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 97 insertions(+), 0 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java index cae4036..c2faace 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/controller/WorldCupController.java @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.communityWorldCup.entity.*; import com.dsh.communityWorldCup.feignclient.account.AppUserClient; @@ -44,6 +45,7 @@ import java.io.PrintWriter; import java.nio.charset.StandardCharsets; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -275,6 +277,16 @@ if(0 == isStudent){ isStudent = 2; } + WorldCup worldCup = worldCupService.getById(worldCupPeople.getWorldCupId()); + if(null == worldCup){ + return ResultUtil.error("当前比赛不存在"); + } + if(worldCup.getStartTime().getTime()>System.currentTimeMillis() || worldCup.getEndTime().getTime()<System.currentTimeMillis()){ + return ResultUtil.error("二维码仅支持在赛事有效期使用"); + } + + + WorldCupPaymentParticipant worldCupPaymentParticipant = worldCupPaymentParticipantService.getOne(new QueryWrapper<WorldCupPaymentParticipant>() .eq("worldCupId", worldCupPeople.getWorldCupId()).eq("participantId", id).eq("participantType", isStudent) .orderByDesc("createTime").last(" limit 0, 1")); @@ -352,6 +364,15 @@ }) public ResultUtil startWorldCup(StartWorldCup startWorldCup){ return worldCupService.startWorldCup(startWorldCup); + } + @ResponseBody + @PostMapping("/api/worldCup/endWorldCup") + @ApiOperation(value = "裁判结束比赛【3.1】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil endWorldCup(String custom, Integer redScore, Integer blueScore){ + return worldCupService.endWorldCup(custom,redScore,blueScore); } @@ -687,6 +708,45 @@ } worldCupRank.setAppUserId(uid); List<WorldCupRankVo> worldCupRank1 = worldCupCompetitorService.getWorldCupRank(worldCupRank); + return ResultUtil.success(worldCupRank1); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupListFromRank") + @ApiOperation(value = "获取报名的赛事 排名使用【3.1】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<WorldCupListVo>> getWorldCupListFromRank(MyWorldCupList myWorldCupList){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + List<WorldCupListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupListFromRank(myWorldCupList); + return ResultUtil.success(worldCupRank1); + }catch (Exception e){ + e.printStackTrace(); + return ResultUtil.runErr(); + } + } + @ResponseBody + @PostMapping("/api/worldCup/getWorldCupCodeListId") + @ApiOperation(value = "获取赛事的赛点 非智慧比赛用 【3.1】", tags = {"APP-个人中心"}) + @ApiImplicitParams({ + @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<List<WorldCupCodeListVo>> getWorldCupCodeListId(Integer worldCupId){ + try { + Integer uid = tokenUtil.getUserIdFormRedis(); + if(null == uid){ + return ResultUtil.tokenErr(); + } + List<WorldCupCodeListVo> worldCupRank1 = worldCupCompetitorService.getWorldCupCodeListId(worldCupId); return ResultUtil.success(worldCupRank1); }catch (Exception e){ e.printStackTrace(); @@ -1160,4 +1220,41 @@ .last(" and createTime between '" + sdf.format(getWorldCupPayment.getStartTime()) + "' and '" + sdf.format(getWorldCupPayment.getEndTime()) + "' order by createTime desc")); return list; } + + + @PostMapping("/worldCup/userDetailsOfSearch") + @ResponseBody + public List<WorldCupUserListVo> userDetailsOfSearch(@RequestBody UserDetailsOfSearch search){ + // 已报名的用户 + List<WorldCupPaymentParticipant> list = worldCupPaymentParticipantService.list(new LambdaQueryWrapper<WorldCupPaymentParticipant>().eq(WorldCupPaymentParticipant::getWorldCupId, search.getId()) + .eq(WorldCupPaymentParticipant::getAlreadyEntered, 0)); + ArrayList<WorldCupUserListVo> worldCupUserListVos = new ArrayList<>(); + if(list.size()>0){ + List<Integer> collect = list.stream().map(WorldCupPaymentParticipant::getAppUserId).collect(Collectors.toList()); + search.setUseIds(collect); + List<AppUser> appUsers = appUserClient.queryAppUserByIds(search); + + for (AppUser appUser : appUsers) { + WorldCupUserListVo worldCupUserListVo = new WorldCupUserListVo(); + WorldCupPaymentParticipant worldCupPaymentParticipant = list.stream().filter(e -> e.getAppUserId().equals(appUser.getId())).findFirst().orElse(null); + if(worldCupPaymentParticipant!=null){ + worldCupUserListVo.setId(worldCupPaymentParticipant.getId()); + worldCupUserListVo.setName(appUser.getName()); + worldCupUserListVo.setSex(appUser.getGender() !=null && appUser.getGender()==2?"女":"男"); + worldCupUserListVo.setPhone(appUser.getPhone()); + worldCupUserListVo.setIdCard(appUser.getIdCard()); + // 当前日期和生日计算年龄 + Date birthday = appUser.getBirthday(); + LocalDate now = LocalDate.now(); + if(birthday!=null){ + int age = now.getYear() - birthday.getYear(); + worldCupUserListVo.setAge(age); + } + worldCupUserListVos.add(worldCupUserListVo); + } + } + + } + return worldCupUserListVos; + } } -- Gitblit v1.7.1