ActivityPlanEvaluationMapper.xml 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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.yonge.cooleshow.biz.dal.dao.ActivityPlanEvaluationDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ActivityPlanEvaluation">
  5. <result column="id_" property="id" />
  6. <result column="evaluation_difficulty_" property="evaluationDifficulty" />
  7. <result column="create_time_" property="createTime" />
  8. <result column="create_by_" property="createBy" />
  9. <result column="update_time_" property="updateTime" />
  10. <result column="update_by_" property="updateBy" />
  11. </resultMap>
  12. <!-- 表字段 -->
  13. <sql id="baseColumns">
  14. t.id_ as id
  15. , t.evaluation_difficulty_ as evaluationDifficulty
  16. , t.create_time_ as createTime
  17. , t.create_by_ as createBy
  18. , t.update_time_ as updateTime
  19. , t.update_by_ as updateBy
  20. </sql>
  21. <select id="getUserReward" resultType="com.yonge.cooleshow.biz.dal.entity.ActivityUserReward">
  22. select
  23. a.activity_id_ as activityId,
  24. a.evaluation_id_ as bizId,
  25. b.user_id_ as userId,
  26. c.id_ as rewardId
  27. from (
  28. select
  29. a.activity_id_,a.evaluation_id_,a.score_,min(b.create_time_) as create_time_
  30. from(
  31. select
  32. activity_id_,evaluation_id_, max(score_) as score_
  33. from activity_evaluation_record where activity_id_ = #{activityPlanId} and score_ is not null
  34. group by activity_id_,evaluation_id_
  35. ) a
  36. left join activity_evaluation_record b on a.activity_id_ = b.activity_id_ and a.evaluation_id_ = b.evaluation_id_ and a.score_ = b.score_
  37. GROUP BY a.activity_id_,a.evaluation_id_,a.score_
  38. ) a
  39. left join activity_evaluation_record b
  40. on a.activity_id_ = b.activity_id_ and a.evaluation_id_ = b.evaluation_id_
  41. and a.score_ = b.score_ and a.create_time_ = b.create_time_
  42. left join activity_plan_reward c on a.activity_id_ = c.activity_id_
  43. </select>
  44. </mapper>