QuestionMapper.xml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.ytpm.diary.dao.QuestionMapper">
  4. <resultMap id="questionListMap" type="com.ytpm.app.view.QuestionListView">
  5. <id column="question_id" property="questionId" />
  6. <result column="question_content" property="questionContent" />
  7. <result column="question_reward" property="questionReward" />
  8. <result column="correct_item" property="correctItem" />
  9. <collection property="itemList" ofType="com.ytpm.app.view.QuestionItemListView">
  10. <result column="item_id" property="itemId" />
  11. <result column="item_header" property="itemHeader" />
  12. <result column="item_content" property="itemContent" />
  13. <result column="question_id" property="questionId" />
  14. </collection>
  15. </resultMap>
  16. <insert id="saveAnswerRecord">
  17. insert into yt_dyz_answer_record (record_id, question_id, item_id, duration, answer_time, user_id)
  18. values (#{recordId},#{questionId},#{itemId},#{duration},#{answerTime},#{userId});
  19. </insert>
  20. <select id="questionList" resultMap="questionListMap">
  21. SELECT
  22. ydq.question_id,
  23. ydq.question_content,
  24. ydq.question_reward,
  25. ydq.correct_item,
  26. ydqi.item_id,
  27. ydqi.item_header,
  28. ydqi.item_content,
  29. ydqi.question_id
  30. FROM yt_dyz_question ydq
  31. LEFT JOIN yt_dyz_question_item ydqi
  32. ON ydq.question_id = ydqi.question_id
  33. where app_id = #{appId}
  34. </select>
  35. <select id="getLastQuestionId" resultType="java.lang.String">
  36. select
  37. question_id
  38. from yt_dyz_answer_record
  39. where user_id = #{userId}
  40. order by answer_time desc limit 1
  41. </select>
  42. <select id="getAnswerCount" resultType="java.lang.Integer">
  43. select
  44. count(*)
  45. from yt_dyz_answer_record
  46. where user_id = #{userId}
  47. <if test="type != null and type == 1">
  48. and DATE_FORMAT(answer_time, '%Y-%m-%d') = current_date()
  49. </if>
  50. </select>
  51. <select id="getAnswerRecords" resultType="com.ytpm.app.model.YtDyzAnswerRecord">
  52. select
  53. record_id, question_id, item_id, duration, answer_time, user_id
  54. from yt_dyz_answer_record
  55. where user_id = #{userId}
  56. order by answer_time desc
  57. </select>
  58. </mapper>