Search in sources :

Example 1 with Contest

use of com.zzkun.model.Contest in project ACManager by kun368.

the class RatingServiceTest method generateRating.

@Test
public void generateRating() throws Exception {
    Contest contest = trainingService.getContest(135);
    List<Contest> contestList = new ArrayList<>();
    contestList.add(contest);
    List<RatingRecord> list = ratingService.generateRating(contestList, RatingRecord.Scope.Global, 1, RatingRecord.Type.Personal, 1.0);
    System.out.println(list);
    Collections.sort(list, (o1, o2) -> {
        Rating rating1 = new Rating(o1.getMean(), o1.getStandardDeviation());
        Rating rating2 = new Rating(o2.getMean(), o2.getStandardDeviation());
        return Double.compare(rating2.getConservativeRating(), rating1.getConservativeRating());
    });
    for (RatingRecord record : list) {
        Rating rating = new Rating(record.getMean(), record.getStandardDeviation());
        System.out.println(record.getIdentifier() + ":    " + rating.getMean() + "\t " + rating.getStandardDeviation() + "\t " + rating.getConservativeRating());
    }
}
Also used : Rating(jskills.Rating) ArrayList(java.util.ArrayList) Contest(com.zzkun.model.Contest) RatingRecord(com.zzkun.model.RatingRecord) Test(org.junit.Test)

Example 2 with Contest

use of com.zzkun.model.Contest in project ACManager by kun368.

the class ContestController method importContest.

@RequestMapping("/importContest")
public String importContest(@RequestParam Integer contestId, @RequestParam String contestName, @RequestParam String contestType, @RequestParam String stTime, @RequestParam String edTime, @RequestParam String source, @RequestParam String sourceDetail, @RequestParam String sourceUrl, @RequestParam(required = false, defaultValue = "") String myConfig, @RequestParam String vjContest, @RequestParam(required = false, defaultValue = "false") Boolean realContest, @RequestParam Integer stageId, @SessionAttribute User user, RedirectAttributes redirectAttributes) {
    logger.info("导入/修改比赛。。。");
    logger.info("contestId = [" + contestId + "], contestName = [" + contestName + "], contestType = [" + contestType + "], stTime = [" + stTime + "], edTime = [" + edTime + "], source = [" + source + "], sourceDetail = [" + sourceDetail + "], sourceUrl = [" + sourceUrl + "], myConfig = [" + myConfig + "], vjContest = [" + vjContest + "], user = [" + user + "], stageId = [" + stageId + "]");
    try {
        Contest contest = trainingService.parseVj(contestName, contestType, stTime, edTime, source, sourceDetail, sourceUrl, myConfig, vjContest, realContest, user, stageId);
        logger.info("比赛ID:{}", contestId);
        if (contestId == -1) {
            trainingService.saveContest(contest);
            redirectAttributes.addFlashAttribute("tip", "添加成功!");
        } else {
            Contest pre = trainingService.getContest(contestId);
            logger.info("修改比赛:原:{}", pre);
            contest.setId(contestId);
            contest.setAddTime(pre.getAddTime());
            contest.setAddUid(pre.getAddUid());
            contest.setStage(pre.getStage());
            logger.info("修改比赛:现:{}", contest);
            trainingService.saveContest(contest);
            redirectAttributes.addFlashAttribute("tip", "修改成功!");
        }
        return "redirect:/training/stage/" + stageId;
    } catch (IOException e) {
        e.printStackTrace();
    }
    redirectAttributes.addFlashAttribute("tip", "添加失败!");
    return "redirect:/training/stage/" + stageId;
}
Also used : Contest(com.zzkun.model.Contest) IOException(java.io.IOException) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 3 with Contest

use of com.zzkun.model.Contest in project ACManager by kun368.

the class ContestController method showScore.

@RequestMapping("/showScore/{id}")
public String showScore(@PathVariable Integer id, @RequestParam(required = false, defaultValue = "0") Integer calcType, Model model) {
    Contest contest = trainingService.getContest(id);
    RankCalculator calculator = new RankCalculator(contest, calcType);
    model.addAttribute("contest", contest);
    model.addAttribute("ranks", contest.getRanks());
    model.addAttribute("sum", calculator.getTeamScore());
    model.addAttribute("pre", calculator.getPreTScore());
    model.addAttribute("myrank", calculator.getTeamRank());
    return "ranklist_score";
}
Also used : Contest(com.zzkun.model.Contest) RankCalculator(com.zzkun.util.rank.RankCalculator) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 4 with Contest

use of com.zzkun.model.Contest in project ACManager by kun368.

the class ContestController method modify1.

@RequestMapping("/modify/{contestId}")
public String modify1(Model model, @PathVariable Integer contestId, @SessionAttribute Integer stageId, @SessionAttribute(required = false) User user, RedirectAttributes redirectAttributes) {
    if (user == null || !user.isAdmin()) {
        redirectAttributes.addFlashAttribute("tip", "没有权限!");
        return "redirect:/training/stage/" + stageId;
    }
    Contest contest = trainingService.getContest(contestId);
    model.addAttribute("contestId", contestId);
    model.addAttribute("preContest", contest);
    model.addAttribute("stageId", stageId);
    return "importComp";
}
Also used : Contest(com.zzkun.model.Contest) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 5 with Contest

use of com.zzkun.model.Contest in project ACManager by kun368.

the class TrainingApi method list.

@RequestMapping(value = "/{trainingId}/list", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
public String list(@PathVariable Integer trainingId) {
    Training training = trainingService.getTrainingById(trainingId);
    if (training == null)
        return "";
    List<Stage> stageList = training.getStageList();
    JSONObject object = new JSONObject(true);
    object.put("id", training.getId());
    object.put("name", training.getName());
    object.put("startDate", training.getStartDate());
    object.put("endDate", training.getEndDate());
    object.put("addTime", training.getAddTime());
    JSONArray stageArray = new JSONArray();
    object.put("stageList", stageArray);
    for (Stage stage : stageList) {
        JSONObject stageObject = new JSONObject(true);
        stageObject.put("id", stage.getId());
        stageObject.put("name", stage.getName());
        stageObject.put("startDate", stage.getStartDate());
        stageObject.put("endDate", stage.getEndDate());
        JSONArray contestIdArray = new JSONArray();
        stageObject.put("contestIdList", contestIdArray);
        for (Contest contest : stage.getContestList()) contestIdArray.add(contest.getId());
        stageArray.add(stageObject);
    }
    return object.toJSONString();
}
Also used : Training(com.zzkun.model.Training) JSONObject(com.alibaba.fastjson.JSONObject) JSONArray(com.alibaba.fastjson.JSONArray) Stage(com.zzkun.model.Stage) Contest(com.zzkun.model.Contest) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

Contest (com.zzkun.model.Contest)6 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)4 Test (org.junit.Test)2 JSONArray (com.alibaba.fastjson.JSONArray)1 JSONObject (com.alibaba.fastjson.JSONObject)1 RatingRecord (com.zzkun.model.RatingRecord)1 Stage (com.zzkun.model.Stage)1 Training (com.zzkun.model.Training)1 RankCalculator (com.zzkun.util.rank.RankCalculator)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Predicate (javax.persistence.criteria.Predicate)1 Rating (jskills.Rating)1