diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java index d2ec8f6d..25f734d0 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java @@ -112,4 +112,27 @@ public class MemberRoleDto { private String token; } + @Data + @ApiModel + public static class GetMemberByPhone{ + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("手机号") + private String phone; + @ApiModelProperty("token") + private String token; + } + + + @Data + @ApiModel("给角色添加成员") + public static class SaveMemberInRole{ + @NotNull(message = "角色Id不能为空") + @ApiModelProperty("角色id") + private Long roleId; + @ApiModelProperty("成员Id") + private Long memberId; + @ApiModelProperty("token") + private String token; + } } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java index 5050a6f9..a8849305 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java @@ -42,4 +42,14 @@ public class MemberVo { @ApiModelProperty("userId") private Long userId; } + + + @Data + @ApiModel("查找项目内所有的成员") + public static class MemberList{ + @ApiModelProperty("成员id") + private Long memberId; + @ApiModelProperty("成员名") + private String memberName; + } } 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 28e2b13f..86337fd7 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java @@ -214,6 +214,19 @@ public interface TallFeignClient { */ @RequestMapping("/members/save") JsonResponse saveMember(MemberRoleDto.SaveMember saveMember); + + /** + * 将成员添加至角色内 + */ + @RequestMapping("/roles/saveMember") + JsonResponse saveMemberInRole(MemberRoleDto.SaveMemberInRole saveMember); + + + /** + * 通过手机号和项目id查询成员信息 + */ + @RequestMapping("/members/query/memberByPhone") + JsonResponse queryMemberByPhone(MemberRoleDto.GetMemberByPhone getMemberByPhone); } @Slf4j @@ -356,6 +369,16 @@ class TallFeignClientFallBack implements FallbackFactory { public JsonResponse saveMember(MemberRoleDto.SaveMember saveMember) { return JsonResponse.newInstance().fail(); } + + @Override + public JsonResponse saveMemberInRole(MemberRoleDto.SaveMemberInRole saveMember) { + return JsonResponse.newInstance().fail(); + } + + @Override + public JsonResponse queryMemberByPhone(MemberRoleDto.GetMemberByPhone getMemberByPhone) { + return JsonResponse.newInstance().fail(); + } }; } diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java index 6bff8f81..17421f36 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -42,8 +42,6 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(playerList); } - - @MustLogin @ApiOperation(value = "花样赛提交分数", notes = "Mr.王----提交成绩到那个花样赛得表里面就行了,单表操作") @RequestMapping(value = "/submitOrderList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -89,6 +87,17 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(countScoreCurrentSites); } + + @MustLogin + @ApiOperation(value = "查看计数赛成绩公示表", notes = "多表关联之后,查询当前你场次得分数信息") + @RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看计数赛成绩公示表:{}",params); + List countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam()); + log.info("查看计数赛成绩公示表:{}",params); + return JsonResponse.newInstance().ok(countScoreCurrentSites); + } + @MustLogin @ApiOperation(value = "技术赛提交分数", notes = "接受前端得请求参数,插入相关得表中") @RequestMapping(value = "/submitScore", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) 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 952debdd..ac30c925 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java @@ -71,7 +71,7 @@ public class CompeteTaskController { @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) { + public JsonResponse> queryJudgment(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看裁判分配信息:{}",params); List queryJudgmentList = competeTaskService.queryJudgment(params.getParam()); log.info("查看裁判分配信息:{}",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 ce78afce..f19fc4cd 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 @@ -23,6 +23,15 @@ public class ProvinceCompeteDto { private Long companyId; } + @Data + @ApiModel("查看裁判分配表信息") + public static class QueryJudgment{ + @NotNull + @ApiModelProperty("大赛id") + private Long competeTimeId; + @ApiModelProperty("比赛项目id,不传则查询全部") + private Long projectId; + } @Data @ApiModel("一级项目id") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java index e1d9008b..e1425f72 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java @@ -64,7 +64,7 @@ public class VideoDto { private String videoPath; } @Data - @ApiModel("查看所有二级比赛项目") + @ApiModel("查看所有二级比赛项目()") public static class GetTwoProject{ @ApiModelProperty("大赛id") private Long teamId; diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index 23b9a1dd..89d542c3 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 @@ -472,25 +472,25 @@ public class CompeteVo { @ApiModelProperty("参赛队员名") public String peopleName; @ApiModelProperty("裁判1") - public BigDecimal referee1; + public BigDecimal referee1 = new BigDecimal(0); @ApiModelProperty("裁判2") - public BigDecimal referee2; + public BigDecimal referee2 = new BigDecimal(0); @ApiModelProperty("裁判3") - public BigDecimal referee3; + public BigDecimal referee3 = new BigDecimal(0); @ApiModelProperty("1-3裁判得平均值") - public BigDecimal avg1To3; + public BigDecimal avg1To3 = new BigDecimal(0); @ApiModelProperty("裁判4") - public BigDecimal referee4; + public BigDecimal referee4 = new BigDecimal(0); @ApiModelProperty("裁判5") - public BigDecimal referee5; + public BigDecimal referee5 = new BigDecimal(0); @ApiModelProperty("裁判6") - public BigDecimal referee6; + public BigDecimal referee6 = new BigDecimal(0); @ApiModelProperty("4-6裁判得平均值") - public BigDecimal avg4To6; + public BigDecimal avg4To6 = new BigDecimal(0); @ApiModelProperty("主裁判") - public BigDecimal referee0; + public BigDecimal referee0 = new BigDecimal(0); @ApiModelProperty("最后得分") - public BigDecimal result; + public BigDecimal result = new BigDecimal(0); // @ApiModelProperty("排名") // public int order; } 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 6372cc6a..c2ce6cbe 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 @@ -216,13 +216,15 @@ public class ScoreVo { @ApiModelProperty("主裁2打分") private BigDecimal mainTwoScore; @ApiModelProperty("应得分") - private BigDecimal shouldScore; + private Integer shouldScore; @ApiModelProperty("扣除次数") - private BigDecimal deductTime; + private Integer deductTime; @ApiModelProperty("扣除原因") private String deductReason; @ApiModelProperty("最终成绩") private BigDecimal finalScore; + @ApiModelProperty("备注") + private String remark; } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/VideoProjectVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/VideoProjectVo.java index 0dd30cbb..644838c1 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/VideoProjectVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/VideoProjectVo.java @@ -10,12 +10,14 @@ import lombok.Setter; public class VideoProjectVo { @Data - @ApiModel("查看所有二级比赛项目") + @ApiModel("返回所有二级比赛项目(包括项目类型)") public static class GetTwoProject{ @ApiModelProperty("项目id") private Long projectId; @ApiModelProperty("项目名") private String projectName; + @ApiModelProperty("项目类型") + private int projectType; } @Data @ApiModel("查找所有参赛单位") 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 index 4361db75..bae23bd2 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java @@ -14,5 +14,5 @@ public interface CompeteJudgmentDao extends CompeteJudgmentMapper { * @param competeTimeId 大赛id * @return */ - List queryJudgment(@Param("competeTimeId") Long competeTimeId); + List queryJudgment(@Param("competeTimeId") Long competeTimeId,@Param("projectId") Long projectId); } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java index 828dae59..aa06f8a0 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java @@ -24,4 +24,16 @@ public interface CompeteScoreDao { List selectCountScoreCurrentSite (@Param("siteId") long siteId); + /** + * 查找计数赛成绩公示(个人比赛) + * @param projectId + * @return + */ + List queryCountScoreAll(@Param("projectId")Long projectId); + /** + * 查找计数赛成绩公示(团队比赛) + * @param projectId + * @return + */ + List queryCountScoreAllByTeam(Long projectId); } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java index 5f820582..5532d2b3 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java @@ -1,6 +1,7 @@ package com.ccsens.mt.persist.dao; import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.VideoProjectVo; import com.ccsens.mt.persist.mapper.CompeteTimeMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -56,4 +57,10 @@ public interface CompeteTimeDao extends CompeteTimeMapper { */ List queryGroupByProject(@Param("type") int type, @Param("projectId") Long projectId); + /** + * 查看所有二级比赛项目(不包括通级赛) + * @param teamId + * @return + */ + List selectTwoProject(@Param("teamId")Long teamId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 026b5502..f459c556 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -15,7 +15,6 @@ import com.ccsens.mt.bean.dto.ScoreDto; 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.*; import com.ccsens.mt.util.Constant; @@ -23,8 +22,6 @@ import com.ccsens.util.*; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; @@ -39,7 +36,6 @@ import javax.annotation.Resource; import java.io.*; import java.math.BigDecimal; -import java.util.*; import java.util.ArrayList; import java.util.HashMap; @@ -106,14 +102,19 @@ public class CompeteService implements ICompeteService { List competeStartOrdersList = competeStartOrderMapper.selectByExample(competeStartOrderExample); competeStartOrdersList.forEach(competeStartOrder -> { //一个人或者一个团队得数据 - CompeteVo.TotalScoreDisplay totalScoreDisplay=new CompeteVo.TotalScoreDisplay(); + CompeteVo.TotalScoreDisplay totalScoreDisplay = new CompeteVo.TotalScoreDisplay(); //项目名 - totalScoreDisplay.setCompanyName(competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId()).getName()); - + CompeteProject project = competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId()); + if(ObjectUtil.isNotNull(project)) { + totalScoreDisplay.setCompanyName(project.getName()); + } //名字 if(competeStartOrder.getTeam().equals((byte) 0)){ //个人 - totalScoreDisplay.setPeopleName( competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId()).getName()); + CompetePlayer player = competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId()); + if(ObjectUtil.isNotNull(player)) { + totalScoreDisplay.setPeopleName(player.getName()); + } }else { //团体 CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample(); @@ -1250,4 +1251,17 @@ public class CompeteService implements ICompeteService { competeCountScoreMapper.insert(competeCountScore); } + @Override + public List queryCountScoreAll(ScoreDto.ShowResult param) { + List countScoreCurrentSiteList = new ArrayList<>(); + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + if(ObjectUtil.isNotNull(competeProject)) { + if(competeProject.getTeam() == 0) { + countScoreCurrentSiteList = competeScoreDao.queryCountScoreAll(param.getProjectId()); + }else { + countScoreCurrentSiteList = competeScoreDao.queryCountScoreAllByTeam(param.getProjectId()); + } + } + return countScoreCurrentSiteList; + } } \ 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 09622578..e0d9abb8 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -307,8 +307,8 @@ public class CompeteTaskService implements ICompeteTaskService{ * 查看裁判分配信息 */ @Override - public List queryJudgment(CompeteDto.CompeteTime param) { - List queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId()); + public List queryJudgment(ProvinceCompeteDto.QueryJudgment param) { + List queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId(),param.getProjectId()); if(CollectionUtil.isNotEmpty(queryJudgmentList)){ queryJudgmentList.forEach(projectJudgment -> { //裁判数量 @@ -359,7 +359,7 @@ public class CompeteTaskService implements ICompeteTaskService{ } } } - return competeJudgmentDao.queryJudgment(param.getCompeteTimeId()); + return competeJudgmentDao.queryJudgment(param.getCompeteTimeId(),null); } /** @@ -369,79 +369,126 @@ public class CompeteTaskService implements ICompeteTaskService{ , ProvinceCompeteDto.SiteJudgment siteJudgment, ProvinceCompeteDto.JudgmentInfo judgmentInfo,String token) { // TODO 查找该手机号在此项目之前的裁判信息,修改,同时修改tall内的成员角色信息 //添加裁判信息 - CompeteJudgment competeJudgment = new CompeteJudgment(); - competeJudgment.setId(snowflake.nextId()); - competeJudgment.setName(judgmentInfo.getJudgmentName()); - competeJudgment.setPhone(judgmentInfo.getJudgmentPhone()); - competeJudgment.setRemark(judgmentInfo.getRemark()); - competeJudgment.setCompeteTimeId(competeTimeId); - competeJudgment.setProjectId(project.getId()); - competeJudgment.setSite(siteJudgment.getSite()); - competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); - competeJudgmentDao.insertSelective(competeJudgment); - //添加角色 - MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); - saveRole.setProjectId(tallProjectId); - String jdgmentNum = ""; - if(judgmentInfo.getJudgmentNum() == 0){ - jdgmentNum = "主裁判"; + //查找该项目下的该场地的裁判信息 + CompeteJudgment competeJudgment; + CompeteJudgmentExample competeJudgmentExample = new CompeteJudgmentExample(); + competeJudgmentExample.createCriteria().andProjectIdEqualTo(project.getId()).andCompeteTimeIdEqualTo(competeTimeId) + .andSiteEqualTo(siteJudgment.getSite()).andChiefJudgmentEqualTo((byte) judgmentInfo.getJudgmentNum()); + List competeJudgmentList = competeJudgmentDao.selectByExample(competeJudgmentExample); + if(CollectionUtil.isNotEmpty(competeJudgmentList)){ + competeJudgment = competeJudgmentList.get(0); + competeJudgment.setName(judgmentInfo.getJudgmentName()); + competeJudgment.setPhone(judgmentInfo.getJudgmentPhone()); + competeJudgment.setRemark(judgmentInfo.getRemark()); + competeJudgment.setCompeteTimeId(competeTimeId); + competeJudgment.setProjectId(project.getId()); + competeJudgment.setSite(siteJudgment.getSite()); + competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); + competeJudgmentDao.updateByPrimaryKeySelective(competeJudgment); + //修改角色 + //修改成员 + //修改任务 }else { - jdgmentNum = "裁判"+judgmentInfo.getJudgmentNum(); - } - saveRole.setRoleName(project.getName()+"-场地"+siteJudgment.getSite()+"-"+jdgmentNum); - Long roleId = null; - saveRole.setToken(token); - log.info("在tall内添加角色:{}",saveRole); - JsonResponse roleJsonResponse = tallFeignClient.saveRole(saveRole); - log.info("添加角色后返回:{}",roleJsonResponse); - if (ObjectUtil.isNotNull(roleJsonResponse)) { - MemberVo.RoleInfo roleInfo = roleJsonResponse.getData(); - if (ObjectUtil.isNotNull(roleInfo)) { - roleId = roleInfo.getRoleId(); + competeJudgment = new CompeteJudgment(); + competeJudgment.setId(snowflake.nextId()); + competeJudgment.setName(judgmentInfo.getJudgmentName()); + competeJudgment.setPhone(judgmentInfo.getJudgmentPhone()); + competeJudgment.setRemark(judgmentInfo.getRemark()); + competeJudgment.setCompeteTimeId(competeTimeId); + competeJudgment.setProjectId(project.getId()); + competeJudgment.setSite(siteJudgment.getSite()); + competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); + competeJudgmentDao.insertSelective(competeJudgment); + //添加角色 + MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); + saveRole.setProjectId(tallProjectId); + String jdgmentNum = ""; + if (judgmentInfo.getJudgmentNum() == 0) { + jdgmentNum = "主裁判"; + } else { + jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum(); } - } - //添加成员 - MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember(); - saveMember.setMemberName(judgmentInfo.getJudgmentName()); - saveMember.setProjectId(tallProjectId); - saveMember.setPhone(judgmentInfo.getJudgmentPhone()); - saveMember.setRoleId(Arrays.asList(roleId)); - saveMember.setToken(token); - log.info("在tall内添加成员:{}",saveMember); - JsonResponse memberJsonResponse = tallFeignClient.saveMember(saveMember); - log.info("添加成员后返回:{}",memberJsonResponse); - //如果成员已存在, - //添加任务 - //查找场次信息表 - CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); - startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()) - .andSiteEqualTo((byte) siteJudgment.getSite()); - List startOrderList = startOrderMapper.selectByExample(startOrderExample); - if(CollectionUtil.isNotEmpty(startOrderList)){ - for(CompeteStartOrder startOrder : startOrderList) { - TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); - addTask.setProjectId(tallProjectId); - addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-" - + startOrder.getSite() + "-" + jdgmentNum); - addTask.setBeginTime(startOrder.getStartTime()); - addTask.setEndTime(startOrder.getEndTime()); - addTask.setExecutorId(roleId); - addTask.setParentTaskId(startOrder.getTaskId()); - addTask.setToken(token); - log.info("在tall内添加任务:{}",addTask); - JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); - log.info("添加任务后返回:{}",normalTaskJsonResponse); - if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { - TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); - if (ObjectUtil.isNotNull(normalTask)) { - //修改任务插件配置信息 - TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig(); - updatePluginConfig.setWebPath("/home/osct/video-score"); - updatePluginConfig.setTaskId(normalTask.getDetailId()); - updatePluginConfig.setToken(token); - log.info("修改tall内任务插件配置:{}",updatePluginConfig); - JsonResponse pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig); - log.info("修改任务插件配置后返回:{}",pluginVoJsonResponse); + saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum); + Long roleId = null; + saveRole.setToken(token); + log.info("在tall内添加角色:{}", saveRole); + JsonResponse roleJsonResponse = tallFeignClient.saveRole(saveRole); + log.info("添加角色后返回:{}", roleJsonResponse); + if (ObjectUtil.isNotNull(roleJsonResponse)) { + MemberVo.RoleInfo roleInfo = roleJsonResponse.getData(); + if (ObjectUtil.isNotNull(roleInfo)) { + roleId = roleInfo.getRoleId(); + } + } + //添加成员 + MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember(); + saveMember.setMemberName(judgmentInfo.getJudgmentName()); + saveMember.setProjectId(tallProjectId); + saveMember.setPhone(judgmentInfo.getJudgmentPhone()); + saveMember.setRoleId(Arrays.asList(roleId)); + saveMember.setToken(token); + log.info("在tall内添加成员:{}", saveMember); + JsonResponse memberJsonResponse = tallFeignClient.saveMember(saveMember); + log.info("添加成员后返回:{}", memberJsonResponse); + //如果成员已存在,查询成员信息然后添加至角色内 + Long memberId = null; + if (ObjectUtil.isNotNull(memberJsonResponse)) { + //code等于21代表成员已存在 + if(memberJsonResponse.getCode() == 21){ + //查询该手机号在项目内的成员的id + MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone(); + getMemberByPhone.setProjectId(tallProjectId); + getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone()); + getMemberByPhone.setToken(token); + JsonResponse memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone); + if (ObjectUtil.isNotNull(memberListJsonResponse)) { + MemberVo.MemberList memberList = memberListJsonResponse.getData(); + if (ObjectUtil.isNotNull(memberList)) { + memberId = memberList.getMemberId(); + } + } + //将该成员添加至角色下 + if(ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)){ + MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole(); + saveMemberInRole.setRoleId(roleId); + saveMemberInRole.setMemberId(memberId); + saveMemberInRole.setToken(token); + tallFeignClient.saveMemberInRole(saveMemberInRole); + } + } + } + //添加任务 + //查找场次信息表 + CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); + startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()) + .andSiteEqualTo((byte) siteJudgment.getSite()); + List startOrderList = startOrderMapper.selectByExample(startOrderExample); + if (CollectionUtil.isNotEmpty(startOrderList)) { + for (CompeteStartOrder startOrder : startOrderList) { + TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); + addTask.setProjectId(tallProjectId); + addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-" + + startOrder.getSite() + "-" + jdgmentNum); + addTask.setBeginTime(startOrder.getStartTime()); + addTask.setEndTime(startOrder.getEndTime()); + addTask.setExecutorId(roleId); + addTask.setParentTaskId(startOrder.getTaskId()); + addTask.setToken(token); + log.info("在tall内添加任务:{}", addTask); + JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); + log.info("添加任务后返回:{}", normalTaskJsonResponse); + if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { + TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); + if (ObjectUtil.isNotNull(normalTask)) { + //修改任务插件配置信息 + TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig(); + updatePluginConfig.setWebPath("/home/osct/video-score"); + updatePluginConfig.setTaskId(normalTask.getDetailId()); + updatePluginConfig.setToken(token); + log.info("修改tall内任务插件配置:{}", updatePluginConfig); + JsonResponse pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig); + log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse); + } } } } @@ -456,6 +503,9 @@ public class CompeteTaskService implements ICompeteTaskService{ //查询比赛项目信息 ProvinceCompeteVo.QueryProjectByTall queryProjectByTall = projectConfigDao.queryProjectByTaskDetailId(param.getTaskDetailId()); log.info("根据taskDetailId查询到的场次和项目信息:{}",queryProjectByTall); + if(ObjectUtil.isNull(queryProjectByTall)){ + queryProjectByTall = new ProvinceCompeteVo.QueryProjectByTall(); + } //查询裁判信息 CompeteJudgment judgment = new CompeteJudgment(); CompeteJudgmentExample judgmentExample = new CompeteJudgmentExample(); @@ -463,10 +513,11 @@ public class CompeteTaskService implements ICompeteTaskService{ List judgmentList = competeJudgmentDao.selectByExample(judgmentExample); if(CollectionUtil.isNotEmpty(judgmentList)){ judgment = judgmentList.get(0); + log.info("根据roleId查询到的裁判信息:{}",judgment); + queryProjectByTall.setJudgmentId(judgment.getId()); + queryProjectByTall.setJudgmentNum(judgment.getChiefJudgment()); } - log.info("根据roleId查询到的裁判信息:{}",judgment); - queryProjectByTall.setJudgmentId(judgment.getId()); - queryProjectByTall.setJudgmentNum(judgment.getChiefJudgment()); + return queryProjectByTall; } } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java index 55e9c715..78dbb874 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java @@ -81,18 +81,19 @@ public class CompeteVedioService implements ICompeteVedioService{ @Override public List selectTwoProject(QueryDto params) { - CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getParam().getTeamId()); - CompeteProjectExample competeCompanyExample=new CompeteProjectExample(); - competeCompanyExample.createCriteria().andTypeEqualTo(competeTime.getType()).andLevelEqualTo((byte) 2); - List list=competeProjectMapper.selectByExample(competeCompanyExample); - List list1=new ArrayList<>(); - list.forEach(mes->{ - VideoProjectVo.GetTwoProject getTwoProject=new VideoProjectVo.GetTwoProject(); - getTwoProject.setProjectId(mes.getId()); - getTwoProject.setProjectName(mes.getName()); - list1.add(getTwoProject); - }); - return list1; + List getTwoProjects = competeTimeDao.selectTwoProject(params.getParam().getTeamId()); +// CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getParam().getTeamId()); +// CompeteProjectExample competeCompanyExample=new CompeteProjectExample(); +// competeCompanyExample.createCriteria().andTypeEqualTo(competeTime.getType()).andLevelEqualTo((byte) 2); +// List list=competeProjectMapper.selectByExample(competeCompanyExample); +// List list1=new ArrayList<>(); +// list.forEach(mes->{ +// VideoProjectVo.GetTwoProject getTwoProject=new VideoProjectVo.GetTwoProject(); +// getTwoProject.setProjectId(mes.getId()); +// getTwoProject.setProjectName(mes.getName()); +// list1.add(getTwoProject); +// }); + return getTwoProjects; } @Override diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index bdc7be69..a10a63aa 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -187,6 +187,12 @@ public interface ICompeteService { void submitScore(CompeteDto.SubmitScore params) ; + /** + * 查看技术赛成绩公示表 + * @param param + * @return + */ + List queryCountScoreAll(ScoreDto.ShowResult param); } 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 e818f955..abc75755 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java @@ -37,7 +37,7 @@ public interface ICompeteTaskService { * @param param * @return */ - List queryJudgment(CompeteDto.CompeteTime param); + List queryJudgment(ProvinceCompeteDto.QueryJudgment param); /** * 为项目分配裁判 diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index e29afc35..85049a30 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.po.*; +import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.dao.CompeteCompanyDao; import com.ccsens.mt.persist.dao.CompetePlayerDao; @@ -512,6 +513,14 @@ public class ProvinceService implements IProvinceService { */ @Override public void playerJoinProject(ProvinceCompeteDto.JoinProject param) { + //判断是否在报名时间内 + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId()); + log.info("检查报名时间是否符合:{}",competeTime); + if(ObjectUtil.isNotNull(competeTime)) { + if (competeTime.getSignUpEndTime() < System.currentTimeMillis()) { + throw new BaseException(CodeEnum.SIGN_UP_TIME_FINISHED); + } + } //查找项目信息 CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } diff --git a/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml b/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml index 548c3235..5424e8a1 100644 --- a/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml @@ -37,6 +37,9 @@ LEFT JOIN t_compete_judgment j on j.project_id = p.id WHERE ct.id = #{competeTimeId} + + and p.id = #{projectId} + and p.`level` = 2 and p.certificate = 0 and p.rec_status = 0 diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml index 43ea9e8f..d920ffd4 100644 --- a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -104,6 +104,56 @@ and tccs.rec_status =0 and tcso.id =#{siteId} + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml index 9f3d834e..0d59e547 100644 --- a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml @@ -130,4 +130,17 @@ GROUP BY tcvs.`judgment_id` + \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java index 7e2e5e27..a5c7c4de 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java @@ -40,6 +40,15 @@ public class MemberDto { private Long memberId; } + @Data + @ApiModel + public static class GetMemberByPhone{ + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("手机号") + private String phone; + } + @Data @ApiModel("修改成员信息") public static class UpdateMemberInfo{ diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 4a009742..10cb5edb 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -164,7 +164,6 @@ public class TaskVo { public Long getServerTime(){ return System.currentTimeMillis(); } - } @ApiModel diff --git a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java index 62f5ff00..22917a3c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProMemberService.java @@ -77,4 +77,11 @@ public interface IProMemberService { * @return 返回所有成员信息 */ List queryMembersByProjectId(Long projectId); + + /** + * 通过手机号查找项目内的 + * @param memberByPhone + * @return + */ + ProjectVo.MemberList getMemberByPhone(MemberDto.GetMemberByPhone memberByPhone); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java index e0515b4a..d3060c65 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java @@ -15,6 +15,7 @@ import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.persist.dao.*; import com.ccsens.tall.persist.mapper.SysImitationMapper; import com.ccsens.util.CodeEnum; +import com.ccsens.util.PropUtil; import com.ccsens.util.WebConstant; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; @@ -445,4 +446,18 @@ public class ProMemberService implements IProMemberService { public List queryMembersByProjectId(Long projectId) { return proMemberDao.queryMembersByProjectId(projectId); } + + @Override + public ProjectVo.MemberList getMemberByPhone(MemberDto.GetMemberByPhone memberByPhone) { + ProjectVo.MemberList member = null; + ProMemberExample proMemberExample = new ProMemberExample(); + proMemberExample.createCriteria().andProjectIdEqualTo(memberByPhone.getProjectId()).andPhoneEqualTo(memberByPhone.getPhone()); + List memberList = proMemberDao.selectByExample(proMemberExample); + if(CollectionUtil.isNotEmpty(memberList)){ + member = new ProjectVo.MemberList(); + member.setMemberId(memberList.get(0).getId()); + member.setMemberName(memberList.get(0).getNickname()); + } + return member; + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/MemberController.java b/tall/src/main/java/com/ccsens/tall/web/MemberController.java index 482f43b7..2f6fd750 100644 --- a/tall/src/main/java/com/ccsens/tall/web/MemberController.java +++ b/tall/src/main/java/com/ccsens/tall/web/MemberController.java @@ -91,5 +91,14 @@ public class MemberController { return JsonResponse.newInstance().ok(membersInfo); } - + @ApiOperation(value = "根据手机号和项目id查询成员信息",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/query/memberByPhone", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryMemberByPhone(HttpServletRequest request, + @ApiParam @Validated @RequestBody MemberDto.GetMemberByPhone memberByPhone) { + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + ProjectVo.MemberList membersInfo = proMemberService.getMemberByPhone(memberByPhone); + return JsonResponse.newInstance().ok(membersInfo); + } }