From 01edc0ada9fff032616f461f61f4688ab5072f79 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 19 Nov 2020 14:18:02 +0800 Subject: [PATCH] 11-19-1 --- .../ccsens/mt/api/CompeteScoreController.java | 9 +- .../com/ccsens/mt/bean/dto/CompeteDto.java | 11 ++ .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 25 ++++ .../java/com/ccsens/mt/bean/vo/TableVo.java | 11 +- .../mt/persist/dao/CompeteScoreDao.java | 3 + .../com/ccsens/mt/service/CompeteService.java | 110 ++++++++++++++++++ .../ccsens/mt/service/ICompeteService.java | 7 ++ mt/src/main/resources/application.yml | 4 +- .../mapper_dao/CompeteProjectConfigDao.xml | 2 +- .../resources/mapper_dao/CompeteScoreDao.xml | 21 ++++ 10 files changed, 197 insertions(+), 6 deletions(-) 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 6bff8f81..75f26ae1 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -98,5 +98,12 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(); } - + @MustLogin + @ApiOperation(value = "速度通级赛", notes = "") + @RequestMapping(value = "/speedPass", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse speedPass(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("速度通级赛:{}",params); + List speedPassList = competeService.speedPass(params.getParam()); + return JsonResponse.newInstance().ok(speedPassList); + } } 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 c1eb0f75..2fd4c9b4 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 @@ -368,5 +368,16 @@ public class CompeteDto { private BigDecimal finalScore; } + @Data + @ApiModel + public static class CompeteTimeAndProjectId{ + @NotNull + @ApiModelProperty("第几届信息的id") + private Long competeTimeId; + @NotNull + @ApiModelProperty("项目id") + private Long projectId; + } + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index 23b9a1dd..b57fd7db 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -517,4 +517,29 @@ public class CompeteVo { @ApiModelProperty("成绩") private Long grade; } + + @Data + @ApiModel("速度通级赛") + public static class SpeedPass{ + @ApiModelProperty("参赛队伍") + private String companyName; + @ApiModelProperty("组别") + private String groupName; + @ApiModelProperty("姓名") + private String playerName; + @ApiModelProperty("30秒单摇跳(次)") + private BigDecimal secondTime; + @ApiModelProperty("3分钟单摇跳(次)") + private BigDecimal minuteTime; + @ApiModelProperty("30秒单摇跳等级") + private int secondGrade; + @ApiModelProperty("3分钟单摇跳等级") + private int minuteGrade; + @ApiModelProperty("3分钟单摇跳等级") + private int grade; + @ApiModelProperty("玩家id") + private Long playerId; + @ApiModelProperty("项目id") + private Long projectId; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java index 6b7698ff..0643eef7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java @@ -166,10 +166,17 @@ public class TableVo { } public Long getStartTime(){ - return startTime == 0 ? null : startTime; + if (startTime != null) { + return startTime == 0 ? null : startTime; + } + return null; } public Long getEndTime(){ - return endTime == 0 ? null : endTime; + if (endTime != null) { + return endTime == 0 ? null : endTime; + } + return null; + } public int getTimeSum(){ if(duration != 0 && games != 0) { diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java index 828dae59..7aa5162a 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java @@ -22,6 +22,9 @@ public interface CompeteScoreDao { List selectSingleVarity(@Param("projectId") long projectId,@Param("competeGroupId") long competeGroupId); List selectGroupVarity (@Param("projectId") long projectId,@Param("competeGroupId") long competeGroupId); List selectCountScoreCurrentSite (@Param("siteId") long siteId); + List selectByProjectIdAndPid(@Param("projectId") long projectId,@Param("competeTimeId") long competeTimeId); + + } 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 026b5502..4c1840fc 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -23,6 +23,7 @@ import com.ccsens.util.*; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.BuiltinFormats; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Workbook; @@ -1250,4 +1251,113 @@ public class CompeteService implements ICompeteService { competeCountScoreMapper.insert(competeCountScore); } + @Override + public List speedPass(CompeteDto.CompeteTimeAndProjectId params) { + long projectId = params.getProjectId(); + long competeTimeId = params.getCompeteTimeId(); + List speedPassList = competeScoreDao.selectByProjectIdAndPid(projectId, competeTimeId); + if (CollectionUtil.isNotEmpty(speedPassList)) { + for (CompeteVo.SpeedPass mes : speedPassList) { + //查30s单摇跳得分 + CompeteStartOrderExample competeStartOrderExample = new CompeteStartOrderExample(); + competeStartOrderExample.createCriteria().andPlayerIdEqualTo(Constant.SINGLE_ROLL_30_S).andPlayerIdEqualTo(mes.getPlayerId()); + List competeStartOrders = competeStartOrderMapper.selectByExample(competeStartOrderExample); + if (competeStartOrders.size() > 0) { + CompeteStartOrder competeStartOrder = competeStartOrders.get(0); + long id = competeStartOrder.getId(); + CompeteCountScoreExample competeCountScoreExample = new CompeteCountScoreExample(); + competeCountScoreExample.createCriteria().andSiteOrderIdEqualTo(id); + List competeCountScoreList = competeCountScoreMapper.selectByExample(competeCountScoreExample); + CompeteCountScore competeCountScore = competeCountScoreList.get(0); + BigDecimal score = competeCountScore.getFinalScore(); + BigDecimal bigDecimal = new BigDecimal(2); + BigDecimal secondTimeScore = score.multiply(bigDecimal); + //查30s单摇跳得分 * 2 =次数 + mes.setSecondTime(secondTimeScore); + } + //3分钟单摇跳得分 + CompeteStartOrderExample competeStartOrderExample1 = new CompeteStartOrderExample(); + competeStartOrderExample.createCriteria().andPlayerIdEqualTo(Constant.SINGLE_ROLL_3_M).andPlayerIdEqualTo(mes.getPlayerId()); + List competeStartOrders1 = competeStartOrderMapper.selectByExample(competeStartOrderExample); + if (competeStartOrders1.size() > 0) { + CompeteStartOrder competeStartOrder1 = competeStartOrders.get(0); + long id1 = competeStartOrder1.getId(); + CompeteCountScoreExample competeCountScoreExample1 = new CompeteCountScoreExample(); + competeCountScoreExample1.createCriteria().andSiteOrderIdEqualTo(id1); + List competeCountScoreList1 = competeCountScoreMapper.selectByExample(competeCountScoreExample1); + CompeteCountScore competeCountScore1 = competeCountScoreList1.get(0); + BigDecimal score1 = competeCountScore1.getFinalScore(); + BigDecimal bigDecimal1 = new BigDecimal(2); + BigDecimal minuteTimeScore = score1.multiply(bigDecimal1); + //3分钟单摇跳得分 * 2 =次数 + mes.setMinuteTime(minuteTimeScore); + } + BigDecimal bigDecimal0 = new BigDecimal(70); + BigDecimal bigDecimal2 = new BigDecimal(90); + BigDecimal bigDecimal3 = new BigDecimal(105); + BigDecimal bigDecimal4 = new BigDecimal(120); + BigDecimal bigDecimal5 = new BigDecimal(130); + BigDecimal bigDecimal6 = new BigDecimal(140); + BigDecimal bigDecimal7 = new BigDecimal(300); + BigDecimal bigDecimal8 = new BigDecimal(380); + BigDecimal bigDecimal9 = new BigDecimal(460); + BigDecimal bigDecimal10 = new BigDecimal(540); + BigDecimal bigDecimal11 = new BigDecimal(620); + BigDecimal bigDecimal12 = new BigDecimal(700); + BigDecimal s =mes.getSecondTime(); + if (mes.getSecondTime()!= null && mes.getMinuteTime()!= null) { + //判断30s单摇跳等级 + if (mes.getSecondTime().compareTo(bigDecimal0) < 1) { + mes.setSecondGrade(1); + } + if (mes.getSecondTime().compareTo(bigDecimal2) < 1) { + mes.setSecondGrade(2); + } + if (mes.getSecondTime().compareTo(bigDecimal3) < 1) { + mes.setSecondGrade(3); + } + if (mes.getSecondTime().compareTo(bigDecimal4) < 1) { + mes.setSecondGrade(4); + } + if (mes.getSecondTime().compareTo(bigDecimal5) < 1) { + mes.setSecondGrade(5); + } + if (mes.getSecondTime().compareTo(bigDecimal6) < 1) { + mes.setSecondGrade(6); + } + //判断3分钟单摇跳等级 + if (mes.getMinuteTime().compareTo(bigDecimal7) < 1) { + mes.setMinuteGrade(1); + } + if (mes.getMinuteTime().compareTo(bigDecimal8) < 1) { + mes.setMinuteGrade(2); + } + + if (mes.getMinuteTime().compareTo(bigDecimal9) < 1) { + mes.setMinuteGrade(3); + } + + if (mes.getMinuteTime().compareTo(bigDecimal10) < 1) { + mes.setMinuteGrade(4); + } + + if (mes.getMinuteTime().compareTo(bigDecimal11) < 1) { + mes.setMinuteGrade(5); + } + + if (mes.getMinuteTime().compareTo(bigDecimal12) < 1) { + mes.setMinuteGrade(6); + } + //如果30s得等级小于等于3分钟得等级 + if (mes.getSecondGrade() <= mes.getMinuteGrade()) { + mes.setGrade(mes.getSecondGrade()); + } else { + mes.setGrade(mes.getMinuteGrade()); + } + } + } + } + return speedPassList; + } + } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index bdc7be69..4459ec9f 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -187,6 +187,13 @@ public interface ICompeteService { void submitScore(CompeteDto.SubmitScore params) ; + /** + * 速度通级赛 + * @param params 项目id和场次id + * @return 返回项目,开始时间和比赛状态 + */ + List speedPass(CompeteDto.CompeteTimeAndProjectId params); + } 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 86c4dd88..0037e856 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -66,7 +66,7 @@ LEFT JOIN ( SELECT id, - if(FROM_UNIXTIME(start_time/1000,'%h') <= 5,1 ,0) as aa + if(FROM_UNIXTIME(start_time/1000,'%h') <= 12,1 ,0) as aa FROM t_compete_project_config )a on c.id = a.id diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml index 43ea9e8f..5b703f6e 100644 --- a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -105,5 +105,26 @@ and tcso.id =#{siteId} + + \ No newline at end of file