From dff9745f345dbb449fe81026b8ea62e0330993c2 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 13 Nov 2020 15:29:06 +0800 Subject: [PATCH 1/7] 1 --- .../ccsens/mt/api/CompeteScoreController.java | 17 +++++ .../com/ccsens/mt/bean/dto/CompeteDto.java | 9 +++ .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 26 +++++++ .../persist/dao/CompeteProjectConfigDao.java | 1 + .../com/ccsens/mt/service/CompeteService.java | 73 +++++++++++++++++-- .../ccsens/mt/service/ICompeteService.java | 16 ++++ mt/src/main/resources/application.yml | 4 +- .../mapper_dao/CompeteProjectConfigDao.xml | 6 ++ 8 files changed, 145 insertions(+), 7 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 a1262f24..22580346 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @author 逗 @@ -38,7 +39,23 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(playerList); } + @MustLogin + @ApiOperation(value = "计数赛查看当前场次的分数信息(轮询)", notes = "") + @RequestMapping(value = "countScore", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse countScore(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询比赛项目上的参赛选手列表:{}",params); + List countScoreList = competeService.countScore(params.getParam()); + return JsonResponse.newInstance().ok(countScoreList); + } + @MustLogin + @ApiOperation(value = "计数赛查看当前场次的分数信息(轮询)", notes = "") + @RequestMapping(value = "countScoreDetail", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse countScoreDetail(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询比赛项目上的参赛选手列表:{}",params); + competeService.countScoreDetail(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 af6d9117..2127cac3 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 @@ -325,5 +325,14 @@ public class CompeteDto { private String idCard; } + @Data + @ApiModel("项目id和组别id") + public static class ProjectIdAndGroupId{ + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("组别id") + private Long groupId; + } + } 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 2c46dd01..917ec421 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 @@ -452,4 +452,30 @@ public class CompeteVo { private String otherPlayerName; } + @Data + @ApiModel("项目,开始时间和比赛状态") + public static class CountScore{ + @ApiModelProperty("项目id") + private Long id; + @ApiModelProperty("项目名") + private String projectName; + @ApiModelProperty("项目开始时间") + private Long startTime; + @ApiModelProperty("项目状态") + private int status; + } + + @Data + @ApiModel("得分享请") + public static class CountScoreDetail{ + @ApiModelProperty("参赛队伍") + private String companyName; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("成绩") + private Long grade; + + } + + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java index 9112c99a..e3c6e4db 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java @@ -18,4 +18,5 @@ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper { List selectDetail (); List selectSingle (@Param("competeTimeId") Long competeTimeId,@Param("projectId") Long projectId,@Param("groupId") Long groupId,@Param("companyId") Long companyId,@Param("name") String name,@Param("idCard") String idCard); List selectGroup (@Param("competeTimeId") Long competeTimeId,@Param("projectId") Long projectId,@Param("groupId") Long groupId,@Param("companyId") Long companyId,@Param("name") String name,@Param("idCard") String idCard); + CompeteProjectConfig selectStartTime(@Param("projectId") Long projectId); } \ No newline at end of file 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 c6f2ca97..aa5ab32d 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -14,10 +14,7 @@ import com.ccsens.mt.bean.dto.LevelDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.TableVo; -import com.ccsens.mt.persist.dao.CompeteEnrollDao; -import com.ccsens.mt.persist.dao.CompetePlayerDao; -import com.ccsens.mt.persist.dao.CompeteTeamDao; -import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.mapper.*; import com.ccsens.mt.util.Constant; import com.ccsens.util.*; @@ -82,7 +79,8 @@ public class CompeteService implements ICompeteService { private TallFeignClient tallFeignClient; @Resource private CommonFileMapper commonFileMapper; - + @Resource + private CompeteProjectConfigDao competeProjectConfigDao; /** * 查看第几届 */ @@ -896,6 +894,8 @@ public class CompeteService implements ICompeteService { } + + /** * 验证数据的正确性,存入数据库 */ @@ -1008,8 +1008,71 @@ public class CompeteService implements ICompeteService { } + @Override + public List countScore(CompeteDto.CompeteTime params) { + List countScoreList = new ArrayList<>(); + //查询项目 + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getCompeteTimeId()); + CompeteProjectExample competeProjectExample = new CompeteProjectExample(); + int level = 2; + competeProjectExample.createCriteria().andTypeEqualTo(competeTime.getType()).andLevelEqualTo((byte) level); + //项目集合 + List competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); + for(CompeteProject competeProject : competeProjectList) { + long projectId = competeProject.getId(); + CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectStartTime(projectId); + if (ObjectUtil.isNotNull(competeProjectConfig)) { + CompeteVo.CountScore countScore = new CompeteVo.CountScore(); + countScore.setId(competeProject.getId()); + countScore.setProjectName(competeProject.getName()); + countScore.setStartTime(competeProjectConfig.getStartTime()); + //状态判断 + long currentTime = System.currentTimeMillis(); + if (currentTime < competeProjectConfig.getStartTime()) { + //未开始0-未开始 + countScore.setStatus(0); + } + if (currentTime > competeProjectConfig.getStartTime() && competeProjectConfig.getEndTime() > currentTime) { + //进行中1-进行中 + countScore.setStatus(1); + } + if (competeProjectConfig.getEndTime() < currentTime) { + //已经结束-结束 + countScore.setStatus(2); + } + countScoreList.add(countScore); + } + } + return countScoreList; + } + @Override + public List countScoreDetail(CompeteDto.ProjectIdAndGroupId params) { + //判断比赛类型 + long ProjectId = params.getProjectId(); + long groupId = params.getGroupId(); + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(ProjectId); + int team = competeProject.getTeam(); + long fatherId = competeProject.getParentId(); + //如果比赛是个人计数赛 + if (fatherId == 2001 && team == 0){ + CompeteProjectPlayerExample competeProjectPlayerExample= new CompeteProjectPlayerExample(); + + } + //如果是个人花样赛 + if (fatherId == 2002 && team == 0){ + + } + //如果是团队计数赛 + if (fatherId == 2001 && team == 1){ + } + //如果是团队花样赛 + if (fatherId == 2002 && team == 1){ + + } + return null; + } } \ 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 84cf068a..eca520a8 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -149,6 +149,22 @@ public interface ICompeteService { List signupImport(String path) throws FileNotFoundException, Exception; + + /** + * 项目,开始时间和比赛状态 + * @param params 大赛id和比赛项目id + * @return 返回项目,开始时间和比赛状态 + */ + List countScore(CompeteDto.CompeteTime params) ; + + /** + * 得分详情 + * @param params 大赛id和比赛项目id + * @return 返回项目,开始时间和比赛状态 + */ + List countScoreDetail(CompeteDto.ProjectIdAndGroupId 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 d8c89a2d..b56874c0 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -24,6 +24,12 @@ FROM t_compete_project_config a , t_compete_project b where a.project_id = b.id + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml b/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml index 3fba3694..6f586d68 100644 --- a/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml @@ -3,16 +3,16 @@ + - - - - + + + - + @@ -76,8 +76,8 @@ - id, compete_time_id, project_id, site_order_id, chief_judgment_score, judgment_a_score, - judgment_b_score2, should_times, deduct_times, deduct_cause, final_score, created_at, + id, should_times, compete_time_id, project_id, site_order_id, chief_judgment_score, + judgment_a_score, judgment_b_score2, deduct_times, deduct_cause, final_score, created_at, updated_at, rec_status - select from t_compete_count_score where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} - + delete from t_compete_count_score where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} delete from t_compete_count_score @@ -111,15 +113,15 @@ - insert into t_compete_count_score (id, compete_time_id, project_id, - site_order_id, chief_judgment_score, judgment_a_score, - judgment_b_score2, should_times, deduct_times, + insert into t_compete_count_score (id, should_times, compete_time_id, + project_id, site_order_id, chief_judgment_score, + judgment_a_score, judgment_b_score2, deduct_times, deduct_cause, final_score, created_at, updated_at, rec_status) - values (#{id,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, - #{siteOrderId,jdbcType=BIGINT}, #{chiefJudgmentScore,jdbcType=BIGINT}, #{judgmentAScore,jdbcType=INTEGER}, - #{judgmentBScore2,jdbcType=INTEGER}, #{shouldTimes,jdbcType=INTEGER}, #{deductTimes,jdbcType=INTEGER}, - #{deductCause,jdbcType=VARCHAR}, #{finalScore,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, + values (#{id,jdbcType=BIGINT}, #{shouldTimes,jdbcType=INTEGER}, #{competeTimeId,jdbcType=BIGINT}, + #{projectId,jdbcType=BIGINT}, #{siteOrderId,jdbcType=BIGINT}, #{chiefJudgmentScore,jdbcType=DECIMAL}, + #{judgmentAScore,jdbcType=DECIMAL}, #{judgmentBScore2,jdbcType=DECIMAL}, #{deductTimes,jdbcType=INTEGER}, + #{deductCause,jdbcType=VARCHAR}, #{finalScore,jdbcType=DECIMAL}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) @@ -128,6 +130,9 @@ id, + + should_times, + compete_time_id, @@ -146,9 +151,6 @@ judgment_b_score2, - - should_times, - deduct_times, @@ -172,6 +174,9 @@ #{id,jdbcType=BIGINT}, + + #{shouldTimes,jdbcType=INTEGER}, + #{competeTimeId,jdbcType=BIGINT}, @@ -182,16 +187,13 @@ #{siteOrderId,jdbcType=BIGINT}, - #{chiefJudgmentScore,jdbcType=BIGINT}, + #{chiefJudgmentScore,jdbcType=DECIMAL}, - #{judgmentAScore,jdbcType=INTEGER}, + #{judgmentAScore,jdbcType=DECIMAL}, - #{judgmentBScore2,jdbcType=INTEGER}, - - - #{shouldTimes,jdbcType=INTEGER}, + #{judgmentBScore2,jdbcType=DECIMAL}, #{deductTimes,jdbcType=INTEGER}, @@ -200,7 +202,7 @@ #{deductCause,jdbcType=VARCHAR}, - #{finalScore,jdbcType=INTEGER}, + #{finalScore,jdbcType=DECIMAL}, #{createdAt,jdbcType=TIMESTAMP}, @@ -225,6 +227,9 @@ id = #{record.id,jdbcType=BIGINT}, + + should_times = #{record.shouldTimes,jdbcType=INTEGER}, + compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, @@ -235,16 +240,13 @@ site_order_id = #{record.siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=BIGINT}, + chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=DECIMAL}, - judgment_a_score = #{record.judgmentAScore,jdbcType=INTEGER}, + judgment_a_score = #{record.judgmentAScore,jdbcType=DECIMAL}, - judgment_b_score2 = #{record.judgmentBScore2,jdbcType=INTEGER}, - - - should_times = #{record.shouldTimes,jdbcType=INTEGER}, + judgment_b_score2 = #{record.judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{record.deductTimes,jdbcType=INTEGER}, @@ -253,7 +255,7 @@ deduct_cause = #{record.deductCause,jdbcType=VARCHAR}, - final_score = #{record.finalScore,jdbcType=INTEGER}, + final_score = #{record.finalScore,jdbcType=DECIMAL}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, @@ -272,16 +274,16 @@ update t_compete_count_score set id = #{record.id,jdbcType=BIGINT}, + should_times = #{record.shouldTimes,jdbcType=INTEGER}, compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, project_id = #{record.projectId,jdbcType=BIGINT}, site_order_id = #{record.siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=BIGINT}, - judgment_a_score = #{record.judgmentAScore,jdbcType=INTEGER}, - judgment_b_score2 = #{record.judgmentBScore2,jdbcType=INTEGER}, - should_times = #{record.shouldTimes,jdbcType=INTEGER}, + chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=DECIMAL}, + judgment_a_score = #{record.judgmentAScore,jdbcType=DECIMAL}, + judgment_b_score2 = #{record.judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{record.deductTimes,jdbcType=INTEGER}, deduct_cause = #{record.deductCause,jdbcType=VARCHAR}, - final_score = #{record.finalScore,jdbcType=INTEGER}, + final_score = #{record.finalScore,jdbcType=DECIMAL}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT} @@ -302,16 +304,13 @@ site_order_id = #{siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{chiefJudgmentScore,jdbcType=BIGINT}, + chief_judgment_score = #{chiefJudgmentScore,jdbcType=DECIMAL}, - judgment_a_score = #{judgmentAScore,jdbcType=INTEGER}, + judgment_a_score = #{judgmentAScore,jdbcType=DECIMAL}, - judgment_b_score2 = #{judgmentBScore2,jdbcType=INTEGER}, - - - should_times = #{shouldTimes,jdbcType=INTEGER}, + judgment_b_score2 = #{judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{deductTimes,jdbcType=INTEGER}, @@ -320,7 +319,7 @@ deduct_cause = #{deductCause,jdbcType=VARCHAR}, - final_score = #{finalScore,jdbcType=INTEGER}, + final_score = #{finalScore,jdbcType=DECIMAL}, created_at = #{createdAt,jdbcType=TIMESTAMP}, @@ -333,22 +332,23 @@ where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} update t_compete_count_score set compete_time_id = #{competeTimeId,jdbcType=BIGINT}, project_id = #{projectId,jdbcType=BIGINT}, site_order_id = #{siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{chiefJudgmentScore,jdbcType=BIGINT}, - judgment_a_score = #{judgmentAScore,jdbcType=INTEGER}, - judgment_b_score2 = #{judgmentBScore2,jdbcType=INTEGER}, - should_times = #{shouldTimes,jdbcType=INTEGER}, + chief_judgment_score = #{chiefJudgmentScore,jdbcType=DECIMAL}, + judgment_a_score = #{judgmentAScore,jdbcType=DECIMAL}, + judgment_b_score2 = #{judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{deductTimes,jdbcType=INTEGER}, deduct_cause = #{deductCause,jdbcType=VARCHAR}, - final_score = #{finalScore,jdbcType=INTEGER}, + final_score = #{finalScore,jdbcType=DECIMAL}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml b/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml index 12ac81e2..f4b26c7c 100644 --- a/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml @@ -7,7 +7,7 @@ - + @@ -111,7 +111,7 @@ judgment_id, created_at, updated_at, rec_status) values (#{id,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, - #{siteOrderId,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{score,jdbcType=INTEGER}, + #{siteOrderId,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{score,jdbcType=DECIMAL}, #{judgmentId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) @@ -166,7 +166,7 @@ #{code,jdbcType=VARCHAR}, - #{score,jdbcType=INTEGER}, + #{score,jdbcType=DECIMAL}, #{judgmentId,jdbcType=BIGINT}, @@ -207,7 +207,7 @@ code = #{record.code,jdbcType=VARCHAR}, - score = #{record.score,jdbcType=INTEGER}, + score = #{record.score,jdbcType=DECIMAL}, judgment_id = #{record.judgmentId,jdbcType=BIGINT}, @@ -233,7 +233,7 @@ project_id = #{record.projectId,jdbcType=BIGINT}, site_order_id = #{record.siteOrderId,jdbcType=BIGINT}, code = #{record.code,jdbcType=VARCHAR}, - score = #{record.score,jdbcType=INTEGER}, + score = #{record.score,jdbcType=DECIMAL}, judgment_id = #{record.judgmentId,jdbcType=BIGINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, @@ -258,7 +258,7 @@ code = #{code,jdbcType=VARCHAR}, - score = #{score,jdbcType=INTEGER}, + score = #{score,jdbcType=DECIMAL}, judgment_id = #{judgmentId,jdbcType=BIGINT}, @@ -281,7 +281,7 @@ project_id = #{projectId,jdbcType=BIGINT}, site_order_id = #{siteOrderId,jdbcType=BIGINT}, code = #{code,jdbcType=VARCHAR}, - score = #{score,jdbcType=INTEGER}, + score = #{score,jdbcType=DECIMAL}, judgment_id = #{judgmentId,jdbcType=BIGINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, From 7f7131c3461c59b0c654ca87038cfa50a5c73a4d Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 13 Nov 2020 19:32:13 +0800 Subject: [PATCH 3/7] 11-13-2 --- .../ccsens/mt/api/CompeteScoreController.java | 32 ++- .../com/ccsens/mt/bean/dto/CompeteDto.java | 36 +++- .../ccsens/mt/bean/po/CompeteCountScore.java | 49 ++--- .../mt/bean/po/CompeteCountScoreExample.java | 201 +++++++++--------- .../mt/bean/po/CompeteCountScoreKey.java | 39 ++++ .../mt/bean/po/CompeteVarietyScore.java | 7 +- .../bean/po/CompeteVarietyScoreExample.java | 21 +- .../com/ccsens/mt/bean/vo/CompeteExcelVo.java | 2 + .../java/com/ccsens/mt/bean/vo/ScoreVo.java | 46 ++++ .../mt/persist/dao/CompeteScoreDao.java | 27 +++ .../mapper/CompeteCountScoreMapper.java | 5 +- .../com/ccsens/mt/service/CompeteService.java | 68 +++++- .../ccsens/mt/service/ICompeteService.java | 19 +- .../resources/mapper_dao/CompeteScoreDao.xml | 109 ++++++++++ .../mapper_raw/CompeteCountScoreMapper.xml | 100 ++++----- .../mapper_raw/CompeteVarietyScoreMapper.xml | 14 +- 16 files changed, 551 insertions(+), 224 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreKey.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java create mode 100644 mt/src/main/resources/mapper_dao/CompeteScoreDao.xml 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 22580346..638a6180 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -3,6 +3,7 @@ package com.ccsens.mt.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.ScoreVo; import com.ccsens.mt.service.ICompeteService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; @@ -40,8 +41,8 @@ public class CompeteScoreController { } @MustLogin - @ApiOperation(value = "计数赛查看当前场次的分数信息(轮询)", notes = "") - @RequestMapping(value = "countScore", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + @ApiOperation(value = "项目状态", notes = "") + @RequestMapping(value = "/countScore", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse countScore(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询比赛项目上的参赛选手列表:{}",params); List countScoreList = competeService.countScore(params.getParam()); @@ -49,13 +50,30 @@ public class CompeteScoreController { } @MustLogin - @ApiOperation(value = "计数赛查看当前场次的分数信息(轮询)", notes = "") - @RequestMapping(value = "countScoreDetail", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse countScoreDetail(@ApiParam @Validated @RequestBody QueryDto params) { + @ApiOperation(value = "选手排名", notes = "") + @RequestMapping(value = "/countScoreDetail", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse countScoreDetail(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询比赛项目上的参赛选手列表:{}",params); - competeService.countScoreDetail(params.getParam()); - return JsonResponse.newInstance().ok(); + List competeScores = competeService.countScoreDetail(params.getParam()); + return JsonResponse.newInstance().ok(competeScores); + } + + @MustLogin + @ApiOperation(value = "计数赛查看当前场次的分数信息", notes = "") + @RequestMapping(value = "/countScoreCurrentSite", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse countScoreCurrentSite(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询比赛项目上的参赛选手列表:{}",params); + List countScoreCurrentSites = competeService.countScoreCurrentSite(params.getParam()); + return JsonResponse.newInstance().ok(countScoreCurrentSites); } + @MustLogin + @ApiOperation(value = "技术赛提交分数", notes = "") + @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()); + 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 2127cac3..74adc31b 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 @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NonNull; import javax.validation.constraints.*; +import java.math.BigDecimal; import java.util.List; /** @@ -21,6 +22,14 @@ public class CompeteDto { private int type; } + @Data + @ApiModel + public static class CompeteSite{ + @NotNull + @ApiModelProperty("场次id") + private int siteId; + } + @Data @ApiModel public static class CompeteTime{ @@ -331,7 +340,32 @@ public class CompeteDto { @ApiModelProperty("项目id") private Long projectId; @ApiModelProperty("组别id") - private Long groupId; + private Long competeGroupId; + } + + @Data + @ApiModel("提交分数") + public static class SubmitScore{ + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("大赛id") + private Long competeTimeId; + @ApiModelProperty("场次id") + private Long siteOrderId; + @ApiModelProperty("主裁打分") + private BigDecimal mainScore; + @ApiModelProperty("主裁1打分") + private BigDecimal mainOneScore; + @ApiModelProperty("主裁2打分") + private BigDecimal mainTwoScore; + @ApiModelProperty("应得分") + private int shouldScore; + @ApiModelProperty("扣除次数") + private int deductTime; + @ApiModelProperty("扣除原因") + private String deductReason; + @ApiModelProperty("最终成绩") + private BigDecimal finalScore; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScore.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScore.java index d06a7d6b..d89e1feb 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScore.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScore.java @@ -1,30 +1,27 @@ package com.ccsens.mt.bean.po; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; -public class CompeteCountScore implements Serializable { - private Long id; - +public class CompeteCountScore extends CompeteCountScoreKey implements Serializable { private Long competeTimeId; private Long projectId; private Long siteOrderId; - private Long chiefJudgmentScore; - - private Integer judgmentAScore; + private BigDecimal chiefJudgmentScore; - private Integer judgmentBScore2; + private BigDecimal judgmentAScore; - private Integer shouldTimes; + private BigDecimal judgmentBScore2; private Integer deductTimes; private String deductCause; - private Integer finalScore; + private BigDecimal finalScore; private Date createdAt; @@ -34,14 +31,6 @@ public class CompeteCountScore implements Serializable { private static final long serialVersionUID = 1L; - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - public Long getCompeteTimeId() { return competeTimeId; } @@ -66,38 +55,30 @@ public class CompeteCountScore implements Serializable { this.siteOrderId = siteOrderId; } - public Long getChiefJudgmentScore() { + public BigDecimal getChiefJudgmentScore() { return chiefJudgmentScore; } - public void setChiefJudgmentScore(Long chiefJudgmentScore) { + public void setChiefJudgmentScore(BigDecimal chiefJudgmentScore) { this.chiefJudgmentScore = chiefJudgmentScore; } - public Integer getJudgmentAScore() { + public BigDecimal getJudgmentAScore() { return judgmentAScore; } - public void setJudgmentAScore(Integer judgmentAScore) { + public void setJudgmentAScore(BigDecimal judgmentAScore) { this.judgmentAScore = judgmentAScore; } - public Integer getJudgmentBScore2() { + public BigDecimal getJudgmentBScore2() { return judgmentBScore2; } - public void setJudgmentBScore2(Integer judgmentBScore2) { + public void setJudgmentBScore2(BigDecimal judgmentBScore2) { this.judgmentBScore2 = judgmentBScore2; } - public Integer getShouldTimes() { - return shouldTimes; - } - - public void setShouldTimes(Integer shouldTimes) { - this.shouldTimes = shouldTimes; - } - public Integer getDeductTimes() { return deductTimes; } @@ -114,11 +95,11 @@ public class CompeteCountScore implements Serializable { this.deductCause = deductCause == null ? null : deductCause.trim(); } - public Integer getFinalScore() { + public BigDecimal getFinalScore() { return finalScore; } - public void setFinalScore(Integer finalScore) { + public void setFinalScore(BigDecimal finalScore) { this.finalScore = finalScore; } @@ -152,14 +133,12 @@ public class CompeteCountScore implements Serializable { sb.append(getClass().getSimpleName()); sb.append(" ["); sb.append("Hash = ").append(hashCode()); - sb.append(", id=").append(id); sb.append(", competeTimeId=").append(competeTimeId); sb.append(", projectId=").append(projectId); sb.append(", siteOrderId=").append(siteOrderId); sb.append(", chiefJudgmentScore=").append(chiefJudgmentScore); sb.append(", judgmentAScore=").append(judgmentAScore); sb.append(", judgmentBScore2=").append(judgmentBScore2); - sb.append(", shouldTimes=").append(shouldTimes); sb.append(", deductTimes=").append(deductTimes); sb.append(", deductCause=").append(deductCause); sb.append(", finalScore=").append(finalScore); diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreExample.java index d5ff54db..c72f3961 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreExample.java @@ -1,5 +1,6 @@ package com.ccsens.mt.bean.po; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -165,6 +166,66 @@ public class CompeteCountScoreExample { return (Criteria) this; } + public Criteria andShouldTimesIsNull() { + addCriterion("should_times is null"); + return (Criteria) this; + } + + public Criteria andShouldTimesIsNotNull() { + addCriterion("should_times is not null"); + return (Criteria) this; + } + + public Criteria andShouldTimesEqualTo(Integer value) { + addCriterion("should_times =", value, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesNotEqualTo(Integer value) { + addCriterion("should_times <>", value, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesGreaterThan(Integer value) { + addCriterion("should_times >", value, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesGreaterThanOrEqualTo(Integer value) { + addCriterion("should_times >=", value, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesLessThan(Integer value) { + addCriterion("should_times <", value, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesLessThanOrEqualTo(Integer value) { + addCriterion("should_times <=", value, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesIn(List values) { + addCriterion("should_times in", values, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesNotIn(List values) { + addCriterion("should_times not in", values, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesBetween(Integer value1, Integer value2) { + addCriterion("should_times between", value1, value2, "shouldTimes"); + return (Criteria) this; + } + + public Criteria andShouldTimesNotBetween(Integer value1, Integer value2) { + addCriterion("should_times not between", value1, value2, "shouldTimes"); + return (Criteria) this; + } + public Criteria andCompeteTimeIdIsNull() { addCriterion("compete_time_id is null"); return (Criteria) this; @@ -355,52 +416,52 @@ public class CompeteCountScoreExample { return (Criteria) this; } - public Criteria andChiefJudgmentScoreEqualTo(Long value) { + public Criteria andChiefJudgmentScoreEqualTo(BigDecimal value) { addCriterion("chief_judgment_score =", value, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreNotEqualTo(Long value) { + public Criteria andChiefJudgmentScoreNotEqualTo(BigDecimal value) { addCriterion("chief_judgment_score <>", value, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreGreaterThan(Long value) { + public Criteria andChiefJudgmentScoreGreaterThan(BigDecimal value) { addCriterion("chief_judgment_score >", value, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreGreaterThanOrEqualTo(Long value) { + public Criteria andChiefJudgmentScoreGreaterThanOrEqualTo(BigDecimal value) { addCriterion("chief_judgment_score >=", value, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreLessThan(Long value) { + public Criteria andChiefJudgmentScoreLessThan(BigDecimal value) { addCriterion("chief_judgment_score <", value, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreLessThanOrEqualTo(Long value) { + public Criteria andChiefJudgmentScoreLessThanOrEqualTo(BigDecimal value) { addCriterion("chief_judgment_score <=", value, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreIn(List values) { + public Criteria andChiefJudgmentScoreIn(List values) { addCriterion("chief_judgment_score in", values, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreNotIn(List values) { + public Criteria andChiefJudgmentScoreNotIn(List values) { addCriterion("chief_judgment_score not in", values, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreBetween(Long value1, Long value2) { + public Criteria andChiefJudgmentScoreBetween(BigDecimal value1, BigDecimal value2) { addCriterion("chief_judgment_score between", value1, value2, "chiefJudgmentScore"); return (Criteria) this; } - public Criteria andChiefJudgmentScoreNotBetween(Long value1, Long value2) { + public Criteria andChiefJudgmentScoreNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("chief_judgment_score not between", value1, value2, "chiefJudgmentScore"); return (Criteria) this; } @@ -415,52 +476,52 @@ public class CompeteCountScoreExample { return (Criteria) this; } - public Criteria andJudgmentAScoreEqualTo(Integer value) { + public Criteria andJudgmentAScoreEqualTo(BigDecimal value) { addCriterion("judgment_a_score =", value, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreNotEqualTo(Integer value) { + public Criteria andJudgmentAScoreNotEqualTo(BigDecimal value) { addCriterion("judgment_a_score <>", value, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreGreaterThan(Integer value) { + public Criteria andJudgmentAScoreGreaterThan(BigDecimal value) { addCriterion("judgment_a_score >", value, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreGreaterThanOrEqualTo(Integer value) { + public Criteria andJudgmentAScoreGreaterThanOrEqualTo(BigDecimal value) { addCriterion("judgment_a_score >=", value, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreLessThan(Integer value) { + public Criteria andJudgmentAScoreLessThan(BigDecimal value) { addCriterion("judgment_a_score <", value, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreLessThanOrEqualTo(Integer value) { + public Criteria andJudgmentAScoreLessThanOrEqualTo(BigDecimal value) { addCriterion("judgment_a_score <=", value, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreIn(List values) { + public Criteria andJudgmentAScoreIn(List values) { addCriterion("judgment_a_score in", values, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreNotIn(List values) { + public Criteria andJudgmentAScoreNotIn(List values) { addCriterion("judgment_a_score not in", values, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreBetween(Integer value1, Integer value2) { + public Criteria andJudgmentAScoreBetween(BigDecimal value1, BigDecimal value2) { addCriterion("judgment_a_score between", value1, value2, "judgmentAScore"); return (Criteria) this; } - public Criteria andJudgmentAScoreNotBetween(Integer value1, Integer value2) { + public Criteria andJudgmentAScoreNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("judgment_a_score not between", value1, value2, "judgmentAScore"); return (Criteria) this; } @@ -475,116 +536,56 @@ public class CompeteCountScoreExample { return (Criteria) this; } - public Criteria andJudgmentBScore2EqualTo(Integer value) { + public Criteria andJudgmentBScore2EqualTo(BigDecimal value) { addCriterion("judgment_b_score2 =", value, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2NotEqualTo(Integer value) { + public Criteria andJudgmentBScore2NotEqualTo(BigDecimal value) { addCriterion("judgment_b_score2 <>", value, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2GreaterThan(Integer value) { + public Criteria andJudgmentBScore2GreaterThan(BigDecimal value) { addCriterion("judgment_b_score2 >", value, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2GreaterThanOrEqualTo(Integer value) { + public Criteria andJudgmentBScore2GreaterThanOrEqualTo(BigDecimal value) { addCriterion("judgment_b_score2 >=", value, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2LessThan(Integer value) { + public Criteria andJudgmentBScore2LessThan(BigDecimal value) { addCriterion("judgment_b_score2 <", value, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2LessThanOrEqualTo(Integer value) { + public Criteria andJudgmentBScore2LessThanOrEqualTo(BigDecimal value) { addCriterion("judgment_b_score2 <=", value, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2In(List values) { + public Criteria andJudgmentBScore2In(List values) { addCriterion("judgment_b_score2 in", values, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2NotIn(List values) { + public Criteria andJudgmentBScore2NotIn(List values) { addCriterion("judgment_b_score2 not in", values, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2Between(Integer value1, Integer value2) { + public Criteria andJudgmentBScore2Between(BigDecimal value1, BigDecimal value2) { addCriterion("judgment_b_score2 between", value1, value2, "judgmentBScore2"); return (Criteria) this; } - public Criteria andJudgmentBScore2NotBetween(Integer value1, Integer value2) { + public Criteria andJudgmentBScore2NotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("judgment_b_score2 not between", value1, value2, "judgmentBScore2"); return (Criteria) this; } - public Criteria andShouldTimesIsNull() { - addCriterion("should_times is null"); - return (Criteria) this; - } - - public Criteria andShouldTimesIsNotNull() { - addCriterion("should_times is not null"); - return (Criteria) this; - } - - public Criteria andShouldTimesEqualTo(Integer value) { - addCriterion("should_times =", value, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesNotEqualTo(Integer value) { - addCriterion("should_times <>", value, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesGreaterThan(Integer value) { - addCriterion("should_times >", value, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesGreaterThanOrEqualTo(Integer value) { - addCriterion("should_times >=", value, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesLessThan(Integer value) { - addCriterion("should_times <", value, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesLessThanOrEqualTo(Integer value) { - addCriterion("should_times <=", value, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesIn(List values) { - addCriterion("should_times in", values, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesNotIn(List values) { - addCriterion("should_times not in", values, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesBetween(Integer value1, Integer value2) { - addCriterion("should_times between", value1, value2, "shouldTimes"); - return (Criteria) this; - } - - public Criteria andShouldTimesNotBetween(Integer value1, Integer value2) { - addCriterion("should_times not between", value1, value2, "shouldTimes"); - return (Criteria) this; - } - public Criteria andDeductTimesIsNull() { addCriterion("deduct_times is null"); return (Criteria) this; @@ -725,52 +726,52 @@ public class CompeteCountScoreExample { return (Criteria) this; } - public Criteria andFinalScoreEqualTo(Integer value) { + public Criteria andFinalScoreEqualTo(BigDecimal value) { addCriterion("final_score =", value, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreNotEqualTo(Integer value) { + public Criteria andFinalScoreNotEqualTo(BigDecimal value) { addCriterion("final_score <>", value, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreGreaterThan(Integer value) { + public Criteria andFinalScoreGreaterThan(BigDecimal value) { addCriterion("final_score >", value, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreGreaterThanOrEqualTo(Integer value) { + public Criteria andFinalScoreGreaterThanOrEqualTo(BigDecimal value) { addCriterion("final_score >=", value, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreLessThan(Integer value) { + public Criteria andFinalScoreLessThan(BigDecimal value) { addCriterion("final_score <", value, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreLessThanOrEqualTo(Integer value) { + public Criteria andFinalScoreLessThanOrEqualTo(BigDecimal value) { addCriterion("final_score <=", value, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreIn(List values) { + public Criteria andFinalScoreIn(List values) { addCriterion("final_score in", values, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreNotIn(List values) { + public Criteria andFinalScoreNotIn(List values) { addCriterion("final_score not in", values, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreBetween(Integer value1, Integer value2) { + public Criteria andFinalScoreBetween(BigDecimal value1, BigDecimal value2) { addCriterion("final_score between", value1, value2, "finalScore"); return (Criteria) this; } - public Criteria andFinalScoreNotBetween(Integer value1, Integer value2) { + public Criteria andFinalScoreNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("final_score not between", value1, value2, "finalScore"); return (Criteria) this; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreKey.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreKey.java new file mode 100644 index 00000000..b1b31911 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCountScoreKey.java @@ -0,0 +1,39 @@ +package com.ccsens.mt.bean.po; + +import java.io.Serializable; + +public class CompeteCountScoreKey implements Serializable { + private Long id; + + private Integer shouldTimes; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Integer getShouldTimes() { + return shouldTimes; + } + + public void setShouldTimes(Integer shouldTimes) { + this.shouldTimes = shouldTimes; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", shouldTimes=").append(shouldTimes); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScore.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScore.java index 9fa53c5a..e264a762 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScore.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScore.java @@ -1,6 +1,7 @@ package com.ccsens.mt.bean.po; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; public class CompeteVarietyScore implements Serializable { @@ -14,7 +15,7 @@ public class CompeteVarietyScore implements Serializable { private String code; - private Integer score; + private BigDecimal score; private Long judgmentId; @@ -66,11 +67,11 @@ public class CompeteVarietyScore implements Serializable { this.code = code == null ? null : code.trim(); } - public Integer getScore() { + public BigDecimal getScore() { return score; } - public void setScore(Integer score) { + public void setScore(BigDecimal score) { this.score = score; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScoreExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScoreExample.java index 05ddc769..633c6a56 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScoreExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteVarietyScoreExample.java @@ -1,5 +1,6 @@ package com.ccsens.mt.bean.po; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -425,52 +426,52 @@ public class CompeteVarietyScoreExample { return (Criteria) this; } - public Criteria andScoreEqualTo(Integer value) { + public Criteria andScoreEqualTo(BigDecimal value) { addCriterion("score =", value, "score"); return (Criteria) this; } - public Criteria andScoreNotEqualTo(Integer value) { + public Criteria andScoreNotEqualTo(BigDecimal value) { addCriterion("score <>", value, "score"); return (Criteria) this; } - public Criteria andScoreGreaterThan(Integer value) { + public Criteria andScoreGreaterThan(BigDecimal value) { addCriterion("score >", value, "score"); return (Criteria) this; } - public Criteria andScoreGreaterThanOrEqualTo(Integer value) { + public Criteria andScoreGreaterThanOrEqualTo(BigDecimal value) { addCriterion("score >=", value, "score"); return (Criteria) this; } - public Criteria andScoreLessThan(Integer value) { + public Criteria andScoreLessThan(BigDecimal value) { addCriterion("score <", value, "score"); return (Criteria) this; } - public Criteria andScoreLessThanOrEqualTo(Integer value) { + public Criteria andScoreLessThanOrEqualTo(BigDecimal value) { addCriterion("score <=", value, "score"); return (Criteria) this; } - public Criteria andScoreIn(List values) { + public Criteria andScoreIn(List values) { addCriterion("score in", values, "score"); return (Criteria) this; } - public Criteria andScoreNotIn(List values) { + public Criteria andScoreNotIn(List values) { addCriterion("score not in", values, "score"); return (Criteria) this; } - public Criteria andScoreBetween(Integer value1, Integer value2) { + public Criteria andScoreBetween(BigDecimal value1, BigDecimal value2) { addCriterion("score between", value1, value2, "score"); return (Criteria) this; } - public Criteria andScoreNotBetween(Integer value1, Integer value2) { + public Criteria andScoreNotBetween(BigDecimal value1, BigDecimal value2) { addCriterion("score not between", value1, value2, "score"); return (Criteria) this; } 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 84e8bb67..cacad4d0 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 @@ -59,4 +59,6 @@ public class CompeteExcelVo { @ApiModelProperty("月/日 上/下午") private String year; } + + } 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 a2a9404d..6372cc6a 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 @@ -179,4 +179,50 @@ public class ScoreVo { // @ApiModelProperty("平均分") // private BigDecimal aveScore; // } + + @Data + @ApiModel("返回项目配置信息") + public static class CompeteScore{ + @ApiModelProperty("参赛id") + private Long projectId; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("参赛队伍") + private String companyName; + @ApiModelProperty("得分") + private String score; + } + + + @Data + @ApiModel("返回项目配置信息") + public static class CountScoreCurrentSite{ + @ApiModelProperty("项目名") + private String projectName; + @ApiModelProperty("组别") + private String groupName; + @ApiModelProperty("团队名") + private String companyName; + @ApiModelProperty("场次") + private int competeOrder; + @ApiModelProperty("场地") + private int site; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("主裁打分") + private BigDecimal mainScore; + @ApiModelProperty("主裁1打分") + private BigDecimal mainOneScore; + @ApiModelProperty("主裁2打分") + private BigDecimal mainTwoScore; + @ApiModelProperty("应得分") + private BigDecimal shouldScore; + @ApiModelProperty("扣除次数") + private BigDecimal deductTime; + @ApiModelProperty("扣除原因") + private String deductReason; + @ApiModelProperty("最终成绩") + private BigDecimal finalScore; + } + } 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 new file mode 100644 index 00000000..828dae59 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java @@ -0,0 +1,27 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.po.CompeteCoach; +import com.ccsens.mt.bean.po.CompeteCompany; +import com.ccsens.mt.bean.vo.CompeteExcelVo; +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.bean.vo.ScoreVo; +import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @author 逗 + */ +@Repository +public interface CompeteScoreDao { + List selectSingleCount (@Param("projectId") long projectId,@Param("competeGroupId") long competeGroupId); + List selectGroupCount (@Param("projectId") long projectId,@Param("competeGroupId") long competeGroupId); + 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); + + +} diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCountScoreMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCountScoreMapper.java index faf0e354..5592b7ec 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCountScoreMapper.java +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCountScoreMapper.java @@ -2,6 +2,7 @@ package com.ccsens.mt.persist.mapper; import com.ccsens.mt.bean.po.CompeteCountScore; import com.ccsens.mt.bean.po.CompeteCountScoreExample; +import com.ccsens.mt.bean.po.CompeteCountScoreKey; import java.util.List; import org.apache.ibatis.annotations.Param; @@ -10,7 +11,7 @@ public interface CompeteCountScoreMapper { int deleteByExample(CompeteCountScoreExample example); - int deleteByPrimaryKey(Long id); + int deleteByPrimaryKey(CompeteCountScoreKey key); int insert(CompeteCountScore record); @@ -18,7 +19,7 @@ public interface CompeteCountScoreMapper { List selectByExample(CompeteCountScoreExample example); - CompeteCountScore selectByPrimaryKey(Long id); + CompeteCountScore selectByPrimaryKey(CompeteCountScoreKey key); int updateByExampleSelective(@Param("record") CompeteCountScore record, @Param("example") CompeteCountScoreExample example); 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 aa5ab32d..5f14e370 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -13,6 +13,7 @@ import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.LevelDto; import com.ccsens.mt.bean.po.*; 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.*; @@ -35,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.*; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -81,6 +83,10 @@ public class CompeteService implements ICompeteService { private CommonFileMapper commonFileMapper; @Resource private CompeteProjectConfigDao competeProjectConfigDao; + @Resource + private CompeteScoreDao competeScoreDao; + @Resource + private CompeteCountScoreMapper competeCountScoreMapper; /** * 查看第几届 */ @@ -1047,31 +1053,77 @@ public class CompeteService implements ICompeteService { } @Override - public List countScoreDetail(CompeteDto.ProjectIdAndGroupId params) { + public List countScoreDetail(CompeteDto.ProjectIdAndGroupId params) { + List competeScoreList = new ArrayList<>(); //判断比赛类型 long ProjectId = params.getProjectId(); - long groupId = params.getGroupId(); + long competeGroupId = params.getCompeteGroupId(); CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(ProjectId); + if (ObjectUtil.isNotNull(competeProject)){ int team = competeProject.getTeam(); long fatherId = competeProject.getParentId(); //如果比赛是个人计数赛 if (fatherId == 2001 && team == 0){ - CompeteProjectPlayerExample competeProjectPlayerExample= new CompeteProjectPlayerExample(); - + List competeScores = competeScoreDao.selectSingleCount(ProjectId, competeGroupId); + competeScoreList.addAll(competeScores); } //如果是个人花样赛 if (fatherId == 2002 && team == 0){ - + List competeScores = competeScoreDao.selectSingleVarity(ProjectId, competeGroupId); + competeScoreList.addAll(competeScores); } //如果是团队计数赛 if (fatherId == 2001 && team == 1){ - + List competeScores = competeScoreDao.selectGroupCount(ProjectId, competeGroupId); + competeScoreList.addAll(competeScores); } //如果是团队花样赛 if (fatherId == 2002 && team == 1){ - + List competeScores = competeScoreDao.selectGroupVarity(ProjectId, competeGroupId); + competeScoreList.addAll(competeScores); + } } - return null; + return competeScoreList; + } + + @Override + public List countScoreCurrentSite(CompeteDto.CompeteSite params) { + int 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()); + competeCountScoreMapper.insert(competeCountScore); } 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 eca520a8..c022b0d8 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -2,6 +2,7 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.ScoreVo; import com.ccsens.util.bean.dto.QueryDto; import java.io.FileNotFoundException; @@ -162,7 +163,23 @@ public interface ICompeteService { * @param params 大赛id和比赛项目id * @return 返回项目,开始时间和比赛状态 */ - List countScoreDetail(CompeteDto.ProjectIdAndGroupId params) ; + List countScoreDetail(CompeteDto.ProjectIdAndGroupId params) ; + + /** + * 得分详情 + * @param params 场次id + * @return 返回项目,开始时间和比赛状态 + */ + List countScoreCurrentSite(CompeteDto.CompeteSite params) ; + + /** + * 提交得分 + * @param params 场次id + * @return 返回项目,开始时间和比赛状态 + */ + void submitScore(CompeteDto.SubmitScore params) ; + + } diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml new file mode 100644 index 00000000..a03505c0 --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml b/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml index 3fba3694..6f586d68 100644 --- a/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteCountScoreMapper.xml @@ -3,16 +3,16 @@ + - - - - + + + - + @@ -76,8 +76,8 @@ - id, compete_time_id, project_id, site_order_id, chief_judgment_score, judgment_a_score, - judgment_b_score2, should_times, deduct_times, deduct_cause, final_score, created_at, + id, should_times, compete_time_id, project_id, site_order_id, chief_judgment_score, + judgment_a_score, judgment_b_score2, deduct_times, deduct_cause, final_score, created_at, updated_at, rec_status - select from t_compete_count_score where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} - + delete from t_compete_count_score where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} delete from t_compete_count_score @@ -111,15 +113,15 @@ - insert into t_compete_count_score (id, compete_time_id, project_id, - site_order_id, chief_judgment_score, judgment_a_score, - judgment_b_score2, should_times, deduct_times, + insert into t_compete_count_score (id, should_times, compete_time_id, + project_id, site_order_id, chief_judgment_score, + judgment_a_score, judgment_b_score2, deduct_times, deduct_cause, final_score, created_at, updated_at, rec_status) - values (#{id,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, - #{siteOrderId,jdbcType=BIGINT}, #{chiefJudgmentScore,jdbcType=BIGINT}, #{judgmentAScore,jdbcType=INTEGER}, - #{judgmentBScore2,jdbcType=INTEGER}, #{shouldTimes,jdbcType=INTEGER}, #{deductTimes,jdbcType=INTEGER}, - #{deductCause,jdbcType=VARCHAR}, #{finalScore,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, + values (#{id,jdbcType=BIGINT}, #{shouldTimes,jdbcType=INTEGER}, #{competeTimeId,jdbcType=BIGINT}, + #{projectId,jdbcType=BIGINT}, #{siteOrderId,jdbcType=BIGINT}, #{chiefJudgmentScore,jdbcType=DECIMAL}, + #{judgmentAScore,jdbcType=DECIMAL}, #{judgmentBScore2,jdbcType=DECIMAL}, #{deductTimes,jdbcType=INTEGER}, + #{deductCause,jdbcType=VARCHAR}, #{finalScore,jdbcType=DECIMAL}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) @@ -128,6 +130,9 @@ id, + + should_times, + compete_time_id, @@ -146,9 +151,6 @@ judgment_b_score2, - - should_times, - deduct_times, @@ -172,6 +174,9 @@ #{id,jdbcType=BIGINT}, + + #{shouldTimes,jdbcType=INTEGER}, + #{competeTimeId,jdbcType=BIGINT}, @@ -182,16 +187,13 @@ #{siteOrderId,jdbcType=BIGINT}, - #{chiefJudgmentScore,jdbcType=BIGINT}, + #{chiefJudgmentScore,jdbcType=DECIMAL}, - #{judgmentAScore,jdbcType=INTEGER}, + #{judgmentAScore,jdbcType=DECIMAL}, - #{judgmentBScore2,jdbcType=INTEGER}, - - - #{shouldTimes,jdbcType=INTEGER}, + #{judgmentBScore2,jdbcType=DECIMAL}, #{deductTimes,jdbcType=INTEGER}, @@ -200,7 +202,7 @@ #{deductCause,jdbcType=VARCHAR}, - #{finalScore,jdbcType=INTEGER}, + #{finalScore,jdbcType=DECIMAL}, #{createdAt,jdbcType=TIMESTAMP}, @@ -225,6 +227,9 @@ id = #{record.id,jdbcType=BIGINT}, + + should_times = #{record.shouldTimes,jdbcType=INTEGER}, + compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, @@ -235,16 +240,13 @@ site_order_id = #{record.siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=BIGINT}, + chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=DECIMAL}, - judgment_a_score = #{record.judgmentAScore,jdbcType=INTEGER}, + judgment_a_score = #{record.judgmentAScore,jdbcType=DECIMAL}, - judgment_b_score2 = #{record.judgmentBScore2,jdbcType=INTEGER}, - - - should_times = #{record.shouldTimes,jdbcType=INTEGER}, + judgment_b_score2 = #{record.judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{record.deductTimes,jdbcType=INTEGER}, @@ -253,7 +255,7 @@ deduct_cause = #{record.deductCause,jdbcType=VARCHAR}, - final_score = #{record.finalScore,jdbcType=INTEGER}, + final_score = #{record.finalScore,jdbcType=DECIMAL}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, @@ -272,16 +274,16 @@ update t_compete_count_score set id = #{record.id,jdbcType=BIGINT}, + should_times = #{record.shouldTimes,jdbcType=INTEGER}, compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, project_id = #{record.projectId,jdbcType=BIGINT}, site_order_id = #{record.siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=BIGINT}, - judgment_a_score = #{record.judgmentAScore,jdbcType=INTEGER}, - judgment_b_score2 = #{record.judgmentBScore2,jdbcType=INTEGER}, - should_times = #{record.shouldTimes,jdbcType=INTEGER}, + chief_judgment_score = #{record.chiefJudgmentScore,jdbcType=DECIMAL}, + judgment_a_score = #{record.judgmentAScore,jdbcType=DECIMAL}, + judgment_b_score2 = #{record.judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{record.deductTimes,jdbcType=INTEGER}, deduct_cause = #{record.deductCause,jdbcType=VARCHAR}, - final_score = #{record.finalScore,jdbcType=INTEGER}, + final_score = #{record.finalScore,jdbcType=DECIMAL}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT} @@ -302,16 +304,13 @@ site_order_id = #{siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{chiefJudgmentScore,jdbcType=BIGINT}, + chief_judgment_score = #{chiefJudgmentScore,jdbcType=DECIMAL}, - judgment_a_score = #{judgmentAScore,jdbcType=INTEGER}, + judgment_a_score = #{judgmentAScore,jdbcType=DECIMAL}, - judgment_b_score2 = #{judgmentBScore2,jdbcType=INTEGER}, - - - should_times = #{shouldTimes,jdbcType=INTEGER}, + judgment_b_score2 = #{judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{deductTimes,jdbcType=INTEGER}, @@ -320,7 +319,7 @@ deduct_cause = #{deductCause,jdbcType=VARCHAR}, - final_score = #{finalScore,jdbcType=INTEGER}, + final_score = #{finalScore,jdbcType=DECIMAL}, created_at = #{createdAt,jdbcType=TIMESTAMP}, @@ -333,22 +332,23 @@ where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} update t_compete_count_score set compete_time_id = #{competeTimeId,jdbcType=BIGINT}, project_id = #{projectId,jdbcType=BIGINT}, site_order_id = #{siteOrderId,jdbcType=BIGINT}, - chief_judgment_score = #{chiefJudgmentScore,jdbcType=BIGINT}, - judgment_a_score = #{judgmentAScore,jdbcType=INTEGER}, - judgment_b_score2 = #{judgmentBScore2,jdbcType=INTEGER}, - should_times = #{shouldTimes,jdbcType=INTEGER}, + chief_judgment_score = #{chiefJudgmentScore,jdbcType=DECIMAL}, + judgment_a_score = #{judgmentAScore,jdbcType=DECIMAL}, + judgment_b_score2 = #{judgmentBScore2,jdbcType=DECIMAL}, deduct_times = #{deductTimes,jdbcType=INTEGER}, deduct_cause = #{deductCause,jdbcType=VARCHAR}, - final_score = #{finalScore,jdbcType=INTEGER}, + final_score = #{finalScore,jdbcType=DECIMAL}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} + and should_times = #{shouldTimes,jdbcType=INTEGER} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml b/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml index 12ac81e2..f4b26c7c 100644 --- a/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteVarietyScoreMapper.xml @@ -7,7 +7,7 @@ - + @@ -111,7 +111,7 @@ judgment_id, created_at, updated_at, rec_status) values (#{id,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, - #{siteOrderId,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{score,jdbcType=INTEGER}, + #{siteOrderId,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{score,jdbcType=DECIMAL}, #{judgmentId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) @@ -166,7 +166,7 @@ #{code,jdbcType=VARCHAR}, - #{score,jdbcType=INTEGER}, + #{score,jdbcType=DECIMAL}, #{judgmentId,jdbcType=BIGINT}, @@ -207,7 +207,7 @@ code = #{record.code,jdbcType=VARCHAR}, - score = #{record.score,jdbcType=INTEGER}, + score = #{record.score,jdbcType=DECIMAL}, judgment_id = #{record.judgmentId,jdbcType=BIGINT}, @@ -233,7 +233,7 @@ project_id = #{record.projectId,jdbcType=BIGINT}, site_order_id = #{record.siteOrderId,jdbcType=BIGINT}, code = #{record.code,jdbcType=VARCHAR}, - score = #{record.score,jdbcType=INTEGER}, + score = #{record.score,jdbcType=DECIMAL}, judgment_id = #{record.judgmentId,jdbcType=BIGINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, @@ -258,7 +258,7 @@ code = #{code,jdbcType=VARCHAR}, - score = #{score,jdbcType=INTEGER}, + score = #{score,jdbcType=DECIMAL}, judgment_id = #{judgmentId,jdbcType=BIGINT}, @@ -281,7 +281,7 @@ project_id = #{projectId,jdbcType=BIGINT}, site_order_id = #{siteOrderId,jdbcType=BIGINT}, code = #{code,jdbcType=VARCHAR}, - score = #{score,jdbcType=INTEGER}, + score = #{score,jdbcType=DECIMAL}, judgment_id = #{judgmentId,jdbcType=BIGINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, From acb605c61c5109881ac260505450d733ec2c77ed Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 13 Nov 2020 19:37:21 +0800 Subject: [PATCH 4/7] 11-13-2 --- 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 eb0613044ac0ddb92ca786932f96479b10cacf11 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 13 Nov 2020 19:40:26 +0800 Subject: [PATCH 5/7] 11-13-2 --- .../main/java/com/ccsens/mt/api/CompeteScoreController.java | 5 ++--- .../com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java | 5 ++--- 2 files changed, 4 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 4c19f8df..f5715c4b 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -58,7 +58,7 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(competeScores); } -<<<<<<< HEAD + @MustLogin @ApiOperation(value = "计数赛查看当前场次的分数信息", notes = "") @RequestMapping(value = "/countScoreCurrentSite", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -77,6 +77,5 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(); } -======= ->>>>>>> 95af62e9754cf6c4f4ed67cfb3e66d7e64bc1041 + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java index 5281dc9c..6f31e47b 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java @@ -18,9 +18,8 @@ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper { List selectDetail (); List selectSingle (@Param("competeTimeId") Long competeTimeId,@Param("projectId") Long projectId,@Param("groupId") Long groupId,@Param("companyId") Long companyId,@Param("name") String name,@Param("idCard") String idCard); List selectGroup (@Param("competeTimeId") Long competeTimeId,@Param("projectId") Long projectId,@Param("groupId") Long groupId,@Param("companyId") Long companyId,@Param("name") String name,@Param("idCard") String idCard); -<<<<<<< HEAD CompeteProjectConfig selectStartTime(@Param("projectId") Long projectId); -======= + /** * 查询所有项目配置信息 @@ -28,5 +27,5 @@ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper { * @return 返回所有比赛日程配置信息 */ List queryProjectConfig(@Param("type")int type); ->>>>>>> 95af62e9754cf6c4f4ed67cfb3e66d7e64bc1041 + } \ No newline at end of file From 8b56583d497a6ecaec46a4a45a3e5af23e590ce5 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 13 Nov 2020 21:37:03 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=AF=94=E8=B5=9B?= =?UTF-8?q?=E6=97=A5=E7=A8=8B=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AEid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/mt/api/CompeteTaskController.java | 4 +- .../mt/bean/dto/ProvinceCompeteDto.java | 15 +++++++- .../ccsens/mt/service/CompeteTaskService.java | 38 ++++++++++--------- 3 files changed, 35 insertions(+), 22 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java index 773aecbf..eae789aa 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java @@ -45,9 +45,9 @@ public class CompeteTaskController { @ApiOperation(value = "日程安排更新", notes = "zy:1、循环查找项目对应的配置信息。2、有则修改,没有则添加配置信息。" + "3、根据配置的时间和场地生成出场顺序表。4存入出场顺序表。5、调用tall接口添加任务") @RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse updateCompeteConfig(@ApiParam @Validated @RequestBody QueryDto> params) { + public JsonResponse updateCompeteConfig(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); - List dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam()); + List dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam().getUpdateCompeteTaskList()); log.info("日程安排更新:{}",dailyScheduleProcessList); return JsonResponse.newInstance().ok(dailyScheduleProcessList); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 5e498d83..29ea012c 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -136,7 +136,7 @@ public class ProvinceCompeteDto { } @Data - @ApiModel("修改日程安排") + @ApiModel("修改日程安排111") public static class UpdateAndSearch{ @ApiModelProperty("项目id") private Long projectId; @@ -199,11 +199,22 @@ public class ProvinceCompeteDto { private Long teamId; } + @Data @ApiModel("修改日程安排") + public static class UpdateCompeteProjectConfig{ + @NotNull + @ApiModelProperty("Tall当前项目id") + private Long projectId; + @ApiModelProperty("单项时间 单位:秒") + private List updateCompeteTaskList; + } + + @Data + @ApiModel("需要修改的日程安排") public static class UpdateCompeteTask{ @NotNull - @ApiModelProperty("项目id") + @ApiModelProperty("比赛项目项目id") private Long projectId; @ApiModelProperty("单项时间 单位:秒") private long duration; 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 5bdd5bf5..ca60c16b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -121,20 +121,17 @@ public class CompeteTaskService implements ICompeteTaskService{ projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId()); List projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); if (CollectionUtil.isNotEmpty(projectPlayerList)) { + //计算场次 + int order = (int) Math.ceil(competeProjectConfig.getSiteNum() / projectPlayerList.size()); + + //场次 int competeOrder = 1; //场地 int site = 1; for (CompeteProjectPlayer projectPlayer : projectPlayerList) { - //添加出场顺序 - CompeteStartOrder competeStartOrder = new CompeteStartOrder(); - competeStartOrder.setId(snowflake.nextId()); - competeStartOrder.setProjectId(project.getId()); - competeStartOrder.setPlayerId(projectPlayer.getId()); - competeStartOrder.setTeam((byte) 0); - competeStartOrder.setSite((byte) site); - competeStartOrder.setCompeteOrder((byte) competeOrder); - startOrderMapper.insertSelective(competeStartOrder); + //添加出场顺序和tall的任务 + addStartOrderAndTask(project.getId(), competeOrder, site, projectPlayer.getId(),0); site++; if(site > competeProjectConfig.getSiteNum()){ site = 1; @@ -153,15 +150,8 @@ public class CompeteTaskService implements ICompeteTaskService{ //场地 int site = 1; for (CompeteTeam competeTeam : teamList) { - //添加出场顺序 - CompeteStartOrder competeStartOrder = new CompeteStartOrder(); - competeStartOrder.setId(snowflake.nextId()); - competeStartOrder.setProjectId(project.getId()); - competeStartOrder.setPlayerId(competeTeam.getId()); - competeStartOrder.setSite((byte) site); - competeStartOrder.setTeam((byte) 1); - competeStartOrder.setCompeteOrder((byte) competeOrder); - startOrderMapper.insertSelective(competeStartOrder); + //添加出场顺序和tall的任务 + addStartOrderAndTask(project.getId(), competeOrder, site, competeTeam.getId(),1); site++; if(site > competeProjectConfig.getSiteNum()){ site = 1; @@ -174,4 +164,16 @@ public class CompeteTaskService implements ICompeteTaskService{ } } + private void addStartOrderAndTask(Long projectId, int competeOrder, int site, Long playerOrTeamId,int isTeam) { + //添加出场顺序 + CompeteStartOrder competeStartOrder = new CompeteStartOrder(); + competeStartOrder.setId(snowflake.nextId()); + competeStartOrder.setProjectId(projectId); + competeStartOrder.setPlayerId(playerOrTeamId); + competeStartOrder.setSite((byte) site); + competeStartOrder.setTeam((byte) isTeam); + competeStartOrder.setCompeteOrder((byte) competeOrder); + startOrderMapper.insertSelective(competeStartOrder); + } + } From 52a105155f87037623c7c9cd7e4b21f046df84dd Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 16 Nov 2020 09:21:20 +0800 Subject: [PATCH 7/7] 20201116v1.0 --- .../cloudutil/bean/tall/dto/TallTaskDto.java | 131 ++++++++++++ .../ccsens/cloudutil/bean/tall/vo/TaskVo.java | 110 +++++++++++ .../cloudutil/feign/TallFeignClient.java | 55 +++++- .../ccsens/mt/api/CompeteTaskController.java | 23 ++- .../mt/bean/dto/ProvinceCompeteDto.java | 17 +- .../ccsens/mt/bean/po/CompeteStartOrder.java | 33 ++++ .../mt/bean/po/CompeteStartOrderExample.java | 180 +++++++++++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 79 ++++++++ .../mt/persist/dao/CompeteJudgmentDao.java | 18 ++ .../persist/dao/CompeteProjectConfigDao.java | 8 + .../ccsens/mt/service/CompeteTaskService.java | 187 ++++++++++++++---- .../mt/service/ICompeteTaskService.java | 17 +- .../java/com/ccsens/mt/util/Constant.java | 5 + .../mapper_dao/CompeteJudgmentDao.xml | 44 +++++ .../mapper_dao/CompeteProjectConfigDao.xml | 57 ++++++ .../mapper_raw/CompeteStartOrderMapper.xml | 58 +++++- .../com/ccsens/tall/web/TaskController.java | 4 +- 17 files changed, 966 insertions(+), 60 deletions(-) create mode 100644 cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java create mode 100644 mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java new file mode 100644 index 00000000..e9f3592f --- /dev/null +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java @@ -0,0 +1,131 @@ +package com.ccsens.cloudutil.bean.tall.dto; + +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.exception.BaseException; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.NonNull; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel +public class TallTaskDto { + + @ApiModel + @Data + public static class AddTask { + @ApiModelProperty("关联项目Id") + private Long projectId; + @ApiModelProperty("关联的任务id(detailId)") + private Long parentTaskId; + @ApiModelProperty("任务名称") + @NotEmpty(message = "任务名不能为空") + private String taskName; + @ApiModelProperty("任务描述") + private String description; + @ApiModelProperty("负责人id") + @NotNull(message = "请选择负责人") + private Long executorId; + @ApiModelProperty("开始时间") + private Long beginTime; + @ApiModelProperty("结束时间") + private Long endTime; + @ApiModelProperty("重复周期") + private String cycle; + @ApiModelProperty("交付物") + private String taskDeliver; + @ApiModelProperty("插件") + private List pluginList; + @ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0") + private Byte priority; + @ApiModelProperty("任务提醒消息") + private TaskRemindByAdd taskRemind; + } + + @Data + @ApiModel("添加时设置任务提醒") + public static class TaskRemindByAdd{ + @ApiModelProperty("提醒时机 0不提醒 1开始前,2开始时,3开始后,4结束前,5结束时,6结束后,7自定义时间") + private Byte remindTiming; + @ApiModelProperty("时长 提醒时机是“开始时”或“结束时”可以为空") + private Long duration = 0L; + @ApiModelProperty("时间单位 0分钟 1小时 2天") + private Byte unit; + + public Long getDuration(){ + if(ObjectUtil.isNull(unit)) { + throw new BaseException("时间单位不能为空"); + } + if(remindTiming == 7){ + return duration; + } + switch (unit) { + case 0: + return duration * 60 * 1000L; + case 1: + return duration * 60 * 60 * 1000L; + case 2: + return duration * 24 * 60 * 60 * 1000L; + default: + return duration; + } + } + } + + @Data + @ApiModel("修改任务详细信息") + public static class UpdateTaskInfo{ + @ApiModelProperty("任务id") + private Long id; + @ApiModelProperty("任务名") + private String name; + @ApiModelProperty("任务详情") + private String description; + @ApiModelProperty("负责人") + private Long executorRole; + @ApiModelProperty("任务开始时间") + private Long beginTime; + @ApiModelProperty("任务结束时间") + private Long endTime; + @ApiModelProperty("重复频率") + private String cycle; + @ApiModelProperty("任务奖惩") + private Long money; + @ApiModelProperty("任务切换模式,0时间到立刻切换 1延迟delay_time切换 2手动切换") + private int delay; + @ApiModelProperty("延迟切换时间") + private Long delayTime; + @ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0") + private Byte priority; + @ApiModelProperty("是否是里程碑 0否 1是") + private Byte milestone; + @ApiModelProperty("需要修改的插件Id") + private List plugins; + } + + @Data + @ApiModel("修改插件配置") + public static class UpdatePluginConfig { + @NonNull + @ApiModelProperty("任务id") + private Long taskId; + @ApiModelProperty("任务插件id") + private Long taskPluginId; + @ApiModelProperty("页面接口路径") + private String webPath; + @ApiModelProperty("入参") + private String importParam; + @ApiModelProperty("放置位置 默认0 ,0任务名 1详情页 2任务下") + private Byte placeLocation; + @ApiModelProperty("程序位置 0:tall内部,1外部") + private Byte routineLocation; + + public UpdatePluginConfig() { + } + } + +} diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java index bc5f3205..b90bc85e 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java @@ -1,7 +1,14 @@ package com.ccsens.cloudutil.bean.tall.vo; +import cn.hutool.core.util.ObjectUtil; +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; +import java.util.List; + @Data public class TaskVo { @Data @@ -11,4 +18,107 @@ public class TaskVo { private Long projectId; private String projectName; } + + @ApiModel + @Data + public static class NormalTask{ + @ApiModelProperty("任务详细信息id") + private Long detailId; + @ApiModelProperty("当前任务的时间段id") + private Long id; + @ApiModelProperty("名称") + private String name; + @ApiModelProperty("详细描述") + private String description; + @ApiModelProperty("父任务名称") + private String parentName; + @ApiModelProperty("所属项目id") + private Long projectId; + @ApiModelProperty("所属项目名称") + private String projectName; + @ApiModelProperty("负责人Id") + private Long executorRole; + @ApiModelProperty("负责人名称") + private String executorRoleName; + @ApiModelProperty("开始时间") + private Long beginTime; + @ApiModelProperty("结束时间") + private Long endTime; + @ApiModelProperty("时长") + private Long duration; + @ApiModelProperty("循环周期") + private String cycle; + @ApiModelProperty("跳转模式 0自动,1延迟,2手动") + private int delay; + @ApiModelProperty("实际开始时间") + private Long realBeginTime; + @ApiModelProperty("实际结束时间") + private Long realEndTime; + @ApiModelProperty("跳转结束时间") + private Long loopEndTime; + @ApiModelProperty("跳转的任务id") + private Long loopTo; + @ApiModelProperty("执行时间") + private Long execTimes; + @ApiModelProperty("奖惩") + private BigDecimal money; + @ApiModelProperty("状态:0-未开始,1-进行中,2-已完成") + private int process; + @ApiModelProperty("子项目id") + private Long subProjectId; + @ApiModelProperty("子项目名字") + private String subProjectName; + @ApiModelProperty("服务器时间") + private Long serverTime; + @ApiModelProperty("任务类型 0普通任务 1虚拟任务") + private int virtual; + @ApiModelProperty("有无分组") + private int hasGroup; + @ApiModelProperty("分数") + private BigDecimal score; + @ApiModelProperty("插件") + private List plugins; + @ApiModelProperty("二级任务") + private List secondTasks; + @ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束") + private Byte timeStatus = 0; + @ApiModelProperty("当前周期内任务的序号") + private int sequence; + @ApiModelProperty("页面/接口路径") + private String webPath; + @ApiModelProperty("程序位置 0:tall内部,1外部") + private Byte routineLocation; + @ApiModelProperty("入参") + private String importParam; + public Long getDuration(){ + if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) { + return endTime - beginTime; + } + return null; + } + + public Long getServerTime(){ + return System.currentTimeMillis(); + } + + } + + @ApiModel + @Data + public static class PluginVo{ + @ApiModelProperty("插件id") + private String id; + @ApiModelProperty("插件名") + private String name; + @ApiModelProperty("插件描述") + private String description; + @ApiModelProperty("显示分类") + private String showType; + @ApiModelProperty("页面/接口路径") + private String webPath; + @ApiModelProperty("程序位置 0:tall内部,1外部") + private Byte routineLocation; + @ApiModelProperty("入参") + private String importParam; + } } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java index 66711006..c0e96b64 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -1,10 +1,7 @@ package com.ccsens.cloudutil.feign; import com.ccsens.cloudutil.bean.QueryParam; -import com.ccsens.cloudutil.bean.tall.dto.LogDto; -import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto; -import com.ccsens.cloudutil.bean.tall.dto.UserDto; -import com.ccsens.cloudutil.bean.tall.dto.WpsDto; +import com.ccsens.cloudutil.bean.tall.dto.*; import com.ccsens.cloudutil.bean.tall.vo.*; import com.ccsens.util.JsonResponse; import feign.hystrix.FallbackFactory; @@ -12,10 +9,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -177,12 +171,35 @@ public interface TallFeignClient { @GetMapping("/v1/3rd/getFilePath") String getWpsFilePath(@RequestParam(name = "businessId") Long businessId,@RequestParam(name = "businessType") byte businessType); - /** + /** * 通过userId呵taskId查找用户信息 */ @GetMapping("/users/memberByTask") JsonResponse getMemberInfoByUserIdAndTaskId(@RequestParam(name = "userId") Long userId,@RequestParam(name = "taskId") Long taskId); + + /** + * 添加任务 + */ + @RequestMapping("/tasks") + JsonResponse saveTask(TallTaskDto.AddTask addTask); + + /** + * 修改任务 + */ + @RequestMapping("/tasks/change") + JsonResponse updataTask(TallTaskDto.UpdateTaskInfo updateTaskInfo); + /** + * 删除任务 + */ + @DeleteMapping("/tasks") + JsonResponse deleteTask(@RequestParam(name = "taskId") Long taskId); + + /** + * 修改任务插件配置 + */ + @DeleteMapping("/plugins/config") + JsonResponse updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig); } @Slf4j @@ -295,6 +312,26 @@ class TallFeignClientFallBack implements FallbackFactory { public JsonResponse getMemberInfoByUserIdAndTaskId(Long userId, Long taskId) { return JsonResponse.newInstance().fail(); } + + @Override + public JsonResponse saveTask(TallTaskDto.AddTask addTask) { + return JsonResponse.newInstance().fail(); + } + + @Override + public JsonResponse updataTask(TallTaskDto.UpdateTaskInfo updateTaskInfo) { + return JsonResponse.newInstance().fail(); + } + + @Override + public JsonResponse deleteTask(Long taskId) { + return JsonResponse.newInstance().fail(); + } + + @Override + public JsonResponse updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig) { + return JsonResponse.newInstance().fail(); + } }; } diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java index eae789aa..20bbd7bc 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java @@ -3,6 +3,7 @@ package com.ccsens.mt.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.service.ICompeteTaskService; import com.ccsens.util.JsonResponse; @@ -47,9 +48,29 @@ public class CompeteTaskController { @RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse updateCompeteConfig(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); - List dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam().getUpdateCompeteTaskList()); + List dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam()); log.info("日程安排更新:{}",dailyScheduleProcessList); return JsonResponse.newInstance().ok(dailyScheduleProcessList); } + @MustLogin + @ApiOperation(value = "查看该学校选手列表,按出场顺序(手机上上传视频用)", notes = "zy:按顺序查找出场顺序表,筛选出该学校在此项目中的所有选手或团队的出场顺序和时间") + @RequestMapping(value = "/query/players", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryStartOrderByCompany(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("日程安排更新:{}",params); + List startOrderByCompanyList = competeTaskService.queryStartOrderByCompany(params.getParam()); + log.info("日程安排更新:{}",startOrderByCompanyList); + return JsonResponse.newInstance().ok(startOrderByCompanyList); + } + + @MustLogin + @ApiOperation(value = "查看裁判分配信息", notes = "zy:查看每个项目下的每个场地的裁判信息") + @RequestMapping(value = "/query/judgment", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryJudgment(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("日程安排更新:{}",params); + List queryJudgmentList = competeTaskService.queryJudgment(params.getParam()); + log.info("日程安排更新:{}",queryJudgmentList); + return JsonResponse.newInstance().ok(queryJudgmentList); + } + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 29ea012c..82ba72da 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -202,7 +202,7 @@ public class ProvinceCompeteDto { @Data @ApiModel("修改日程安排") - public static class UpdateCompeteProjectConfig{ + public static class UpdateCompeteProjectConfig{ @NotNull @ApiModelProperty("Tall当前项目id") private Long projectId; @@ -212,7 +212,7 @@ public class ProvinceCompeteDto { @Data @ApiModel("需要修改的日程安排") - public static class UpdateCompeteTask{ + public static class UpdateCompeteTask{ @NotNull @ApiModelProperty("比赛项目项目id") private Long projectId; @@ -226,4 +226,17 @@ public class ProvinceCompeteDto { private Long endTime; } + @Data + @ApiModel("手机上查找当前单位的选手出场顺序") + public static class QueryStartOrderByCompany{ + @ApiModelProperty("比赛项目id,为空则查询全部项目") + private Long projectId; + @NotNull + @ApiModelProperty("大赛id") + private Long competeTimeId; + @NotNull + @ApiModelProperty("单位id") + private Long companyId; + } + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrder.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrder.java index eea9504c..9b6b8246 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrder.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrder.java @@ -22,6 +22,12 @@ public class CompeteStartOrder implements Serializable { private Byte recStatus; + private Long taskId; + + private Long startTime; + + private Long endTime; + private static final long serialVersionUID = 1L; public Long getId() { @@ -96,6 +102,30 @@ public class CompeteStartOrder implements Serializable { this.recStatus = recStatus; } + public Long getTaskId() { + return taskId; + } + + public void setTaskId(Long taskId) { + this.taskId = taskId; + } + + public Long getStartTime() { + return startTime; + } + + public void setStartTime(Long startTime) { + this.startTime = startTime; + } + + public Long getEndTime() { + return endTime; + } + + public void setEndTime(Long endTime) { + this.endTime = endTime; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -111,6 +141,9 @@ public class CompeteStartOrder implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", taskId=").append(taskId); + sb.append(", startTime=").append(startTime); + sb.append(", endTime=").append(endTime); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrderExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrderExample.java index efd0d04e..7df6cbdc 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrderExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrderExample.java @@ -644,6 +644,186 @@ public class CompeteStartOrderExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andTaskIdIsNull() { + addCriterion("task_id is null"); + return (Criteria) this; + } + + public Criteria andTaskIdIsNotNull() { + addCriterion("task_id is not null"); + return (Criteria) this; + } + + public Criteria andTaskIdEqualTo(Long value) { + addCriterion("task_id =", value, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdNotEqualTo(Long value) { + addCriterion("task_id <>", value, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdGreaterThan(Long value) { + addCriterion("task_id >", value, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdGreaterThanOrEqualTo(Long value) { + addCriterion("task_id >=", value, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdLessThan(Long value) { + addCriterion("task_id <", value, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdLessThanOrEqualTo(Long value) { + addCriterion("task_id <=", value, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdIn(List values) { + addCriterion("task_id in", values, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdNotIn(List values) { + addCriterion("task_id not in", values, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdBetween(Long value1, Long value2) { + addCriterion("task_id between", value1, value2, "taskId"); + return (Criteria) this; + } + + public Criteria andTaskIdNotBetween(Long value1, Long value2) { + addCriterion("task_id not between", value1, value2, "taskId"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNull() { + addCriterion("start_time is null"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNotNull() { + addCriterion("start_time is not null"); + return (Criteria) this; + } + + public Criteria andStartTimeEqualTo(Long value) { + addCriterion("start_time =", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotEqualTo(Long value) { + addCriterion("start_time <>", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThan(Long value) { + addCriterion("start_time >", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThanOrEqualTo(Long value) { + addCriterion("start_time >=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThan(Long value) { + addCriterion("start_time <", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThanOrEqualTo(Long value) { + addCriterion("start_time <=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeIn(List values) { + addCriterion("start_time in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotIn(List values) { + addCriterion("start_time not in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeBetween(Long value1, Long value2) { + addCriterion("start_time between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotBetween(Long value1, Long value2) { + addCriterion("start_time not between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNull() { + addCriterion("end_time is null"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNotNull() { + addCriterion("end_time is not null"); + return (Criteria) this; + } + + public Criteria andEndTimeEqualTo(Long value) { + addCriterion("end_time =", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotEqualTo(Long value) { + addCriterion("end_time <>", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThan(Long value) { + addCriterion("end_time >", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThanOrEqualTo(Long value) { + addCriterion("end_time >=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThan(Long value) { + addCriterion("end_time <", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThanOrEqualTo(Long value) { + addCriterion("end_time <=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIn(List values) { + addCriterion("end_time in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotIn(List values) { + addCriterion("end_time not in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeBetween(Long value1, Long value2) { + addCriterion("end_time between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotBetween(Long value1, Long value2) { + addCriterion("end_time not between", value1, value2, "endTime"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { 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 3fb471a7..6f1a9738 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 @@ -1,5 +1,7 @@ package com.ccsens.mt.bean.vo; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.mt.util.Constant; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -230,4 +232,81 @@ public class ProvinceCompeteVo { private int sexGroup; private String groupRemark = "123"; } + + @Data + @ApiModel("查看单位下当前项目所有参赛人员或队伍信息") + public static class StartOrderByCompany { + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("项目名") + private String projectName; + @ApiModelProperty("场次id") + private Long startOrderId; + @ApiModelProperty("场次") + private int competeOrder; + @ApiModelProperty("场地") + private int site; + @ApiModelProperty("选手名") + private String playerName; + @ApiModelProperty("组别名") + private String groupName; + @ApiModelProperty("开始时间") + private Long startTime; + @ApiModelProperty("结束时间") + private Long endTime; + + public Long getStartTime(){ + if(ObjectUtil.isNotNull(startTime) && startTime != 0){ + return startTime + Constant.UPLOAD_VIDEO_TIME; + } + return null; + } + + public Long getEndTime(){ + if(ObjectUtil.isNotNull(endTime) && endTime != 0){ + return endTime + Constant.UPLOAD_VIDEO_TIME; + } + return null; + } + + } + + + @Data + @ApiModel("查看裁判分配信息") + public static class QueryJudgment { + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("项目名") + private String projectName; + @ApiModelProperty("项目开始时间") + private Long startTime; + @ApiModelProperty("项目结束时间") + private Long endTime; + @ApiModelProperty("项目下的场地") + private List siteList; + } + @Data + @ApiModel("项目下的场地信息") + public static class ProjectSite { + @ApiModelProperty("场地编号") + private int siteNum; + @ApiModelProperty("场地下的裁判") + private List judgmentList; + } + + @Data + @ApiModel("场地下的裁判信息") + public static class SiteJudgment { + @ApiModelProperty("裁判编号") + private int judgmentNum; + @ApiModelProperty("裁判名字") + private String judgmentName; + @ApiModelProperty("裁判手机号") + private String judgmentPhone; + @ApiModelProperty("备注") + private String remark; + + } + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java new file mode 100644 index 00000000..4361db75 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java @@ -0,0 +1,18 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.persist.mapper.CompeteJudgmentMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface CompeteJudgmentDao extends CompeteJudgmentMapper { + /** + * 查找裁判分配信息 + * @param competeTimeId 大赛id + * @return + */ + List queryJudgment(@Param("competeTimeId") Long competeTimeId); +} diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java index 6f31e47b..39a3bb49 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java @@ -2,6 +2,7 @@ package com.ccsens.mt.persist.dao; import com.ccsens.mt.bean.po.CompeteProjectConfig; import com.ccsens.mt.bean.po.CompeteProjectConfigExample; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.mapper.CompeteProjectConfigMapper; import org.apache.ibatis.annotations.Param; @@ -28,4 +29,11 @@ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper { */ List queryProjectConfig(@Param("type")int type); + /** + * 查看该学校选手列表,按出场顺序(手机上上传视频用) + * @param companyId 单位id + * @param projectId 项目di + * @return 返回选手列表 + */ + List queryStartOrderByCompany(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("competeTimeId")Long competeTimeId); } \ No newline at end of file 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 ca60c16b..a59ef5c4 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -3,16 +3,19 @@ package com.ccsens.mt.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; +import com.ccsens.cloudutil.bean.tall.dto.TallTaskDto; +import com.ccsens.cloudutil.bean.tall.vo.TaskVo; +import com.ccsens.cloudutil.feign.TallFeignClient; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.po.*; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.TableVo; -import com.ccsens.mt.persist.dao.CompeteProjectConfigDao; -import com.ccsens.mt.persist.dao.CompeteProjectDao; -import com.ccsens.mt.persist.dao.CompeteTeamDao; -import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.mapper.CompeteProjectPlayerMapper; import com.ccsens.mt.persist.mapper.CompeteStartOrderMapper; +import com.ccsens.mt.util.Constant; +import com.ccsens.util.JsonResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -44,7 +47,14 @@ public class CompeteTaskService implements ICompeteTaskService{ private CompeteStartOrderMapper startOrderMapper; @Resource private CompeteTeamDao competeTeamDao; + @Resource + private TallFeignClient tallFeignClient; + @Resource + private CompeteJudgmentDao competeJudgmentDao; + /** + * 查看项目的日程配置信息 + */ @Override public List queryCompeteConfig(CompeteDto.CompeteTime param) { CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId()); @@ -55,12 +65,15 @@ public class CompeteTaskService implements ICompeteTaskService{ return competeProjectConfigList; } + /** + * 修改项目的日程配置 + */ @Override - public List updateCompeteProjectConfig(List param) { + public List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param) { //获取比赛类型 AtomicInteger type = new AtomicInteger(); - if(CollectionUtil.isNotEmpty(param)){ - param.forEach(projectConfig -> { + if(CollectionUtil.isNotEmpty(param.getUpdateCompeteTaskList())){ + param.getUpdateCompeteTaskList().forEach(projectConfig -> { //获取项目 CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); if(ObjectUtil.isNotNull(project)){ @@ -91,7 +104,7 @@ public class CompeteTaskService implements ICompeteTaskService{ projectConfigDao.insertSelective(competeProjectConfig); } // TODO 生成出场顺序表,存入数据库。在tall内添加对应的任务 - setStartOrder(competeProjectConfig); + setStartOrder(competeProjectConfig,param.getProjectId()); }); } return projectConfigDao.queryProjectConfig(type.get()); @@ -99,21 +112,11 @@ public class CompeteTaskService implements ICompeteTaskService{ /** * 修改配置时生成出场顺序(先删除之前的数据) */ - public void setStartOrder(CompeteProjectConfig competeProjectConfig) { - if (ObjectUtil.isNotNull(competeProjectConfig)) { + public void setStartOrder(CompeteProjectConfig projectConfig, Long tallProjectId) { + if (ObjectUtil.isNotNull(projectConfig)) { //查找项目 - CompeteProject project = competeProjectDao.selectByPrimaryKey(competeProjectConfig.getProjectId()); + CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); if (ObjectUtil.isNotNull(project)) { - //首先删除此项目以前的出场顺序 - CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); - startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()); - List startOrderList = startOrderMapper.selectByExample(startOrderExample); - if(ObjectUtil.isNotNull(startOrderExample)){ - startOrderList.forEach(startOrder -> { - startOrder.setRecStatus((byte) 2); - startOrderMapper.updateByPrimaryKeySelective(startOrder); - }); - } //判断是团队还是个人项目 if (project.getTeam() == 0) { //个人项目查找所有参赛信息 @@ -122,20 +125,68 @@ public class CompeteTaskService implements ICompeteTaskService{ List projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); if (CollectionUtil.isNotEmpty(projectPlayerList)) { //计算场次 - int order = (int) Math.ceil(competeProjectConfig.getSiteNum() / projectPlayerList.size()); - - + int order = (int) Math.ceil(projectConfig.getSiteNum() / projectPlayerList.size()); + //计算每个场次时间 + long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME; + long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); //场次 int competeOrder = 1; //场地 int site = 1; for (CompeteProjectPlayer projectPlayer : projectPlayerList) { - //添加出场顺序和tall的任务 - addStartOrderAndTask(project.getId(), competeOrder, site, projectPlayer.getId(),0); + CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); + startOrderExample.createCriteria().andPlayerIdEqualTo(projectPlayer.getId()).andProjectIdEqualTo(project.getId()); + List startOrderList = startOrderMapper.selectByExample(startOrderExample); + if(CollectionUtil.isNotEmpty(startOrderList)){ + CompeteStartOrder competeStartOrder = startOrderList.get(0); + competeStartOrder.setSite((byte) site); + competeStartOrder.setCompeteOrder((byte) competeOrder); + if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ + competeStartOrder.setStartTime(projectStartTime); + competeStartOrder.setEndTime(projectStartTime + orderTime); + // TODO 修改tall的任务 + TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); + updateTaskInfo.setId(competeStartOrder.getId()); + updateTaskInfo.setBeginTime(competeStartOrder.getId()); + updateTaskInfo.setBeginTime(competeStartOrder.getEndTime()); + tallFeignClient.updataTask(updateTaskInfo); + } + startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); + + }else{ + //添加tall的任务 + Long taskId = null; + TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); + addTask.setProjectId(tallProjectId); + addTask.setTaskName(project.getName() + competeOrder +"-" + site); + addTask.setBeginTime(projectStartTime); + addTask.setEndTime(projectStartTime + orderTime); + addTask.setExecutorId(1L); + JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); + if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { + TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); + if (ObjectUtil.isNotNull(normalTask)) { + taskId = normalTask.getDetailId(); + } + } + //添加出场顺序信息 + CompeteStartOrder competeStartOrder = new CompeteStartOrder(); + competeStartOrder.setId(snowflake.nextId()); + competeStartOrder.setProjectId(project.getId()); + competeStartOrder.setPlayerId(projectPlayer.getId()); + competeStartOrder.setSite((byte) site); + competeStartOrder.setTeam((byte) 0); + competeStartOrder.setCompeteOrder((byte) competeOrder); + competeStartOrder.setTaskId(taskId); + competeStartOrder.setStartTime(projectStartTime); + competeStartOrder.setEndTime(projectStartTime + orderTime); + startOrderMapper.insertSelective(competeStartOrder); + } site++; - if(site > competeProjectConfig.getSiteNum()){ + if(site > projectConfig.getSiteNum()){ site = 1; competeOrder++; + projectStartTime += orderTime; } } } @@ -145,17 +196,69 @@ public class CompeteTaskService implements ICompeteTaskService{ teamExample.createCriteria().andProjectIdEqualTo(project.getId()); List teamList = competeTeamDao.selectByExample(teamExample); if(CollectionUtil.isNotEmpty(teamList)){ + //计算场次 + int order = (int) Math.ceil(projectConfig.getSiteNum() / teamList.size()); + //计算每个场次时间 + long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME; + long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); //场次 int competeOrder = 1; //场地 int site = 1; for (CompeteTeam competeTeam : teamList) { - //添加出场顺序和tall的任务 - addStartOrderAndTask(project.getId(), competeOrder, site, competeTeam.getId(),1); + CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); + startOrderExample.createCriteria().andPlayerIdEqualTo(competeTeam.getId()).andProjectIdEqualTo(project.getId()); + List startOrderList = startOrderMapper.selectByExample(startOrderExample); + if(CollectionUtil.isNotEmpty(startOrderList)){ + CompeteStartOrder competeStartOrder = startOrderList.get(0); + competeStartOrder.setSite((byte) site); + competeStartOrder.setCompeteOrder((byte) competeOrder); + if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ + competeStartOrder.setStartTime(projectStartTime); + competeStartOrder.setEndTime(projectStartTime + orderTime); + // TODO 修改tall的任务 + TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); + updateTaskInfo.setId(competeStartOrder.getId()); + updateTaskInfo.setBeginTime(competeStartOrder.getId()); + updateTaskInfo.setBeginTime(competeStartOrder.getEndTime()); + tallFeignClient.updataTask(updateTaskInfo); + } + startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); + + }else{ + //添加tall的任务 + Long taskId = null; + TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); + addTask.setProjectId(tallProjectId); + addTask.setTaskName(project.getName() + competeOrder +"-" + site); + addTask.setBeginTime(projectStartTime); + addTask.setEndTime(projectStartTime + orderTime); + addTask.setExecutorId(1L); + JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); + if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { + TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); + if (ObjectUtil.isNotNull(normalTask)) { + taskId = normalTask.getDetailId(); + } + } + //添加出场顺序信息 + CompeteStartOrder competeStartOrder = new CompeteStartOrder(); + competeStartOrder.setId(snowflake.nextId()); + competeStartOrder.setProjectId(project.getId()); + competeStartOrder.setPlayerId(competeTeam.getId()); + competeStartOrder.setSite((byte) site); + competeStartOrder.setTeam((byte) 0); + competeStartOrder.setCompeteOrder((byte) competeOrder); + competeStartOrder.setTaskId(taskId); + competeStartOrder.setStartTime(projectStartTime); + competeStartOrder.setEndTime(projectStartTime + orderTime); + startOrderMapper.insertSelective(competeStartOrder); + } site++; - if(site > competeProjectConfig.getSiteNum()){ + if(site > projectConfig.getSiteNum()){ site = 1; competeOrder++; + projectStartTime += orderTime; } } } @@ -164,16 +267,20 @@ public class CompeteTaskService implements ICompeteTaskService{ } } - private void addStartOrderAndTask(Long projectId, int competeOrder, int site, Long playerOrTeamId,int isTeam) { - //添加出场顺序 - CompeteStartOrder competeStartOrder = new CompeteStartOrder(); - competeStartOrder.setId(snowflake.nextId()); - competeStartOrder.setProjectId(projectId); - competeStartOrder.setPlayerId(playerOrTeamId); - competeStartOrder.setSite((byte) site); - competeStartOrder.setTeam((byte) isTeam); - competeStartOrder.setCompeteOrder((byte) competeOrder); - startOrderMapper.insertSelective(competeStartOrder); + + /** + * 手机上查看选手出场顺序 + */ + @Override + public List queryStartOrderByCompany(ProvinceCompeteDto.QueryStartOrderByCompany param) { + return projectConfigDao.queryStartOrderByCompany(param.getCompanyId(),param.getProjectId(),param.getCompeteTimeId()); } + /** + * 查看裁判分配信息 + */ + @Override + public List queryJudgment(CompeteDto.CompeteTime param) { + return competeJudgmentDao.queryJudgment(param.getCompeteTimeId()); + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java index 02e716af..4f604088 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java @@ -2,6 +2,7 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.TableVo; import java.util.List; @@ -15,7 +16,7 @@ public interface ICompeteTaskService { * @param param * @return */ - List updateCompeteProjectConfig(List param); + List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param); /** * 查找所有项目的日程配置 @@ -23,4 +24,18 @@ public interface ICompeteTaskService { * @return */ List queryCompeteConfig(CompeteDto.CompeteTime param); + + /** + * 查找该单位下参加该项目的选手的出场顺序信息 + * @param param + * @return + */ + List queryStartOrderByCompany(ProvinceCompeteDto.QueryStartOrderByCompany param); + + /** + * 查看所有项目下的裁判分配信息 + * @param param + * @return + */ + List queryJudgment(CompeteDto.CompeteTime param); } 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 a855322f..b43f305a 100644 --- a/mt/src/main/java/com/ccsens/mt/util/Constant.java +++ b/mt/src/main/java/com/ccsens/mt/util/Constant.java @@ -46,6 +46,11 @@ public class Constant { * 速度通级赛id */ public static final long CERTIFICATE = 2018; + /** + * 每个比赛项目留给选手上传视频的时间(暂定半个小时,可以修改) + */ + public static final long UPLOAD_VIDEO_TIME = 30 * 60 * 1000; + public final static class Compete{ public final static byte PROJECT_JOIN_RULE_GROUP_LIMIT = 0; diff --git a/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml b/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml new file mode 100644 index 00000000..04b81bf9 --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml index 13b5f64f..5edd2613 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -166,6 +166,63 @@ and p.rec_status = 0 GROUP BY p.id + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteStartOrderMapper.xml b/mt/src/main/resources/mapper_raw/CompeteStartOrderMapper.xml index 8e150359..87ab15d4 100644 --- a/mt/src/main/resources/mapper_raw/CompeteStartOrderMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteStartOrderMapper.xml @@ -11,6 +11,9 @@ + + + @@ -71,7 +74,8 @@ - id, project_id, player_id, team, compete_order, site, created_at, updated_at, rec_status + id, project_id, player_id, team, compete_order, site, created_at, updated_at, rec_status, + task_id, start_time, end_time @@ -210,6 +234,15 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + task_id = #{record.taskId,jdbcType=BIGINT}, + + + start_time = #{record.startTime,jdbcType=BIGINT}, + + + end_time = #{record.endTime,jdbcType=BIGINT}, + @@ -225,7 +258,10 @@ site = #{record.site,jdbcType=TINYINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + task_id = #{record.taskId,jdbcType=BIGINT}, + start_time = #{record.startTime,jdbcType=BIGINT}, + end_time = #{record.endTime,jdbcType=BIGINT} @@ -257,6 +293,15 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + task_id = #{taskId,jdbcType=BIGINT}, + + + start_time = #{startTime,jdbcType=BIGINT}, + + + end_time = #{endTime,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -269,7 +314,10 @@ site = #{site,jdbcType=TINYINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + task_id = #{taskId,jdbcType=BIGINT}, + start_time = #{startTime,jdbcType=BIGINT}, + end_time = #{endTime,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/web/TaskController.java b/tall/src/main/java/com/ccsens/tall/web/TaskController.java index f6b90a93..16c0de60 100644 --- a/tall/src/main/java/com/ccsens/tall/web/TaskController.java +++ b/tall/src/main/java/com/ccsens/tall/web/TaskController.java @@ -247,8 +247,8 @@ public class TaskController { @ApiImplicitParams({ @ApiImplicitParam(name = "taskId", value = "任务id", required = true, paramType = "query") }) - @RequestMapping(value = "change", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse updateTask(HttpServletRequest request, + @RequestMapping(value = "/change", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updateTask(HttpServletRequest request, @Validated @RequestBody TaskDto.UpdateTaskInfo updateTaskInfo) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); TaskVo.NormalTask taskInfo = taskDetailService.updateTaskInfo(currentUserId,updateTaskInfo);