Browse Source

抢答开始

master
zhizhi wu 5 years ago
parent
commit
a631bf9145
  1. 5
      mt/src/main/java/com/ccsens/mt/bean/dto/TopicDto.java
  2. 17
      mt/src/main/java/com/ccsens/mt/persist/dao/GroupDao.java
  3. 24
      mt/src/main/java/com/ccsens/mt/service/TopicService.java
  4. 18
      mt/src/main/java/com/ccsens/mt/util/Constant.java
  5. 23
      mt/src/main/resources/mapper_dao/GroupDao.xml

5
mt/src/main/java/com/ccsens/mt/bean/dto/TopicDto.java

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
@ -61,8 +62,12 @@ public class TopicDto {
@Data
@ApiModel("题目id")
public static class Topic{
@NotNull
@ApiModelProperty("题目id")
private Long topicId;
@NotNull
@ApiModelProperty("项目ID")
private Long projectId;
}
@Data

17
mt/src/main/java/com/ccsens/mt/persist/dao/GroupDao.java

@ -0,0 +1,17 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.dto.TopicDto;
import com.ccsens.mt.bean.vo.TopicVo;
/**
* 答题项目
* @author whj
*/
public interface GroupDao {
/**
* 查询抢答成功的组信息
* @param topic 抢答条件
* @return
*/
TopicVo.GroupInfo getResponder(TopicDto.Topic topic);
}

24
mt/src/main/java/com/ccsens/mt/service/TopicService.java

@ -2,12 +2,24 @@ package com.ccsens.mt.service;
import com.ccsens.mt.bean.dto.TopicDto;
import com.ccsens.mt.bean.vo.TopicVo;
import com.ccsens.mt.persist.dao.GroupDao;
import com.ccsens.mt.util.Constant;
import com.ccsens.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Slf4j
@Service
public class TopicService implements ITopicService{
@Resource
private RedisUtil redisUtil;
@Resource
private GroupDao groupDao;
@Override
public TopicVo.TopicInfo getTopicByLink(TopicDto.GetTopic getTopic) {
@ -31,7 +43,7 @@ public class TopicService implements ITopicService{
@Override
public void responderStart(TopicDto.Topic topic) {
redisUtil.set(topic.getProjectId()+ Constant.Redis.START_QUESTION,topic.getProjectId(), Constant.Redis.TIME_OUT);
}
@Override
@ -41,7 +53,15 @@ public class TopicService implements ITopicService{
@Override
public TopicVo.GroupInfo getResponder(TopicDto.Topic topic) {
return null;
log.info("查询抢答成功的组请求:{}", topic);
Object o = redisUtil.get(topic.getProjectId() + Constant.Redis.RESPONDER + topic.getTopicId());
log.info("缓存:{}", o);
if (o!=null) {
return (TopicVo.GroupInfo)o;
}
TopicVo.GroupInfo info = groupDao.getResponder(topic);
log.info("查询抢答成功的组:{}", info);
return info;
}
@Override

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

@ -0,0 +1,18 @@
package com.ccsens.mt.util;
/**
* @description:
* @author: whj
* @time: 2020/8/13 17:14
*/
public class Constant {
public static class Redis{
// 项目正在进行中的题目 项目ID_start_question
public final static String START_QUESTION = "_start_question";
// 有效期10分钟
public final static long TIME_OUT = 10 * 60;
// 抢答成功的队伍 项目ID_responder_题目ID
public final static String RESPONDER = "_responder_";
}
}

23
mt/src/main/resources/mapper_dao/GroupDao.xml

@ -0,0 +1,23 @@
<?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.GroupDao">
<select id="getResponder" resultType="com.ccsens.mt.bean.vo.TopicVo$GroupInfo">
SELECT
g.id as groupId,
g.NAME as groupName
FROM
t_mt_responder r,
t_mt_group g
WHERE
r.group_id = g.id
AND g.project_id = 1
AND r.topic_id = 1
AND r.rec_status = 0
AND g.rec_status = 0
ORDER BY
r.created_at DESC
LIMIT 1
</select>
</mapper>
Loading…
Cancel
Save