liujie
3 天以前 a540a342416302805adfb1599599bbbbaa191030
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupCompetitorServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsh.communityWorldCup.entity.WorldCup;
@@ -691,8 +692,118 @@
                .eq("participant", 1).eq("worldCupId", worldCupCompetitor.getWorldCupId()));
        WorldCup worldCup = worldCupService.getById(blueList.get(0).getWorldCupId());
        for (WorldCupCompetitor cupCompetitor : blueList) {
            //如果之前输了,现在赢/平了,需要增加积分
            if(cupCompetitor.getMatchResult() == -1 && (blue.compareTo(red) > 0 || blue.compareTo(red) == 0)){
            //如果之前输了,现在赢了,需要增加积分
            if(cupCompetitor.getMatchResult() == -1 && (blue.compareTo(red) > 0 )){
                //先扣除
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getLoseIntegral() * -1);
                vo.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                //增加积分明细
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getWinIntegral());
                vo1.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                cupCompetitor.setMatchResult(1);
                cupCompetitor.setWinIntegral(worldCup.getWinIntegral());
                cupCompetitor.setLoseIntegral(0);
            }
            // 输 -> 平
            if(cupCompetitor.getMatchResult() == -1 && (blue.compareTo(red) == 0 )){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getLoseIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getDrawIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(0);
                cupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
                cupCompetitor.setLoseIntegral(0);
            }
            //如果之前赢了,现在输了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 1 && blue.compareTo(red) < 0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getWinIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getLoseIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(-1);
                cupCompetitor.setWinIntegral(0);
                cupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
            }
            //如果之前赢了,现在平了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 1 && blue.compareTo(red) == 0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getWinIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getDrawIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(0);
                cupCompetitor.setWinIntegral(0);
                cupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
            }
            //如果之前平了,现在输了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 0 && blue.compareTo(red) < 0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getDrawIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getLoseIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(-1);
                cupCompetitor.setDrawIntegral(0);
                cupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
            }
            //如果之前平了,现在赢了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 0 && blue.compareTo(red) >0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getDrawIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
@@ -701,31 +812,8 @@
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(1);
                cupCompetitor.setDrawIntegral(0);
                cupCompetitor.setWinIntegral(worldCup.getWinIntegral());
            }
            //如果之前赢了,现在输了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 1 && blue.compareTo(red) < 0){
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getWinIntegral() * -1);
                vo.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(-1);
                cupCompetitor.setWinIntegral(0);
            }
            //如果之前平了,现在输了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 0 && blue.compareTo(red) < 0){
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getWinIntegral() * -1);
                vo.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(-1);
                cupCompetitor.setWinIntegral(0);
            }
            cupCompetitor.setOurScore(blue);
            cupCompetitor.setOpponentScore(red);
@@ -736,8 +824,15 @@
        List<WorldCupCompetitor> redList = this.list(new QueryWrapper<WorldCupCompetitor>().eq("code", worldCupCompetitor.getCode())
                .eq("participant", 2).eq("worldCupId", worldCupCompetitor.getWorldCupId()));
        for (WorldCupCompetitor cupCompetitor : redList) {
            //如果之前输了,现在赢/平了,需要增加积分
            if(cupCompetitor.getMatchResult() == -1 && (red.compareTo(blue) > 0 || red.compareTo(blue) == 0)){
            //如果之前输了,现在赢/了,需要增加积分
            if(cupCompetitor.getMatchResult() == -1 && (red.compareTo(blue) > 0)){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getLoseIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
@@ -747,30 +842,113 @@
                cupCompetitor.setMatchResult(1);
                cupCompetitor.setWinIntegral(worldCup.getWinIntegral());
                cupCompetitor.setLoseIntegral(0);
            }
            //如果之前输了,现在平了,需要增加积分
            if(cupCompetitor.getMatchResult() == -1 && ( red.compareTo(blue) == 0)){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getLoseIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getDrawIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(0);
                cupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
                cupCompetitor.setLoseIntegral(0);
            }
            //如果之前赢了,现在输了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 1 && red.compareTo(blue) < 0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getWinIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getWinIntegral() * -1);
                vo.setType(8);
                vo.setIntegral(worldCup.getLoseIntegral() );
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(-1);
                cupCompetitor.setWinIntegral(0);
                cupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
            }
            //如果之前赢了,现在平了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 1 && red.compareTo(blue) ==0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getWinIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getDrawIntegral() );
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(0);
                cupCompetitor.setWinIntegral(0);
                cupCompetitor.setDrawIntegral(worldCup.getDrawIntegral());
            }
            //如果之前平了,现在输了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 0 && red.compareTo(blue) < 0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getDrawIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getWinIntegral() * -1);
                vo.setType(8);
                vo.setIntegral(worldCup.getLoseIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(-1);
                cupCompetitor.setWinIntegral(0);
                cupCompetitor.setDrawIntegral(0);
                cupCompetitor.setLoseIntegral(worldCup.getLoseIntegral());
            }
            //如果之前平了,现在赢了,需要扣减积分
            if(cupCompetitor.getMatchResult() == 0 && red.compareTo(blue) >0){
                //先扣除
                SaveUserIntegralChangesVo vo1 = new SaveUserIntegralChangesVo();
                vo1.setAppUserId(cupCompetitor.getAppUserId());
                vo1.setIntegral(worldCup.getDrawIntegral() * -1);
                vo1.setType(8);
                userIntegralChangesClient.saveUserIntegralChanges(vo1);
                //增加积分明细
                SaveUserIntegralChangesVo vo = new SaveUserIntegralChangesVo();
                vo.setAppUserId(cupCompetitor.getAppUserId());
                vo.setIntegral(worldCup.getWinIntegral());
                vo.setType(7);
                userIntegralChangesClient.saveUserIntegralChanges(vo);
                cupCompetitor.setMatchResult(1);
                cupCompetitor.setDrawIntegral(0);
                cupCompetitor.setWinIntegral(worldCup.getWinIntegral());
            }
            cupCompetitor.setOurScore(red);
            cupCompetitor.setOpponentScore(blue);
@@ -858,8 +1036,31 @@
    }
    @Override
    public List<WorldCupListVo> getWorldCupListFromRank(Integer uid) {
    public List<WorldCupListVo> getWorldCupListFromRank(MyWorldCupList myWorldCupList) {
        return this.baseMapper.getWorldCupListFromRank(uid);
        return this.baseMapper.getWorldCupListFromRank(myWorldCupList);
    }
    @Override
    public List<WorldCupCodeListVo> getWorldCupCodeListId(Integer worldCupId) {
        List<WorldCupCompetitor> worldCupCompetitors = this.baseMapper.selectList(new LambdaQueryWrapper<WorldCupCompetitor>().eq(WorldCupCompetitor::getWorldCupId, worldCupId)
                .ge(WorldCupCompetitor::getStartTime, new Date()).lt(WorldCupCompetitor::getEndTime, new Date()));
        List<WorldCupCodeListVo> worldCupCodeListVos = new ArrayList<>();
        // worldCupCompetitors 通过code分组
        Map<String, List<WorldCupCompetitor>> map = worldCupCompetitors.stream().collect(Collectors.groupingBy(WorldCupCompetitor::getCode));
        for (Map.Entry<String, List<WorldCupCompetitor>> entry : map.entrySet()) {
            WorldCupCodeListVo worldCupCodeListVo = new WorldCupCodeListVo();
            String code = entry.getKey();
            List<WorldCupCompetitor> value = entry.getValue();
            worldCupCodeListVo.setCode(code);
            worldCupCodeListVo.setStartTime(value.get(0).getStartTime());
            worldCupCodeListVo.setWorldCupId(value.get(0).getWorldCupId());
            List<Long> collect = value.stream().map(WorldCupCompetitor::getId).collect(Collectors.toList());
            worldCupCodeListVo.setCustoms(collect);
            worldCupCodeListVos.add(worldCupCodeListVo);
        }
        return worldCupCodeListVos;
    }
}