diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java index dea568c2..b181298c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -5,6 +5,7 @@ import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ScoreDto; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ScoreVo; +import com.ccsens.mt.service.ICompeteScoreService; import com.ccsens.mt.service.ICompeteService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; @@ -35,6 +36,8 @@ import java.util.List; public class CompeteScoreController { @Resource private ICompeteService competeService; + @Resource + private ICompeteScoreService competeScoreService; @@ -66,9 +69,9 @@ public class CompeteScoreController { @ApiOperation(value = "花样赛成绩查看", notes = "Mr.王 -----从花样赛成绩表里面查看出这个人得成绩") @RequestMapping(value = "/showResult", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> showResult (@ApiParam @Validated @RequestBody QueryDto params){ + public JsonResponse> showResult (@ApiParam @Validated @RequestBody QueryDto params){ log.info("花样赛详细分数查看:{}",params); - PageInfo totalScoreDisplaysList= competeService.showResultPage(params.getParam()); + List totalScoreDisplaysList= competeService.showResult(params.getParam()); return JsonResponse.newInstance().ok(totalScoreDisplaysList); } @@ -116,7 +119,8 @@ public class CompeteScoreController { @RequestMapping(value = "/submitScore", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse submitScore(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询比赛项目上的参赛选手列表:{}",params); - competeService.submitScore(params.getParam()); +// competeService.submitScore(params.getParam()); + competeScoreService.submitScore(params.getParam()); return JsonResponse.newInstance().ok(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index b00bc7ee..a600e368 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -28,7 +28,7 @@ public class CompeteDto { public static class CompeteSite{ @NotNull @ApiModelProperty("场次id") - private int siteId; + private Long siteId; } @Data @@ -352,6 +352,7 @@ public class CompeteDto { private Long projectId; @ApiModelProperty("大赛id") private Long competeTimeId; + @NotNull @ApiModelProperty("场次id") private Long siteOrderId; @ApiModelProperty("主裁打分") diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java index cb516aa6..c9fe1a48 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java @@ -225,7 +225,7 @@ public class ScoreVo { private BigDecimal finalScore; @ApiModelProperty("备注") private String remark; - @ApiModelProperty("名词") + @ApiModelProperty("名次") private int rangee; } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteScoreService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteScoreService.java new file mode 100644 index 00000000..302b3a7a --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteScoreService.java @@ -0,0 +1,62 @@ +package com.ccsens.mt.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.po.CompeteCountScore; +import com.ccsens.mt.bean.po.CompeteCountScoreExample; +import com.ccsens.mt.persist.mapper.CompeteCountScoreMapper; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class CompeteScoreService implements ICompeteScoreService{ + @Resource + private CompeteCountScoreMapper competeCountScoreMapper; + @Resource + private Snowflake snowflake; + + @Override + public void submitScore(CompeteDto.SubmitScore param) { + //查找该场次已经有的分数 + CompeteCountScore countScore; + CompeteCountScoreExample countScoreExample = new CompeteCountScoreExample(); + countScoreExample.createCriteria().andSiteOrderIdEqualTo(param.getSiteOrderId()).andProjectIdEqualTo(param.getProjectId()); + List countScoreList = competeCountScoreMapper.selectByExample(countScoreExample); + if(CollectionUtil.isNotEmpty(countScoreList)){ + countScore = countScoreList.get(0); + countScore.setChiefJudgmentScore(param.getMainScore()); + countScore.setJudgmentAScore(param.getMainOneScore()); + countScore.setJudgmentBScore2(param.getMainTwoScore()); + countScore.setShouldTimes(param.getShouldScore()); + countScore.setDeductTimes(param.getDeductTime()); + countScore.setDeductCause(param.getDeductReason()); + countScore.setFinalScore(param.getFinalScore()); + competeCountScoreMapper.updateByPrimaryKeySelective(countScore); + }else { + countScore = new CompeteCountScore(); + countScore.setId(snowflake.nextId()); + countScore.setProjectId(param.getProjectId()); + countScore.setSiteOrderId(param.getSiteOrderId()); + countScore.setChiefJudgmentScore(param.getMainScore()); + countScore.setJudgmentAScore(param.getMainOneScore()); + countScore.setJudgmentBScore2(param.getMainTwoScore()); + countScore.setShouldTimes(param.getShouldScore()); + countScore.setDeductTimes(param.getDeductTime()); + countScore.setDeductCause(param.getDeductReason()); + countScore.setFinalScore(param.getFinalScore()); + competeCountScoreMapper.insertSelective(countScore); + } + + } +} diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 41efae93..4b15592b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -109,7 +109,9 @@ public class CompeteService implements ICompeteService { PageHelper.startPage(param.getPageNum(),param.getPageSize()); List totalScoreDisplaysList=new ArrayList<>(); CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample(); + competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andRecStatusEqualTo((byte) 0); + competeStartOrderExample.setOrderByClause("player_id DESC"); List competeStartOrdersList = competeStartOrderMapper.selectByExample(competeStartOrderExample); if(competeStartOrdersList.size()<1){ throw new BaseException(CodeEnum.PARAM_ERROR); @@ -214,7 +216,11 @@ public class CompeteService implements ICompeteService { List totalScoreDisplaysList=new ArrayList<>(); CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample(); competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); + competeStartOrderExample.setOrderByClause("player_id DESC"); List competeStartOrdersList = competeStartOrderMapper.selectByExample(competeStartOrderExample); +// if(competeStartOrdersList.size()<1){ +// throw new BaseException(CodeEnum.PARAM_ERROR); +// } competeStartOrdersList.forEach(competeStartOrder -> { //一个人或者一个团队得数据 CompeteVo.TotalScoreDisplay totalScoreDisplay = new CompeteVo.TotalScoreDisplay(); @@ -1144,30 +1150,6 @@ public class CompeteService implements ICompeteService { CompeteJudgment competeJudgment = competeJudgmentMapper.selectByPrimaryKey(param.getJudgmentId()); CompeteStartOrder competeStartOrder1 = competeStartOrderMapper.selectByPrimaryKey(param.getSiteOrderId()); if(competeJudgment.getChiefJudgment()!=(byte)0){ - //不是主裁判 - //先判断主裁判提交了没 -// Integer ti= new Integer(0);//0代表没提交 1代表提交了 -// CompeteVarietyScoreExample competeVarietyScoreExample=new CompeteVarietyScoreExample(); -// competeVarietyScoreExample.createCriteria().andSiteOrderIdEqualTo(param.getSiteOrderId()).andRecStatusEqualTo((byte) 0); -// List competeVarietyScoresList = competeVarietyScoreMapper.selectByExample(competeVarietyScoreExample); -// //下面就是想看看主裁判提交了没 -// if(competeVarietyScoresList.size()>0){ -// for (CompeteVarietyScore competeVarietyScore:competeVarietyScoresList){ -// CompeteJudgment competeJudgment1 = competeJudgmentMapper.selectByPrimaryKey(competeVarietyScore.getJudgmentId()); -// if(competeJudgment1.getChiefJudgment()==(byte)0){ -// ti=1; -// break; -// } -// } -// } -// if(ti>0){ -// //主裁判提交了,则看一下他里面是否选择了弃权 -// if(competeStartOrder1.getWaiver()!=(byte)0){ -// for(int j=0;j competeVarietyScores = competeVarietyScoreMapper.selectByExample(competeVarietyScoreExample); + if(competeVarietyScores.size()>0){ + competeVarietyScore.setId(competeVarietyScores.get(0).getId()); + competeVarietyScoreMapper.updateByPrimaryKeySelective(competeVarietyScore); + }else { + competeVarietyScore.setId(snowflake.nextId()); + competeVarietyScoreMapper.insertSelective(competeVarietyScore); + } }); } @@ -1411,43 +1402,45 @@ public class CompeteService implements ICompeteService { @Override public List countScoreCurrentSite(CompeteDto.CompeteSite params) { - int siteId = params.getSiteId(); + Long siteId = params.getSiteId(); List countScoreCurrentSites = competeScoreDao.selectCountScoreCurrentSite(siteId); return countScoreCurrentSites; } @Override public void submitScore(CompeteDto.SubmitScore params) { - long competeTimeId = params.getCompeteTimeId(); - long projectId = params.getProjectId(); - long siteOrderId = params.getSiteOrderId(); - CompeteCountScoreExample competeCountScoreExample = new CompeteCountScoreExample(); - competeCountScoreExample.createCriteria(). - andCompeteTimeIdEqualTo(competeTimeId). - andProjectIdEqualTo(projectId).andSiteOrderIdEqualTo(siteOrderId). - andSiteOrderIdEqualTo(params.getSiteOrderId()). - andChiefJudgmentScoreEqualTo(params.getMainScore()). - andJudgmentAScoreEqualTo(params.getMainOneScore()). - andJudgmentBScore2EqualTo(params.getMainTwoScore()). - andShouldTimesEqualTo(params.getShouldScore()). - andDeductTimesEqualTo(params.getDeductTime()). - andDeductCauseEqualTo(params.getDeductReason()). - andFinalScoreEqualTo(params.getFinalScore()). - andIdEqualTo(snowflake.nextId()); - CompeteCountScore competeCountScore = new CompeteCountScore(); - competeCountScore.setCompeteTimeId(competeTimeId); - competeCountScore.setProjectId(projectId); - competeCountScore.setSiteOrderId(siteOrderId); - competeCountScore.setChiefJudgmentScore(params.getMainScore()); - competeCountScore.setJudgmentAScore(params.getMainOneScore()); - competeCountScore.setJudgmentBScore2(params.getMainTwoScore()); - competeCountScore.setShouldTimes(params.getShouldScore()); - competeCountScore.setDeductTimes(params.getDeductTime()); - competeCountScore.setDeductCause(params.getDeductReason()); - competeCountScore.setFinalScore(params.getFinalScore()); - competeCountScore.setId(snowflake.nextId()); - competeCountScore.setRecStatus((byte) 0); - competeCountScoreMapper.insert(competeCountScore); + + +// long competeTimeId = params.getCompeteTimeId(); +// long projectId = params.getProjectId(); +// long siteOrderId = params.getSiteOrderId(); +// CompeteCountScoreExample competeCountScoreExample = new CompeteCountScoreExample(); +// competeCountScoreExample.createCriteria(). +// andCompeteTimeIdEqualTo(competeTimeId). +// andProjectIdEqualTo(projectId).andSiteOrderIdEqualTo(siteOrderId). +// andSiteOrderIdEqualTo(params.getSiteOrderId()). +// andChiefJudgmentScoreEqualTo(params.getMainScore()). +// andJudgmentAScoreEqualTo(params.getMainOneScore()). +// andJudgmentBScore2EqualTo(params.getMainTwoScore()). +// andShouldTimesEqualTo(params.getShouldScore()). +// andDeductTimesEqualTo(params.getDeductTime()). +// andDeductCauseEqualTo(params.getDeductReason()). +// andFinalScoreEqualTo(params.getFinalScore()). +// andIdEqualTo(snowflake.nextId()); +// CompeteCountScore competeCountScore = new CompeteCountScore(); +// competeCountScore.setCompeteTimeId(competeTimeId); +// competeCountScore.setProjectId(projectId); +// competeCountScore.setSiteOrderId(siteOrderId); +// competeCountScore.setChiefJudgmentScore(params.getMainScore()); +// competeCountScore.setJudgmentAScore(params.getMainOneScore()); +// competeCountScore.setJudgmentBScore2(params.getMainTwoScore()); +// competeCountScore.setShouldTimes(params.getShouldScore()); +// competeCountScore.setDeductTimes(params.getDeductTime()); +// competeCountScore.setDeductCause(params.getDeductReason()); +// competeCountScore.setFinalScore(params.getFinalScore()); +// competeCountScore.setId(snowflake.nextId()); +// competeCountScore.setRecStatus((byte) 0); +// competeCountScoreMapper.insert(competeCountScore); } @Override diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java index 5c7e7f98..82ea42c9 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -206,7 +206,7 @@ public class CompeteTaskService implements ICompeteTaskService { competeStartOrder.setSite((byte) site); competeStartOrder.setTeam(project.getTeam()); competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); + competeStartOrder.setTaskId(taskId); competeStartOrder.setStartTime(projectStartTime); competeStartOrder.setEndTime(projectStartTime + orderTime); log.info("添加场次信息:{}", competeStartOrder); diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteScoreService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteScoreService.java new file mode 100644 index 00000000..9213d22c --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteScoreService.java @@ -0,0 +1,7 @@ +package com.ccsens.mt.service; + +import com.ccsens.mt.bean.dto.CompeteDto; + +public interface ICompeteScoreService { + void submitScore(CompeteDto.SubmitScore param); +} diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index f59084b0..4ecd13fd 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: test - include: common, util-test + active: dev + include: common, util-dev diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml index 34388a0a..614887a7 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -390,14 +390,16 @@ ORDER BY so.start_time SELECT - tcp.`name` as name, - tcc.`name` as companyName, - tcg.group_name as groupName, - tcppro.`name` as projectName, - tcso.site as site, - tcso.compete_order as competeOrder, - tccs.chief_judgment_score as mainScore, - tccs.judgment_a_score as mainOneScore, - tccs.judgment_b_score2 as mainTwoScore, - tccs.should_times as shouldScore, - tccs.deduct_times as deductTime, - tccs.deduct_cause as deductReason, - tccs.final_score as finalScore - from - t_compete_start_order tcso LEFT JOIN t_compete_player tcp on tcso.player_id = tcp.id - LEFT JOIN t_compete_company tcc on tcc.id = tcp.company_id - LEFT JOIN t_compete_group tcg on tcg.id = tcp.compete_group_id - LEFT JOIN t_compete_project tcppro on tcppro.id = tcso.project_id - LEFT JOIN t_compete_count_score tccs on tccs.site_order_id = tcso.id + cs.site_order_id, + p.`name` as `name`, + c.`name` as companyName, + g.group_name as groupName, + cp.`name` as projectName, + so.site as site, + so.compete_order as competeOrder, + cs.chief_judgment_score as mainScore, + cs.judgment_a_score as mainOneScore, + cs.judgment_b_score2 as mainTwoScore, + cs.should_times as shouldScore, + cs.deduct_times as deductTime, + cs.deduct_cause as deductReason, + cs.final_score as finalScore + FROM + t_compete_start_order so + LEFT JOIN t_compete_count_score cs on cs.site_order_id = so.id + LEFT JOIN t_compete_project cp on so.project_id = cp.id + LEFT JOIN t_compete_project_player pp on so.player_id = pp.id + LEFT JOIN t_compete_player p on pp.player_id = p.id + LEFT JOIN t_compete_group g on p.compete_group_id = g.id + LEFT JOIN t_compete_company c on p.company_id = c.id WHERE - tcso.rec_status=0 - and tcp.rec_status=0 - and tcc.rec_status=0 - and tcg.rec_status=0 - and tcppro.rec_status=0 - and tccs.rec_status =0 - and tcso.id =#{siteId} + so.id = #{siteId} + and so.rec_status = 0 + and cp.rec_status = 0 + and pp.rec_status = 0 + and p.rec_status = 0 + and g.rec_status = 0 + and c.rec_status = 0 +