Browse Source

Merge branch 'pt' of gitee.com:ccsens_s/ccsenscloud into pt

master
zy_Java 5 years ago
parent
commit
856fca6829
  1. 9
      mt/src/main/java/com/ccsens/mt/persist/dao/TopicDao.java
  2. 13
      mt/src/main/java/com/ccsens/mt/service/TopicService.java
  3. 13
      mt/src/main/resources/mapper_dao/TopicDao.xml

9
mt/src/main/java/com/ccsens/mt/persist/dao/TopicDao.java

@ -52,7 +52,6 @@ public interface TopicDao extends MtTopicMapper {
List<String> queryOption(@Param("topicId") Long topicId);
/**
<<<<<<< HEAD
* 查询当前阶段的排名
* @param projectId 项目id
* @param linkType 阶段类型
@ -65,4 +64,12 @@ public interface TopicDao extends MtTopicMapper {
* @return 最小 最大
*/
TopicVo.TopicSequence getMinAndMax(@Param("linkType") int linkType);
/**
* 查询有几组抢答成功
* @param projectId 项目ID
* @param topicId 试题ID
* @return 抢答数
*/
long countVote(@Param("projectId") Long projectId, @Param("topicId") long topicId);
}

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

@ -183,15 +183,16 @@ public class TopicService implements ITopicService{
if (a != null) {
return;
}
//将自己抢答的信息存进redis
redisUtil.set(group.getProjectId() + Constant.Redis.RESPONDER + o,group.getGroupId(),Constant.Redis.TIME_OUT);
//储存数据库
MtResponderExample responderExample = new MtResponderExample();
responderExample.createCriteria().andTopicIdEqualTo((long)(int)o).andGroupIdEqualTo(group.getGroupId());
List<MtResponder> mtResponderList = mtResponderMapper.selectByExample(responderExample);
if(CollectionUtil.isNotEmpty(mtResponderList)){
long l = topicDao.countVote(group.getProjectId(), (int) o);
log.info("数据库抢答数:{}", l);
if (l > 0) {
return;
}
//将自己抢答的信息存进redis
redisUtil.set(group.getProjectId() + Constant.Redis.RESPONDER + o,group.getGroupId(),Constant.Redis.TIME_OUT);
MtResponder mtResponder = new MtResponder();
mtResponder.setId(snowflake.nextId());
mtResponder.setGroupId(group.getGroupId());

13
mt/src/main/resources/mapper_dao/TopicDao.xml

@ -128,5 +128,18 @@
type = 0
ORDER BY score DESC
</select>
<select id="countVote" resultType="java.lang.Long">
SELECT
count( * )
FROM
t_mt_responder r,
t_mt_group g
WHERE
r.group_id = g.id
AND r.topic_id = #{topicId}
AND g.project_id = #{projectId}
AND r.rec_status = 0
AND g.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save