QuestionCollectionMapper.xml 4.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.ruoyi.mingxue.mapper.QuestionCollectionMapper">
  6. <resultMap type="QuestionCollection" id="QuestionCollectionResult">
  7. <result property="questionId" column="question_id" />
  8. <result property="userId" column="user_id" />
  9. <result property="createTime" column="create_time" />
  10. </resultMap>
  11. <resultMap type="com.ruoyi.mingxue.dto.AppQuestionCollectionResDto" id="AppQuestionCollectionResResult">
  12. <result property="questionId" column="question_id" />
  13. <result property="title" column="title" />
  14. <result property="type" column="type" />
  15. <result property="difficulty" column="difficulty" />
  16. <result property="picUrl" column="pic_url" />
  17. <result property="subjectName" column="subjectName" />
  18. </resultMap>
  19. <select id="getQuestionCollectionList" parameterType="Long" resultMap="AppQuestionCollectionResResult">
  20. SELECT id question_id, title, qtpye type, diff difficulty ,
  21. (SELECT pic_url from test_question_pic WHERE question_id = questions.id) pic_url
  22. from questions WHERE id IN
  23. (SELECT question_id from mxjb_question_collection WHERE user_id = #{userId})
  24. </select>
  25. <sql id="selectQuestionCollectionVo">
  26. select question_id, user_id, create_time from mxjb_question_collection
  27. </sql>
  28. <select id="selectQuestionCollectionList" parameterType="QuestionCollection" resultMap="QuestionCollectionResult">
  29. <include refid="selectQuestionCollectionVo"/>
  30. <where>
  31. <if test="questionId != null "> and question_id = #{questionId}</if>
  32. <if test="userId != null "> and user_id = #{userId}</if>
  33. <if test="createTime != null "> and create_time = #{createTime}</if>
  34. </where>
  35. </select>
  36. <select id="selectSubjects" parameterType="QuestionCollection" resultMap="QuestionCollectionResult">
  37. select distinct s.subjectName,s.subjectId from mxjb_question_collection c
  38. left join questions q on c.question_id = q.id
  39. left join subject s on q.subjectId = s.subjectId
  40. where s.subjectName is not null and c.user_id = #{userId}
  41. order by s.subjectId asc
  42. </select>
  43. <select id="selectQtypes" parameterType="QuestionCollection" resultMap="QuestionCollectionResult">
  44. select distinct q.qtpye as subjectName from mxjb_question_collection c
  45. left join questions q on c.question_id = q.id
  46. left join subject s on q.subjectId = s.subjectId
  47. where c.user_id = #{userId} and q.qtpye is not null
  48. and q.subjectId = #{subjectId}
  49. </select>
  50. <select id="selectQuestionCollectionById" parameterType="Long" resultMap="QuestionCollectionResult">
  51. <include refid="selectQuestionCollectionVo"/>
  52. where question_id = #{questionId}
  53. </select>
  54. <insert id="insertQuestionCollection" parameterType="QuestionCollection">
  55. insert into mxjb_question_collection
  56. <trim prefix="(" suffix=")" suffixOverrides=",">
  57. <if test="questionId != null">question_id,</if>
  58. <if test="userId != null">user_id,</if>
  59. <if test="createTime != null">create_time,</if>
  60. </trim>
  61. <trim prefix="values (" suffix=")" suffixOverrides=",">
  62. <if test="questionId != null">#{questionId},</if>
  63. <if test="userId != null">#{userId},</if>
  64. <if test="createTime != null">#{createTime},</if>
  65. </trim>
  66. </insert>
  67. <update id="updateQuestionCollection" parameterType="QuestionCollection">
  68. update mxjb_question_collection
  69. <trim prefix="SET" suffixOverrides=",">
  70. <if test="userId != null">user_id = #{userId},</if>
  71. <if test="createTime != null">create_time = #{createTime},</if>
  72. </trim>
  73. where question_id = #{questionId}
  74. </update>
  75. <delete id="deleteQuestionCollectionById">
  76. delete from mxjb_question_collection where question_id = #{questionId} and user_id = #{userId}
  77. </delete>
  78. <delete id="deleteQuestionCollectionByIds" parameterType="String">
  79. delete from mxjb_question_collection where question_id in
  80. <foreach item="questionId" collection="array" open="(" separator="," close=")">
  81. #{questionId}
  82. </foreach>
  83. </delete>
  84. </mapper>