liujie
3 天以前 a540a342416302805adfb1599599bbbbaa191030
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;
    }
}