Browse Source

20201122v1.1

tiaosheng
zy_Java 5 years ago
parent
commit
7dcb323a7a
  1. 4
      mt/src/main/java/com/ccsens/mt/api/KCPlayerController.java
  2. 12
      mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java
  3. 7
      mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java
  4. 14
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  5. 5
      mt/src/main/java/com/ccsens/mt/service/IExcelService.java
  6. 13
      mt/src/main/java/com/ccsens/mt/service/IKCPlayerService.java
  7. 41
      mt/src/main/java/com/ccsens/mt/service/KCPlayerService.java
  8. 4
      mt/src/main/java/com/ccsens/mt/util/Constant.java
  9. 4
      mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml
  10. 1
      util/src/main/java/com/ccsens/util/CodeEnum.java

4
mt/src/main/java/com/ccsens/mt/api/KCPlayerController.java

@ -37,11 +37,11 @@ public class KCPlayerController {
return JsonResponse.newInstance().ok(signature);
}
@ApiOperation(value = "查看云点播签名", notes = "从redis获取云点播签名,有则返回,没有则调用工具类查询,存入redis并返回")
@ApiOperation(value = "云点播回调接口", notes = "上传时候后,云点播回调接口,保存视频的路径")
@RequestMapping(value = "/receive", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse receive(@RequestBody Map map) {
log.info("接受文件上传通知:{}",map);
kcPlayerService.saveVideoUrl(map);
return JsonResponse.newInstance().ok();
}

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

@ -248,9 +248,15 @@ public class ProvinceCompeteVo {
@ApiModelProperty("结束时间")
private Long endTime;
public Long getEndTime(){
if(ObjectUtil.isNotNull(startTime) && startTime != 0){
return startTime + Constant.UPLOAD_VIDEO_TIME;
// public Long getEndTime(){
// if(ObjectUtil.isNotNull(startTime) && startTime != 0){
// return startTime + Constant.UPLOAD_VIDEO_TIME;
// }
// return null;
// }
public Long getStartTime(){
if(ObjectUtil.isNotNull(endTime) && endTime != 0){
return endTime - Constant.UPLOAD_VIDEO_TIME;
}
return null;
}

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

@ -422,6 +422,7 @@ public class CompeteTaskService implements ICompeteTaskService {
List<ProvinceCompeteVo.QueryJudgment> queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId(), param.getProjectId());
if (CollectionUtil.isNotEmpty(queryJudgmentList)) {
queryJudgmentList.forEach(projectJudgment -> {
// for(ProvinceCompeteVo.QueryJudgment projectJudgment : queryJudgmentList){
//裁判数量
int count = projectJudgment.getProjectType() == 0 ? 3 : 7;
for (int i = 0; i < projectJudgment.getSiteNums(); i++) {
@ -438,7 +439,10 @@ public class CompeteTaskService implements ICompeteTaskService {
}
} else {
int a = projectJudgment.getSiteList().size();
for (int j = 0; j < count - a; j++) {
System.out.println("==========="+ a);
System.out.println("==========="+ projectJudgment.getSiteNums());
System.out.println("==========="+ (projectJudgment.getSiteNums()-a));
for (int j = 0; j < projectJudgment.getSiteNums() - a; j++) {
ProvinceCompeteVo.ProjectSite siteJudgment = new ProvinceCompeteVo.ProjectSite();
siteJudgment.setSiteNum(a + j + 1);
projectJudgment.getSiteList().add(siteJudgment);
@ -451,6 +455,7 @@ public class CompeteTaskService implements ICompeteTaskService {
}
}
}
// }
});
}
return queryJudgmentList;

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

@ -74,21 +74,11 @@ public class ExcelService implements IExcelService {
@Resource
private CompetePlayerDao competePlayerDao;
@Resource
private CompeteTeamMemberMapper competeTeamMemberMapper;
@Resource
private CompeteProjectMapper competeProjectMapper;
@Resource
private CompeteProjectPlayerMapper competeProjectPlayerMapper;
@Resource
private CompeteGroupMapper competeGroupMapper;
@Resource
private CompeteProjectConfigMapper competeProjectConfigMapper;
@Resource
private CommonFileMapper commonFileMapper;
@Resource
private IProvinceService provinceService;
@Resource
CompeteCoachMapper competeCoachMapper;
private CompeteCoachMapper competeCoachMapper;
@Resource
private CompetePlayerMapper competePlayerMapper;
@ -100,8 +90,6 @@ public class ExcelService implements IExcelService {
private CompeteScoreDao competeScoreDao;
@Resource
private ICompeteService competeService;
@Resource
private CompeteScoreDao competeScoreDao;
@Override
public String dasaiduiwuxinxiWPS(QueryDto<CompeteDto.CompeteTime> params) {

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

@ -94,11 +94,6 @@ public interface IExcelService {
String patternExpTable(ScoreDto.ShowResult param);
/**
* 生成比赛前八名的表格
* @param params 第几届比赛

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

@ -1,5 +1,18 @@
package com.ccsens.mt.service;
import java.util.Map;
public interface IKCPlayerService {
/**
* 获取云点播签名
* @param id
* @return
*/
String getSignature(Long id);
/**
* 云点播回调接口
* @param map
*/
void saveVideoUrl(Map map);
}

41
mt/src/main/java/com/ccsens/mt/service/KCPlayerService.java

@ -1,6 +1,12 @@
package com.ccsens.mt.service;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.mt.bean.po.CompeteStartOrder;
import com.ccsens.mt.bean.po.CompeteVideo;
import com.ccsens.mt.bean.po.CompeteVideoExample;
import com.ccsens.mt.persist.mapper.CompeteStartOrderMapper;
import com.ccsens.mt.persist.mapper.CompeteVideoMapper;
import com.ccsens.mt.util.Constant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.KCPlayerSignature;
@ -12,6 +18,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Map;
import java.util.Random;
@Slf4j
@Service
@ -19,6 +26,12 @@ import java.util.Random;
public class KCPlayerService implements IKCPlayerService{
@Resource
private RedisUtil redisUtil;
@Resource
private CompeteStartOrderMapper startOrderMapper;
@Resource
private CompeteVideoMapper competeVideoMapper;
@Resource
private Snowflake snowflake;
/**
* 获取云点播签名
@ -51,4 +64,32 @@ public class KCPlayerService implements IKCPlayerService{
}
return signature;
}
@Override
public void saveVideoUrl(Map map) {
// TODO 获取回传的id(场次id)
Long orderId = null;
// TODO 获取视频路径
String videoUrl = "";
//通过场次id获取场次信息
CompeteStartOrder startOrder = startOrderMapper.selectByPrimaryKey(orderId);
if(ObjectUtil.isNull(startOrder)){
throw new BaseException(CodeEnum.PARAM_ERROR);
}
//查找此场次之前的上传记录
CompeteVideoExample competeVideoExample = new CompeteVideoExample();
competeVideoExample.createCriteria().andProjectIdEqualTo(startOrder.getProjectId())
.andPlayerIdEqualTo(startOrder.getPlayerId());
if(competeVideoMapper.countByExample(competeVideoExample) > 0){
throw new BaseException(CodeEnum.ALREADY_UPLOAD_VIDEO);
}
//将视频信息存入视频表
CompeteVideo competeVideo = new CompeteVideo();
competeVideo.setId(snowflake.nextId());
competeVideo.setProjectId(startOrder.getProjectId());
competeVideo.setPlayerId(startOrder.getPlayerId());
competeVideo.setVideoUrl(videoUrl);
competeVideo.setUploadTime(System.currentTimeMillis());
competeVideoMapper.insertSelective(competeVideo);
}
}

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

@ -57,9 +57,9 @@ public class Constant {
*/
public static final long COMPETE_VARIETY = 2002;
/**
* 每个比赛项目留给选手上传视频的时间(暂定个小时可以修改)
* 每个比赛项目留给选手上传视频的时间(暂定个小时可以修改)
*/
public static final long UPLOAD_VIDEO_TIME = 30 * 60 * 1000;
public static final long UPLOAD_VIDEO_TIME = 60 * 60 * 1000;
public final static class Compete{

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

@ -16,7 +16,7 @@
<resultMap id="startOrderByCompany" type="com.ccsens.mt.bean.vo.ProvinceCompeteVo$StartOrderByCompanyAndProject">
<id column="projectId" property="projectId" />
<result column="projectName" property="projectName" />
<result column="startTime" property="startTime" />
<result column="endTime" property="endTime" />
<collection property="startOrderList" ofType="com.ccsens.mt.bean.vo.ProvinceCompeteVo$StartOrder">
<id column="startOrderId" property="startOrderId" />
<result column="competeOrder" property="competeOrder" />
@ -331,7 +331,7 @@
so.id as startOrderId,
so.compete_order as competeOrder,
so.site as site,
pc.start_time as startTime,
pc.start_time as endTime,
pr.id as projectId,
pr.`name` as projectName,
pr.`team` as team,

1
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -178,6 +178,7 @@ public enum CodeEnum {
JOIN_AUTH_GROUP(147,"已参加了其他组别,无法再次报名",true),
ALREADY_JOIN_PROJECT(148,"该选手已经参加了比赛,不可修改身份证组别等信息",true),
ALREADY_JOIN_PROJECT_DEL(149,"取消报名后可删除",true),
ALREADY_UPLOAD_VIDEO(150,"您已经上传了视频,请勿重复提交",true),
;

Loading…
Cancel
Save