From a7e00f3f9e4dd82c7df3077900a7df3e68ff1819 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Thu, 10 Sep 2020 15:59:53 +0800 Subject: [PATCH 1/7] banner.txt --- mt/src/main/resources/banner.txt | 10 ++++++++++ tall/src/main/resources/banner.txt | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 mt/src/main/resources/banner.txt create mode 100644 tall/src/main/resources/banner.txt diff --git a/mt/src/main/resources/banner.txt b/mt/src/main/resources/banner.txt new file mode 100644 index 00000000..b5cd913f --- /dev/null +++ b/mt/src/main/resources/banner.txt @@ -0,0 +1,10 @@ + + + _ _ U _____ u _ _ U ___ u U ___ u ____ _ ____ + |'| |'| \| ___"|/ |"| |"| \/"_ \/ __ __ \/"_ \/U | _"\ u |"| | _"\ +/| |_| |\ | _|" U | | u U | | u | | | | \"\ /"/ | | | | \| |_) |/U | | u /| | | | +U| _ |u | |___ \| |/__ \| |/__.-,_| |_| | /\ \ /\ / /\.-,_| |_| | | _ < \| |/__U| |_| |\ + |_| |_| |_____| |_____| |_____|\_)-\___/ U \ V V / U\_)-\___/ |_| \_\ |_____||____/ u + // \\ << >> // \\ // \\ \\ .-,_\ /\ /_,-. \\ // \\_ // \\ |||_ +(_") ("_)(__) (__)(_")("_)(_")("_) (__) \_)-' '-(_/ (__) (__) (__)(_")("_)(__)_) + diff --git a/tall/src/main/resources/banner.txt b/tall/src/main/resources/banner.txt new file mode 100644 index 00000000..0bfe9c38 --- /dev/null +++ b/tall/src/main/resources/banner.txt @@ -0,0 +1,22 @@ +/** + * _ooOoo_ + * o8888888o + * 88" . "88 + * (| -_- |) + * O\ = /O + * ___/`---'\____ + * . ' \\| |// `. + * / \\||| : |||// \ + * / _||||| -:- |||||- \ + * | | \\\ - /// | | + * | \_| ''\---/'' | | + * \ .-\__ `-` ___/-. / + * ___`. .' /--.--\ `. . __ + * ."" '< `.___\_<|>_/___.' >'"". + * | | : `- \`.;`\ _ /`;.`/ - ` : | | + * \ \ `-. \_ __\ /__ _/ .-` / / + * ======`-.____`-.___\_____/___.-`____.-'====== + * `=---=' + * ............................................. + * 佛曰:bug泛滥,我已瘫痪! + */ \ No newline at end of file From b2840ba6448acd34cdc6915db06914dbe21e9fb8 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Sat, 21 Nov 2020 20:52:04 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=89=8D=E5=85=AB=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/ExcelController.java | 11 + .../com/ccsens/mt/bean/vo/CompeteExcelVo.java | 8 + .../mt/persist/dao/CompeteProjectDao.java | 6 + .../mt/persist/dao/CompeteScoreDao.java | 16 ++ .../com/ccsens/mt/service/ExcelService.java | 86 +++++++ .../com/ccsens/mt/service/IExcelService.java | 7 + .../mapper_dao/CompeteProjectDao.xml | 13 + .../resources/mapper_dao/CompeteScoreDao.xml | 223 ++++++++++++++++++ pom.xml | 2 +- 9 files changed, 371 insertions(+), 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 2e8eb55b..1fd607b1 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -34,6 +34,17 @@ public class ExcelController { @Resource private IExcelService excelService; + @MustLogin + @ApiOperation(value = "比赛前八名(导出)", notes = "whj") + @RequestMapping(value = "/beforeEight", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse beforeEight(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("比赛前八名(导出):{}",params); + String path = excelService.beforeEight(params); + log.info("比赛前八名(导出)结果:{}", path); + return JsonResponse.newInstance().ok(path); + } + + @MustLogin @ApiOperation(value = "xxx大赛报名表(导出)", notes = "") @RequestMapping(value = "/competeJoin", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java index cacad4d0..b6e64ca2 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java @@ -60,5 +60,13 @@ public class CompeteExcelVo { private String year; } + @Data + @ApiModel("前八名-响应") + public static class BeforeEight{ + @ApiModelProperty("组名") + private String groupName; + @ApiModelProperty("前八名学生名字,逗号分隔") + private String eightNames; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java index de817184..cbee1d95 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java @@ -19,4 +19,10 @@ public interface CompeteProjectDao extends CompeteProjectMapper { List getPlayerForSingle (@Param("level") Byte level, @Param("type") Byte type); List getPlayerForTeam (@Param("level") Byte level, @Param("type") Byte type); + /** + * 根据大赛ID查询二级,非通级项目 + * @param competeTimeId 大赛ID + * @return 项目 + */ + List queryProject(@Param("id") Long competeTimeId); } \ No newline at end of file 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 372d2f10..d7a566d2 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 @@ -39,4 +39,20 @@ public interface CompeteScoreDao { * @return */ List queryCountScoreAllByTeam(Long projectId); + + /** + * 项目前八名 + * @param projectId 项目ID + * @param competeTimeId 大赛ID + * @return 前八名 + */ + List queryEight(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); + + /** + * 花样赛前八名 + * @param projectId 项目ID + * @param competeTimeId 大赛ID + * @return 前八名 + */ + List queryEightFancyRope(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index ebc39bdf..ce9e1dc1 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -3,15 +3,18 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.dto.ScoreDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.CompeteExcelVo; import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.ScoreVo; import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.mapper.*; +import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.PoiUtil; import com.ccsens.util.PropUtil; @@ -36,6 +39,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.unit.DataUnit; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -47,6 +51,9 @@ import java.util.ArrayList; import java.util.Date; import java.util.GregorianCalendar; import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; @Slf4j @Service @@ -88,6 +95,8 @@ public class ExcelService implements IExcelService { @Resource private ICompeteService competeService; + @Resource + private CompeteScoreDao competeScoreDao; @Override public String dasaiduiwuxinxiWPS(QueryDto params) { @@ -1327,6 +1336,7 @@ public class ExcelService implements IExcelService { + @Override public String patternExpTable(ScoreDto.ShowResult param) { List totalScoreDisplays = competeService.showResult(param); List> list = new ArrayList<>(); @@ -1369,5 +1379,81 @@ public class ExcelService implements IExcelService { return null; } + @Override + public String beforeEight(QueryDto params) { + log.info("到处{}大赛各项的前八名", params); + // 查询项目 + Long competeTimeId = params.getParam().getCompeteTimeId(); + List list = competeProjectDao.queryProject(competeTimeId); + Workbook workbook = new XSSFWorkbook(); + + list.forEach(project -> { + List eights; + // 个人赛 + if (project.getTeam().byteValue() == Constant.Compete.TEAM_NO) { + eights = competeScoreDao.queryEight(project.getId(), competeTimeId); + } else { + // 团体赛 + eights = competeScoreDao.queryEightFancyRope(project.getId(), competeTimeId); + } + List> raws = new ArrayList<>(); + initTitle(project, raws); + eights.forEach(eight -> { + + if (StrUtil.isEmpty(eight.getEightNames())) { + return; + } + + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(eight.getGroupName())); + String[] split = eight.getEightNames().split(","); + for (String name: split) { + cells.add(new PoiUtil.PoiUtilCell(name)); + } + raws.add(cells); + }); + PoiUtil.exportWB(project.getName(), raws, workbook); + }); + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + File file = new File(path); + + + try { + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } +// if (!file.exists()) { +// file.createNewFile(); +// } + OutputStream outputStream = new FileOutputStream(file); + workbook.write(outputStream); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return PropUtil.domain + "file/download/know?path="+path; + } + + private void initTitle(CompeteProject project, List> raws) { + List title = new ArrayList<>(); + title.add(new PoiUtil.PoiUtilCell( "2020年山西省学生跳绳比赛", 9 , 1)); + raws.add(title); + List title2 = new ArrayList<>(); + title2.add(new PoiUtil.PoiUtilCell(project.getName() , 9 , 1)); + raws.add(title2); + List head = new ArrayList<>(); + head.add(new PoiUtil.PoiUtilCell("")); + head.add(new PoiUtil.PoiUtilCell("第一名")); + head.add(new PoiUtil.PoiUtilCell("第二名")); + head.add(new PoiUtil.PoiUtilCell("第三名")); + head.add(new PoiUtil.PoiUtilCell("第四名")); + head.add(new PoiUtil.PoiUtilCell("第五名")); + head.add(new PoiUtil.PoiUtilCell("第六名")); + head.add(new PoiUtil.PoiUtilCell("第七名")); + head.add(new PoiUtil.PoiUtilCell("第八名")); + raws.add(head); + } + } diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index fe8b8316..55bd22a8 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -99,4 +99,11 @@ public interface IExcelService { String patternExpTable(ScoreDto.ShowResult param); + + /** + * 生成比赛前八名的表格 + * @param params 第几届比赛 + * @return 表格下载地址 + */ + String beforeEight(QueryDto params); } diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml index b42730ed..4c098130 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml @@ -61,4 +61,17 @@ and g.rec_status = 0 and c.rec_status = 0 + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml index 88dcc793..b3c89b23 100644 --- a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -177,6 +177,229 @@ and tcc.rec_status=0 and tcg.rec_status=0 + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 7c684266..c938369f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ util tall - + game mt From 84a96f35965f1b0073f6b37e805e55aa8f80d2e2 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 21 Nov 2020 21:49:09 +0800 Subject: [PATCH 3/7] 20201121v2.1 --- .../ccsens/mt/api/CompeteScoreController.java | 6 +- .../com/ccsens/mt/bean/dto/CompeteDto.java | 3 +- .../java/com/ccsens/mt/bean/vo/ScoreVo.java | 2 +- .../mt/service/CompeteScoreService.java | 62 ++++++++++++++++++ .../com/ccsens/mt/service/CompeteService.java | 64 ++++++++++--------- .../ccsens/mt/service/CompeteTaskService.java | 2 +- .../mt/service/ICompeteScoreService.java | 7 ++ mt/src/main/resources/application.yml | 4 +- .../mapper_dao/CompeteProjectConfigDao.xml | 6 +- .../resources/mapper_dao/CompeteScoreDao.xml | 56 ++++++++-------- 10 files changed, 147 insertions(+), 65 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/service/CompeteScoreService.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/ICompeteScoreService.java 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..b017384e 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; @@ -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..fac999c2 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -1411,43 +1411,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 + From f628958a76939f7aba2574651049af8813a34e9d Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 21 Nov 2020 22:03:58 +0800 Subject: [PATCH 4/7] 20201121v2.4 --- mt/src/main/resources/application.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 4ecd13fd..f59084b0 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: common, util-dev + active: test + include: common, util-test From 5d4d6f5a3c93ec3b7a9cd873954639f9f65f0733 Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Sun, 22 Nov 2020 17:14:11 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E8=8A=B1=E6=A0=B7=E8=B5=9B=E5=92=8C?= =?UTF-8?q?=E8=AE=A1=E6=95=B0=E8=B5=9B=E6=88=90=E7=BB=A9=E5=85=AC=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/mt/api/CompeteScoreController.java | 22 +- .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 2 +- .../java/com/ccsens/mt/bean/vo/ScoreVo.java | 25 ++ .../mt/persist/dao/CompeteScoreDao.java | 42 +- .../com/ccsens/mt/service/CompeteService.java | 260 ++++++----- .../com/ccsens/mt/service/ExcelService.java | 129 +++--- .../ccsens/mt/service/ICompeteService.java | 12 +- .../com/ccsens/mt/service/IExcelService.java | 2 +- .../resources/mapper_dao/CompeteScoreDao.xml | 424 +++++++++++++++++- 9 files changed, 718 insertions(+), 200 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 b181298c..e2671074 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -69,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); - List totalScoreDisplaysList= competeService.showResult(params.getParam()); + PageInfo totalScoreDisplaysList= competeService.showResult(params.getParam()); return JsonResponse.newInstance().ok(totalScoreDisplaysList); } @@ -104,14 +104,24 @@ public class CompeteScoreController { } +// @MustLogin +// @ApiOperation(value = "查看计数赛成绩公示表", notes = "多表关联之后,查询当前你场次得分数信息") +// @RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) +// public JsonResponse queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto params) { +// log.info("查看计数赛成绩公示表:{}",params); +// PageInfo countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam()); +// log.info("查看计数赛成绩公示表:{}",params); +// return JsonResponse.newInstance().ok(countScoreCurrentSites); +// } + @MustLogin @ApiOperation(value = "查看计数赛成绩公示表", notes = "多表关联之后,查询当前你场次得分数信息") @RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto params) { - log.info("查看计数赛成绩公示表:{}",params); - PageInfo countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam()); + public JsonResponse queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看计数赛成绩公示表:{}",params); - return JsonResponse.newInstance().ok(countScoreCurrentSites); + PageInfo pageInfo = competeService.queryCountScore(params.getParam()); + log.info("查看计数赛成绩公示表:{}",pageInfo); + return JsonResponse.newInstance().ok(pageInfo); } @MustLogin 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 7408638b..2ee120e2 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 @@ -493,7 +493,7 @@ public class CompeteVo { @ApiModelProperty("最后得分") public BigDecimal result = new BigDecimal(0); @ApiModelProperty("排名") - public int order; + public int rownum; @ApiModelProperty("备注") public Byte remark; } 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 c9fe1a48..49f97b48 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 @@ -229,4 +229,29 @@ public class ScoreVo { private int rangee; } + @Data + @ApiModel("计数赛成绩公示-返回") + public static class CountScorePublicity{ + @ApiModelProperty("组别") + private String groupName; + @ApiModelProperty("团队名") + private String companyName; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("主裁1打分") + private BigDecimal mainOneScore; + @ApiModelProperty("主裁2打分") + private BigDecimal mainTwoScore; + @ApiModelProperty("应得分") + private Integer shouldScore; + @ApiModelProperty("扣除次数") + private Integer deductTime; + @ApiModelProperty("最终成绩") + private BigDecimal finalScore; + @ApiModelProperty("备注") + private String remark; + @ApiModelProperty("名次") + private int rangee; + } + } 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 e365e50e..246c37b5 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 @@ -52,10 +52,48 @@ public interface CompeteScoreDao { List queryEight(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); /** - * 花样赛前八名 + * 计数赛限组别前八名 * @param projectId 项目ID * @param competeTimeId 大赛ID * @return 前八名 */ - List queryEightFancyRope(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); + List queryEightGroupLimit(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); + + /** + * 花样赛不限组别前八名 + * @param projectId 项目ID + * @param competeTimeId 大赛ID + * @return 前八名 + */ + List queryEightGroupNotLimit(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); + + /** + * 花样赛限组别前八名 + * @param projectId 项目ID + * @param competeTimeId 大赛ID + * @return 前八名 + */ + List queryEightVarietyGroupLimit(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); + + + /** + * 查询计数赛中团体赛成绩 + * @param projectId 项目ID + * @return 成绩 + */ + List queryCountScoreTeam(@Param("projectId") Long projectId); + + /** + * 查询计数赛中个人赛成绩 + * @param projectId 项目ID + * @return 成绩 + */ + List queryCountScorePerson(@Param("projectId") Long projectId); + + /** + * 统计花样赛成绩 + * @param projectId 项目ID + * @return 成绩 + */ + List queryVarietyScore(@Param("projectId") Long projectId); } 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 4b15592b..a57c181b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -212,126 +212,131 @@ public class CompeteService implements ICompeteService { * @param param */ @Override - public List showResult(ScoreDto.ShowResultW param) { - 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(); - totalScoreDisplay.setRemark(totalScoreDisplay.getRemark()); - //项目名 -// CompeteProject project = competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId()); -// if(ObjectUtil.isNotNull(project)) { -// totalScoreDisplay.setCompanyName(project.getName()); -// } - //名字 - if(competeStartOrder.getTeam().equals((byte) 0)){ - //个人人名 - CompetePlayer player = competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId()); - if(ObjectUtil.isNotNull(player)) { - totalScoreDisplay.setPeopleName(player.getName()); - //个人所属团队名 - CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId()); - if (ObjectUtil.isNotNull(competeCompany)){ - totalScoreDisplay.setCompanyName(competeCompany.getName()); - } - } - }else { - //团体名 - CompeteTeam competeTeam = competeTeamDao.selectByPrimaryKey(competeStartOrder.getPlayerId()); - CompeteCompany competeCompany =competeCompanyMapper.selectByPrimaryKey(competeTeam.getCompanyId()); - totalScoreDisplay.setCompanyName(competeCompany.getName()); - //团队人名 - CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample(); - competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); - List competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); - StringBuilder stringBuilder=new StringBuilder(""); - competeTeamMemberList.forEach(mes->{ - CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(mes.getPlayerId()); - stringBuilder.append(competePlayer.getName()+"、"); - }); - //totalScoreDisplay.setPeopleName(stringBuilder.toString()); -// CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample(); -// competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeStartOrder.getPlayerId()); -// List competeTeamMembersList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); + public PageInfo showResult(ScoreDto.ShowResultW param) { + PageHelper.startPage(param.getPageNum(), param.getPageSize()); + List list = competeScoreDao.queryVarietyScore(param.getProjectId()); + return new PageInfo<>(list); + } +// public List showResult(ScoreDto.ShowResultW param) { +// 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(); +// totalScoreDisplay.setRemark(totalScoreDisplay.getRemark()); +// //项目名 +//// CompeteProject project = competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId()); +//// if(ObjectUtil.isNotNull(project)) { +//// totalScoreDisplay.setCompanyName(project.getName()); +//// } +// //名字 +// if(competeStartOrder.getTeam().equals((byte) 0)){ +// //个人人名 +// CompetePlayer player = competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId()); +// if(ObjectUtil.isNotNull(player)) { +// totalScoreDisplay.setPeopleName(player.getName()); +// //个人所属团队名 +// CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId()); +// if (ObjectUtil.isNotNull(competeCompany)){ +// totalScoreDisplay.setCompanyName(competeCompany.getName()); +// } +// } +// }else { +// //团体名 +// CompeteTeam competeTeam = competeTeamDao.selectByPrimaryKey(competeStartOrder.getPlayerId()); +// CompeteCompany competeCompany =competeCompanyMapper.selectByPrimaryKey(competeTeam.getCompanyId()); +// totalScoreDisplay.setCompanyName(competeCompany.getName()); +// //团队人名 +// CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample(); +// competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); +// List competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); // StringBuilder stringBuilder=new StringBuilder(""); -// competeTeamMembersList.forEach(competeTeamMember -> { -// stringBuilder.append(competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()).getName()+'、'); +// competeTeamMemberList.forEach(mes->{ +// CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(mes.getPlayerId()); +// stringBuilder.append(competePlayer.getName()+"、"); // }); - String namess=stringBuilder.toString().substring(0,stringBuilder.length()-1); - totalScoreDisplay.setPeopleName(namess); - } - List results = competeTimeDao.selectJudgmentS(competeStartOrder.getId()); - //7个教练成绩也上去了 - for (CompeteVo.Result r :results){ - if(r.getChief()==0){ - totalScoreDisplay.setReferee0(r.getScore()); - }else if(r.getChief()==1){ - totalScoreDisplay.setReferee1(r.getScore()); - }else if(r.getChief()==2){ - totalScoreDisplay.setReferee2(r.getScore()); - }else if(r.getChief()==3){ - totalScoreDisplay.setReferee3(r.getScore()); - }else if(r.getChief()==4){ - totalScoreDisplay.setReferee4(r.getScore()); - }else if(r.getChief()==5){ - totalScoreDisplay.setReferee5(r.getScore()); - }else if(r.getChief()==6){ - totalScoreDisplay.setReferee6(r.getScore()); - } - } - BigDecimal bigDecimal1to3=new BigDecimal(0); - bigDecimal1to3.add(totalScoreDisplay.getReferee1()).add(totalScoreDisplay.getReferee2()).add(totalScoreDisplay.getReferee3()); - BigDecimal bigDecimalavg1to3=new BigDecimal(0); - BigDecimal bignum=new BigDecimal(3); - totalScoreDisplay.setAvg1To3(bigDecimalavg1to3.divide(bignum,2,BigDecimal.ROUND_HALF_UP)); - - BigDecimal bigDecimal4to6=new BigDecimal(0); - bigDecimal4to6.add(totalScoreDisplay.getReferee4()).add(totalScoreDisplay.getReferee5()).add(totalScoreDisplay.getReferee6()); - BigDecimal bigDecimalavg4to6=new BigDecimal(0); - BigDecimal bignum1=new BigDecimal(3); - totalScoreDisplay.setAvg4To6(bigDecimalavg4to6.divide(bignum1,2,BigDecimal.ROUND_HALF_UP)); - //总成绩也出来了 - BigDecimal re=new BigDecimal(0); - re.add(totalScoreDisplay.getAvg1To3()).add(totalScoreDisplay.getAvg4To6()).subtract(totalScoreDisplay.getReferee0()); - totalScoreDisplay.setResult(re); - totalScoreDisplaysList.add(totalScoreDisplay); - }); -// Collections.sort(totalScoreDisplaysList, new Comparator() { -// @Override -// public BigDecimal compare(CompeteVo.TotalScoreDisplay o1, CompeteVo.TotalScoreDisplay o2) { -// o1.getResult().subtract(o2.getResult()); -// return o1.getResult(); +// //totalScoreDisplay.setPeopleName(stringBuilder.toString()); +//// CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample(); +//// competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeStartOrder.getPlayerId()); +//// List competeTeamMembersList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); +//// StringBuilder stringBuilder=new StringBuilder(""); +//// competeTeamMembersList.forEach(competeTeamMember -> { +//// stringBuilder.append(competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()).getName()+'、'); +//// }); +// String namess=stringBuilder.toString().substring(0,stringBuilder.length()-1); +// totalScoreDisplay.setPeopleName(namess); +// } +// List results = competeTimeDao.selectJudgmentS(competeStartOrder.getId()); +// //7个教练成绩也上去了 +// for (CompeteVo.Result r :results){ +// if(r.getChief()==0){ +// totalScoreDisplay.setReferee0(r.getScore()); +// }else if(r.getChief()==1){ +// totalScoreDisplay.setReferee1(r.getScore()); +// }else if(r.getChief()==2){ +// totalScoreDisplay.setReferee2(r.getScore()); +// }else if(r.getChief()==3){ +// totalScoreDisplay.setReferee3(r.getScore()); +// }else if(r.getChief()==4){ +// totalScoreDisplay.setReferee4(r.getScore()); +// }else if(r.getChief()==5){ +// totalScoreDisplay.setReferee5(r.getScore()); +// }else if(r.getChief()==6){ +// totalScoreDisplay.setReferee6(r.getScore()); +// } // } +// BigDecimal bigDecimal1to3=new BigDecimal(0); +// bigDecimal1to3.add(totalScoreDisplay.getReferee1()).add(totalScoreDisplay.getReferee2()).add(totalScoreDisplay.getReferee3()); +// BigDecimal bigDecimalavg1to3=new BigDecimal(0); +// BigDecimal bignum=new BigDecimal(3); +// totalScoreDisplay.setAvg1To3(bigDecimalavg1to3.divide(bignum,2,BigDecimal.ROUND_HALF_UP)); +// +// BigDecimal bigDecimal4to6=new BigDecimal(0); +// bigDecimal4to6.add(totalScoreDisplay.getReferee4()).add(totalScoreDisplay.getReferee5()).add(totalScoreDisplay.getReferee6()); +// BigDecimal bigDecimalavg4to6=new BigDecimal(0); +// BigDecimal bignum1=new BigDecimal(3); +// totalScoreDisplay.setAvg4To6(bigDecimalavg4to6.divide(bignum1,2,BigDecimal.ROUND_HALF_UP)); +// //总成绩也出来了 +// BigDecimal re=new BigDecimal(0); +// re.add(totalScoreDisplay.getAvg1To3()).add(totalScoreDisplay.getAvg4To6()).subtract(totalScoreDisplay.getReferee0()); +// totalScoreDisplay.setResult(re); +// totalScoreDisplaysList.add(totalScoreDisplay); // }); - - for (int i = 0; i < totalScoreDisplaysList.size() - 1; i++) { - for (int j = 1; j < totalScoreDisplaysList.size() - i; j++) { - BigDecimal b1 = totalScoreDisplaysList.get(j - 1).getResult(); - BigDecimal b2 = totalScoreDisplaysList.get(j).getResult(); - - CompeteVo.TotalScoreDisplay a; - if (b1.compareTo(b2) < 0) { - a = totalScoreDisplaysList.get(j - 1); - totalScoreDisplaysList.set((j - 1), totalScoreDisplaysList.get(j)); - totalScoreDisplaysList.set(j, a); - } - } - } - - for (int i=0; i() { +//// @Override +//// public BigDecimal compare(CompeteVo.TotalScoreDisplay o1, CompeteVo.TotalScoreDisplay o2) { +//// o1.getResult().subtract(o2.getResult()); +//// return o1.getResult(); +//// } +//// }); +// +// for (int i = 0; i < totalScoreDisplaysList.size() - 1; i++) { +// for (int j = 1; j < totalScoreDisplaysList.size() - i; j++) { +// BigDecimal b1 = totalScoreDisplaysList.get(j - 1).getResult(); +// BigDecimal b2 = totalScoreDisplaysList.get(j).getResult(); +// +// CompeteVo.TotalScoreDisplay a; +// if (b1.compareTo(b2) < 0) { +// a = totalScoreDisplaysList.get(j - 1); +// totalScoreDisplaysList.set((j - 1), totalScoreDisplaysList.get(j)); +// totalScoreDisplaysList.set(j, a); +// } +// } +// } +// +// for (int i=0; i queryCountScore(ScoreDto.ShowResult param) { + log.info("计数赛成绩公示:{}", param); + CompeteProject project = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + log.info("查询{}项目的成绩:", project); + if (project == null) { + throw new BaseException(CodeEnum.PARAM_ERROR); + } + + PageHelper.startPage(param.getPage(), param.getSize()); + List list; + if (project.getTeam() == Constant.Compete.TEAM_YES) { + // 团体赛 + list = competeScoreDao.queryCountScoreTeam(param.getProjectId()); + } else { + // 个人赛 + list = competeScoreDao.queryCountScorePerson(param.getProjectId()); + } + + + return new PageInfo<>(list); + } + @Override public String speedPassOut(CompeteDto.CompeteTimeAndProjectId params) throws IOException { diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index 8c5277a5..e2ce263b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -1,7 +1,6 @@ package com.ccsens.mt.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.ccsens.mt.bean.dto.CompeteDto; @@ -15,24 +14,14 @@ import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.mapper.*; import com.ccsens.mt.util.Constant; -import com.ccsens.util.CodeEnum; import com.ccsens.util.PoiUtil; import com.ccsens.util.PropUtil; -import com.ccsens.util.RedisUtil; import com.ccsens.util.WebConstant; import com.ccsens.util.bean.dto.QueryDto; -import com.ccsens.util.exception.BaseException; -import com.ctc.wstx.util.DataUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import lombok.Data; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.map.HashedMap; -import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang.time.DateUtils; -import org.apache.poi.POIDocument; -import org.apache.poi.ss.usermodel.Table; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -40,24 +29,17 @@ import org.eclipse.jetty.util.StringUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.unit.DataUnit; import javax.annotation.Resource; -import javax.validation.constraints.NotNull; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; -import java.util.*; import java.util.ArrayList; import java.util.Date; -import java.util.GregorianCalendar; import java.util.List; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; @Slf4j @Service @@ -100,8 +82,6 @@ public class ExcelService implements IExcelService { private CompeteScoreDao competeScoreDao; @Resource private ICompeteService competeService; - @Resource - private CompeteScoreDao competeScoreDao; @Override public String dasaiduiwuxinxiWPS(QueryDto params) { @@ -1245,7 +1225,6 @@ public class ExcelService implements IExcelService { - private String getExcelFilePathForSchedulePlanning(List arrayList) throws IOException { //创建excle表格对象 List> list = new ArrayList<>(); @@ -1597,51 +1576,37 @@ public class ExcelService implements IExcelService { @Override public String beforeEight(QueryDto params) { - log.info("到处{}大赛各项的前八名", params); + log.info("导出{}大赛各项的前八名", params); // 查询项目 Long competeTimeId = params.getParam().getCompeteTimeId(); List list = competeProjectDao.queryProject(competeTimeId); Workbook workbook = new XSSFWorkbook(); - list.forEach(project -> { - List eights; - // 个人赛 - if (project.getTeam().byteValue() == Constant.Compete.TEAM_NO) { - eights = competeScoreDao.queryEight(project.getId(), competeTimeId); - } else { - // 团体赛 - eights = competeScoreDao.queryEightFancyRope(project.getId(), competeTimeId); - } - List> raws = new ArrayList<>(); - initTitle(project, raws); - eights.forEach(eight -> { - - if (StrUtil.isEmpty(eight.getEightNames())) { - return; - } - - List cells = new ArrayList<>(); - cells.add(new PoiUtil.PoiUtilCell(eight.getGroupName())); - String[] split = eight.getEightNames().split(","); - for (String name: split) { - cells.add(new PoiUtil.PoiUtilCell(name)); + list.forEach(project -> { + List eights; + // 个人赛 + if (project.getTeam() == Constant.Compete.TEAM_NO) { + eights = competeScoreDao.queryEight(project.getId(), competeTimeId); + } else if (project.getJoinRule() == Constant.Compete.PROJECT_JOIN_RULE_GROUP_NOT_LIMIT) { + // 团体赛不限组别 整体排名 + eights = competeScoreDao.queryEightGroupNotLimit(project.getId(), competeTimeId); + } else { + // 团体赛限组别 组别内排名 + eights = competeScoreDao.queryEightGroupLimit(project.getId(), competeTimeId); } - raws.add(cells); + List> raws = new ArrayList<>(); + initTitle(project, raws); + fillBody(project, eights, raws); + PoiUtil.exportWB(project.getName(), raws, workbook); }); - PoiUtil.exportWB(project.getName(), raws, workbook); - }); + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; String path = PropUtil.path + filepath; File file = new File(path); - - try { if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } -// if (!file.exists()) { -// file.createNewFile(); -// } OutputStream outputStream = new FileOutputStream(file); workbook.write(outputStream); outputStream.close(); @@ -1651,6 +1616,41 @@ public class ExcelService implements IExcelService { return PropUtil.domain + "file/download/know?path="+path; } + /** + * 添加导出前八名内容部分 + * @param project 项目 + * @param eights 前八名信息 + * @param raws 表格行对象 + */ + private void fillBody(CompeteProject project, List eights, List> raws) { + if (project.getJoinRule() == Constant.Compete.PROJECT_JOIN_RULE_GROUP_LIMIT) { + eights.forEach(eight -> { + if (StrUtil.isEmpty(eight.getEightNames())) { + return; + } + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(eight.getGroupName())); + String[] split = eight.getEightNames().split(","); + for (String name : split) { + cells.add(new PoiUtil.PoiUtilCell(name)); + } + raws.add(cells); + }); + } else { + for (int i = 0; i < eights.size(); i++) { + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell("第" + i + "名")); + cells.add(new PoiUtil.PoiUtilCell(eights.get(i).getEightNames(), 8, 1)); + raws.add(cells); + } + } + } + + /** + * 初始化导出前八名表格头 + * @param project 项目 + * @param raws 行 + */ private void initTitle(CompeteProject project, List> raws) { List title = new ArrayList<>(); title.add(new PoiUtil.PoiUtilCell( "2020年山西省学生跳绳比赛", 9 , 1)); @@ -1658,17 +1658,20 @@ public class ExcelService implements IExcelService { List title2 = new ArrayList<>(); title2.add(new PoiUtil.PoiUtilCell(project.getName() , 9 , 1)); raws.add(title2); - List head = new ArrayList<>(); - head.add(new PoiUtil.PoiUtilCell("")); - head.add(new PoiUtil.PoiUtilCell("第一名")); - head.add(new PoiUtil.PoiUtilCell("第二名")); - head.add(new PoiUtil.PoiUtilCell("第三名")); - head.add(new PoiUtil.PoiUtilCell("第四名")); - head.add(new PoiUtil.PoiUtilCell("第五名")); - head.add(new PoiUtil.PoiUtilCell("第六名")); - head.add(new PoiUtil.PoiUtilCell("第七名")); - head.add(new PoiUtil.PoiUtilCell("第八名")); - raws.add(head); + if (project.getJoinRule() == Constant.Compete.PROJECT_JOIN_RULE_GROUP_LIMIT) { + List head = new ArrayList<>(); + head.add(new PoiUtil.PoiUtilCell("")); + head.add(new PoiUtil.PoiUtilCell("第一名")); + head.add(new PoiUtil.PoiUtilCell("第二名")); + head.add(new PoiUtil.PoiUtilCell("第三名")); + head.add(new PoiUtil.PoiUtilCell("第四名")); + head.add(new PoiUtil.PoiUtilCell("第五名")); + head.add(new PoiUtil.PoiUtilCell("第六名")); + head.add(new PoiUtil.PoiUtilCell("第七名")); + head.add(new PoiUtil.PoiUtilCell("第八名")); + raws.add(head); + } + } } 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 699688e3..56ab4697 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -157,7 +157,7 @@ public interface ICompeteService { PageInfo showResultPage(ScoreDto.ShowResultW param); - List showResult(ScoreDto.ShowResultW param); + PageInfo showResult(ScoreDto.ShowResultW param); /** @@ -190,7 +190,6 @@ public interface ICompeteService { /** -<<<<<<< HEAD * 速度通级赛 * @param params 项目id和场次id * @return 返回项目,开始时间和比赛状态 @@ -199,7 +198,6 @@ public interface ICompeteService { /** - <<<<<<< HEAD * 速度通级赛(导出) * @param params 项目id和场次id * @return 返回项目,开始时间和比赛状态 @@ -217,8 +215,12 @@ public interface ICompeteService { Long getUserCompanyId(Long userId, Byte type); - - + /** + * 分页查询计数赛成绩 + * @param param 项目ID + * @return 成绩 + */ + PageInfo queryCountScore(ScoreDto.ShowResult param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index 9e81105d..92bb398c 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -97,7 +97,7 @@ public interface IExcelService { - String patternExpTable(ScoreDto.ShowResult param); +// String patternExpTable(ScoreDto.ShowResult param); /** * 生成比赛前八名的表格 diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml index 5054590a..f1eb223f 100644 --- a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -245,7 +245,6 @@ t1.group_name AS groupName, t1.name, count( t2.id ) as count - -- GROUP_CONCAT( t1.NAME ) AS eightNames FROM ( SELECT @@ -311,8 +310,422 @@ ) t GROUP BY groupName - + select t.group_name as groupName, GROUP_CONCAT(t.name order by t.final_score desc) as eightNames from + (select t1.* from + (SELECT + CONCAT( + CASE team.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END, + CASE team.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END + ) AS group_name, + GROUP_CONCAT(player.name SEPARATOR '、') as name, + score.final_score + FROM + t_compete_count_score score, + t_compete_start_order startOrder, + t_compete_team team, + t_compete_team_member tm, + t_compete_player player + WHERE + score.compete_time_id = #{competeTimeId} + AND score.project_id = #{projectId} + AND score.site_order_id = startOrder.id + AND startOrder.player_id = team.id + AND team.id = tm.compete_team_id + AND tm.player_id = player.id + AND score.rec_status = 0 + AND player.rec_status = 0 + AND startOrder.rec_status = 0 + AND team.rec_status = 0 + AND tm.rec_status = 0 + group by score.id) t1, + + (SELECT + CONCAT( + CASE team.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END, + CASE team.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END + ) AS group_name, + GROUP_CONCAT(player.name) as name, + score.final_score + FROM + t_compete_count_score score, + t_compete_start_order startOrder, + t_compete_team team, + t_compete_team_member tm, + t_compete_player player + WHERE + score.compete_time_id = #{competeTimeId} + AND score.project_id = #{projectId} + AND score.site_order_id = startOrder.id + AND startOrder.player_id = team.id + AND team.id = tm.compete_team_id + AND tm.player_id = player.id + AND score.rec_status = 0 + AND player.rec_status = 0 + AND startOrder.rec_status = 0 + AND team.rec_status = 0 + AND tm.rec_status = 0 + group by score.id) t2 + WHERE + t1.group_name = t2.group_name + AND t1.final_score <= t2.final_score + GROUP BY t1.group_name, t1.name + HAVING count( * ) <= 8) t + group by t.group_name + + + + + + + + + \ No newline at end of file From 7dcb323a7a16724b5ea7188818e71b4404b5fe8e Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sun, 22 Nov 2020 21:02:50 +0800 Subject: [PATCH 6/7] 20201122v1.1 --- .../com/ccsens/mt/api/KCPlayerController.java | 4 +- .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 12 ++++-- .../ccsens/mt/service/CompeteTaskService.java | 7 +++- .../com/ccsens/mt/service/ExcelService.java | 14 +------ .../com/ccsens/mt/service/IExcelService.java | 5 --- .../ccsens/mt/service/IKCPlayerService.java | 13 ++++++ .../ccsens/mt/service/KCPlayerService.java | 41 +++++++++++++++++++ .../java/com/ccsens/mt/util/Constant.java | 4 +- .../mapper_dao/CompeteProjectConfigDao.xml | 4 +- .../main/java/com/ccsens/util/CodeEnum.java | 1 + 10 files changed, 77 insertions(+), 28 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/KCPlayerController.java b/mt/src/main/java/com/ccsens/mt/api/KCPlayerController.java index 3d07b837..c2e46490 100644 --- a/mt/src/main/java/com/ccsens/mt/api/KCPlayerController.java +++ b/mt/src/main/java/com/ccsens/mt/api/KCPlayerController.java @@ -37,11 +37,11 @@ public class KCPlayerController { return JsonResponse.newInstance().ok(signature); } - @ApiOperation(value = "查看云点播签名", notes = "从redis获取云点播签名,有则返回,没有则调用工具类查询,存入redis并返回") + @ApiOperation(value = "云点播回调接口", notes = "上传时候后,云点播回调接口,保存视频的路径") @RequestMapping(value = "/receive", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse receive(@RequestBody Map map) { log.info("接受文件上传通知:{}",map); - + kcPlayerService.saveVideoUrl(map); return JsonResponse.newInstance().ok(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 40f7bc5d..9caffcb6 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -248,9 +248,15 @@ public class ProvinceCompeteVo { @ApiModelProperty("结束时间") private Long endTime; - public Long getEndTime(){ - if(ObjectUtil.isNotNull(startTime) && startTime != 0){ - return startTime + Constant.UPLOAD_VIDEO_TIME; +// public Long getEndTime(){ +// if(ObjectUtil.isNotNull(startTime) && startTime != 0){ +// return startTime + Constant.UPLOAD_VIDEO_TIME; +// } +// return null; +// } + public Long getStartTime(){ + if(ObjectUtil.isNotNull(endTime) && endTime != 0){ + return endTime - Constant.UPLOAD_VIDEO_TIME; } return null; } 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 82ea42c9..17df6fef 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -422,6 +422,7 @@ public class CompeteTaskService implements ICompeteTaskService { List queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId(), param.getProjectId()); if (CollectionUtil.isNotEmpty(queryJudgmentList)) { queryJudgmentList.forEach(projectJudgment -> { +// for(ProvinceCompeteVo.QueryJudgment projectJudgment : queryJudgmentList){ //裁判数量 int count = projectJudgment.getProjectType() == 0 ? 3 : 7; for (int i = 0; i < projectJudgment.getSiteNums(); i++) { @@ -438,7 +439,10 @@ public class CompeteTaskService implements ICompeteTaskService { } } else { int a = projectJudgment.getSiteList().size(); - for (int j = 0; j < count - a; j++) { + System.out.println("==========="+ a); + System.out.println("==========="+ projectJudgment.getSiteNums()); + System.out.println("==========="+ (projectJudgment.getSiteNums()-a)); + for (int j = 0; j < projectJudgment.getSiteNums() - a; j++) { ProvinceCompeteVo.ProjectSite siteJudgment = new ProvinceCompeteVo.ProjectSite(); siteJudgment.setSiteNum(a + j + 1); projectJudgment.getSiteList().add(siteJudgment); @@ -451,6 +455,7 @@ public class CompeteTaskService implements ICompeteTaskService { } } } +// } }); } return queryJudgmentList; diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index 8c5277a5..e8cfc250 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -74,21 +74,11 @@ public class ExcelService implements IExcelService { @Resource private CompetePlayerDao competePlayerDao; @Resource - private CompeteTeamMemberMapper competeTeamMemberMapper; - @Resource private CompeteProjectMapper competeProjectMapper; @Resource private CompeteProjectPlayerMapper competeProjectPlayerMapper; @Resource - private CompeteGroupMapper competeGroupMapper; - @Resource - private CompeteProjectConfigMapper competeProjectConfigMapper; - @Resource - private CommonFileMapper commonFileMapper; - @Resource - private IProvinceService provinceService; - @Resource - CompeteCoachMapper competeCoachMapper; + private CompeteCoachMapper competeCoachMapper; @Resource private CompetePlayerMapper competePlayerMapper; @@ -100,8 +90,6 @@ public class ExcelService implements IExcelService { private CompeteScoreDao competeScoreDao; @Resource private ICompeteService competeService; - @Resource - private CompeteScoreDao competeScoreDao; @Override public String dasaiduiwuxinxiWPS(QueryDto params) { diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index 9e81105d..91639717 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -94,11 +94,6 @@ public interface IExcelService { - - - - String patternExpTable(ScoreDto.ShowResult param); - /** * 生成比赛前八名的表格 * @param params 第几届比赛 diff --git a/mt/src/main/java/com/ccsens/mt/service/IKCPlayerService.java b/mt/src/main/java/com/ccsens/mt/service/IKCPlayerService.java index b6531324..3db8e208 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IKCPlayerService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IKCPlayerService.java @@ -1,5 +1,18 @@ package com.ccsens.mt.service; +import java.util.Map; + public interface IKCPlayerService { + /** + * 获取云点播签名 + * @param id + * @return + */ String getSignature(Long id); + + /** + * 云点播回调接口 + * @param map + */ + void saveVideoUrl(Map map); } diff --git a/mt/src/main/java/com/ccsens/mt/service/KCPlayerService.java b/mt/src/main/java/com/ccsens/mt/service/KCPlayerService.java index d626a569..5116d39f 100644 --- a/mt/src/main/java/com/ccsens/mt/service/KCPlayerService.java +++ b/mt/src/main/java/com/ccsens/mt/service/KCPlayerService.java @@ -1,6 +1,12 @@ package com.ccsens.mt.service; +import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; +import com.ccsens.mt.bean.po.CompeteStartOrder; +import com.ccsens.mt.bean.po.CompeteVideo; +import com.ccsens.mt.bean.po.CompeteVideoExample; +import com.ccsens.mt.persist.mapper.CompeteStartOrderMapper; +import com.ccsens.mt.persist.mapper.CompeteVideoMapper; import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.KCPlayerSignature; @@ -12,6 +18,7 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Map; import java.util.Random; @Slf4j @Service @@ -19,6 +26,12 @@ import java.util.Random; public class KCPlayerService implements IKCPlayerService{ @Resource private RedisUtil redisUtil; + @Resource + private CompeteStartOrderMapper startOrderMapper; + @Resource + private CompeteVideoMapper competeVideoMapper; + @Resource + private Snowflake snowflake; /** * 获取云点播签名 @@ -51,4 +64,32 @@ public class KCPlayerService implements IKCPlayerService{ } return signature; } + + @Override + public void saveVideoUrl(Map map) { + // TODO 获取回传的id(场次id) + Long orderId = null; + // TODO 获取视频路径 + String videoUrl = ""; + //通过场次id获取场次信息 + CompeteStartOrder startOrder = startOrderMapper.selectByPrimaryKey(orderId); + if(ObjectUtil.isNull(startOrder)){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } + //查找此场次之前的上传记录 + CompeteVideoExample competeVideoExample = new CompeteVideoExample(); + competeVideoExample.createCriteria().andProjectIdEqualTo(startOrder.getProjectId()) + .andPlayerIdEqualTo(startOrder.getPlayerId()); + if(competeVideoMapper.countByExample(competeVideoExample) > 0){ + throw new BaseException(CodeEnum.ALREADY_UPLOAD_VIDEO); + } + //将视频信息存入视频表 + CompeteVideo competeVideo = new CompeteVideo(); + competeVideo.setId(snowflake.nextId()); + competeVideo.setProjectId(startOrder.getProjectId()); + competeVideo.setPlayerId(startOrder.getPlayerId()); + competeVideo.setVideoUrl(videoUrl); + competeVideo.setUploadTime(System.currentTimeMillis()); + competeVideoMapper.insertSelective(competeVideo); + } } diff --git a/mt/src/main/java/com/ccsens/mt/util/Constant.java b/mt/src/main/java/com/ccsens/mt/util/Constant.java index ef0667ca..0d0dfee5 100644 --- a/mt/src/main/java/com/ccsens/mt/util/Constant.java +++ b/mt/src/main/java/com/ccsens/mt/util/Constant.java @@ -57,9 +57,9 @@ public class Constant { */ public static final long COMPETE_VARIETY = 2002; /** - * 每个比赛项目留给选手上传视频的时间(暂定半个小时,可以修改) + * 每个比赛项目留给选手上传视频的时间(暂定一个小时,可以修改) */ - public static final long UPLOAD_VIDEO_TIME = 30 * 60 * 1000; + public static final long UPLOAD_VIDEO_TIME = 60 * 60 * 1000; public final static class Compete{ diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml index 614887a7..20d94489 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -16,7 +16,7 @@ - + @@ -331,7 +331,7 @@ so.id as startOrderId, so.compete_order as competeOrder, so.site as site, - pc.start_time as startTime, + pc.start_time as endTime, pr.id as projectId, pr.`name` as projectName, pr.`team` as team, diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 2921824a..0e81997d 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -178,6 +178,7 @@ public enum CodeEnum { JOIN_AUTH_GROUP(147,"已参加了其他组别,无法再次报名",true), ALREADY_JOIN_PROJECT(148,"该选手已经参加了比赛,不可修改身份证组别等信息",true), ALREADY_JOIN_PROJECT_DEL(149,"取消报名后可删除",true), + ALREADY_UPLOAD_VIDEO(150,"您已经上传了视频,请勿重复提交",true), ; From 100040be68a0dca20b3f7bca0889b00331214dfc Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Mon, 23 Nov 2020 15:30:55 +0800 Subject: [PATCH 7/7] 11-21-2 --- mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java | 2 ++ .../java/com/ccsens/mt/service/CompeteService.java | 13 +++++++++++++ .../java/com/ccsens/mt/service/ScoreService.java | 1 + 3 files changed, 16 insertions(+) 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 49f97b48..648516b6 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 @@ -227,6 +227,8 @@ public class ScoreVo { private String remark; @ApiModelProperty("名次") private int rangee; + @ApiModelProperty("视频路劲") + private String videoUrl; } @Data 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 a57c181b..4df80453 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -102,6 +102,8 @@ public class CompeteService implements ICompeteService { private CompetePlayerMapper competePlayerMapper; @Resource private CompeteJudgmentMapper competeJudgmentMapper; + @Resource + private CompeteVideoMapper competeVideoMapper; @Override @@ -1407,8 +1409,18 @@ public class CompeteService implements ICompeteService { @Override public List countScoreCurrentSite(CompeteDto.CompeteSite params) { + Long siteId = params.getSiteId(); List countScoreCurrentSites = competeScoreDao.selectCountScoreCurrentSite(siteId); + countScoreCurrentSites.forEach(mes->{ + CompeteStartOrder competeStartOrder = competeStartOrderMapper.selectByPrimaryKey(siteId); + CompeteVideoExample competeVideoExample = new CompeteVideoExample(); + competeVideoExample.createCriteria().andProjectIdEqualTo(competeStartOrder.getProjectId()).andPlayerIdEqualTo(competeStartOrder.getPlayerId()); + List competeVideos = competeVideoMapper.selectByExample(competeVideoExample); + CompeteVideo competeVideo = competeVideos.get(0); + String path = competeVideo.getVideoUrl(); + mes.setVideoUrl(path); + }); return countScoreCurrentSites; } @@ -1816,6 +1828,7 @@ public class CompeteService implements ICompeteService { @Override public PageInfo queryCountScore(ScoreDto.ShowResult param) { + log.info("计数赛成绩公示:{}", param); CompeteProject project = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); log.info("查询{}项目的成绩:", project); diff --git a/mt/src/main/java/com/ccsens/mt/service/ScoreService.java b/mt/src/main/java/com/ccsens/mt/service/ScoreService.java index 343c8220..615a5535 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ScoreService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ScoreService.java @@ -23,6 +23,7 @@ import com.ccsens.util.ExcelUtil; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; import com.ccsens.util.exception.BaseException; +import com.sun.xml.internal.bind.v2.TODO; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook;