ActivityPlanMapper.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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.ActivityPlanDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ActivityPlan">
  5. <result column="id_" property="id" />
  6. <result column="activity_type_" property="activityType" />
  7. <result column="activity_client_" property="activityClient" />
  8. <result column="activity_name_" property="activityName" />
  9. <result column="describe_" property="describe" />
  10. <result column="rule_describe_" property="ruleDescribe" />
  11. <result column="subject_url_" property="subjectUrl" />
  12. <result column="background_url_" property="backgroundUrl" />
  13. <result column="activity_url_" property="activityUrl" />
  14. <result column="share_url_" property="shareUrl" />
  15. <result column="activity_start_" property="activityStart" />
  16. <result column="activity_end_" property="activityEnd" />
  17. <result column="registration_method_" property="registrationMethod" />
  18. <result column="registration_price_" property="registrationPrice" />
  19. <result column="share_rate_" property="shareRate" />
  20. <result column="draft_flag_" property="draftFlag" />
  21. <result column="activity_state_" property="activityState" />
  22. <result column="create_time_" property="createTime" />
  23. <result column="create_by_" property="createBy" />
  24. <result column="update_time_" property="updateTime" />
  25. <result column="update_by_" property="updateBy" />
  26. </resultMap>
  27. <!-- 表字段 -->
  28. <sql id="baseColumns">
  29. t.id_ as id
  30. , t.activity_type_ as activityType
  31. , t.activity_client_ as activityClient
  32. , t.activity_name_ as activityName
  33. , t.describe_ as `describe`
  34. , t.rule_describe_ as ruleDescribe
  35. , t.subject_url_ as subjectUrl
  36. , t.background_url_ as backgroundUrl
  37. , t.share_url_ as shareUrl
  38. , t.activity_url_ as activityUrl
  39. , t.activity_start_ as activityStart
  40. , t.activity_end_ as activityEnd
  41. , t.registration_method_ as registrationMethod
  42. , t.registration_price_ as registrationPrice
  43. , t.share_rate_ as shareRate
  44. , t.draft_flag_ as draftFlag
  45. , if(t.activity_state_ = 1, 1, 0) as activityState
  46. , t.create_time_ as createTime
  47. , t.create_by_ as createBy
  48. , t.update_time_ as updateTime
  49. , t.update_by_ as updateBy
  50. </sql>
  51. <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo">
  52. SELECT
  53. <include refid="baseColumns"/>
  54. FROM activity_plan t
  55. where t.id_ = #{id}
  56. </select>
  57. <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo">
  58. SELECT
  59. <include refid="baseColumns" />,
  60. u.username_ as updateByName,
  61. (select count(1) from activity_registration r where t.id_ = r.activity_id_) as registrationNum,
  62. (select count(distinct r.user_id_) from activity_user_reward r where t.id_ = r.activity_id_) as rewardNum
  63. FROM activity_plan t
  64. LEFT JOIN sys_user u on t.update_by_ = u.id_
  65. <where>
  66. <if test="param.activityName != null and param.activityName != ''">
  67. and t.activity_name_ like concat('%',#{param.activityName},'%')
  68. </if>
  69. <if test="param.draftFlag != null">
  70. and t.draft_flag_ = #{param.draftFlag}
  71. </if>
  72. <choose>
  73. <when test="param.activityState != null">
  74. <if test="param.activityState == 0">
  75. and (t.activity_state_ = 0 or t.activity_state_ = 2)
  76. </if>
  77. <if test="param.activityState == 1">
  78. and t.activity_state_ = 1
  79. </if>
  80. </when>
  81. <otherwise> AND t.activity_start_ &gt;= -1 </otherwise>
  82. </choose>
  83. <if test="param.startTime !=null">
  84. and t.activity_start_ &gt;= #{param.startTime}
  85. </if>
  86. <if test="param.endTime !=null">
  87. and t.activity_end_ &lt;= #{param.endTime}
  88. </if>
  89. <if test="param.activityClient != null">
  90. and t.activity_client_ = #{param.activityClient}
  91. </if>
  92. <if test="param.activityType != null">
  93. and t.activity_type_ = #{param.activityType}
  94. </if>
  95. </where>
  96. order by t.id_ desc
  97. </select>
  98. <select id="selectActivityPlanEvaluation" resultType="java.lang.String">
  99. select evaluation_difficulty_
  100. from activity_plan_evaluation
  101. where id_ = #{activityPlanId}
  102. </select>
  103. <select id="activityState" resultType="com.yonge.cooleshow.biz.dal.entity.ActivityPlan">
  104. select <include refid="baseColumns"/>
  105. from activity_plan t where draft_flag_ = 0
  106. and (
  107. (t.activity_start_ &lt;= now() and t.activity_end_ &gt; now() and activity_state_ = 0)
  108. or (t.activity_end_ &lt;= now() and activity_state_ = 1)
  109. )
  110. </select>
  111. </mapper>