wang0018 5 years ago
parent
commit
37f4056ce4
  1. 59
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java
  2. 6
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java
  3. 34
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java
  4. 27
      cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java
  5. 51
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
  6. 13
      mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java
  7. 26
      mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java
  8. 2
      mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java
  9. 6
      mt/src/main/java/com/ccsens/mt/api/ExcelController.java
  10. 42
      mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java
  11. 8
      mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java
  12. 34
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgment.java
  13. 168
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgmentExample.java
  14. 20
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java
  15. 22
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  16. 6
      mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java
  17. 30
      mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java
  18. 4
      mt/src/main/java/com/ccsens/mt/bean/vo/VideoProjectVo.java
  19. 2
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java
  20. 2
      mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java
  21. 7
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java
  22. 12
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java
  23. 7
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java
  24. 30
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  25. 268
      mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java
  26. 28
      mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java
  27. 87
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  28. 6
      mt/src/main/java/com/ccsens/mt/service/ICompeteService.java
  29. 13
      mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java
  30. 2
      mt/src/main/java/com/ccsens/mt/service/IExcelService.java
  31. 14
      mt/src/main/java/com/ccsens/mt/service/ProvinceService.java
  32. 8
      mt/src/main/java/com/ccsens/mt/util/Constant.java
  33. 4
      mt/src/main/resources/application.yml
  34. 2
      mt/src/main/resources/druid-dev.yml
  35. 8
      mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml
  36. 6
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  37. 63
      mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml
  38. 50
      mt/src/main/resources/mapper_dao/CompeteScoreDao.xml
  39. 13
      mt/src/main/resources/mapper_dao/CompeteTimeDao.xml
  40. 72
      mt/src/main/resources/mapper_raw/CompeteJudgmentMapper.xml
  41. 2
      pom.xml
  42. 9
      tall/src/main/java/com/ccsens/tall/bean/dto/MemberDto.java
  43. 2
      tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java
  44. 13
      tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java
  45. 1
      tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java
  46. 10
      tall/src/main/java/com/ccsens/tall/service/IProMemberService.java
  47. 2
      tall/src/main/java/com/ccsens/tall/service/IProRoleService.java
  48. 25
      tall/src/main/java/com/ccsens/tall/service/ProMemberService.java
  49. 6
      tall/src/main/java/com/ccsens/tall/service/ProRoleService.java
  50. 20
      tall/src/main/java/com/ccsens/tall/web/MemberController.java
  51. 6
      tall/src/main/java/com/ccsens/tall/web/RoleController.java
  52. 5
      tall/src/main/java/com/ccsens/tall/web/TaskController.java

59
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java

@ -9,6 +9,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@ -76,4 +77,62 @@ public class MemberRoleDto {
return assign;
}
}
@Data
@ApiModel("添加成员")
public static class SaveMember{
@NotNull
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("成员名")
private String memberName;
@NotEmpty
@ApiModelProperty("成员手机号")
private String phone;
@ApiModelProperty("所属角色的id")
private List<Long> roleId;
@ApiModelProperty("奖惩干系人手机号")
private String stakeholderPhone;
@ApiModelProperty("奖惩干系人姓名")
private String stakeholderName;
@ApiModelProperty("token")
private String token;
}
@Data
@ApiModel("添加角色")
public static class SaveRole{
@NotNull(message = "项目不能为空")
@ApiModelProperty("项目id")
private Long projectId;
@NotEmpty(message = "角色名不能为空")
@ApiModelProperty("角色名")
private String roleName;
@ApiModelProperty("token")
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;
}
}

6
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java

@ -44,6 +44,8 @@ public class TallTaskDto {
private Byte priority;
@ApiModelProperty("任务提醒消息")
private TaskRemindByAdd taskRemind;
@ApiModelProperty("token")
private String token;
}
@Data
@ -105,6 +107,8 @@ public class TallTaskDto {
private Byte milestone;
@ApiModelProperty("需要修改的插件Id")
private List<Long> plugins;
@ApiModelProperty("token")
private String token;
}
@Data
@ -123,6 +127,8 @@ public class TallTaskDto {
private Byte placeLocation;
@ApiModelProperty("程序位置 0:tall内部,1外部")
private Byte routineLocation;
@ApiModelProperty("token")
private String token;
public UpdatePluginConfig() {
}

34
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/MemberVo.java

@ -1,5 +1,7 @@
package com.ccsens.cloudutil.bean.tall.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ -18,4 +20,36 @@ public class MemberVo {
private Long joinTime;
private Long stakeholderId;
}
@Data
@ApiModel("角色信息")
public static class RoleInfo{
@ApiModelProperty("角色id")
private Long roleId;
@ApiModelProperty("角色名")
private String roleName;
}
@Data
@ApiModel("添加时返回成员信息")
public static class Member{
@ApiModelProperty("成员id")
private Long memberId;
@ApiModelProperty("成员名")
private String memberName;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("userId")
private Long userId;
}
@Data
@ApiModel("查找项目内所有的成员")
public static class MemberList{
@ApiModelProperty("成员id")
private Long memberId;
@ApiModelProperty("成员名")
private String memberName;
}
}

27
cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java

@ -0,0 +1,27 @@
package com.ccsens.cloudutil.config;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.stereotype.Component;
/**
* @author
*/
@Component
public class FeignTokenConfig implements RequestInterceptor {
@Override
public void apply(RequestTemplate template) {
byte[] body = template.body();
if (body == null) {
return;
}
String json = new String(body);
JSONObject jsonObject = JSONUtil.parseObj(json);
//添加token
template.header("Authorization", jsonObject.get("token").toString());
}
}

51
cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java

@ -3,7 +3,9 @@ package com.ccsens.cloudutil.feign;
import com.ccsens.cloudutil.bean.QueryParam;
import com.ccsens.cloudutil.bean.tall.dto.*;
import com.ccsens.cloudutil.bean.tall.vo.*;
import com.ccsens.cloudutil.config.FeignTokenConfig;
import com.ccsens.util.JsonResponse;
import feign.RequestInterceptor;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
@ -19,7 +21,7 @@ import java.util.List;
* @create: 2019/11/27 10:03
*/
@FeignClient(name = "tall", path = "v1.0", fallbackFactory = TallFeignClientFallBack.class)
@FeignClient(name = "tall", path = "v1.0",fallbackFactory = TallFeignClientFallBack.class,configuration = FeignTokenConfig.class)
public interface TallFeignClient {
/**
@ -198,8 +200,33 @@ public interface TallFeignClient {
/**
* 修改任务插件配置
*/
@DeleteMapping("/plugins/config")
@RequestMapping("/plugins/config")
JsonResponse<TaskVo.PluginVo> updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig);
/**
* 添加角色
*/
@RequestMapping("/roles/save")
JsonResponse<MemberVo.RoleInfo> saveRole(MemberRoleDto.SaveRole saveRole);
/**
* 添加成员
*/
@RequestMapping("/members/save")
JsonResponse<MemberVo.Member> saveMember(MemberRoleDto.SaveMember saveMember);
/**
* 将成员添加至角色内
*/
@RequestMapping("/roles/saveMember")
JsonResponse saveMemberInRole(MemberRoleDto.SaveMemberInRole saveMember);
/**
* 通过手机号和项目id查询成员信息
*/
@RequestMapping("/members/query/memberByPhone")
JsonResponse<MemberVo.MemberList> queryMemberByPhone(MemberRoleDto.GetMemberByPhone getMemberByPhone);
}
@Slf4j
@ -332,6 +359,26 @@ class TallFeignClientFallBack implements FallbackFactory<TallFeignClient> {
public JsonResponse<TaskVo.PluginVo> updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse<MemberVo.RoleInfo> saveRole(MemberRoleDto.SaveRole saveRole) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse<MemberVo.Member> saveMember(MemberRoleDto.SaveMember saveMember) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse saveMemberInRole(MemberRoleDto.SaveMemberInRole saveMember) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse<MemberVo.MemberList> queryMemberByPhone(MemberRoleDto.GetMemberByPhone getMemberByPhone) {
return JsonResponse.newInstance().fail();
}
};
}

13
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<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto<ScoreDto.ShowResult> params) {
log.info("查看计数赛成绩公示表:{}",params);
List<ScoreVo.CountScoreCurrentSite> 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"})

26
mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java

@ -7,6 +7,7 @@ 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;
import com.ccsens.util.WebConstant;
import com.ccsens.util.bean.dto.QueryDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@ -46,9 +48,11 @@ 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<TableVo.DailyScheduleProcess> updateCompeteConfig(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.UpdateCompeteProjectConfig> params) {
public JsonResponse<TableVo.DailyScheduleProcess> updateCompeteConfig(
@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.UpdateCompeteProjectConfig> params, HttpServletRequest request) {
log.info("日程安排更新:{}",params);
List<TableVo.CompeteProjectConfig> dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam());
String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN);
List<TableVo.CompeteProjectConfig> dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam(),authHeader);
log.info("日程安排更新:{}",dailyScheduleProcessList);
return JsonResponse.newInstance().ok(dailyScheduleProcessList);
}
@ -67,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<List<ProvinceCompeteVo.QueryJudgment>> queryJudgment(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteTime> params) {
public JsonResponse<List<ProvinceCompeteVo.QueryJudgment>> queryJudgment(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.QueryJudgment> params) {
log.info("查看裁判分配信息:{}",params);
List<ProvinceCompeteVo.QueryJudgment> queryJudgmentList = competeTaskService.queryJudgment(params.getParam());
log.info("查看裁判分配信息:{}",queryJudgmentList);
@ -77,11 +81,23 @@ public class CompeteTaskController {
@MustLogin
@ApiOperation(value = "分配裁判信息", notes = "zy:传入裁判分配信息表,根据内容给每个的项目的每个场次添加裁判信息")
@RequestMapping(value = "/allocation/judgment", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.QueryJudgment>> allocationJudgment(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.AllocationJudgment> params) {
public JsonResponse<List<ProvinceCompeteVo.QueryJudgment>> allocationJudgment(
@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.AllocationJudgmentAndTall> params, HttpServletRequest request) {
log.info("分配裁判信息:{}",params);
List<ProvinceCompeteVo.QueryJudgment> queryJudgmentList = competeTaskService.allocationJudgment(params.getParam());
String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN);
List<ProvinceCompeteVo.QueryJudgment> queryJudgmentList = competeTaskService.allocationJudgment(params.getParam(),authHeader);
log.info("分配裁判信息:{}",queryJudgmentList);
return JsonResponse.newInstance().ok(queryJudgmentList);
}
@MustLogin
@ApiOperation(value = "查看裁判身份,场次id和比赛项目id等信息", notes = "zy:通过tall内的roleId和detailId,获取裁判的身份,比赛项目相关的信息")
@RequestMapping(value = "/query/projectByTall", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ProvinceCompeteVo.QueryProjectByTall> queryProjectByTall(
@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.ProjectByTall> params) {
log.info("查看裁判身份场次id:{}",params);
ProvinceCompeteVo.QueryProjectByTall queryProjectByTall = competeTaskService.queryProjectByTall(params.getParam());
log.info("查看裁判身份场次id:{}",queryProjectByTall);
return JsonResponse.newInstance().ok(queryProjectByTall);
}
}

2
mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java

@ -77,7 +77,7 @@ public class CompeteVideoController {
@MustLogin
@ApiOperation(value = "查看所有二级比赛项目", notes = "Mr.王---------去那个competeProject表下面查")
@RequestMapping(value = "/selectTwoProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<VideoProjectVo.GetTwoProject>> selectTwoProject(@ApiParam @Validated @RequestBody QueryDto<VideoDto.GetTwoProject > params) {
public JsonResponse<List<VideoProjectVo.GetTwoProject>> selectTwoProject(@ApiParam @Validated @RequestBody QueryDto<VideoDto.GetTwoProject> params) {
log.info("添加用户观看开幕式视频记录(签到用):{}",params);
List<VideoProjectVo.GetTwoProject> list=iCompeteVedioService.selectTwoProject(params);

6
mt/src/main/java/com/ccsens/mt/api/ExcelController.java

@ -117,9 +117,9 @@ public class ExcelController {
@MustLogin
@ApiOperation(value = "日程安排(导出)", notes = "")
@RequestMapping(value = "/schedulePlanning", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TableVo.SchedulePlanDetailAllIn> schedulePlanning(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteTime> params) {
public JsonResponse<TableVo.SchedulePlanDetail> schedulePlanning(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteTime> params) {
log.info("日程安排更新:{}",params);
TableVo.SchedulePlan schedulePlanDetailAllInList = excelService.schedulePlanning(params.getParam());
return JsonResponse.newInstance().ok(schedulePlanDetailAllInList);
List<TableVo.SchedulePlanDetail> schedulePlanDetailList = excelService.schedulePlanning(params.getParam());
return JsonResponse.newInstance().ok(schedulePlanDetailList);
}
}

42
mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
@ -22,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")
@ -206,6 +216,9 @@ public class ProvinceCompeteDto {
@NotNull
@ApiModelProperty("Tall当前项目id")
private Long projectId;
@NotNull
@ApiModelProperty("Tall内当前角色id")
private Long tallRoleId;
@ApiModelProperty("单项时间 单位:秒")
private List<UpdateCompeteTask> updateCompeteTaskList;
}
@ -219,11 +232,11 @@ public class ProvinceCompeteDto {
@ApiModelProperty("单项时间 单位:秒")
private long duration;
@ApiModelProperty("场地数量")
private int siteNum;
private int siteNum = 1;
@ApiModelProperty("项目开始时间")
private Long startTime;
private Long startTime = 0L;
@ApiModelProperty("项目结束时间")
private Long endTime;
private Long endTime = 0L;
}
@Data
@ -239,7 +252,18 @@ public class ProvinceCompeteDto {
private Long companyId;
}
@Data
@ApiModel("分配裁判信息包括tall的项目id")
public static class AllocationJudgmentAndTall{
@NotNull
@ApiModelProperty("大赛id")
private Long competeTimeId;
@NotNull
@ApiModelProperty("tall的项目id")
private Long tallProjectId;
@ApiModelProperty("每个项目下的裁判信息")
private List<AllocationJudgment> allocationJudgmentList;
}
@Data
@ApiModel("分配裁判信息")
public static class AllocationJudgment{
@ -268,10 +292,18 @@ public class ProvinceCompeteDto {
private int judgmentNum;
@ApiModelProperty("姓名")
private String judgmentName;
@NotEmpty
@ApiModelProperty("手机号")
private String judgmentPhone;
@ApiModelProperty("备注")
private String remark;
}
@Data
@ApiModel("通过tall查看裁判和项目的信息")
public static class ProjectByTall{
@ApiModelProperty("tall内的任务详情id")
private Long taskDetailId;
@ApiModelProperty("tall内的角色id")
private Long roleId;
}
}

8
mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java

@ -44,13 +44,15 @@ public class VideoDto {
@ApiModel("添加用户观看开幕式视频记录(签到用)")
public static class Video{
@NonNull
@ApiModelProperty("视频文件id")
@ApiModelProperty("单位文件id")
private Long companyId;
public Video() {
}
}
@Data
@ApiModel("上传视频保存上传记录 (比赛视频)")
public static class UploadVdeo{
@ApiModelProperty("视频文件id")
@ApiModelProperty("单位id")
private Long companyId;
@ApiModelProperty("大赛id")
private Long competeTimeId;
@ -62,7 +64,7 @@ public class VideoDto {
private String videoPath;
}
@Data
@ApiModel("查看所有二级比赛项目")
@ApiModel("查看所有二级比赛项目()")
public static class GetTwoProject{
@ApiModelProperty("大赛id")
private Long teamId;

34
mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgment.java

@ -14,7 +14,7 @@ public class CompeteJudgment implements Serializable {
private Long competeTimeId;
private Long siteOrderId;
private Integer site;
private Long projectId;
@ -28,6 +28,10 @@ public class CompeteJudgment implements Serializable {
private Byte recStatus;
private Long memberId;
private Long roleId;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -70,12 +74,12 @@ public class CompeteJudgment implements Serializable {
this.competeTimeId = competeTimeId;
}
public Long getSiteOrderId() {
return siteOrderId;
public Integer getSite() {
return site;
}
public void setSiteOrderId(Long siteOrderId) {
this.siteOrderId = siteOrderId;
public void setSite(Integer site) {
this.site = site;
}
public Long getProjectId() {
@ -126,6 +130,22 @@ public class CompeteJudgment implements Serializable {
this.recStatus = recStatus;
}
public Long getMemberId() {
return memberId;
}
public void setMemberId(Long memberId) {
this.memberId = memberId;
}
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -137,13 +157,15 @@ public class CompeteJudgment implements Serializable {
sb.append(", phone=").append(phone);
sb.append(", remark=").append(remark);
sb.append(", competeTimeId=").append(competeTimeId);
sb.append(", siteOrderId=").append(siteOrderId);
sb.append(", site=").append(site);
sb.append(", projectId=").append(projectId);
sb.append(", userId=").append(userId);
sb.append(", chiefJudgment=").append(chiefJudgment);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", memberId=").append(memberId);
sb.append(", roleId=").append(roleId);
sb.append("]");
return sb.toString();
}

168
mt/src/main/java/com/ccsens/mt/bean/po/CompeteJudgmentExample.java

@ -435,63 +435,63 @@ public class CompeteJudgmentExample {
return (Criteria) this;
}
public Criteria andSiteOrderIdIsNull() {
addCriterion("site_order_id is null");
public Criteria andSiteIsNull() {
addCriterion("site is null");
return (Criteria) this;
}
public Criteria andSiteOrderIdIsNotNull() {
addCriterion("site_order_id is not null");
public Criteria andSiteIsNotNull() {
addCriterion("site is not null");
return (Criteria) this;
}
public Criteria andSiteOrderIdEqualTo(Long value) {
addCriterion("site_order_id =", value, "siteOrderId");
public Criteria andSiteEqualTo(Integer value) {
addCriterion("site =", value, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdNotEqualTo(Long value) {
addCriterion("site_order_id <>", value, "siteOrderId");
public Criteria andSiteNotEqualTo(Integer value) {
addCriterion("site <>", value, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdGreaterThan(Long value) {
addCriterion("site_order_id >", value, "siteOrderId");
public Criteria andSiteGreaterThan(Integer value) {
addCriterion("site >", value, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdGreaterThanOrEqualTo(Long value) {
addCriterion("site_order_id >=", value, "siteOrderId");
public Criteria andSiteGreaterThanOrEqualTo(Integer value) {
addCriterion("site >=", value, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdLessThan(Long value) {
addCriterion("site_order_id <", value, "siteOrderId");
public Criteria andSiteLessThan(Integer value) {
addCriterion("site <", value, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdLessThanOrEqualTo(Long value) {
addCriterion("site_order_id <=", value, "siteOrderId");
public Criteria andSiteLessThanOrEqualTo(Integer value) {
addCriterion("site <=", value, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdIn(List<Long> values) {
addCriterion("site_order_id in", values, "siteOrderId");
public Criteria andSiteIn(List<Integer> values) {
addCriterion("site in", values, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdNotIn(List<Long> values) {
addCriterion("site_order_id not in", values, "siteOrderId");
public Criteria andSiteNotIn(List<Integer> values) {
addCriterion("site not in", values, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdBetween(Long value1, Long value2) {
addCriterion("site_order_id between", value1, value2, "siteOrderId");
public Criteria andSiteBetween(Integer value1, Integer value2) {
addCriterion("site between", value1, value2, "site");
return (Criteria) this;
}
public Criteria andSiteOrderIdNotBetween(Long value1, Long value2) {
addCriterion("site_order_id not between", value1, value2, "siteOrderId");
public Criteria andSiteNotBetween(Integer value1, Integer value2) {
addCriterion("site not between", value1, value2, "site");
return (Criteria) this;
}
@ -854,6 +854,126 @@ public class CompeteJudgmentExample {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andMemberIdIsNull() {
addCriterion("member_id is null");
return (Criteria) this;
}
public Criteria andMemberIdIsNotNull() {
addCriterion("member_id is not null");
return (Criteria) this;
}
public Criteria andMemberIdEqualTo(Long value) {
addCriterion("member_id =", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotEqualTo(Long value) {
addCriterion("member_id <>", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThan(Long value) {
addCriterion("member_id >", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdGreaterThanOrEqualTo(Long value) {
addCriterion("member_id >=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThan(Long value) {
addCriterion("member_id <", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdLessThanOrEqualTo(Long value) {
addCriterion("member_id <=", value, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdIn(List<Long> values) {
addCriterion("member_id in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotIn(List<Long> values) {
addCriterion("member_id not in", values, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdBetween(Long value1, Long value2) {
addCriterion("member_id between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andMemberIdNotBetween(Long value1, Long value2) {
addCriterion("member_id not between", value1, value2, "memberId");
return (Criteria) this;
}
public Criteria andRoleIdIsNull() {
addCriterion("role_id is null");
return (Criteria) this;
}
public Criteria andRoleIdIsNotNull() {
addCriterion("role_id is not null");
return (Criteria) this;
}
public Criteria andRoleIdEqualTo(Long value) {
addCriterion("role_id =", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotEqualTo(Long value) {
addCriterion("role_id <>", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdGreaterThan(Long value) {
addCriterion("role_id >", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdGreaterThanOrEqualTo(Long value) {
addCriterion("role_id >=", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdLessThan(Long value) {
addCriterion("role_id <", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdLessThanOrEqualTo(Long value) {
addCriterion("role_id <=", value, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdIn(List<Long> values) {
addCriterion("role_id in", values, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotIn(List<Long> values) {
addCriterion("role_id not in", values, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdBetween(Long value1, Long value2) {
addCriterion("role_id between", value1, value2, "roleId");
return (Criteria) this;
}
public Criteria andRoleIdNotBetween(Long value1, Long value2) {
addCriterion("role_id not between", value1, value2, "roleId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

20
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;
}

22
mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java

@ -263,6 +263,8 @@ public class ProvinceCompeteVo {
private Long startOrderId;
@ApiModelProperty("场次")
private int competeOrder;
@ApiModelProperty("选手关联项目id/团队id")
private Long playerOrTeamId;
@ApiModelProperty("场地")
private int site;
@ApiModelProperty("选手名")
@ -272,7 +274,7 @@ public class ProvinceCompeteVo {
@ApiModelProperty("组别名")
private String groupName;
@ApiModelProperty("视频连接(云点播)(为null则代表未传视频)")
private Long videoUrl;
private String videoUrl;
}
@ -283,6 +285,8 @@ public class ProvinceCompeteVo {
private Long projectId;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("比赛类型 0计数赛 1花样赛")
private int projectType;
@ApiModelProperty("项目开始时间")
private Long startTime;
@ApiModelProperty("项目结束时间")
@ -313,4 +317,20 @@ public class ProvinceCompeteVo {
}
@Data
@ApiModel("通过tall获取裁判和项目信息")
public static class QueryProjectByTall {
@ApiModelProperty("裁判身份")
private int judgmentNum;
@ApiModelProperty("裁判id")
private Long judgmentId;
@ApiModelProperty("场次id(出场顺序表的id)")
private Long startOrderId;
@ApiModelProperty("比赛项目id")
private Long projectId;
@ApiModelProperty("比赛项目的类型 0计数赛 1花样赛")
private int projectType;
}
}

6
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;
}
}

30
mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java

@ -180,13 +180,25 @@ public class TableVo {
}
@Data
@ApiModel("日程安排上下午")
public static class SchedulePlanAll{
@ApiModelProperty("项目所属日期")
private List<SchedulePlan> schedulePlanList;
}
@Data
@ApiModel("日程安排上下午")
public static class SchedulePlan{
@ApiModelProperty("项目所属日期")
private String date;
@ApiModelProperty("安排详情上午")
private List<SchedulePlanDetailAllIn> schedulePlanDetailListUp;
private List<SchedulePlanDetail> schedulePlanDetailListMorning;
@ApiModelProperty("安排详情下午")
private List<SchedulePlanDetailAllIn> schedulePlanDetailListDown;
private List<SchedulePlanDetail> schedulePlanDetailListAfternoon;
@ApiModelProperty("安排详情晚上")
private List<SchedulePlanDetail> schedulePlanDetailListNight;
}
@Data
@ -194,21 +206,13 @@ public class TableVo {
public static class SchedulePlanDetail{
@ApiModelProperty("参赛项目")
private String projectName;
@ApiModelProperty("项目开始时间")
@ApiModelProperty("上午项目开始时间")
private Long startTime;
@ApiModelProperty("项目结束时间")
private Long endTime;
@ApiModelProperty("项目所属日期")
private Long data;
}
@Data
@ApiModel("日程安排组合")
public static class SchedulePlanDetailAllIn{
@ApiModelProperty("字符拼接")
private String string;
@ApiModelProperty("项目所属日期")
private String data;
}
}

4
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("查找所有参赛单位")

2
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<ProvinceCompeteVo.QueryJudgment> queryJudgment(@Param("competeTimeId") Long competeTimeId);
List<ProvinceCompeteVo.QueryJudgment> queryJudgment(@Param("competeTimeId") Long competeTimeId,@Param("projectId") Long projectId);
}

2
mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java

@ -85,5 +85,5 @@ public interface CompetePlayerDao extends CompetePlayerMapper {
* @param idCard 身份证
* @return
*/
int selectJoinNumByIdCard(@Param("type")int type, @Param("idCard")String idCard);
int selectJoinNumByIdCard(@Param("type")int type, @Param("idCard")String idCard,@Param("playerId")Long playerId);
}

7
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java

@ -36,4 +36,11 @@ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper {
* @return 返回选手列表
*/
List<ProvinceCompeteVo.StartOrderByCompanyAndProject> queryStartOrderByCompany(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("competeTimeId")Long competeTimeId);
/**
* 通过taskDetailId查询比赛场次和项目信息
* @param taskDetailId 任务详情id
* @return 返回比赛项目信息
*/
ProvinceCompeteVo.QueryProjectByTall queryProjectByTaskDetailId(@Param("taskDetailId")Long taskDetailId);
}

12
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java

@ -24,4 +24,16 @@ public interface CompeteScoreDao {
List<ScoreVo.CountScoreCurrentSite> selectCountScoreCurrentSite (@Param("siteId") long siteId);
/**
* 查找计数赛成绩公示个人比赛
* @param projectId
* @return
*/
List<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(@Param("projectId")Long projectId);
/**
* 查找计数赛成绩公示(团队比赛)
* @param projectId
* @return
*/
List<ScoreVo.CountScoreCurrentSite> queryCountScoreAllByTeam(Long projectId);
}

7
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<CompeteVo.CompeteGroup> queryGroupByProject(@Param("type") int type, @Param("projectId") Long projectId);
/**
* 查看所有二级比赛项目不包括通级赛
* @param teamId
* @return
*/
List<VideoProjectVo.GetTwoProject> selectTwoProject(@Param("teamId")Long teamId);
}

30
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<CompeteStartOrder> 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<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(ScoreDto.ShowResult param) {
List<ScoreVo.CountScoreCurrentSite> 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;
}
}

268
mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java

@ -3,7 +3,9 @@ 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.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.dto.TallTaskDto;
import com.ccsens.cloudutil.bean.tall.vo.MemberVo;
import com.ccsens.cloudutil.bean.tall.vo.TaskVo;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.mt.bean.dto.CompeteDto;
@ -23,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
@ -69,7 +72,7 @@ public class CompeteTaskService implements ICompeteTaskService{
* 修改项目的日程配置
*/
@Override
public List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param) {
public List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param,String token) {
//获取比赛类型
AtomicInteger type = new AtomicInteger();
if(CollectionUtil.isNotEmpty(param.getUpdateCompeteTaskList())){
@ -89,8 +92,8 @@ public class CompeteTaskService implements ICompeteTaskService{
competeProjectConfig = projectConfigList.get(0);
competeProjectConfig.setProjectDuration(projectConfig.getDuration());
competeProjectConfig.setSiteNum(projectConfig.getSiteNum());
competeProjectConfig.setStartTime(projectConfig.getStartTime());
competeProjectConfig.setEndTime(projectConfig.getEndTime());
competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime());
competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime());
projectConfigDao.updateByPrimaryKeySelective(competeProjectConfig);
}else {
//没有则添加
@ -99,12 +102,12 @@ public class CompeteTaskService implements ICompeteTaskService{
competeProjectConfig.setProjectId(projectConfig.getProjectId());
competeProjectConfig.setProjectDuration(projectConfig.getDuration());
competeProjectConfig.setSiteNum(projectConfig.getSiteNum());
competeProjectConfig.setStartTime(projectConfig.getStartTime());
competeProjectConfig.setEndTime(projectConfig.getEndTime());
competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime());
competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime());
projectConfigDao.insertSelective(competeProjectConfig);
}
// TODO 生成出场顺序表,存入数据库。在tall内添加对应的任务
setStartOrder(competeProjectConfig,param.getProjectId());
// 生成出场顺序表,存入数据库。在tall内添加对应的任务
setStartOrder(competeProjectConfig,param.getProjectId(),param.getTallRoleId(),token);
});
}
return projectConfigDao.queryProjectConfig(type.get());
@ -112,7 +115,8 @@ public class CompeteTaskService implements ICompeteTaskService{
/**
* 修改配置时生成出场顺序
*/
public void setStartOrder(CompeteProjectConfig projectConfig, Long tallProjectId) {
public void setStartOrder(CompeteProjectConfig projectConfig, Long tallProjectId,Long tallRoleId,String token) {
if (ObjectUtil.isNotNull(projectConfig)) {
//查找项目
CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId());
@ -125,10 +129,15 @@ public class CompeteTaskService implements ICompeteTaskService{
List<CompeteProjectPlayer> projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample);
if (CollectionUtil.isNotEmpty(projectPlayerList)) {
//计算场次
int order = (int) Math.ceil(projectConfig.getSiteNum() / projectPlayerList.size());
int order = (int) Math.ceil(projectPlayerList.size() / projectConfig.getSiteNum());
//计算每个场次时间
long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME;
long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
long orderTime = 0;
if(order != 0) {
orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
}else {
log.info("场次为0的比赛:{}------{}",project,projectConfig);
}
//场次
int competeOrder = 1;
//场地
@ -144,12 +153,15 @@ public class CompeteTaskService implements ICompeteTaskService{
if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){
competeStartOrder.setStartTime(projectStartTime);
competeStartOrder.setEndTime(projectStartTime + orderTime);
// TODO 修改tall的任务
// 修改tall的任务
TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo();
updateTaskInfo.setId(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getEndTime());
updateTaskInfo.setToken(token);
log.info("修改tall的任务信息:{}",updateTaskInfo);
tallFeignClient.updataTask(updateTaskInfo);
log.info("修改tall的任务信息后返回:{}",updateTaskInfo);
}
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
@ -161,8 +173,11 @@ public class CompeteTaskService implements ICompeteTaskService{
addTask.setTaskName(project.getName() + competeOrder +"-" + site);
addTask.setBeginTime(projectStartTime);
addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(1L);
addTask.setExecutorId(tallRoleId);
addTask.setToken(token);
log.info("在tall内添加任务:{}",addTask);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
log.info("添加任务后返回:{}",normalTaskJsonResponse);
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
if (ObjectUtil.isNotNull(normalTask)) {
@ -197,10 +212,16 @@ public class CompeteTaskService implements ICompeteTaskService{
List<CompeteTeam> teamList = competeTeamDao.selectByExample(teamExample);
if(CollectionUtil.isNotEmpty(teamList)){
//计算场次
int order = (int) Math.ceil(projectConfig.getSiteNum() / teamList.size());
int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum());
//计算每个场次时间
long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME;
long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
long orderTime = 0;
if(order != 0) {
orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
}else {
log.info("场次为0的比赛:{}------{}",project,projectConfig);
}
// long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
//场次
int competeOrder = 1;
//场地
@ -216,12 +237,15 @@ public class CompeteTaskService implements ICompeteTaskService{
if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){
competeStartOrder.setStartTime(projectStartTime);
competeStartOrder.setEndTime(projectStartTime + orderTime);
// TODO 修改tall的任务
//修改tall的任务
TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo();
updateTaskInfo.setId(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getEndTime());
updateTaskInfo.setToken(token);
log.info("修改tall的任务信息:{}",updateTaskInfo);
tallFeignClient.updataTask(updateTaskInfo);
log.info("修改tall的任务信息后返回:{}",updateTaskInfo);
}
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
@ -233,8 +257,11 @@ public class CompeteTaskService implements ICompeteTaskService{
addTask.setTaskName(project.getName() + competeOrder +"-" + site);
addTask.setBeginTime(projectStartTime);
addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(1L);
addTask.setExecutorId(tallRoleId);
addTask.setToken(token);
log.info("在tall内添加任务:{}",addTask);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
log.info("添加任务后返回:{}",normalTaskJsonResponse);
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
if (ObjectUtil.isNotNull(normalTask)) {
@ -280,16 +307,217 @@ public class CompeteTaskService implements ICompeteTaskService{
* 查看裁判分配信息
*/
@Override
public List<ProvinceCompeteVo.QueryJudgment> queryJudgment(CompeteDto.CompeteTime param) {
return competeJudgmentDao.queryJudgment(param.getCompeteTimeId());
public List<ProvinceCompeteVo.QueryJudgment> queryJudgment(ProvinceCompeteDto.QueryJudgment param) {
List<ProvinceCompeteVo.QueryJudgment> queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId(),param.getProjectId());
if(CollectionUtil.isNotEmpty(queryJudgmentList)){
queryJudgmentList.forEach(projectJudgment -> {
//裁判数量
int count = 0;
if(CollectionUtil.isNotEmpty(projectJudgment.getSiteList())){
for(ProvinceCompeteVo.ProjectSite siteJudgment : projectJudgment.getSiteList()) {
if(projectJudgment.getProjectType() == 0){
count = 3;
}else {
count = 7;
}
if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) {
siteJudgment.setJudgmentList(new ArrayList<>());
}
int a = siteJudgment.getJudgmentList().size();
for (int i = 0; i < count - a; i++) {
ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment();
siteJudgment1.setJudgmentNum(a + i);
siteJudgment.getJudgmentList().add(siteJudgment1);
}
}
}
});
}
return queryJudgmentList;
}
/**
* 分配裁判
*/
@Override
public List<ProvinceCompeteVo.QueryJudgment> allocationJudgment(ProvinceCompeteDto.AllocationJudgment param) {
public List<ProvinceCompeteVo.QueryJudgment> allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param,String token) {
//查找项目
if(CollectionUtil.isNotEmpty(param.getAllocationJudgmentList())){
for(ProvinceCompeteDto.AllocationJudgment allocationJudgment : param.getAllocationJudgmentList()) {
CompeteProject project = competeProjectDao.selectByPrimaryKey(allocationJudgment.getProjectId());
if (ObjectUtil.isNotNull(project)) {
if (CollectionUtil.isNotEmpty(allocationJudgment.getSiteJudgmentList())) {
allocationJudgment.getSiteJudgmentList().forEach(siteJudgment -> {
if (ObjectUtil.isNotNull(siteJudgment)) {
siteJudgment.getJudgmentInfoList().forEach(judgmentInfo -> {
saveJudgmentAndTask(param.getCompeteTimeId(),param.getTallProjectId(), project, siteJudgment, judgmentInfo,token);
});
}
});
}
}
}
}
return competeJudgmentDao.queryJudgment(param.getCompeteTimeId(),null);
}
/**
* 添加裁判信息和tall内的角色成员任务
*/
private void saveJudgmentAndTask(Long competeTimeId,Long tallProjectId,CompeteProject project
, ProvinceCompeteDto.SiteJudgment siteJudgment, ProvinceCompeteDto.JudgmentInfo judgmentInfo,String token) {
// TODO 查找该手机号在此项目之前的裁判信息,修改,同时修改tall内的成员角色信息
//添加裁判信息
//查找该项目下的该场地的裁判信息
CompeteJudgment competeJudgment;
CompeteJudgmentExample competeJudgmentExample = new CompeteJudgmentExample();
competeJudgmentExample.createCriteria().andProjectIdEqualTo(project.getId()).andCompeteTimeIdEqualTo(competeTimeId)
.andSiteEqualTo(siteJudgment.getSite()).andChiefJudgmentEqualTo((byte) judgmentInfo.getJudgmentNum());
List<CompeteJudgment> 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 {
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();
}
saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum);
Long roleId = null;
saveRole.setToken(token);
log.info("在tall内添加角色:{}", saveRole);
JsonResponse<MemberVo.RoleInfo> 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<MemberVo.Member> 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<MemberVo.MemberList> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig);
log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse);
}
}
}
}
}
}
/**
* 通过tall查看裁判和比赛项目的信息
*/
@Override
public ProvinceCompeteVo.QueryProjectByTall queryProjectByTall(ProvinceCompeteDto.ProjectByTall param) {
//查询比赛项目信息
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();
judgmentExample.createCriteria().andRoleIdEqualTo(param.getRoleId());
List<CompeteJudgment> judgmentList = competeJudgmentDao.selectByExample(judgmentExample);
if(CollectionUtil.isNotEmpty(judgmentList)){
judgment = judgmentList.get(0);
log.info("根据roleId查询到的裁判信息:{}",judgment);
queryProjectByTall.setJudgmentId(judgment.getId());
queryProjectByTall.setJudgmentNum(judgment.getChiefJudgment());
}
return null;
return queryProjectByTall;
}
}

28
mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java

@ -4,6 +4,8 @@ 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.CompeteTeamDao;
import com.ccsens.mt.persist.dao.CompeteTimeDao;
import com.ccsens.mt.persist.dao.CompeteVideoDao;
import com.ccsens.mt.persist.mapper.CompeteCompanyMapper;
import com.ccsens.mt.persist.mapper.CompetePlayerLookMapper;
@ -40,6 +42,8 @@ public class CompeteVedioService implements ICompeteVedioService{
private CompeteCompanyMapper competeCompanyMapper;
@Resource
private CompeteVideoDao competeVideoDao;
@Resource
private CompeteTimeDao competeTimeDao;
@Override
public void insertSignVideo(Long companyId) {
@ -77,17 +81,19 @@ public class CompeteVedioService implements ICompeteVedioService{
@Override
public List<VideoProjectVo.GetTwoProject> selectTwoProject(QueryDto<VideoDto.GetTwoProject> params) {
CompeteProjectExample competeCompanyExample=new CompeteProjectExample();
competeCompanyExample.createCriteria().andCompeteTimeIdEqualTo(params.getParam().getTeamId()).andLevelEqualTo((byte) 2);
List<CompeteProject> list=competeProjectMapper.selectByExample(competeCompanyExample);
List<VideoProjectVo.GetTwoProject> 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<VideoProjectVo.GetTwoProject> 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<CompeteProject> list=competeProjectMapper.selectByExample(competeCompanyExample);
// List<VideoProjectVo.GetTwoProject> 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

87
mt/src/main/java/com/ccsens/mt/service/ExcelService.java

@ -1292,50 +1292,55 @@ public class ExcelService implements IExcelService {
}
@Override
public TableVo.SchedulePlan schedulePlanning(CompeteDto.CompeteTime params) {
List<TableVo.SchedulePlanDetailAllIn> schedulePlanDetailListUp = new ArrayList<>();
List<TableVo.SchedulePlanDetailAllIn> schedulePlanDetailListDown = new ArrayList<>();
public List<TableVo.SchedulePlanDetail> schedulePlanning(CompeteDto.CompeteTime params) {
List<TableVo.SchedulePlanDetail> schedulePlanDetailListMorning = new ArrayList<>();
List<TableVo.SchedulePlanDetail> schedulePlanDetailListAfternoon = new ArrayList<>();
List<TableVo.SchedulePlanDetail> schedulePlanDetailListNight = new ArrayList<>();
// List<TableVo.SchedulePlan> schedulePlanList = new ArrayList<>();
//关联查询项目名,该项目在config和project中都存在
List<TableVo.SchedulePlanDetail> schedulePlanDetailList = competeProjectConfigDao.selectDetail();
TableVo.SchedulePlan schedulePlan = new TableVo.SchedulePlan();
if (CollectionUtil.isNotEmpty(schedulePlanDetailList)) {
for (TableVo.SchedulePlanDetail schedulePlanDetail : schedulePlanDetailList) {
//项目名
String projectName = schedulePlanDetail.getProjectName();
//开始时间yyyy-MM-dd HH:mm:ss
long startTime = schedulePlanDetail.getStartTime();
Date date = new Date(startTime);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
String sm = simpleDateFormat.format(date);
//结束时间
long endTime = schedulePlanDetail.getEndTime();
Date date1 = new Date(endTime);
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("HH:mm");
String em = simpleDateFormat1.format(date1);
//拼接
String string = projectName + "(" + sm + "-" + em + ")";
//项目开始日期
SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("MM-dd");
String md = simpleDateFormat2.format(date);
//上午项目
if (Integer.parseInt(sm.substring(0, 2)) >= 6 && Integer.parseInt(sm.substring(0, 2)) <= 12) {
TableVo.SchedulePlanDetailAllIn schedulePlanDetailAllIn = new TableVo.SchedulePlanDetailAllIn();
schedulePlanDetailAllIn.setData(md);
schedulePlanDetailAllIn.setString(string);
schedulePlanDetailListUp.add(schedulePlanDetailAllIn);
}//下午项目
else if (Integer.parseInt(sm.substring(0, 2)) > 12 && Integer.parseInt(sm.substring(0, 2)) <= 18) {
TableVo.SchedulePlanDetailAllIn schedulePlanDetailAllIn1 = new TableVo.SchedulePlanDetailAllIn();
schedulePlanDetailAllIn1.setData(md);
schedulePlanDetailAllIn1.setString(string);
schedulePlanDetailListDown.add(schedulePlanDetailAllIn1);
}
}
schedulePlan.setSchedulePlanDetailListDown(schedulePlanDetailListDown);
schedulePlan.setSchedulePlanDetailListUp(schedulePlanDetailListUp);
}
return schedulePlan;
// TableVo.SchedulePlanAll schedulePlanAll = new TableVo.SchedulePlanAll();
// Set set = new HashSet();
// if (CollectionUtil.isNotEmpty(schedulePlanDetailList)) {
// for (TableVo.SchedulePlanDetail schedulePlanDetail : schedulePlanDetailList) {
// //开始时间yyyy-MM-dd HH:mm:ss
// long startTime = schedulePlanDetail.getStartTime();
// Date date = new Date(startTime);
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
// String sm = simpleDateFormat.format(date);
// set.add(sm);
// //结束时间
// long endTime = schedulePlanDetail.getEndTime();
// Date date1 = new Date(endTime);
// SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("HH:mm");
// String em = simpleDateFormat1.format(date1);
//当前项目开始日期
// SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("MM-dd");
// String sd = simpleDateFormat2.format(date);
// //上个项目开始日期
// TableVo.SchedulePlanDetail schedulePlanDetail1 = schedulePlanDetailList.get(1);
// long startTime1 = schedulePlanDetail.getStartTime();
// Date date1 = new Date(startTime);
// String sd1 = simpleDateFormat2.format(date1);
//上午项目
// if (Integer.parseInt(sm.substring(0, 2)) >= 6 && Integer.parseInt(sm.substring(0, 2)) <= 12) {
// schedulePlanDetailListMorning.add(schedulePlanDetail);
// for (TableVo.SchedulePlanDetail schedulePlanDetail1 :schedulePlanDetailListMorning){
//
// }
// }//下午项目
// else if (Integer.parseInt(sm.substring(0, 2)) > 12 && Integer.parseInt(sm.substring(0, 2)) <= 18) {
// schedulePlanDetailListAfternoon.add(schedulePlanDetail);
// }//晚上
// else if (Integer.parseInt(sm.substring(0, 2)) > 18 && Integer.parseInt(sm.substring(0, 2)) <= 24){
// schedulePlanDetailListNight.add(schedulePlanDetail);
// }
// }
//
//
// }
return schedulePlanDetailList;
}
}

6
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<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(ScoreDto.ShowResult param);
}

13
mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java

@ -16,7 +16,7 @@ public interface ICompeteTaskService {
* @param param
* @return
*/
List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param);
List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param,String token);
/**
* 查找所有项目的日程配置
@ -37,12 +37,19 @@ public interface ICompeteTaskService {
* @param param
* @return
*/
List<ProvinceCompeteVo.QueryJudgment> queryJudgment(CompeteDto.CompeteTime param);
List<ProvinceCompeteVo.QueryJudgment> queryJudgment(ProvinceCompeteDto.QueryJudgment param);
/**
* 为项目分配裁判
* @param param
* @return
*/
List<ProvinceCompeteVo.QueryJudgment> allocationJudgment(ProvinceCompeteDto.AllocationJudgment param);
List<ProvinceCompeteVo.QueryJudgment> allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param,String token);
/**
* 通过tall的任务id和角色id查询裁判和比赛项目的信息
* @param param
* @return
*/
ProvinceCompeteVo.QueryProjectByTall queryProjectByTall(ProvinceCompeteDto.ProjectByTall param);
}

2
mt/src/main/java/com/ccsens/mt/service/IExcelService.java

@ -82,6 +82,6 @@ public interface IExcelService {
* @param params 大赛id
* @return 返回失败的信息
*/
TableVo.SchedulePlan schedulePlanning(CompeteDto.CompeteTime params);
List<TableVo.SchedulePlanDetail> schedulePlanning(CompeteDto.CompeteTime params);
}

14
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;
@ -135,7 +136,7 @@ public class ProvinceService implements IProvinceService {
//身份证不能为空,且正确
if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);}
//是否已注册
int idCardNum = competePlayerDao.selectJoinNumByIdCard(type,param.getIdCard());
int idCardNum = competePlayerDao.selectJoinNumByIdCard(type,param.getIdCard(),param.getPlayerId());
// CompetePlayerExample competePlayerExample = new CompetePlayerExample();
// competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard());
// if(competePlayerDao.countByExample(competePlayerExample) != 0){
@ -200,8 +201,7 @@ public class ProvinceService implements IProvinceService {
//身份证正确
if(!IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);}
//是否已注册
//是否已注册
int idCardNum = competePlayerDao.selectJoinNumByIdCard(type,param.getIdCard());
int idCardNum = competePlayerDao.selectJoinNumByIdCard(type,param.getIdCard(),param.getPlayerId());
if(idCardNum > 0){
throw new BaseException(CodeEnum.ID_CARD_ALREADY);
}
@ -513,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); }

8
mt/src/main/java/com/ccsens/mt/util/Constant.java

@ -46,6 +46,14 @@ public class Constant {
* 速度通级赛id
*/
public static final long CERTIFICATE = 2018;
/**
* 计数赛id
*/
public static final long COMPETE_COUNT = 2001;
/**
* 花样赛
*/
public static final long COMPETE_VARIETY = 2002;
/**
* 每个比赛项目留给选手上传视频的时间(暂定半个小时可以修改)
*/

4
mt/src/main/resources/application.yml

@ -1,5 +1,5 @@
spring:
profiles:
active: dev
include: common, util-dev
active: test
include: common, util-test

2
mt/src/main/resources/druid-dev.yml

@ -32,4 +32,4 @@ spring:
username: root
validationQuery: SELECT 1 FROM DUAL
# env: CCSENS_GAME
env: CCSENS_TALL
env: CCSENS_TALL

8
mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml

@ -5,6 +5,7 @@
<resultMap id="queryJudgment" type="com.ccsens.mt.bean.vo.ProvinceCompeteVo$QueryJudgment">
<id column="projectId" property="projectId"/>
<result column="projectName" property="projectName"/>
<result column="projectType" property="projectType"/>
<result column="startTime" property="startTime"/>
<result column="endTime" property="endTime"/>
<collection property="siteList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$ProjectSite">
@ -28,14 +29,19 @@
j.chief_judgment as judgmentNum,
j.`name` as judgmentName,
j.phone as judgmentPhone,
j.remark as remark
j.remark as remark,
if(p.parent_id = 2001,0,1) as projectType
FROM
t_compete_project p LEFT JOIN t_compete_time ct on p.type = ct.type
LEFT JOIN t_compete_project_config pc on p.id = pc.project_id
LEFT JOIN t_compete_judgment j on j.project_id = p.id
WHERE
ct.id = #{competeTimeId}
<if test="projectId != null">
and p.id = #{projectId}
</if>
and p.`level` = 2
and p.certificate = 0
and p.rec_status = 0
and (j.rec_status = 0 or j.rec_status is null)
</select>

6
mt/src/main/resources/mapper_dao/CompetePlayerDao.xml

@ -307,7 +307,13 @@
t_compete_player p left join t_compete_company c on p.company_id = c.id
where
p.id_card = #{idCard}
<if test="playerId != null">
and
p.id != #{playerId}
</if>
and
c.type = #{type}
and p.rec_status = 0
and c.rec_status = 0
</select>
</mapper>

63
mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml

@ -24,23 +24,54 @@
<result column="team" property="team" />
<result column="groupName" property="groupName" />
<result column="videoUrl" property="videoUrl" />
<result column="playerOrTeamId" property="playerOrTeamId" />
<collection property="playerNameList" ofType="String">
<result column="playerName"/>
</collection>
</collection>
</resultMap>
<resultMap id="qwe" type="com.ccsens.mt.bean.vo.TableVo$SchedulePlan">
<id column="startDate" property="date" />
<collection property="schedulePlanDetailListMorning" ofType="com.ccsens.mt.bean.vo.TableVo$SchedulePlanDetail">
<id column="projectName" property="projectName" />
<result column="start_time" property="startTime" />
<result column="endTime" property="endTime" />
</collection>
<collection property="schedulePlanDetailListAfternoon" ofType="com.ccsens.mt.bean.vo.TableVo$SchedulePlanDetail">
<id column="projectNameP" property="projectName" />
<result column="start_timeP" property="startTime" />
<result column="endTimeP" property="endTime" />
</collection>
</resultMap>
<select id="selectByProjectId" resultMap="BaseResultMap" parameterType="java.util.Map">
select * from t_compete_project_config
where project_id = #{projectId}
and rec_status = 0
</select>
<select id="selectDetail" resultType="com.ccsens.mt.bean.vo.TableVo$SchedulePlanDetail" parameterType="java.util.Map">
SELECT a.start_time as startTime,
a.end_time as endTime,
b.name as projectName
FROM t_compete_project_config a , t_compete_project b
where a.project_id = b.id
<select id="selectDetail" resultMap="qwe" parameterType="java.util.Map">
SELECT
FROM_UNIXTIME(start_time/1000,'%y-%m-%d') as startDate,
if(a.aa = 1,p.`name`,null) as projectName,
if(a.aa = 0,p.`name`,null) as projectNamep,
if(a.aa = 1,c.start_time,null) as start_time,
if(a.aa = 0,c.start_time,null) as start_timeP,
if(a.aa = 1,c.end_time,null) as endTime,
if(a.aa = 0,c.end_time,null) as endTimeP
FROM
`t_compete_project_config` c
LEFT JOIN t_compete_project p on c.project_id = p.id
LEFT JOIN (
SELECT
id,
if(FROM_UNIXTIME(start_time/1000,'%h') &lt;= 5,1 ,0) as aa
FROM
t_compete_project_config
)a on c.id = a.id
where c.project_id = p.id
ORDER BY c.start_time
</select>
<select id="selectStartTime" resultType="com.ccsens.mt.bean.po.CompeteProjectConfig" parameterType="java.util.Map">
SELECT
@ -84,7 +115,7 @@
and tcc.id = #{companyId}
</if>
<if test="name != null and name != ''">
and tcp.name like #{name}
and tcp.name like concat('%',#{name, jdbcType=VARCHAR},'%')
</if>
<if test="idCard != null and idCard != ''">
and tcp.id_card = #{idCard}
@ -131,7 +162,7 @@
and tcc.id = #{companyId}
</if>
<if test="name != null and name != ''">
and tcp.name = #{name}
and tcp.name like concat('%',#{name, jdbcType=VARCHAR},'%')
</if>
<if test="idCard != null and idCard != ''">
and tcp.id_card = #{idCard}
@ -196,7 +227,8 @@
pr.`team` as team,
if(pr.team = 0,a.plName,b.plName) as playerName,
if(pr.team = 0,a.groupName,b.groupName) as groupName,
if(pr.team = 0,a.videoUrl,b.videoUrl) as videoUrl
if(pr.team = 0,a.videoUrl,b.videoUrl) as videoUrl,
if(pr.team = 0,a.ppId,b.teamId) as playerOrTeamId
from
t_compete_start_order so
LEFT JOIN t_compete_project pr on so.project_id = pr.id
@ -247,6 +279,19 @@
and pr.rec_status = 0
ORDER BY so.start_time
</select>
<select id="queryProjectByTaskDetailId" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$QueryProjectByTall">
SELECT
s.id as startOrderId,
p.id as projectId,
if(p.parent_id = 2001,0,1) as projectType
FROM
`t_compete_start_order` s LEFT JOIN t_compete_project p on s.project_id = p.id
WHERE
s.task_id = #{taskDetailId}
and s.rec_status = 0
and p.rec_status = 0
LIMIT 1
</select>
</mapper>

50
mt/src/main/resources/mapper_dao/CompeteScoreDao.xml

@ -104,6 +104,56 @@
and tccs.rec_status =0
and tcso.id =#{siteId}
</select>
<select id="queryCountScoreAll" resultType="com.ccsens.mt.bean.vo.ScoreVo$CountScoreCurrentSite">
SELECT
g.group_name,
c.`name`,
p.`name`,
s.judgment_a_score,
s.judgment_b_score2,
s.should_times,
(s.judgment_a_score + s.judgment_b_score2) / 2,
s.deduct_times,
s.final_score
FROM
t_compete_start_order o
LEFT JOIN t_compete_project_player pp on o.player_id = pp.id and pp.rec_status = 0
LEFT JOIN t_compete_player p on pp.player_id = p.id and p.rec_status = 0
LEFT JOIN t_compete_company c on c.id = p.company_id and c.rec_status = 0
LEFT JOIN t_compete_group g on p.compete_group_id = g.id
LEFT JOIN t_compete_count_score s on s.site_order_id = o.id and s.rec_status = 0
WHERE
o.project_id = #{projectId}
and
o.rec_status = 0
ORDER BY s.final_score DESC
</select>
<select id="queryCountScoreAllByTeam" resultType="com.ccsens.mt.bean.vo.ScoreVo$CountScoreCurrentSite">
SELECT
g.group_name,
c.`name`,
GROUP_CONCAT(p.`name`),
s.judgment_a_score,
s.judgment_b_score2,
s.should_times,
(s.judgment_a_score + s.judgment_b_score2) / 2,
s.deduct_times,
s.final_score
FROM
t_compete_start_order o
LEFT JOIN t_compete_team t on o.player_id = t.id and t.rec_status = 0
LEFT JOIN t_compete_team_member m on m.compete_team_id = t.id and m.rec_status = 0
LEFT JOIN t_compete_player p on m.player_id = p.id and p.rec_status = 0
LEFT JOIN t_compete_company c on c.id = t.company_id and c.rec_status = 0
LEFT JOIN t_compete_group g on t.group_remark = g.group_remark and t.gender_group = g.sex
LEFT JOIN t_compete_count_score s on s.site_order_id = o.id and s.rec_status = 0
WHERE
o.project_id = 2011
and
o.rec_status = 0
GROUP BY o.id
ORDER BY s.final_score DESC
</select>
</mapper>

13
mt/src/main/resources/mapper_dao/CompeteTimeDao.xml

@ -130,4 +130,17 @@
GROUP BY tcvs.`judgment_id`
</select>
<select id="selectTwoProject" resultType="com.ccsens.mt.bean.vo.VideoProjectVo$GetTwoProject">
SELECT
p.id as projectId,
p.`name` as projectName,
if(p.parent_id = 2001,0,if(p.certificate = 0,1,2)) as projectType
FROM
t_compete_project p LEFT JOIN t_compete_time t on t.type = p.type
WHERE
t.id = #{teamId}
and p.`level` = 2
and t.rec_status = 0
and p.rec_status = 0
</select>
</mapper>

72
mt/src/main/resources/mapper_raw/CompeteJudgmentMapper.xml

@ -7,13 +7,15 @@
<result column="phone" jdbcType="VARCHAR" property="phone" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="compete_time_id" jdbcType="BIGINT" property="competeTimeId" />
<result column="site_order_id" jdbcType="BIGINT" property="siteOrderId" />
<result column="site" jdbcType="INTEGER" property="site" />
<result column="project_id" jdbcType="BIGINT" property="projectId" />
<result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="chief_judgment" jdbcType="TINYINT" property="chiefJudgment" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
<result column="member_id" jdbcType="BIGINT" property="memberId" />
<result column="role_id" jdbcType="BIGINT" property="roleId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -74,8 +76,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, name, phone, remark, 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, project_id, user_id, chief_judgment,
created_at, updated_at, rec_status, member_id, role_id
</sql>
<select id="selectByExample" parameterType="com.ccsens.mt.bean.po.CompeteJudgmentExample" resultMap="BaseResultMap">
select
@ -109,15 +111,15 @@
</delete>
<insert id="insert" parameterType="com.ccsens.mt.bean.po.CompeteJudgment">
insert into t_compete_judgment (id, name, phone,
remark, compete_time_id, site_order_id,
remark, compete_time_id, site,
project_id, user_id, chief_judgment,
created_at, updated_at, rec_status
)
created_at, updated_at, rec_status,
member_id, role_id)
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR},
#{remark,jdbcType=VARCHAR}, #{competeTimeId,jdbcType=BIGINT}, #{siteOrderId,jdbcType=BIGINT},
#{remark,jdbcType=VARCHAR}, #{competeTimeId,jdbcType=BIGINT}, #{site,jdbcType=INTEGER},
#{projectId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{chiefJudgment,jdbcType=TINYINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT},
#{memberId,jdbcType=BIGINT}, #{roleId,jdbcType=BIGINT})
</insert>
<insert id="insertSelective" parameterType="com.ccsens.mt.bean.po.CompeteJudgment">
insert into t_compete_judgment
@ -137,8 +139,8 @@
<if test="competeTimeId != null">
compete_time_id,
</if>
<if test="siteOrderId != null">
site_order_id,
<if test="site != null">
site,
</if>
<if test="projectId != null">
project_id,
@ -158,6 +160,12 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="memberId != null">
member_id,
</if>
<if test="roleId != null">
role_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -175,8 +183,8 @@
<if test="competeTimeId != null">
#{competeTimeId,jdbcType=BIGINT},
</if>
<if test="siteOrderId != null">
#{siteOrderId,jdbcType=BIGINT},
<if test="site != null">
#{site,jdbcType=INTEGER},
</if>
<if test="projectId != null">
#{projectId,jdbcType=BIGINT},
@ -196,6 +204,12 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="memberId != null">
#{memberId,jdbcType=BIGINT},
</if>
<if test="roleId != null">
#{roleId,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.mt.bean.po.CompeteJudgmentExample" resultType="java.lang.Long">
@ -222,8 +236,8 @@
<if test="record.competeTimeId != null">
compete_time_id = #{record.competeTimeId,jdbcType=BIGINT},
</if>
<if test="record.siteOrderId != null">
site_order_id = #{record.siteOrderId,jdbcType=BIGINT},
<if test="record.site != null">
site = #{record.site,jdbcType=INTEGER},
</if>
<if test="record.projectId != null">
project_id = #{record.projectId,jdbcType=BIGINT},
@ -243,6 +257,12 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.memberId != null">
member_id = #{record.memberId,jdbcType=BIGINT},
</if>
<if test="record.roleId != null">
role_id = #{record.roleId,jdbcType=BIGINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -255,13 +275,15 @@
phone = #{record.phone,jdbcType=VARCHAR},
remark = #{record.remark,jdbcType=VARCHAR},
compete_time_id = #{record.competeTimeId,jdbcType=BIGINT},
site_order_id = #{record.siteOrderId,jdbcType=BIGINT},
site = #{record.site,jdbcType=INTEGER},
project_id = #{record.projectId,jdbcType=BIGINT},
user_id = #{record.userId,jdbcType=BIGINT},
chief_judgment = #{record.chiefJudgment,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},
member_id = #{record.memberId,jdbcType=BIGINT},
role_id = #{record.roleId,jdbcType=BIGINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -281,8 +303,8 @@
<if test="competeTimeId != null">
compete_time_id = #{competeTimeId,jdbcType=BIGINT},
</if>
<if test="siteOrderId != null">
site_order_id = #{siteOrderId,jdbcType=BIGINT},
<if test="site != null">
site = #{site,jdbcType=INTEGER},
</if>
<if test="projectId != null">
project_id = #{projectId,jdbcType=BIGINT},
@ -302,6 +324,12 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="memberId != null">
member_id = #{memberId,jdbcType=BIGINT},
</if>
<if test="roleId != null">
role_id = #{roleId,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -311,13 +339,15 @@
phone = #{phone,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR},
compete_time_id = #{competeTimeId,jdbcType=BIGINT},
site_order_id = #{siteOrderId,jdbcType=BIGINT},
site = #{site,jdbcType=INTEGER},
project_id = #{projectId,jdbcType=BIGINT},
user_id = #{userId,jdbcType=BIGINT},
chief_judgment = #{chiefJudgment,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
rec_status = #{recStatus,jdbcType=TINYINT},
member_id = #{memberId,jdbcType=BIGINT},
role_id = #{roleId,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

2
pom.xml

@ -10,7 +10,7 @@
<module>util</module>
<module>tall</module>
<!-- <module>ht</module>-->
<module>game</module>
<!-- <module>game</module>-->
<module>mt</module>
<!-- <module>pims</module>-->
<!-- <module>health</module>-->

9
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{

2
tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java

@ -39,7 +39,7 @@ public class ProjectMessageVo {
private Byte readStatus;
@ApiModelProperty("消息内容")
List<MessageVo.Message> messages;
@JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT-5")
@JsonFormat(pattern="yyyy-MM-dd HH:mm")
@ApiModelProperty("发送时间")
private Date createTime;
}

13
tall/src/main/java/com/ccsens/tall/bean/vo/RoleVo.java

@ -17,4 +17,17 @@ public class RoleVo {
@ApiModelProperty("角色名")
private String roleName;
}
@Data
@ApiModel("添加时返回成员信息")
public static class MemberInfo{
@ApiModelProperty("成员id")
private Long memberId;
@ApiModelProperty("成员名")
private String memberName;
@ApiModelProperty("手机号")
private String phone;
@ApiModelProperty("userId")
private Long userId;
}
}

1
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

10
tall/src/main/java/com/ccsens/tall/service/IProMemberService.java

@ -6,6 +6,7 @@ import com.ccsens.tall.bean.po.ProMember;
import com.ccsens.tall.bean.po.ProRole;
import com.ccsens.tall.bean.vo.MemberVo;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import java.util.List;
@ -38,7 +39,7 @@ public interface IProMemberService {
* @param saveMember 项目id角色id成员姓名和手机号等
* @throws Exception 权限不足异常
*/
void saveProMember(Long currentUserId, MemberDto.SaveMember saveMember) throws Exception;
RoleVo.MemberInfo saveProMember(Long currentUserId, MemberDto.SaveMember saveMember) throws Exception;
/**
* 删除成员
@ -76,4 +77,11 @@ public interface IProMemberService {
* @return 返回所有成员信息
*/
List<ProjectVo.MemberList> queryMembersByProjectId(Long projectId);
/**
* 通过手机号查找项目内的
* @param memberByPhone
* @return
*/
ProjectVo.MemberList getMemberByPhone(MemberDto.GetMemberByPhone memberByPhone);
}

2
tall/src/main/java/com/ccsens/tall/service/IProRoleService.java

@ -28,7 +28,7 @@ public interface IProRoleService {
void deleteRoleByProjectId(Long projectId) throws Exception;
void saveRole(Long currentUserId, RoleDto.SaveRole saveRole);
RoleVo.RoleByProjectId saveRole(Long currentUserId, RoleDto.SaveRole saveRole);
ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole);

25
tall/src/main/java/com/ccsens/tall/service/ProMemberService.java

@ -11,9 +11,11 @@ import com.ccsens.tall.bean.dto.ProjectDto;
import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.vo.MemberVo;
import com.ccsens.tall.bean.vo.ProjectVo;
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;
@ -246,7 +248,8 @@ public class ProMemberService implements IProMemberService {
}
@Override
public void saveProMember(Long currentUserId, MemberDto.SaveMember saveMember) throws Exception {
public RoleVo.MemberInfo saveProMember(Long currentUserId, MemberDto.SaveMember saveMember) throws Exception {
RoleVo.MemberInfo memberInfo = new RoleVo.MemberInfo();
int power = proRoleService.selectPowerByRoleName(currentUserId, saveMember.getProjectId());
if (power > 1) {
//用项目id和手机号判断用户是否存在
@ -265,6 +268,7 @@ public class ProMemberService implements IProMemberService {
proMember.setNickname(saveMember.getMemberName());
proMember.setPhone(saveMember.getPhone());
proMember.setUserId(userId);
//获取奖惩干系人
Long stakeholderId = null;
if(StrUtil.isNotEmpty(saveMember.getStakeholderPhone())){
@ -302,6 +306,10 @@ public class ProMemberService implements IProMemberService {
}
proMember.setStakeholderId(stakeholderId);
proMemberDao.insertSelective(proMember);
memberInfo.setMemberId(proMember.getId());
memberInfo.setMemberName(proMember.getNickname());
memberInfo.setPhone(proMember.getPhone());
memberInfo.setUserId(proMember.getUserId());
//添加成员与角色的关联
if(CollectionUtil.isNotEmpty(saveMember.getRoleId())){
saveMember.getRoleId().forEach(roleId -> {
@ -323,6 +331,7 @@ public class ProMemberService implements IProMemberService {
} else {
throw new BaseException(CodeEnum.NOT_POWER);
}
return memberInfo;
}
@Override
@ -437,4 +446,18 @@ public class ProMemberService implements IProMemberService {
public List<ProjectVo.MemberList> 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<ProMember> 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;
}
}

6
tall/src/main/java/com/ccsens/tall/service/ProRoleService.java

@ -362,7 +362,7 @@ public class ProRoleService implements IProRoleService {
@Override
public void saveRole(Long currentUserId, RoleDto.SaveRole saveRole) {
public RoleVo.RoleByProjectId saveRole(Long currentUserId, RoleDto.SaveRole saveRole) {
//检查操作者的权限
int power = selectPowerByRoleName(currentUserId, saveRole.getProjectId());
if (power < 2) {
@ -383,6 +383,10 @@ public class ProRoleService implements IProRoleService {
role.setName(saveRole.getRoleName());
role.setParentId(parentId);
proRoleDao.insertSelective(role);
RoleVo.RoleByProjectId roleInfo = new RoleVo.RoleByProjectId();
roleInfo.setRoleId(role.getId());
roleInfo.setRoleName(role.getName());
return roleInfo;
}
@Override

20
tall/src/main/java/com/ccsens/tall/web/MemberController.java

@ -3,6 +3,7 @@ package com.ccsens.tall.web;
import com.ccsens.tall.bean.dto.MemberDto;
import com.ccsens.tall.bean.dto.ProjectDto;
import com.ccsens.tall.bean.vo.ProjectVo;
import com.ccsens.tall.bean.vo.RoleVo;
import com.ccsens.tall.service.IProMemberService;
import com.ccsens.util.JsonResponse;
import com.ccsens.util.WebConstant;
@ -38,12 +39,12 @@ public class MemberController {
@ApiImplicitParams({
})
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveMember(HttpServletRequest request,
@ApiParam @Validated @RequestBody MemberDto.SaveMember saveMember) throws Exception {
public JsonResponse<RoleVo.MemberInfo> saveMember(HttpServletRequest request,
@ApiParam @Validated @RequestBody MemberDto.SaveMember saveMember) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
log.info("添加成员:{}",saveMember.toString());
proMemberService.saveProMember(currentUserId,saveMember);
return JsonResponse.newInstance().ok();
RoleVo.MemberInfo memberInfo = proMemberService.saveProMember(currentUserId,saveMember);
return JsonResponse.newInstance().ok(memberInfo);
}
@ApiOperation(value = "删除成员",notes = "")
@ -90,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<ProjectVo.MemberList> 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);
}
}

6
tall/src/main/java/com/ccsens/tall/web/RoleController.java

@ -43,11 +43,11 @@ public class RoleController {
@ApiImplicitParams({
})
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse saveRole(HttpServletRequest request,
public JsonResponse<RoleVo.RoleByProjectId> saveRole(HttpServletRequest request,
@ApiParam @Validated @RequestBody RoleDto.SaveRole saveRole) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
proRoleService.saveRole(currentUserId,saveRole);
return JsonResponse.newInstance().ok();
RoleVo.RoleByProjectId roleInfo = proRoleService.saveRole(currentUserId,saveRole);
return JsonResponse.newInstance().ok(roleInfo);
}
@ApiOperation(value = "修改角色信息",notes = "")

5
tall/src/main/java/com/ccsens/tall/web/TaskController.java

@ -10,6 +10,7 @@ import com.ccsens.util.WebConstant;
import com.ccsens.util.annotation.OperateType;
import io.jsonwebtoken.Claims;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@Slf4j
@Api(tags = "任务相关API" , description = "")
@RestController
@RequestMapping("/tasks")
@ -224,8 +226,9 @@ public class TaskController {
public JsonResponse<TaskVo.NormalTask> addTask(HttpServletRequest request,
@ApiParam @Validated @RequestBody TaskDto.AddTask addTask) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
log.info("新加任务,userId:{}、任务信息:{}",currentUserId,addTask);
TaskVo.NormalTask normalTask = subTimeService.addTask(currentUserId,addTask);
log.info("添加的任务的信息:{}",normalTask);
return JsonResponse.newInstance().ok(normalTask);
}

Loading…
Cancel
Save