From a631bf91458d6bd38ac95f406846af293792461f Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Thu, 13 Aug 2020 17:41:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A2=E7=AD=94=E5=BC=80=E5=A7=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/mt/bean/dto/TopicDto.java | 5 ++++ .../com/ccsens/mt/persist/dao/GroupDao.java | 17 +++++++++++++ .../com/ccsens/mt/service/TopicService.java | 24 +++++++++++++++++-- .../java/com/ccsens/mt/util/Constant.java | 18 ++++++++++++++ mt/src/main/resources/mapper_dao/GroupDao.xml | 23 ++++++++++++++++++ 5 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/persist/dao/GroupDao.java create mode 100644 mt/src/main/java/com/ccsens/mt/util/Constant.java create mode 100644 mt/src/main/resources/mapper_dao/GroupDao.xml diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/TopicDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/TopicDto.java index 948db040..6fe3efe6 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/TopicDto.java +++ b/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 diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/GroupDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/GroupDao.java new file mode 100644 index 00000000..62d7677c --- /dev/null +++ b/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); +} diff --git a/mt/src/main/java/com/ccsens/mt/service/TopicService.java b/mt/src/main/java/com/ccsens/mt/service/TopicService.java index bfe8b630..ca80cae2 100644 --- a/mt/src/main/java/com/ccsens/mt/service/TopicService.java +++ b/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 diff --git a/mt/src/main/java/com/ccsens/mt/util/Constant.java b/mt/src/main/java/com/ccsens/mt/util/Constant.java new file mode 100644 index 00000000..bef13826 --- /dev/null +++ b/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_"; + + } +} diff --git a/mt/src/main/resources/mapper_dao/GroupDao.xml b/mt/src/main/resources/mapper_dao/GroupDao.xml new file mode 100644 index 00000000..fb5deaea --- /dev/null +++ b/mt/src/main/resources/mapper_dao/GroupDao.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file