Browse Source

0813v2.1

master
zy_Java 5 years ago
parent
commit
4a6d308873
  1. 12
      mt/src/main/java/com/ccsens/mt/bean/dto/TopicDto.java
  2. 2
      mt/src/main/java/com/ccsens/mt/bean/vo/TopicVo.java
  3. 14
      mt/src/main/java/com/ccsens/mt/persist/dao/TopicDao.java
  4. 6
      mt/src/main/java/com/ccsens/mt/service/TopicService.java
  5. 4
      mt/src/main/resources/application.yml
  6. 4
      mt/src/main/resources/mapper_dao/GroupDao.xml
  7. 36
      mt/src/main/resources/mapper_dao/TopicDao.xml

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

@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.List;
@ -61,7 +63,7 @@ public class TopicDto {
public static class GetRankingByProjectId{
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("比赛环节 1志在必得 2以快制胜 3绝地反击 4你说我猜 都传则查询所有,默认只查当前环节已经晋级的组")
@ApiModelProperty("比赛环节 1志在必得 2以快制胜 3绝地反击 4你说我猜 默认查全部")
private List<Integer> linkTypes;
}
@ -92,9 +94,15 @@ public class TopicDto {
@Data
@ApiModel("查询所有绝地反击的题")
public static class GetTopicAll{
@NotNull
@ApiModelProperty("项目id")
private Long projectId;
@ApiModelProperty("比赛环节 1志在必得 2以快制胜 3绝地反击 4你说我猜 默认查询绝地反击")
private int linkType = 3;
@Max(50)
@Min(0)
@ApiModelProperty("查询几道题 可以不传 默认查询绝地反击的9道题")
private int nums;
private int nums = 9;
}
}

2
mt/src/main/java/com/ccsens/mt/bean/vo/TopicVo.java

@ -1,5 +1,6 @@
package com.ccsens.mt.bean.vo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -51,6 +52,7 @@ public class TopicVo {
@Data
@ApiModel("查询到的所有绝地反击的题")
@JsonIgnoreProperties(value = { "handler" })
public static class TopicByLink{
@ApiModelProperty("题目id")
private Long topicId;

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

@ -1,5 +1,6 @@
package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.dto.TopicDto;
import com.ccsens.mt.bean.vo.TopicVo;
import com.ccsens.mt.persist.mapper.MtTopicMapper;
import org.apache.ibatis.annotations.Param;
@ -28,4 +29,17 @@ public interface TopicDao extends MtTopicMapper {
* @return
*/
List<TopicVo.GroupInfo> queryGroupByProject(@Param("projectId")Long projectId, @Param("linkType")int linkType, @Param("type")int type);
/**
* 查询所有绝地反击类型的题
* @param getTopicAll 请求类型
* @return 试题信息
*/
List<TopicVo.TopicByLink> queryTopicAllByLink(TopicDto.GetTopicAll getTopicAll);
/**
* 根据试题ID查询选项
* @param topicId 试题ID
* @return 选项
*/
List<String> queryOption(@Param("topicId") Long topicId);
}

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

@ -91,6 +91,7 @@ public class TopicService implements ITopicService{
@Override
public List<TopicVo.QueryRanking> queryRanking(TopicDto.GetRankingByProjectId ranking) {
return null;
}
@ -119,6 +120,9 @@ public class TopicService implements ITopicService{
@Override
public List<TopicVo.TopicByLink> queryTopicAllByLink(TopicDto.GetTopicAll getTopicAll) {
return null;
log.info("查询所有绝地反击类型的题请求参数:{}", getTopicAll);
List<TopicVo.TopicByLink> list = topicDao.queryTopicAllByLink(getTopicAll);
log.info("所有绝地反击题:{}", list);
return list;
}
}

4
mt/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
include: common, util-dev
active: test
include: common, util-test

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

@ -12,8 +12,8 @@
t_mt_group g
WHERE
r.group_id = g.id
AND g.project_id = 1
AND r.topic_id = 1
AND g.project_id = #{projectId}
AND r.topic_id = #{topicId}
AND r.rec_status = 0
AND g.rec_status = 0
ORDER BY

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

@ -10,6 +10,14 @@
<id column="options"/>
</collection>
</resultMap>
<resultMap id="topicByLink" type="com.ccsens.mt.bean.vo.TopicVo$TopicByLink" >
<id column="topicId" property="topicId"/>
<result column="description" property="description"/>
<result column="answersTrue" property="answersTrue"/>
<result column="hasAnswers" property="hasAnswers"/>
<collection property="options" ofType="String" column="topicId" select="queryOption">
</collection>
</resultMap>
<select id="getTopicByLink" parameterType="java.util.Map" resultMap="getTopicByLink">
@ -28,6 +36,34 @@
t.sequence = #{topicNum}
ORDER BY o.sequence
</select>
<select id="queryTopicAllByLink" resultMap="topicByLink">
SELECT
p.id AS topicId,
p.score AS topicScore,
p.description as description,
p.answers as answersTrue,
IF( gp.id IS NULL, 0, 1 ) as hasAnswers
FROM
t_mt_topic p
LEFT JOIN t_mt_group_topic gp ON p.id = gp.topic_id
LEFT JOIN t_mt_group g ON gp.group_id = g.id
WHERE
p.link_type = #{linkType}
and p.rec_status = 0
and (g.project_id = #{projectId} or g.id is null)
and (gp.rec_status = 0 or gp.id is null)
and (g.rec_status = 0 or gp.id is null)
GROUP BY p.id
LIMIT ${nums}
</select>
<select id="queryOption" resultType="java.lang.String">
SELECT
concat( o.`option`, ':', o.contant )
FROM
t_mt_topic_option o
WHERE
o.topic_id = #{topicId}
</select>
<select id="queryGroupByProject" parameterType="java.util.Map" resultType="com.ccsens.mt.bean.vo.TopicVo$GroupInfo">
SELECT

Loading…
Cancel
Save