From 50430e0e13de4e3d0c73fcf9e099a2327706fc4f Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 15 八月 2025 10:47:41 +0800 Subject: [PATCH] 赛事模块 --- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 10 ++-- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java | 47 ++++++++++++++++++++++- cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java | 10 +++++ cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java | 12 ++++++ 4 files changed, 72 insertions(+), 7 deletions(-) diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java new file mode 100644 index 0000000..29e98be --- /dev/null +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/UserVo.java @@ -0,0 +1,12 @@ +package com.dsh.communityWorldCup.model; + +import lombok.Data; + +@Data +public class UserVo { + private String userName; + + private String avatar; + + private Integer age=0; +} diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java index 6d6e56b..2b39baa 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/model/WorldCupCodeListVo.java @@ -1,5 +1,6 @@ package com.dsh.communityWorldCup.model; +import com.alipay.api.domain.UserDetail; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -16,6 +17,8 @@ public class WorldCupCodeListVo { @ApiModelProperty("世界杯id") private Integer worldCupId; + @ApiModelProperty("世界杯名称") + private String name; @ApiModelProperty("编号") private String code; @ApiModelProperty("开始时间") @@ -23,4 +26,11 @@ @ApiModelProperty("自定义信息 结束接口需要") private List<Long> customs; + + + @ApiModelProperty("红队") + private List<UserVo> red; + + @ApiModelProperty("蓝队") + private List<UserVo> blue; } diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java index b22c1d7..1dd31e0 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java @@ -30,6 +30,7 @@ import java.math.MathContext; import java.math.RoundingMode; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @@ -1049,14 +1050,56 @@ // worldCupCompetitors 通过code分组 Map<String, List<WorldCupCompetitor>> map = worldCupCompetitors.stream().collect(Collectors.groupingBy(WorldCupCompetitor::getCode)); - + LocalDate now = LocalDate.now(); for (Map.Entry<String, List<WorldCupCompetitor>> entry : map.entrySet()) { WorldCupCodeListVo worldCupCodeListVo = new WorldCupCodeListVo(); String code = entry.getKey(); List<WorldCupCompetitor> value = entry.getValue(); + // 蓝队 + List<WorldCupCompetitor> collect1 = value.stream().filter(item -> item.getParticipant() == 1).collect(Collectors.toList()); + ArrayList<UserVo> objects = new ArrayList<>(); + for (WorldCupCompetitor competitor : collect1) { + UserVo userVo = new UserVo(); + AppUser appUser = appUserClient.getAppUser(competitor.getAppUserId()); + userVo.setUserName(appUser.getName()); + userVo.setAvatar(appUser.getHeadImg()); + // 当前日期和生日计算年龄 + Date birthday = appUser.getBirthday(); + + if(birthday!=null){ + int age = now.getYear() - birthday.getYear(); + userVo.setAge(age); + } + objects.add(userVo); + } + worldCupCodeListVo.setBlue(objects); + // 红队 + List<WorldCupCompetitor> collect2 = value.stream().filter(item -> item.getParticipant() == 2).collect(Collectors.toList()); + ArrayList<UserVo> objects1 = new ArrayList<>(); + for (WorldCupCompetitor competitor : collect2) { + UserVo userVo = new UserVo(); + AppUser appUser = appUserClient.getAppUser(competitor.getAppUserId()); + userVo.setUserName(appUser.getName()); + userVo.setAvatar(appUser.getHeadImg()); + // 当前日期和生日计算年龄 + Date birthday = appUser.getBirthday(); + + if(birthday!=null){ + int age = now.getYear() - birthday.getYear(); + userVo.setAge(age); + } + objects1.add(userVo); + } + worldCupCodeListVo.setRed(objects1); + worldCupCodeListVo.setCode(code); worldCupCodeListVo.setStartTime(value.get(0).getStartTime()); - worldCupCodeListVo.setWorldCupId(value.get(0).getWorldCupId()); + Integer worldCupId1 = value.get(0).getWorldCupId(); + WorldCup byId = worldCupService.getById(worldCupId1); + worldCupCodeListVo.setWorldCupId(worldCupId1); + if(byId!=null){ + worldCupCodeListVo.setName(byId.getName()); + } List<Long> collect = value.stream().map(WorldCupCompetitor::getId).collect(Collectors.toList()); worldCupCodeListVo.setCustoms(collect); worldCupCodeListVos.add(worldCupCodeListVo); diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java index 81bf5a8..114d57e 100644 --- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java +++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java @@ -148,12 +148,12 @@ } //1、通过扫码获取的sutuid查询t_game表中的红蓝方sutuid // 智慧需要判断code - - String code = startWorldCup.getCode(); - JSONObject object = JSON.parseObject(code); - String sutu_id = object.getString("sutu_id"); - TGame tGame = gameClient.getTGameBySutuId(sutu_id); + TGame tGame =new TGame(); if (worldCup.getType() == null || worldCup.getType() == 1) { + String code = startWorldCup.getCode(); + JSONObject object = JSON.parseObject(code); + String sutu_id = object.getString("sutu_id"); + tGame = gameClient.getTGameBySutuId(sutu_id); if (null == tGame) { return ResultUtil.error("无效的游戏二维码"); } -- Gitblit v1.7.1