diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java index bac2a095..d2ec8f6d 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/MemberRoleDto.java @@ -95,6 +95,8 @@ public class MemberRoleDto { private String stakeholderPhone; @ApiModelProperty("奖惩干系人姓名") private String stakeholderName; + @ApiModelProperty("token") + private String token; } @Data @@ -106,6 +108,8 @@ public class MemberRoleDto { @NotEmpty(message = "角色名不能为空") @ApiModelProperty("角色名") private String roleName; + @ApiModelProperty("token") + private String token; } } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java index e9f3592f..392673ba 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/TallTaskDto.java @@ -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 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() { } diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java index 41d05117..532ba6e7 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/config/FeignTokenConfig.java @@ -1,24 +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.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; +import org.springframework.stereotype.Component; -import javax.servlet.http.HttpServletRequest; /** * @author 逗 */ +@Component public class FeignTokenConfig implements RequestInterceptor { @Override public void apply(RequestTemplate template) { - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - if(attributes == null){ + byte[] body = template.body(); + if (body == null) { return; } - HttpServletRequest request = attributes.getRequest(); + String json = new String(body); + JSONObject jsonObject = JSONUtil.parseObj(json); + //添加token - template.header("Authorization", request.getHeader("Authorization")); + template.header("Authorization", jsonObject.get("token").toString()); } } diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java index 820f2f70..7ab4efcb 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteTaskController.java +++ b/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 updateCompeteConfig(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse updateCompeteConfig( + @ApiParam @Validated @RequestBody QueryDto params, HttpServletRequest request) { log.info("日程安排更新:{}",params); - List dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam()); + String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); + List dailyScheduleProcessList = competeTaskService.updateCompeteProjectConfig(params.getParam(),authHeader); log.info("日程安排更新:{}",dailyScheduleProcessList); return JsonResponse.newInstance().ok(dailyScheduleProcessList); } @@ -78,9 +82,10 @@ public class CompeteTaskController { @ApiOperation(value = "分配裁判信息", notes = "zy:传入裁判分配信息表,根据内容给每个的项目的每个场次添加裁判信息") @RequestMapping(value = "/allocation/judgment", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> allocationJudgment( - @ApiParam @Validated @RequestBody QueryDto params) { + @ApiParam @Validated @RequestBody QueryDto params, HttpServletRequest request) { log.info("分配裁判信息:{}",params); - List queryJudgmentList = competeTaskService.allocationJudgment(params.getParam()); + String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); + List queryJudgmentList = competeTaskService.allocationJudgment(params.getParam(),authHeader); log.info("分配裁判信息:{}",queryJudgmentList); return JsonResponse.newInstance().ok(queryJudgmentList); } diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java index ab32b664..771ac9fe 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java @@ -76,7 +76,7 @@ public class CompeteVideoController { @MustLogin @ApiOperation(value = "查看所有二级比赛项目", notes = "Mr.王---------去那个competeProject表下面查") @RequestMapping(value = "/selectTwoProject", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> selectTwoProject(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> selectTwoProject(@ApiParam @Validated @RequestBody QueryDto params) { log.info("添加用户观看开幕式视频记录(签到用):{}",params); List list=iCompeteVedioService.selectTwoProject(params); diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 28ce4650..16314894 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -206,6 +206,9 @@ public class ProvinceCompeteDto { @NotNull @ApiModelProperty("Tall当前项目id") private Long projectId; + @NotNull + @ApiModelProperty("Tall内当前角色id") + private Long tallRoleId; @ApiModelProperty("单项时间 单位:秒") private List updateCompeteTaskList; } @@ -219,7 +222,7 @@ public class ProvinceCompeteDto { @ApiModelProperty("单项时间 单位:秒") private long duration; @ApiModelProperty("场地数量") - private int siteNum; + private int siteNum = 1; @ApiModelProperty("项目开始时间") private Long startTime; @ApiModelProperty("项目结束时间") diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java index e4d7298b..47861d36 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -72,7 +72,7 @@ public class CompeteTaskService implements ICompeteTaskService{ * 修改项目的日程配置 */ @Override - public List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param) { + public List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param,String token) { //获取比赛类型 AtomicInteger type = new AtomicInteger(); if(CollectionUtil.isNotEmpty(param.getUpdateCompeteTaskList())){ @@ -106,8 +106,8 @@ public class CompeteTaskService implements ICompeteTaskService{ competeProjectConfig.setEndTime(projectConfig.getEndTime()); projectConfigDao.insertSelective(competeProjectConfig); } - // TODO 生成出场顺序表,存入数据库。在tall内添加对应的任务 - setStartOrder(competeProjectConfig,param.getProjectId()); + // 生成出场顺序表,存入数据库。在tall内添加对应的任务 + setStartOrder(competeProjectConfig,param.getProjectId(),param.getTallRoleId(),token); }); } return projectConfigDao.queryProjectConfig(type.get()); @@ -115,7 +115,7 @@ 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()); @@ -147,11 +147,12 @@ 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); tallFeignClient.updataTask(updateTaskInfo); } startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); @@ -164,7 +165,8 @@ 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); JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); @@ -219,11 +221,12 @@ 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); tallFeignClient.updataTask(updateTaskInfo); } startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); @@ -237,6 +240,7 @@ public class CompeteTaskService implements ICompeteTaskService{ addTask.setBeginTime(projectStartTime); addTask.setEndTime(projectStartTime + orderTime); addTask.setExecutorId(1L); + addTask.setToken(token); JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); @@ -291,7 +295,7 @@ public class CompeteTaskService implements ICompeteTaskService{ * 分配裁判 */ @Override - public List allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param) { + public List allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param,String token) { //查找项目 if(CollectionUtil.isNotEmpty(param.getAllocationJudgmentList())){ for(ProvinceCompeteDto.AllocationJudgment allocationJudgment : param.getAllocationJudgmentList()) { @@ -301,7 +305,7 @@ public class CompeteTaskService implements ICompeteTaskService{ allocationJudgment.getSiteJudgmentList().forEach(siteJudgment -> { if (ObjectUtil.isNotNull(siteJudgment)) { siteJudgment.getJudgmentInfoList().forEach(judgmentInfo -> { - saveJudgmentAndTask(param.getCompeteTimeId(),param.getTallProjectId(), project, siteJudgment, judgmentInfo); + saveJudgmentAndTask(param.getCompeteTimeId(),param.getTallProjectId(), project, siteJudgment, judgmentInfo,token); }); } }); @@ -316,7 +320,7 @@ public class CompeteTaskService implements ICompeteTaskService{ * 添加裁判信息和tall内的角色成员任务 */ private void saveJudgmentAndTask(Long competeTimeId,Long tallProjectId,CompeteProject project - , ProvinceCompeteDto.SiteJudgment siteJudgment, ProvinceCompeteDto.JudgmentInfo judgmentInfo) { + , ProvinceCompeteDto.SiteJudgment siteJudgment, ProvinceCompeteDto.JudgmentInfo judgmentInfo,String token) { // TODO 查找该手机号在此项目之前的裁判信息,修改,同时修改tall内的成员角色信息 //添加裁判信息 CompeteJudgment competeJudgment = new CompeteJudgment(); @@ -340,6 +344,7 @@ public class CompeteTaskService implements ICompeteTaskService{ } saveRole.setRoleName(project.getName()+"-场地"+siteJudgment.getSite()+"-"+jdgmentNum); Long roleId = null; + saveRole.setToken(token); JsonResponse memberJsonResponse = tallFeignClient.saveRole(saveRole); if (ObjectUtil.isNotNull(memberJsonResponse)) { MemberVo.RoleInfo roleInfo = memberJsonResponse.getData(); @@ -353,6 +358,7 @@ public class CompeteTaskService implements ICompeteTaskService{ saveMember.setProjectId(tallProjectId); saveMember.setPhone(judgmentInfo.getJudgmentPhone()); saveMember.setRoleId(Arrays.asList(roleId)); + saveMember.setToken(token); tallFeignClient.saveMember(saveMember); //添加任务 //查找场次信息表 @@ -370,7 +376,19 @@ public class CompeteTaskService implements ICompeteTaskService{ addTask.setEndTime(startOrder.getEndTime()); addTask.setExecutorId(roleId); addTask.setParentTaskId(startOrder.getTaskId()); - tallFeignClient.saveTask(addTask); + addTask.setToken(token); + JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); + 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); + tallFeignClient.updatePluginConfig(updatePluginConfig); + } + } } } } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java index ef88acdb..55e9c715 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java @@ -4,6 +4,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,8 +81,9 @@ public class CompeteVedioService implements ICompeteVedioService{ @Override public List selectTwoProject(QueryDto params) { + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getParam().getTeamId()); CompeteProjectExample competeCompanyExample=new CompeteProjectExample(); - competeCompanyExample.createCriteria().andCompeteTimeIdEqualTo(params.getParam().getTeamId()).andLevelEqualTo((byte) 2); + competeCompanyExample.createCriteria().andTypeEqualTo(competeTime.getType()).andLevelEqualTo((byte) 2); List list=competeProjectMapper.selectByExample(competeCompanyExample); List list1=new ArrayList<>(); list.forEach(mes->{ diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java index e1f6586c..eac02350 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteTaskService.java @@ -16,7 +16,7 @@ public interface ICompeteTaskService { * @param param * @return */ - List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param); + List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param,String token); /** * 查找所有项目的日程配置 @@ -44,5 +44,5 @@ public interface ICompeteTaskService { * @param param * @return */ - List allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param); + List allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param,String token); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java index 03b464cd..dfccc08e 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectMessageVo.java @@ -39,7 +39,7 @@ public class ProjectMessageVo { private Byte readStatus; @ApiModelProperty("消息内容") List messages; - @JsonFormat(pattern="yyyy-MM-dd HH:mm", timezone = "GMT-5") + @JsonFormat(pattern="yyyy-MM-dd HH:mm") @ApiModelProperty("发送时间") private Date createTime; } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b5408a3a..ebc544af 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: util-dev,common + active: test + include: util-test,common