Browse Source

20201116v1.0

tiaosheng
zy_Java 5 years ago
parent
commit
52a105155f
  1. 131
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java
  2. 110
      cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java
  3. 55
      cloudutil/src/main/java/com/ccsens/cloudutil/feign/TallFeignClient.java
  4. 23
      mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java
  5. 17
      mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java
  6. 33
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrder.java
  7. 180
      mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrderExample.java
  8. 79
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  9. 18
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java
  10. 8
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java
  11. 187
      mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java
  12. 17
      mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java
  13. 5
      mt/src/main/java/com/ccsens/mt/util/Constant.java
  14. 44
      mt/src/main/resources/mapper_dao/CompeteJudgmentDao.xml
  15. 57
      mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml
  16. 58
      mt/src/main/resources/mapper_raw/CompeteStartOrderMapper.xml
  17. 4
      tall/src/main/java/com/ccsens/tall/web/TaskController.java

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

@ -0,0 +1,131 @@
package com.ccsens.cloudutil.bean.tall.dto;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.util.exception.BaseException;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
@ApiModel
public class TallTaskDto {
@ApiModel
@Data
public static class AddTask {
@ApiModelProperty("关联项目Id")
private Long projectId;
@ApiModelProperty("关联的任务id(detailId)")
private Long parentTaskId;
@ApiModelProperty("任务名称")
@NotEmpty(message = "任务名不能为空")
private String taskName;
@ApiModelProperty("任务描述")
private String description;
@ApiModelProperty("负责人id")
@NotNull(message = "请选择负责人")
private Long executorId;
@ApiModelProperty("开始时间")
private Long beginTime;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("重复周期")
private String cycle;
@ApiModelProperty("交付物")
private String taskDeliver;
@ApiModelProperty("插件")
private List<Long> pluginList;
@ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0")
private Byte priority;
@ApiModelProperty("任务提醒消息")
private TaskRemindByAdd taskRemind;
}
@Data
@ApiModel("添加时设置任务提醒")
public static class TaskRemindByAdd{
@ApiModelProperty("提醒时机 0不提醒 1开始前,2开始时,3开始后,4结束前,5结束时,6结束后,7自定义时间")
private Byte remindTiming;
@ApiModelProperty("时长 提醒时机是“开始时”或“结束时”可以为空")
private Long duration = 0L;
@ApiModelProperty("时间单位 0分钟 1小时 2天")
private Byte unit;
public Long getDuration(){
if(ObjectUtil.isNull(unit)) {
throw new BaseException("时间单位不能为空");
}
if(remindTiming == 7){
return duration;
}
switch (unit) {
case 0:
return duration * 60 * 1000L;
case 1:
return duration * 60 * 60 * 1000L;
case 2:
return duration * 24 * 60 * 60 * 1000L;
default:
return duration;
}
}
}
@Data
@ApiModel("修改任务详细信息")
public static class UpdateTaskInfo{
@ApiModelProperty("任务id")
private Long id;
@ApiModelProperty("任务名")
private String name;
@ApiModelProperty("任务详情")
private String description;
@ApiModelProperty("负责人")
private Long executorRole;
@ApiModelProperty("任务开始时间")
private Long beginTime;
@ApiModelProperty("任务结束时间")
private Long endTime;
@ApiModelProperty("重复频率")
private String cycle;
@ApiModelProperty("任务奖惩")
private Long money;
@ApiModelProperty("任务切换模式,0时间到立刻切换 1延迟delay_time切换 2手动切换")
private int delay;
@ApiModelProperty("延迟切换时间")
private Long delayTime;
@ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0")
private Byte priority;
@ApiModelProperty("是否是里程碑 0否 1是")
private Byte milestone;
@ApiModelProperty("需要修改的插件Id")
private List<Long> plugins;
}
@Data
@ApiModel("修改插件配置")
public static class UpdatePluginConfig {
@NonNull
@ApiModelProperty("任务id")
private Long taskId;
@ApiModelProperty("任务插件id")
private Long taskPluginId;
@ApiModelProperty("页面接口路径")
private String webPath;
@ApiModelProperty("入参")
private String importParam;
@ApiModelProperty("放置位置 默认0 ,0任务名 1详情页 2任务下")
private Byte placeLocation;
@ApiModelProperty("程序位置 0:tall内部,1外部")
private Byte routineLocation;
public UpdatePluginConfig() {
}
}
}

110
cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/vo/TaskVo.java

@ -1,7 +1,14 @@
package com.ccsens.cloudutil.bean.tall.vo;
import cn.hutool.core.util.ObjectUtil;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class TaskVo {
@Data
@ -11,4 +18,107 @@ public class TaskVo {
private Long projectId;
private String projectName;
}
@ApiModel
@Data
public static class NormalTask{
@ApiModelProperty("任务详细信息id")
private Long detailId;
@ApiModelProperty("当前任务的时间段id")
private Long id;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("详细描述")
private String description;
@ApiModelProperty("父任务名称")
private String parentName;
@ApiModelProperty("所属项目id")
private Long projectId;
@ApiModelProperty("所属项目名称")
private String projectName;
@ApiModelProperty("负责人Id")
private Long executorRole;
@ApiModelProperty("负责人名称")
private String executorRoleName;
@ApiModelProperty("开始时间")
private Long beginTime;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("时长")
private Long duration;
@ApiModelProperty("循环周期")
private String cycle;
@ApiModelProperty("跳转模式 0自动,1延迟,2手动")
private int delay;
@ApiModelProperty("实际开始时间")
private Long realBeginTime;
@ApiModelProperty("实际结束时间")
private Long realEndTime;
@ApiModelProperty("跳转结束时间")
private Long loopEndTime;
@ApiModelProperty("跳转的任务id")
private Long loopTo;
@ApiModelProperty("执行时间")
private Long execTimes;
@ApiModelProperty("奖惩")
private BigDecimal money;
@ApiModelProperty("状态:0-未开始,1-进行中,2-已完成")
private int process;
@ApiModelProperty("子项目id")
private Long subProjectId;
@ApiModelProperty("子项目名字")
private String subProjectName;
@ApiModelProperty("服务器时间")
private Long serverTime;
@ApiModelProperty("任务类型 0普通任务 1虚拟任务")
private int virtual;
@ApiModelProperty("有无分组")
private int hasGroup;
@ApiModelProperty("分数")
private BigDecimal score;
@ApiModelProperty("插件")
private List<PluginVo> plugins;
@ApiModelProperty("二级任务")
private List<NormalTask> secondTasks;
@ApiModelProperty("时间状态 0:正常 1:任务开始 2:任务结束")
private Byte timeStatus = 0;
@ApiModelProperty("当前周期内任务的序号")
private int sequence;
@ApiModelProperty("页面/接口路径")
private String webPath;
@ApiModelProperty("程序位置 0:tall内部,1外部")
private Byte routineLocation;
@ApiModelProperty("入参")
private String importParam;
public Long getDuration(){
if(ObjectUtil.isNotNull(beginTime) && ObjectUtil.isNotNull(endTime)) {
return endTime - beginTime;
}
return null;
}
public Long getServerTime(){
return System.currentTimeMillis();
}
}
@ApiModel
@Data
public static class PluginVo{
@ApiModelProperty("插件id")
private String id;
@ApiModelProperty("插件名")
private String name;
@ApiModelProperty("插件描述")
private String description;
@ApiModelProperty("显示分类")
private String showType;
@ApiModelProperty("页面/接口路径")
private String webPath;
@ApiModelProperty("程序位置 0:tall内部,1外部")
private Byte routineLocation;
@ApiModelProperty("入参")
private String importParam;
}
}

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

@ -1,10 +1,7 @@
package com.ccsens.cloudutil.feign;
import com.ccsens.cloudutil.bean.QueryParam;
import com.ccsens.cloudutil.bean.tall.dto.LogDto;
import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto;
import com.ccsens.cloudutil.bean.tall.dto.UserDto;
import com.ccsens.cloudutil.bean.tall.dto.WpsDto;
import com.ccsens.cloudutil.bean.tall.dto.*;
import com.ccsens.cloudutil.bean.tall.vo.*;
import com.ccsens.util.JsonResponse;
import feign.hystrix.FallbackFactory;
@ -12,10 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -177,12 +171,35 @@ public interface TallFeignClient {
@GetMapping("/v1/3rd/getFilePath")
String getWpsFilePath(@RequestParam(name = "businessId") Long businessId,@RequestParam(name = "businessType") byte businessType);
/**
/**
* 通过userId呵taskId查找用户信息
*/
@GetMapping("/users/memberByTask")
JsonResponse<MemberVo.MemberInfo> getMemberInfoByUserIdAndTaskId(@RequestParam(name = "userId") Long userId,@RequestParam(name = "taskId") Long taskId);
/**
* 添加任务
*/
@RequestMapping("/tasks")
JsonResponse<TaskVo.NormalTask> saveTask(TallTaskDto.AddTask addTask);
/**
* 修改任务
*/
@RequestMapping("/tasks/change")
JsonResponse<TaskVo.NormalTask> updataTask(TallTaskDto.UpdateTaskInfo updateTaskInfo);
/**
* 删除任务
*/
@DeleteMapping("/tasks")
JsonResponse deleteTask(@RequestParam(name = "taskId") Long taskId);
/**
* 修改任务插件配置
*/
@DeleteMapping("/plugins/config")
JsonResponse<TaskVo.PluginVo> updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig);
}
@Slf4j
@ -295,6 +312,26 @@ class TallFeignClientFallBack implements FallbackFactory<TallFeignClient> {
public JsonResponse<MemberVo.MemberInfo> getMemberInfoByUserIdAndTaskId(Long userId, Long taskId) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse<TaskVo.NormalTask> saveTask(TallTaskDto.AddTask addTask) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse<TaskVo.NormalTask> updataTask(TallTaskDto.UpdateTaskInfo updateTaskInfo) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse deleteTask(Long taskId) {
return JsonResponse.newInstance().fail();
}
@Override
public JsonResponse<TaskVo.PluginVo> updatePluginConfig(TallTaskDto.UpdatePluginConfig updatePluginConfig) {
return JsonResponse.newInstance().fail();
}
};
}

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

@ -3,6 +3,7 @@ package com.ccsens.mt.api;
import com.ccsens.cloudutil.annotation.MustLogin;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.service.ICompeteTaskService;
import com.ccsens.util.JsonResponse;
@ -47,9 +48,29 @@ public class CompeteTaskController {
@RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TableVo.DailyScheduleProcess> updateCompeteConfig(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.UpdateCompeteProjectConfig> params) {
log.info("日程安排更新:{}",params);
List<TableVo.CompeteProjectConfig> dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam().getUpdateCompeteTaskList());
List<TableVo.CompeteProjectConfig> dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam());
log.info("日程安排更新:{}",dailyScheduleProcessList);
return JsonResponse.newInstance().ok(dailyScheduleProcessList);
}
@MustLogin
@ApiOperation(value = "查看该学校选手列表,按出场顺序(手机上上传视频用)", notes = "zy:按顺序查找出场顺序表,筛选出该学校在此项目中的所有选手或团队的出场顺序和时间")
@RequestMapping(value = "/query/players", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.StartOrderByCompany>> queryStartOrderByCompany(@ApiParam @Validated @RequestBody QueryDto<ProvinceCompeteDto.QueryStartOrderByCompany> params) {
log.info("日程安排更新:{}",params);
List<ProvinceCompeteVo.StartOrderByCompany> startOrderByCompanyList = competeTaskService.queryStartOrderByCompany(params.getParam());
log.info("日程安排更新:{}",startOrderByCompanyList);
return JsonResponse.newInstance().ok(startOrderByCompanyList);
}
@MustLogin
@ApiOperation(value = "查看裁判分配信息", notes = "zy:查看每个项目下的每个场地的裁判信息")
@RequestMapping(value = "/query/judgment", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<ProvinceCompeteVo.QueryJudgment>> queryJudgment(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteTime> params) {
log.info("日程安排更新:{}",params);
List<ProvinceCompeteVo.QueryJudgment> queryJudgmentList = competeTaskService.queryJudgment(params.getParam());
log.info("日程安排更新:{}",queryJudgmentList);
return JsonResponse.newInstance().ok(queryJudgmentList);
}
}

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

@ -202,7 +202,7 @@ public class ProvinceCompeteDto {
@Data
@ApiModel("修改日程安排")
public static class UpdateCompeteProjectConfig{
public static class UpdateCompeteProjectConfig{
@NotNull
@ApiModelProperty("Tall当前项目id")
private Long projectId;
@ -212,7 +212,7 @@ public class ProvinceCompeteDto {
@Data
@ApiModel("需要修改的日程安排")
public static class UpdateCompeteTask{
public static class UpdateCompeteTask{
@NotNull
@ApiModelProperty("比赛项目项目id")
private Long projectId;
@ -226,4 +226,17 @@ public class ProvinceCompeteDto {
private Long endTime;
}
@Data
@ApiModel("手机上查找当前单位的选手出场顺序")
public static class QueryStartOrderByCompany{
@ApiModelProperty("比赛项目id,为空则查询全部项目")
private Long projectId;
@NotNull
@ApiModelProperty("大赛id")
private Long competeTimeId;
@NotNull
@ApiModelProperty("单位id")
private Long companyId;
}
}

33
mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrder.java

@ -22,6 +22,12 @@ public class CompeteStartOrder implements Serializable {
private Byte recStatus;
private Long taskId;
private Long startTime;
private Long endTime;
private static final long serialVersionUID = 1L;
public Long getId() {
@ -96,6 +102,30 @@ public class CompeteStartOrder implements Serializable {
this.recStatus = recStatus;
}
public Long getTaskId() {
return taskId;
}
public void setTaskId(Long taskId) {
this.taskId = taskId;
}
public Long getStartTime() {
return startTime;
}
public void setStartTime(Long startTime) {
this.startTime = startTime;
}
public Long getEndTime() {
return endTime;
}
public void setEndTime(Long endTime) {
this.endTime = endTime;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
@ -111,6 +141,9 @@ public class CompeteStartOrder implements Serializable {
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append(", taskId=").append(taskId);
sb.append(", startTime=").append(startTime);
sb.append(", endTime=").append(endTime);
sb.append("]");
return sb.toString();
}

180
mt/src/main/java/com/ccsens/mt/bean/po/CompeteStartOrderExample.java

@ -644,6 +644,186 @@ public class CompeteStartOrderExample {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andTaskIdIsNull() {
addCriterion("task_id is null");
return (Criteria) this;
}
public Criteria andTaskIdIsNotNull() {
addCriterion("task_id is not null");
return (Criteria) this;
}
public Criteria andTaskIdEqualTo(Long value) {
addCriterion("task_id =", value, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdNotEqualTo(Long value) {
addCriterion("task_id <>", value, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdGreaterThan(Long value) {
addCriterion("task_id >", value, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdGreaterThanOrEqualTo(Long value) {
addCriterion("task_id >=", value, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdLessThan(Long value) {
addCriterion("task_id <", value, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdLessThanOrEqualTo(Long value) {
addCriterion("task_id <=", value, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdIn(List<Long> values) {
addCriterion("task_id in", values, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdNotIn(List<Long> values) {
addCriterion("task_id not in", values, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdBetween(Long value1, Long value2) {
addCriterion("task_id between", value1, value2, "taskId");
return (Criteria) this;
}
public Criteria andTaskIdNotBetween(Long value1, Long value2) {
addCriterion("task_id not between", value1, value2, "taskId");
return (Criteria) this;
}
public Criteria andStartTimeIsNull() {
addCriterion("start_time is null");
return (Criteria) this;
}
public Criteria andStartTimeIsNotNull() {
addCriterion("start_time is not null");
return (Criteria) this;
}
public Criteria andStartTimeEqualTo(Long value) {
addCriterion("start_time =", value, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeNotEqualTo(Long value) {
addCriterion("start_time <>", value, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeGreaterThan(Long value) {
addCriterion("start_time >", value, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeGreaterThanOrEqualTo(Long value) {
addCriterion("start_time >=", value, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeLessThan(Long value) {
addCriterion("start_time <", value, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeLessThanOrEqualTo(Long value) {
addCriterion("start_time <=", value, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeIn(List<Long> values) {
addCriterion("start_time in", values, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeNotIn(List<Long> values) {
addCriterion("start_time not in", values, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeBetween(Long value1, Long value2) {
addCriterion("start_time between", value1, value2, "startTime");
return (Criteria) this;
}
public Criteria andStartTimeNotBetween(Long value1, Long value2) {
addCriterion("start_time not between", value1, value2, "startTime");
return (Criteria) this;
}
public Criteria andEndTimeIsNull() {
addCriterion("end_time is null");
return (Criteria) this;
}
public Criteria andEndTimeIsNotNull() {
addCriterion("end_time is not null");
return (Criteria) this;
}
public Criteria andEndTimeEqualTo(Long value) {
addCriterion("end_time =", value, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeNotEqualTo(Long value) {
addCriterion("end_time <>", value, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeGreaterThan(Long value) {
addCriterion("end_time >", value, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeGreaterThanOrEqualTo(Long value) {
addCriterion("end_time >=", value, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeLessThan(Long value) {
addCriterion("end_time <", value, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeLessThanOrEqualTo(Long value) {
addCriterion("end_time <=", value, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeIn(List<Long> values) {
addCriterion("end_time in", values, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeNotIn(List<Long> values) {
addCriterion("end_time not in", values, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeBetween(Long value1, Long value2) {
addCriterion("end_time between", value1, value2, "endTime");
return (Criteria) this;
}
public Criteria andEndTimeNotBetween(Long value1, Long value2) {
addCriterion("end_time not between", value1, value2, "endTime");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

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

@ -1,5 +1,7 @@
package com.ccsens.mt.bean.vo;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.mt.util.Constant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -230,4 +232,81 @@ public class ProvinceCompeteVo {
private int sexGroup;
private String groupRemark = "123";
}
@Data
@ApiModel("查看单位下当前项目所有参赛人员或队伍信息")
public static class StartOrderByCompany {
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("场次id")
private Long startOrderId;
@ApiModelProperty("场次")
private int competeOrder;
@ApiModelProperty("场地")
private int site;
@ApiModelProperty("选手名")
private String playerName;
@ApiModelProperty("组别名")
private String groupName;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("结束时间")
private Long endTime;
public Long getStartTime(){
if(ObjectUtil.isNotNull(startTime) && startTime != 0){
return startTime + Constant.UPLOAD_VIDEO_TIME;
}
return null;
}
public Long getEndTime(){
if(ObjectUtil.isNotNull(endTime) && endTime != 0){
return endTime + Constant.UPLOAD_VIDEO_TIME;
}
return null;
}
}
@Data
@ApiModel("查看裁判分配信息")
public static class QueryJudgment {
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("项目名")
private String projectName;
@ApiModelProperty("项目开始时间")
private Long startTime;
@ApiModelProperty("项目结束时间")
private Long endTime;
@ApiModelProperty("项目下的场地")
private List<ProjectSite> siteList;
}
@Data
@ApiModel("项目下的场地信息")
public static class ProjectSite {
@ApiModelProperty("场地编号")
private int siteNum;
@ApiModelProperty("场地下的裁判")
private List<SiteJudgment> judgmentList;
}
@Data
@ApiModel("场地下的裁判信息")
public static class SiteJudgment {
@ApiModelProperty("裁判编号")
private int judgmentNum;
@ApiModelProperty("裁判名字")
private String judgmentName;
@ApiModelProperty("裁判手机号")
private String judgmentPhone;
@ApiModelProperty("备注")
private String remark;
}
}

18
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteJudgmentDao.java

@ -0,0 +1,18 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.persist.mapper.CompeteJudgmentMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface CompeteJudgmentDao extends CompeteJudgmentMapper {
/**
* 查找裁判分配信息
* @param competeTimeId 大赛id
* @return
*/
List<ProvinceCompeteVo.QueryJudgment> queryJudgment(@Param("competeTimeId") Long competeTimeId);
}

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

@ -2,6 +2,7 @@ package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.po.CompeteProjectConfig;
import com.ccsens.mt.bean.po.CompeteProjectConfigExample;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.persist.mapper.CompeteProjectConfigMapper;
import org.apache.ibatis.annotations.Param;
@ -28,4 +29,11 @@ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper {
*/
List<TableVo.CompeteProjectConfig> queryProjectConfig(@Param("type")int type);
/**
* 查看该学校选手列表按出场顺序(手机上上传视频用)
* @param companyId 单位id
* @param projectId 项目di
* @return 返回选手列表
*/
List<ProvinceCompeteVo.StartOrderByCompany> queryStartOrderByCompany(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("competeTimeId")Long competeTimeId);
}

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

@ -3,16 +3,19 @@ package com.ccsens.mt.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.cloudutil.bean.tall.dto.TallTaskDto;
import com.ccsens.cloudutil.bean.tall.vo.TaskVo;
import com.ccsens.cloudutil.feign.TallFeignClient;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.po.*;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.persist.dao.CompeteProjectConfigDao;
import com.ccsens.mt.persist.dao.CompeteProjectDao;
import com.ccsens.mt.persist.dao.CompeteTeamDao;
import com.ccsens.mt.persist.dao.CompeteTimeDao;
import com.ccsens.mt.persist.dao.*;
import com.ccsens.mt.persist.mapper.CompeteProjectPlayerMapper;
import com.ccsens.mt.persist.mapper.CompeteStartOrderMapper;
import com.ccsens.mt.util.Constant;
import com.ccsens.util.JsonResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@ -44,7 +47,14 @@ public class CompeteTaskService implements ICompeteTaskService{
private CompeteStartOrderMapper startOrderMapper;
@Resource
private CompeteTeamDao competeTeamDao;
@Resource
private TallFeignClient tallFeignClient;
@Resource
private CompeteJudgmentDao competeJudgmentDao;
/**
* 查看项目的日程配置信息
*/
@Override
public List<TableVo.CompeteProjectConfig> queryCompeteConfig(CompeteDto.CompeteTime param) {
CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId());
@ -55,12 +65,15 @@ public class CompeteTaskService implements ICompeteTaskService{
return competeProjectConfigList;
}
/**
* 修改项目的日程配置
*/
@Override
public List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(List<ProvinceCompeteDto.UpdateCompeteTask> param) {
public List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param) {
//获取比赛类型
AtomicInteger type = new AtomicInteger();
if(CollectionUtil.isNotEmpty(param)){
param.forEach(projectConfig -> {
if(CollectionUtil.isNotEmpty(param.getUpdateCompeteTaskList())){
param.getUpdateCompeteTaskList().forEach(projectConfig -> {
//获取项目
CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId());
if(ObjectUtil.isNotNull(project)){
@ -91,7 +104,7 @@ public class CompeteTaskService implements ICompeteTaskService{
projectConfigDao.insertSelective(competeProjectConfig);
}
// TODO 生成出场顺序表,存入数据库。在tall内添加对应的任务
setStartOrder(competeProjectConfig);
setStartOrder(competeProjectConfig,param.getProjectId());
});
}
return projectConfigDao.queryProjectConfig(type.get());
@ -99,21 +112,11 @@ public class CompeteTaskService implements ICompeteTaskService{
/**
* 修改配置时生成出场顺序(先删除之前的数据)
*/
public void setStartOrder(CompeteProjectConfig competeProjectConfig) {
if (ObjectUtil.isNotNull(competeProjectConfig)) {
public void setStartOrder(CompeteProjectConfig projectConfig, Long tallProjectId) {
if (ObjectUtil.isNotNull(projectConfig)) {
//查找项目
CompeteProject project = competeProjectDao.selectByPrimaryKey(competeProjectConfig.getProjectId());
CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId());
if (ObjectUtil.isNotNull(project)) {
//首先删除此项目以前的出场顺序
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
startOrderExample.createCriteria().andProjectIdEqualTo(project.getId());
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
if(ObjectUtil.isNotNull(startOrderExample)){
startOrderList.forEach(startOrder -> {
startOrder.setRecStatus((byte) 2);
startOrderMapper.updateByPrimaryKeySelective(startOrder);
});
}
//判断是团队还是个人项目
if (project.getTeam() == 0) {
//个人项目查找所有参赛信息
@ -122,20 +125,68 @@ public class CompeteTaskService implements ICompeteTaskService{
List<CompeteProjectPlayer> projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample);
if (CollectionUtil.isNotEmpty(projectPlayerList)) {
//计算场次
int order = (int) Math.ceil(competeProjectConfig.getSiteNum() / projectPlayerList.size());
int order = (int) Math.ceil(projectConfig.getSiteNum() / projectPlayerList.size());
//计算每个场次时间
long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME;
long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
//场次
int competeOrder = 1;
//场地
int site = 1;
for (CompeteProjectPlayer projectPlayer : projectPlayerList) {
//添加出场顺序和tall的任务
addStartOrderAndTask(project.getId(), competeOrder, site, projectPlayer.getId(),0);
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
startOrderExample.createCriteria().andPlayerIdEqualTo(projectPlayer.getId()).andProjectIdEqualTo(project.getId());
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
if(CollectionUtil.isNotEmpty(startOrderList)){
CompeteStartOrder competeStartOrder = startOrderList.get(0);
competeStartOrder.setSite((byte) site);
competeStartOrder.setCompeteOrder((byte) competeOrder);
if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){
competeStartOrder.setStartTime(projectStartTime);
competeStartOrder.setEndTime(projectStartTime + orderTime);
// TODO 修改tall的任务
TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo();
updateTaskInfo.setId(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getEndTime());
tallFeignClient.updataTask(updateTaskInfo);
}
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
}else{
//添加tall的任务
Long taskId = null;
TallTaskDto.AddTask addTask = new TallTaskDto.AddTask();
addTask.setProjectId(tallProjectId);
addTask.setTaskName(project.getName() + competeOrder +"-" + site);
addTask.setBeginTime(projectStartTime);
addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(1L);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
if (ObjectUtil.isNotNull(normalTask)) {
taskId = normalTask.getDetailId();
}
}
//添加出场顺序信息
CompeteStartOrder competeStartOrder = new CompeteStartOrder();
competeStartOrder.setId(snowflake.nextId());
competeStartOrder.setProjectId(project.getId());
competeStartOrder.setPlayerId(projectPlayer.getId());
competeStartOrder.setSite((byte) site);
competeStartOrder.setTeam((byte) 0);
competeStartOrder.setCompeteOrder((byte) competeOrder);
competeStartOrder.setTaskId(taskId);
competeStartOrder.setStartTime(projectStartTime);
competeStartOrder.setEndTime(projectStartTime + orderTime);
startOrderMapper.insertSelective(competeStartOrder);
}
site++;
if(site > competeProjectConfig.getSiteNum()){
if(site > projectConfig.getSiteNum()){
site = 1;
competeOrder++;
projectStartTime += orderTime;
}
}
}
@ -145,17 +196,69 @@ public class CompeteTaskService implements ICompeteTaskService{
teamExample.createCriteria().andProjectIdEqualTo(project.getId());
List<CompeteTeam> teamList = competeTeamDao.selectByExample(teamExample);
if(CollectionUtil.isNotEmpty(teamList)){
//计算场次
int order = (int) Math.ceil(projectConfig.getSiteNum() / teamList.size());
//计算每个场次时间
long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME;
long orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order);
//场次
int competeOrder = 1;
//场地
int site = 1;
for (CompeteTeam competeTeam : teamList) {
//添加出场顺序和tall的任务
addStartOrderAndTask(project.getId(), competeOrder, site, competeTeam.getId(),1);
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
startOrderExample.createCriteria().andPlayerIdEqualTo(competeTeam.getId()).andProjectIdEqualTo(project.getId());
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
if(CollectionUtil.isNotEmpty(startOrderList)){
CompeteStartOrder competeStartOrder = startOrderList.get(0);
competeStartOrder.setSite((byte) site);
competeStartOrder.setCompeteOrder((byte) competeOrder);
if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){
competeStartOrder.setStartTime(projectStartTime);
competeStartOrder.setEndTime(projectStartTime + orderTime);
// TODO 修改tall的任务
TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo();
updateTaskInfo.setId(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getId());
updateTaskInfo.setBeginTime(competeStartOrder.getEndTime());
tallFeignClient.updataTask(updateTaskInfo);
}
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
}else{
//添加tall的任务
Long taskId = null;
TallTaskDto.AddTask addTask = new TallTaskDto.AddTask();
addTask.setProjectId(tallProjectId);
addTask.setTaskName(project.getName() + competeOrder +"-" + site);
addTask.setBeginTime(projectStartTime);
addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(1L);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
if (ObjectUtil.isNotNull(normalTask)) {
taskId = normalTask.getDetailId();
}
}
//添加出场顺序信息
CompeteStartOrder competeStartOrder = new CompeteStartOrder();
competeStartOrder.setId(snowflake.nextId());
competeStartOrder.setProjectId(project.getId());
competeStartOrder.setPlayerId(competeTeam.getId());
competeStartOrder.setSite((byte) site);
competeStartOrder.setTeam((byte) 0);
competeStartOrder.setCompeteOrder((byte) competeOrder);
competeStartOrder.setTaskId(taskId);
competeStartOrder.setStartTime(projectStartTime);
competeStartOrder.setEndTime(projectStartTime + orderTime);
startOrderMapper.insertSelective(competeStartOrder);
}
site++;
if(site > competeProjectConfig.getSiteNum()){
if(site > projectConfig.getSiteNum()){
site = 1;
competeOrder++;
projectStartTime += orderTime;
}
}
}
@ -164,16 +267,20 @@ public class CompeteTaskService implements ICompeteTaskService{
}
}
private void addStartOrderAndTask(Long projectId, int competeOrder, int site, Long playerOrTeamId,int isTeam) {
//添加出场顺序
CompeteStartOrder competeStartOrder = new CompeteStartOrder();
competeStartOrder.setId(snowflake.nextId());
competeStartOrder.setProjectId(projectId);
competeStartOrder.setPlayerId(playerOrTeamId);
competeStartOrder.setSite((byte) site);
competeStartOrder.setTeam((byte) isTeam);
competeStartOrder.setCompeteOrder((byte) competeOrder);
startOrderMapper.insertSelective(competeStartOrder);
/**
* 手机上查看选手出场顺序
*/
@Override
public List<ProvinceCompeteVo.StartOrderByCompany> queryStartOrderByCompany(ProvinceCompeteDto.QueryStartOrderByCompany param) {
return projectConfigDao.queryStartOrderByCompany(param.getCompanyId(),param.getProjectId(),param.getCompeteTimeId());
}
/**
* 查看裁判分配信息
*/
@Override
public List<ProvinceCompeteVo.QueryJudgment> queryJudgment(CompeteDto.CompeteTime param) {
return competeJudgmentDao.queryJudgment(param.getCompeteTimeId());
}
}

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

@ -2,6 +2,7 @@ package com.ccsens.mt.service;
import com.ccsens.mt.bean.dto.CompeteDto;
import com.ccsens.mt.bean.dto.ProvinceCompeteDto;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.bean.vo.TableVo;
import java.util.List;
@ -15,7 +16,7 @@ public interface ICompeteTaskService {
* @param param
* @return
*/
List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(List<ProvinceCompeteDto.UpdateCompeteTask> param);
List<TableVo.CompeteProjectConfig> updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param);
/**
* 查找所有项目的日程配置
@ -23,4 +24,18 @@ public interface ICompeteTaskService {
* @return
*/
List<TableVo.CompeteProjectConfig> queryCompeteConfig(CompeteDto.CompeteTime param);
/**
* 查找该单位下参加该项目的选手的出场顺序信息
* @param param
* @return
*/
List<ProvinceCompeteVo.StartOrderByCompany> queryStartOrderByCompany(ProvinceCompeteDto.QueryStartOrderByCompany param);
/**
* 查看所有项目下的裁判分配信息
* @param param
* @return
*/
List<ProvinceCompeteVo.QueryJudgment> queryJudgment(CompeteDto.CompeteTime param);
}

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

@ -46,6 +46,11 @@ public class Constant {
* 速度通级赛id
*/
public static final long CERTIFICATE = 2018;
/**
* 每个比赛项目留给选手上传视频的时间(暂定半个小时可以修改)
*/
public static final long UPLOAD_VIDEO_TIME = 30 * 60 * 1000;
public final static class Compete{
public final static byte PROJECT_JOIN_RULE_GROUP_LIMIT = 0;

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

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.mt.persist.dao.CompeteJudgmentDao">
<resultMap id="queryJudgment" type="com.ccsens.mt.bean.vo.ProvinceCompeteVo$QueryJudgment">
<id column="projectId" property="projectId"/>
<result column="projectName" property="projectName"/>
<result column="startTime" property="startTime"/>
<result column="endTime" property="endTime"/>
<collection property="siteList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$ProjectSite">
<id column="siteNum" property="siteNum"/>
<collection property="judgmentList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$SiteJudgment">
<id column="judgmentNum" property="judgmentNum"/>
<result column="judgmentName" property="judgmentName"/>
<result column="judgmentPhone" property="judgmentPhone"/>
<result column="remark" property="remark"/>
</collection>
</collection>
</resultMap>
<select id="queryJudgment" resultMap="queryJudgment">
SELECT
p.id as projectId,
p.`name` as projectName,
pc.start_time as startTime,
pc.end_time as endTime,
j.site as siteNum,
j.chief_judgment as judgmentNum,
j.`name` as judgmentName,
j.phone as judgmentPhone,
j.remark as remark
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}
and p.`level` = 2
and p.rec_status = 0
and (j.rec_status = 0 or j.rec_status is null)
</select>
</mapper>

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

@ -166,6 +166,63 @@
and p.rec_status = 0
GROUP BY p.id
</select>
<select id="queryStartOrderByCompany" resultType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$StartOrderByCompany">
SELECT
so.id as startOrderId,
so.compete_order as competeOrder,
so.site as site,
so.start_time as startTime,
so.end_time as endTime,
pr.id as projectId,
pr.`name` as projectName,
if(pr.team = 0,a.plName,b.plName) as playerName,
if(pr.team = 0,a.groupName,b.groupName) as groupName
from
t_compete_start_order so
LEFT JOIN t_compete_project pr on so.project_id = pr.id
LEFT JOIN t_compete_time ti on pr.type = ti.type
LEFT JOIN
(
SELECT
pp.id as ppId,
pl.`name` as plName,
g.group_name as groupName
FROM
t_compete_project_player pp LEFT JOIN t_compete_player pl on pp.player_id = pl.id
LEFT JOIN t_compete_group g on g.id = pl.compete_group_id
WHERE
pl.company_id = #{companyId}
and pp.rec_status = 0
and pl.rec_status = 0
)a on a.ppId = so.player_id
LEFT JOIN
(
SELECT
t.id as teamId,
GROUP_CONCAT(pl.`name` separator '、') as plName,
g.group_name as groupName
FROM
t_compete_team t LEFT JOIN t_compete_team_member m on t.id = m.compete_team_id
LEFT JOIN t_compete_player pl on m.player_id = pl.id
LEFT JOIN t_compete_group g on t.group_remark = g.group_remark and t.gender_group = g.sex
WHERE
t.company_id = #{companyId}
and t.rec_status = 0
and m.rec_status = 0
and pl.rec_status = 0
GROUP BY t.id
)b on b.teamId = so.player_id
WHERE
<if test="projectId != null">
pr.id = #{projectId}
and
</if>
ti.id = #{competeTimeId}
and(a.ppId is not null or b.teamId is not null)
and so.rec_status = 0
and pr.rec_status = 0
ORDER BY so.start_time
</select>
</mapper>

58
mt/src/main/resources/mapper_raw/CompeteStartOrderMapper.xml

@ -11,6 +11,9 @@
<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="task_id" jdbcType="BIGINT" property="taskId" />
<result column="start_time" jdbcType="BIGINT" property="startTime" />
<result column="end_time" jdbcType="BIGINT" property="endTime" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -71,7 +74,8 @@
</where>
</sql>
<sql id="Base_Column_List">
id, project_id, player_id, team, compete_order, site, created_at, updated_at, rec_status
id, project_id, player_id, team, compete_order, site, created_at, updated_at, rec_status,
task_id, start_time, end_time
</sql>
<select id="selectByExample" parameterType="com.ccsens.mt.bean.po.CompeteStartOrderExample" resultMap="BaseResultMap">
select
@ -106,11 +110,13 @@
<insert id="insert" parameterType="com.ccsens.mt.bean.po.CompeteStartOrder">
insert into t_compete_start_order (id, project_id, player_id,
team, compete_order, site,
created_at, updated_at, rec_status
created_at, updated_at, rec_status,
task_id, start_time, end_time
)
values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{playerId,jdbcType=BIGINT},
#{team,jdbcType=TINYINT}, #{competeOrder,jdbcType=TINYINT}, #{site,jdbcType=TINYINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT},
#{taskId,jdbcType=BIGINT}, #{startTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.mt.bean.po.CompeteStartOrder">
@ -143,6 +149,15 @@
<if test="recStatus != null">
rec_status,
</if>
<if test="taskId != null">
task_id,
</if>
<if test="startTime != null">
start_time,
</if>
<if test="endTime != null">
end_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -172,6 +187,15 @@
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
<if test="taskId != null">
#{taskId,jdbcType=BIGINT},
</if>
<if test="startTime != null">
#{startTime,jdbcType=BIGINT},
</if>
<if test="endTime != null">
#{endTime,jdbcType=BIGINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.mt.bean.po.CompeteStartOrderExample" resultType="java.lang.Long">
@ -210,6 +234,15 @@
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
<if test="record.taskId != null">
task_id = #{record.taskId,jdbcType=BIGINT},
</if>
<if test="record.startTime != null">
start_time = #{record.startTime,jdbcType=BIGINT},
</if>
<if test="record.endTime != null">
end_time = #{record.endTime,jdbcType=BIGINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -225,7 +258,10 @@
site = #{record.site,jdbcType=TINYINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
rec_status = #{record.recStatus,jdbcType=TINYINT},
task_id = #{record.taskId,jdbcType=BIGINT},
start_time = #{record.startTime,jdbcType=BIGINT},
end_time = #{record.endTime,jdbcType=BIGINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -257,6 +293,15 @@
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
<if test="taskId != null">
task_id = #{taskId,jdbcType=BIGINT},
</if>
<if test="startTime != null">
start_time = #{startTime,jdbcType=BIGINT},
</if>
<if test="endTime != null">
end_time = #{endTime,jdbcType=BIGINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
@ -269,7 +314,10 @@
site = #{site,jdbcType=TINYINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
rec_status = #{recStatus,jdbcType=TINYINT},
task_id = #{taskId,jdbcType=BIGINT},
start_time = #{startTime,jdbcType=BIGINT},
end_time = #{endTime,jdbcType=BIGINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

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

@ -247,8 +247,8 @@ public class TaskController {
@ApiImplicitParams({
@ApiImplicitParam(name = "taskId", value = "任务id", required = true, paramType = "query")
})
@RequestMapping(value = "change", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse updateTask(HttpServletRequest request,
@RequestMapping(value = "/change", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TaskVo.NormalTask> updateTask(HttpServletRequest request,
@Validated @RequestBody TaskDto.UpdateTaskInfo updateTaskInfo) throws Exception {
Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject());
TaskVo.NormalTask taskInfo = taskDetailService.updateTaskInfo(currentUserId,updateTaskInfo);

Loading…
Cancel
Save