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 638a6180..4c19f8df 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -24,7 +24,7 @@ import java.util.List; * @author 逗 */ @Slf4j -@Api(tags = "线上体育竞技比赛", description = "") +@Api(tags = "比赛评分相关接口", description = "") @RestController @RequestMapping("/compete/score") public class CompeteScoreController { @@ -58,6 +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"}) @@ -76,4 +77,6 @@ public class CompeteScoreController { return JsonResponse.newInstance().ok(); } +======= +>>>>>>> 95af62e9754cf6c4f4ed67cfb3e66d7e64bc1041 } 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 f784d310..773aecbf 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java @@ -1,6 +1,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.TableVo; import com.ccsens.mt.service.ICompeteTaskService; @@ -31,7 +32,18 @@ public class CompeteTaskController { private ICompeteTaskService competeTaskService; @MustLogin - @ApiOperation(value = "日程安排更新", notes = "") + @ApiOperation(value = "查找日期配置", notes = "zy:查找项目对应的配置信息") + @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryCompeteConfig(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("日程安排更新:{}",params); + List dailyScheduleProcessList = competeTaskService.queryCompeteConfig(params.getParam()); + log.info("日程安排更新:{}",dailyScheduleProcessList); + return JsonResponse.newInstance().ok(dailyScheduleProcessList); + } + + @MustLogin + @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) { log.info("日程安排更新:{}",params); diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteVedioController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java similarity index 74% rename from mt/src/main/java/com/ccsens/mt/api/CompeteVedioController.java rename to mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java index 8141d9c4..9b765c08 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteVedioController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java @@ -21,11 +21,11 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; -@Api(tags = "视频", description = "") +@Api(tags = "比赛视频相关接口", description = "") @RestController -@RequestMapping("/vedio") +@RequestMapping("/compete/video") @Slf4j -public class CompeteVedioController { +public class CompeteVideoController { @Resource private ICompeteVedioService iCompeteVedioService; @@ -57,14 +57,24 @@ public class CompeteVedioController { } @MustLogin - @ApiOperation(value = "查看用户签到状态(签到用)(有筛选", notes = "Mr.王---------") + @ApiOperation(value = "查看单位签到状态(签到用)(有筛选", notes = "Mr.王---------查看单位的人的最近一条的签到状态") @RequestMapping(value = "/selectUserStatus", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse selectUserStatus(@ApiParam @Validated @RequestBody QueryDto params) { - //这个没写完了 + public JsonResponse> selectCompanySignStatus(@ApiParam @Validated @RequestBody QueryDto params) { - log.info("添加用户观看开幕式视频记录(签到用)",params); - return JsonResponse.newInstance().ok(); + log.info("查看单位签到状态(签到用)",params); + List peoSignStatus = iCompeteVedioService.selectCompanySignStatus(params); + return JsonResponse.newInstance().ok(peoSignStatus); + } + @MustLogin + @ApiOperation(value = "查看教练签到状态(签到用)(有筛选", notes = "Mr.王---------查看教练的人的签到状态") + @RequestMapping(value = "/selectCoachStatus", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> selectCoachSignStatus(@ApiParam @Validated @RequestBody QueryDto params) { + + + log.info("查看教练签到状态(签到用)",params); + List coachSignStatus = iCompeteVedioService.selectCoachSignStatus(params); + return JsonResponse.newInstance().ok(coachSignStatus); } @MustLogin @@ -84,8 +94,8 @@ public class CompeteVedioController { log.info("添加用户观看开幕式视频记录(签到用)",params); List list=iCompeteVedioService.selectAllCompany(params); return JsonResponse.newInstance().ok(list); - } + } 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 3f0d6e54..5e498d83 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,10 +202,11 @@ public class ProvinceCompeteDto { @Data @ApiModel("修改日程安排") public static class UpdateCompeteTask{ + @NotNull @ApiModelProperty("项目id") private Long projectId; @ApiModelProperty("单项时间 单位:秒") - private Long duration; + private long duration; @ApiModelProperty("场地数量") private int siteNum; @ApiModelProperty("项目开始时间") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java index 4bdcd814..a2f4abec 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java @@ -1,5 +1,6 @@ package com.ccsens.mt.bean.dto; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -83,4 +84,35 @@ public class ScoreDto { @ApiModelProperty("分数") private BigDecimal score; } + + + @Data + @ApiModel + public static class InformationSubmitted{ + @ApiModelProperty("大赛id") + private Long competeTimeId; + @ApiModelProperty("项目Id") + private Long projectId; + @ApiModelProperty("场次id") + private BigDecimal siteOrderId; + @ApiModelProperty("裁判id") + private Long judgmentId; +// @ApiModelProperty("几分") +// List + + } + @Data + @ApiModel + public static class Fraction{ + @ApiModelProperty("分数") + private int score; + @ApiModelProperty("分数类型") + private String code; + + + + + } + + } 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 151a6c2e..21bb3fd9 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 @@ -3,6 +3,7 @@ package com.ccsens.mt.bean.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.NonNull; /** @@ -42,6 +43,7 @@ public class VideoDto { @Data @ApiModel("添加用户观看开幕式视频记录(签到用)") public static class Vdeo{ + @NonNull @ApiModelProperty("视频文件id") private Long companyId; } @@ -72,4 +74,20 @@ public class VideoDto { @ApiModelProperty("大赛id") private Long teamId; } + @Data + @ApiModel("参赛队伍/裁判签到表") + public static class GetTeamSignStatu{ + @ApiModelProperty("大赛id") + private Long id; + @ApiModelProperty("姓名/参赛队伍") + private String name; + + @ApiModelProperty("账号") + private String phone; + + @ApiModelProperty("签到时间") + private Long signEndTime; + + } + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgment.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgment.java index c2de5e32..079c5ad4 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgment.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgment.java @@ -6,6 +6,12 @@ import java.util.Date; public class CompeteJudgment implements Serializable { private Long id; + private String name; + + private String phone; + + private String remark; + private Long competeTimeId; private Long siteOrderId; @@ -32,6 +38,30 @@ public class CompeteJudgment implements Serializable { this.id = id; } + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone == null ? null : phone.trim(); + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + public Long getCompeteTimeId() { return competeTimeId; } @@ -103,6 +133,9 @@ public class CompeteJudgment implements Serializable { sb.append(" ["); sb.append("Hash = ").append(hashCode()); sb.append(", id=").append(id); + sb.append(", name=").append(name); + sb.append(", phone=").append(phone); + sb.append(", remark=").append(remark); sb.append(", competeTimeId=").append(competeTimeId); sb.append(", siteOrderId=").append(siteOrderId); sb.append(", projectId=").append(projectId); diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgmentExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgmentExample.java index 4d75f9ed..f88f0ccc 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgmentExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgmentExample.java @@ -165,6 +165,216 @@ public class CompeteJudgmentExample { return (Criteria) this; } + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andPhoneIsNull() { + addCriterion("phone is null"); + return (Criteria) this; + } + + public Criteria andPhoneIsNotNull() { + addCriterion("phone is not null"); + return (Criteria) this; + } + + public Criteria andPhoneEqualTo(String value) { + addCriterion("phone =", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotEqualTo(String value) { + addCriterion("phone <>", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneGreaterThan(String value) { + addCriterion("phone >", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneGreaterThanOrEqualTo(String value) { + addCriterion("phone >=", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneLessThan(String value) { + addCriterion("phone <", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneLessThanOrEqualTo(String value) { + addCriterion("phone <=", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneLike(String value) { + addCriterion("phone like", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotLike(String value) { + addCriterion("phone not like", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneIn(List values) { + addCriterion("phone in", values, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotIn(List values) { + addCriterion("phone not in", values, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneBetween(String value1, String value2) { + addCriterion("phone between", value1, value2, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotBetween(String value1, String value2) { + addCriterion("phone not between", value1, value2, "phone"); + return (Criteria) this; + } + + public Criteria andRemarkIsNull() { + addCriterion("remark is null"); + return (Criteria) this; + } + + public Criteria andRemarkIsNotNull() { + addCriterion("remark is not null"); + return (Criteria) this; + } + + public Criteria andRemarkEqualTo(String value) { + addCriterion("remark =", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotEqualTo(String value) { + addCriterion("remark <>", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThan(String value) { + addCriterion("remark >", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkGreaterThanOrEqualTo(String value) { + addCriterion("remark >=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThan(String value) { + addCriterion("remark <", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLessThanOrEqualTo(String value) { + addCriterion("remark <=", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkLike(String value) { + addCriterion("remark like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotLike(String value) { + addCriterion("remark not like", value, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkIn(List values) { + addCriterion("remark in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotIn(List values) { + addCriterion("remark not in", values, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkBetween(String value1, String value2) { + addCriterion("remark between", value1, value2, "remark"); + return (Criteria) this; + } + + public Criteria andRemarkNotBetween(String value1, String value2) { + addCriterion("remark not between", value1, value2, "remark"); + return (Criteria) this; + } + public Criteria andCompeteTimeIdIsNull() { addCriterion("compete_time_id is null"); return (Criteria) this; diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java index d46ec52c..48fec61e 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java @@ -7,7 +7,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; -import java.util.Date; import java.util.List; /** @@ -149,15 +148,35 @@ public class TableVo { @ApiModelProperty("单项时间 单位秒") private int duration; @ApiModelProperty("场地") - private int siteNum; + private int siteNum = 1; @ApiModelProperty("场次") - private double games; + private int games; @ApiModelProperty("总时间") - private double timeSum; + private int timeSum; @ApiModelProperty("项目开始时间") private Long startTime; @ApiModelProperty("项目结束时间") private Long endTime; + + public int getGames(){ + if(joinNum != 0 && siteNum != 0) { + return (int) Math.ceil(joinNum / siteNum); + } + return 0; + } + + public Long getStartTime(){ + return startTime == 0 ? null : startTime; + } + public Long getEndTime(){ + return endTime == 0 ? null : endTime; + } + public int getTimeSum(){ + if(duration != 0 && games != 0) { + return duration * games; + } + return 0; + } } 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 9130201c..0dd30cbb 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 @@ -26,5 +26,28 @@ public class VideoProjectVo { private String companyName; } + @Data + @ApiModel("查找单位签到的状态") + public static class PeoSignStatu{ + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("账号") + private String phone; + @ApiModelProperty("最近签到时间") + private Long time; + } + @Data + @ApiModel("查找裁判签到的状态") + public static class CoachSignStatu{ + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("账号") + private String phone; + @ApiModelProperty("裁判类型") + private byte chiefJudgment; + @ApiModelProperty("最近签到时间") + private Long time; + } + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index a9284b3a..37f54b43 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -78,4 +78,12 @@ public interface CompetePlayerDao extends CompetePlayerMapper { CompeteGroup selectBySexAndRemark(int gender, int groupRemark); List selectSinglePlayerByProjectId(Long id); + + /** + * 在这个比赛中是否注册查找此身份证是否被注册 + * @param type 比赛类型 + * @param idCard 身份证 + * @return + */ + int selectJoinNumByIdCard(@Param("type")int type, @Param("idCard")String idCard); } 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 e3c6e4db..5281dc9c 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,5 +18,15 @@ 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); +======= + + /** + * 查询所有项目配置信息 + * @param type 比赛类型 + * @return 返回所有比赛日程配置信息 + */ + List queryProjectConfig(@Param("type")int type); +>>>>>>> 95af62e9754cf6c4f4ed67cfb3e66d7e64bc1041 } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java new file mode 100644 index 00000000..f014c8c0 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java @@ -0,0 +1,18 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.dto.VideoDto; +import com.ccsens.mt.bean.vo.VideoProjectVo; +import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author Mr.王 + */ +public interface CompeteVideoDao extends CompeteCompanyMapper { + + List selectCompanySignStatus(@Param("param") VideoDto.GetTeamSignStatu param); + + List selectCoachSignStatus(@Param("param") VideoDto.GetTeamSignStatu param); +} 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 972b3957..5bdd5bf5 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -2,12 +2,17 @@ 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.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; -import com.ccsens.mt.bean.po.CompeteProjectConfig; -import com.ccsens.mt.bean.po.CompeteProjectConfigExample; +import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.dao.CompeteProjectConfigDao; -import com.ccsens.mt.persist.mapper.CompeteProjectConfigMapper; +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.mapper.CompeteProjectPlayerMapper; +import com.ccsens.mt.persist.mapper.CompeteStartOrderMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -16,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; /** * @author 逗 @@ -27,13 +33,39 @@ public class CompeteTaskService implements ICompeteTaskService{ @Resource private CompeteProjectConfigDao projectConfigDao; @Resource + private CompeteProjectDao competeProjectDao; + @Resource + private CompeteTimeDao competeTimeDao; + @Resource + private CompeteProjectPlayerMapper projectPlayerMapper; + @Resource private Snowflake snowflake; + @Resource + private CompeteStartOrderMapper startOrderMapper; + @Resource + private CompeteTeamDao competeTeamDao; + + @Override + public List queryCompeteConfig(CompeteDto.CompeteTime param) { + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId()); + List competeProjectConfigList = new ArrayList<>(); + if(ObjectUtil.isNotNull(competeTime)) { + competeProjectConfigList = projectConfigDao.queryProjectConfig(competeTime.getType()); + } + return competeProjectConfigList; + } @Override public List updateCompeteProjectConfig(List param) { - List competeProjectConfigs = new ArrayList<>(); + //获取比赛类型 + AtomicInteger type = new AtomicInteger(); if(CollectionUtil.isNotEmpty(param)){ param.forEach(projectConfig -> { + //获取项目 + CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); + if(ObjectUtil.isNotNull(project)){ + type.set(project.getType()); + } CompeteProjectConfig competeProjectConfig; CompeteProjectConfigExample projectConfigExample = new CompeteProjectConfigExample(); projectConfigExample.createCriteria().andProjectIdEqualTo(projectConfig.getProjectId()); @@ -46,7 +78,7 @@ public class CompeteTaskService implements ICompeteTaskService{ competeProjectConfig.setSiteNum(projectConfig.getSiteNum()); competeProjectConfig.setStartTime(projectConfig.getStartTime()); competeProjectConfig.setEndTime(projectConfig.getEndTime()); - projectConfigDao.insertSelective(competeProjectConfig); + projectConfigDao.updateByPrimaryKeySelective(competeProjectConfig); }else { //没有则添加 competeProjectConfig = new CompeteProjectConfig(); @@ -58,11 +90,88 @@ public class CompeteTaskService implements ICompeteTaskService{ competeProjectConfig.setEndTime(projectConfig.getEndTime()); projectConfigDao.insertSelective(competeProjectConfig); } - //返回 - TableVo.CompeteProjectConfig config = new TableVo.CompeteProjectConfig(); + // TODO 生成出场顺序表,存入数据库。在tall内添加对应的任务 + setStartOrder(competeProjectConfig); }); } - - return competeProjectConfigs; + return projectConfigDao.queryProjectConfig(type.get()); + } + /** + * 修改配置时生成出场顺序(先删除之前的数据) + */ + public void setStartOrder(CompeteProjectConfig competeProjectConfig) { + if (ObjectUtil.isNotNull(competeProjectConfig)) { + //查找项目 + CompeteProject project = competeProjectDao.selectByPrimaryKey(competeProjectConfig.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) { + //个人项目查找所有参赛信息 + CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); + projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId()); + List projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); + if (CollectionUtil.isNotEmpty(projectPlayerList)) { + //场次 + 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); + site++; + if(site > competeProjectConfig.getSiteNum()){ + site = 1; + competeOrder++; + } + } + } + } else { + //团体项目查找所有参赛队伍 + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(project.getId()); + List teamList = competeTeamDao.selectByExample(teamExample); + if(CollectionUtil.isNotEmpty(teamList)){ + //场次 + int competeOrder = 1; + //场地 + 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); + site++; + if(site > competeProjectConfig.getSiteNum()){ + site = 1; + competeOrder++; + } + } + } + } + } + } } + } 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 78556327..0f3a36fa 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java @@ -4,6 +4,7 @@ import cn.hutool.core.lang.Snowflake; import com.ccsens.mt.bean.dto.VideoDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.VideoProjectVo; +import com.ccsens.mt.persist.dao.CompeteVideoDao; import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; import com.ccsens.mt.persist.mapper.CompetePlayerLookMapper; import com.ccsens.mt.persist.mapper.CompeteProjectMapper; @@ -37,7 +38,8 @@ public class CompeteVedioService implements ICompeteVedioService{ private CompeteProjectMapper competeProjectMapper; @Resource private CompeteCompanyMapper competeCompanyMapper; - + @Resource + private CompeteVideoDao competeVideoDao; @Override public void insertSignVideo(Long companyId) { @@ -99,4 +101,26 @@ public class CompeteVedioService implements ICompeteVedioService{ }); return list1; } + /** + * 查看公司的签到状态 + * @param params + * @return + */ + @Override + public List selectCompanySignStatus(QueryDto params) { + return competeVideoDao.selectCompanySignStatus(params.getParam()); + } + /** + * 查看教练的签到状态 + * @param params + * @return + */ + @Override + public List selectCoachSignStatus(QueryDto params) { + log.info(params.getParam().toString()); + return competeVideoDao.selectCoachSignStatus(params.getParam()); + } + + + } 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 1ba25d4d..02e716af 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java @@ -1,5 +1,6 @@ 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.TableVo; @@ -15,4 +16,11 @@ public interface ICompeteTaskService { * @return */ List updateCompeteProjectConfig(List param); + + /** + * 查找所有项目的日程配置 + * @param param + * @return + */ + List queryCompeteConfig(CompeteDto.CompeteTime param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java index 3cc76419..96a011e9 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java @@ -27,4 +27,8 @@ public interface ICompeteVedioService { List selectTwoProject(QueryDto params); List selectAllCompany(QueryDto params); + + List selectCompanySignStatus(QueryDto params); + + List selectCoachSignStatus(QueryDto params); } 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 ea326fc3..39521b3b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -114,6 +114,16 @@ public class ProvinceService implements IProvinceService { */ @Override public void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) { + int type = 0; + if(ObjectUtil.isNotNull(param.getCompeteId())){ + CompeteCompany company = competeCompanyDao.selectByPrimaryKey(param.getCompeteId()); + if(ObjectUtil.isNull(company)) { + throw new BaseException(CodeEnum.NOT_COMPANY); + } + type = company.getType(); + }else { + throw new BaseException(CodeEnum.NOT_COMPANY); + } //判断选手id是否为空 if(ObjectUtil.isNull(param.getPlayerId())){ //id为空,新加一个选手 @@ -121,13 +131,17 @@ public class ProvinceService implements IProvinceService { player.setId(snowflake.nextId()); player.setName(param.getPlayerName()); - if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.NOT_COMPANY); } + //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 - CompetePlayerExample competePlayerExample = new CompetePlayerExample(); - competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard()); - if(competePlayerDao.countByExample(competePlayerExample) != 0){ + int idCardNum = competePlayerDao.selectJoinNumByIdCard(type,param.getIdCard()); +// CompetePlayerExample competePlayerExample = new CompetePlayerExample(); +// competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard()); +// if(competePlayerDao.countByExample(competePlayerExample) != 0){ +// throw new BaseException(CodeEnum.ID_CARD_ALREADY); +// } + if(idCardNum > 0){ throw new BaseException(CodeEnum.ID_CARD_ALREADY); } //验证性别是否正确 @@ -186,9 +200,14 @@ public class ProvinceService implements IProvinceService { //身份证正确 if(!IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 - CompetePlayerExample competePlayerExample = new CompetePlayerExample(); - competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard()).andIdNotEqualTo(param.getPlayerId()); - if(competePlayerDao.countByExample(competePlayerExample) != 0){throw new BaseException(CodeEnum.ID_CARD_ALREADY);} + //是否已注册 + int idCardNum = competePlayerDao.selectJoinNumByIdCard(type,param.getIdCard()); + if(idCardNum > 0){ + throw new BaseException(CodeEnum.ID_CARD_ALREADY); + } +// CompetePlayerExample competePlayerExample = new CompetePlayerExample(); +// competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard()).andIdNotEqualTo(param.getPlayerId()); +// if(competePlayerDao.countByExample(competePlayerExample) != 0){throw new BaseException(CodeEnum.ID_CARD_ALREADY);} //验证性别是否正确 int gender = IdcardUtil.getGenderByIdCard(param.getIdCard()); if(gender != param.getGender()){ diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index 1dcb019d..49ae599c 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -300,4 +300,14 @@ and tcc.rec_status=0 and tcg.rec_status=0 + \ 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 b56874c0..13b5f64f 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -125,6 +125,47 @@ and tct.rec_status = 0 and tctt.rec_status = 0 + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteVideoDao.xml b/mt/src/main/resources/mapper_dao/CompeteVideoDao.xml new file mode 100644 index 00000000..6bbbcbc4 --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteVideoDao.xml @@ -0,0 +1,63 @@ + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteJudgmentMapper.xml b/mt/src/main/resources/mapper_raw/CompeteJudgmentMapper.xml index 13d3e48c..443a9a91 100644 --- a/mt/src/main/resources/mapper_raw/CompeteJudgmentMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteJudgmentMapper.xml @@ -3,6 +3,9 @@ + + + @@ -71,8 +74,8 @@ - id, compete_time_id, site_order_id, project_id, user_id, chief_judgment, created_at, - updated_at, rec_status + id, name, phone, remark, compete_time_id, site_order_id, project_id, user_id, chief_judgment, + created_at, updated_at, rec_status