ActivityRewardMapper.xml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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.ActivityRewardDao">
  4. <resultMap id="BaseResultMap" type="com.yonge.cooleshow.biz.dal.entity.ActivityReward">
  5. <result column="id_" property="id" />
  6. <result column="activity_id_" property="activityId" />
  7. <result column="reward_client_" property="rewardClient" />
  8. <result column="reward_name_" property="rewardName" />
  9. <result column="reward_type_" property="rewardType" />
  10. <result column="reward_describe_" property="rewardDescribe" />
  11. <result column="coupon_id_" property="couponId" />
  12. <result column="img_url_" property="imgUrl" />
  13. <result column="stock_" property="stock" />
  14. <result column="num_" property="num" />
  15. <result column="unit_" property="unit" />
  16. <result column="status_" property="status" />
  17. <result column="create_time_" property="createTime" />
  18. <result column="create_by_" property="createBy" />
  19. <result column="update_time_" property="updateTime" />
  20. <result column="update_by_" property="updateBy" />
  21. <result column="discount_price_" property="discountPrice" />
  22. <result column="vip_card_id_" property="vipCardId" />
  23. <result column="hide_flag_" property="hideFlag" />
  24. </resultMap>
  25. <!-- 表字段 -->
  26. <sql id="baseColumns">
  27. t.id_ as id
  28. , t.activity_id_ as activityId
  29. , t.reward_client_ as rewardClient
  30. , t.reward_name_ as rewardName
  31. , t.reward_type_ as rewardType
  32. , t.reward_describe_ as rewardDescribe
  33. , t.coupon_id_ as couponId
  34. , t.img_url_ as imgUrl
  35. , t.stock_ as stock
  36. , t.num_ as num
  37. , t.unit_ as unit
  38. , t.status_ as status
  39. , t.create_time_ as createTime
  40. , t.create_by_ as createBy
  41. , t.update_time_ as updateTime
  42. , t.update_by_ as updateBy
  43. , t.discount_price_ as discountPrice
  44. , t.vip_card_id_ as vipCardId
  45. , t.hide_flag_ as hideFlag
  46. </sql>
  47. <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRewardVo">
  48. SELECT
  49. <include refid="baseColumns"/>
  50. FROM activity_reward t
  51. where t.id_ = #{id}
  52. </select>
  53. <select id="detailByActivityId" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRewardVo">
  54. SELECT
  55. <include refid="baseColumns"/>
  56. FROM activity_reward t
  57. where t.activity_id_ = #{id}
  58. </select>
  59. <sql id="selectSql">
  60. SELECT
  61. <include refid="baseColumns" />,
  62. u.username_ as updateByName,
  63. (select count(1) from activity_plan_reward r where t.id_ = r.reward_id_)>0 as useFlag
  64. FROM activity_reward t
  65. left join sys_user u on t.update_by_ = u.id_
  66. <where>
  67. <if test="param.rewardName != null and param.rewardName != ''">
  68. and t.reward_name_ like concat('%',#{param.rewardName},'%')
  69. </if>
  70. <choose>
  71. <when test="param.status != null">
  72. and t.status_ = #{param.status}
  73. </when>
  74. <otherwise>
  75. and t.status_ > -1
  76. </otherwise>
  77. </choose>
  78. <!--<if test="param.status != null">
  79. and t.status_ = #{param.status}
  80. </if>-->
  81. <if test="param.rewardClient != null and param.rewardClient != ''">
  82. and INTE_ARRAY(t.reward_client_,#{param.rewardClient})
  83. </if>
  84. <if test="param.hasStock != null and param.hasStock.code == 1">
  85. and t.stock_>0
  86. </if>
  87. </where>
  88. order by t.create_time_ desc
  89. </sql>
  90. <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRewardVo">
  91. <include refid="selectSql"/>
  92. </select>
  93. <select id="selectAll" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityRewardVo">
  94. <include refid="selectSql"/>
  95. </select>
  96. <resultMap id="ActivityRewardResultMap" type="com.yonge.cooleshow.biz.dal.entity.ActivityReward">
  97. <result column="id_" property="id" />
  98. <result column="activity_id_" property="activityId" />
  99. <result column="reward_client_" property="rewardClient" />
  100. <result column="reward_name_" property="rewardName" />
  101. <result column="reward_type_" property="rewardType" />
  102. <result column="reward_describe_" property="rewardDescribe" />
  103. <result column="img_url_" property="imgUrl" />
  104. <result column="stock_" property="stock" />
  105. <result column="num_" property="num" />
  106. <result column="unit_" property="unit" />
  107. <result column="status_" property="status" />
  108. <result column="create_time_" property="createTime" />
  109. <result column="create_by_" property="createBy" />
  110. <result column="update_time_" property="updateTime" />
  111. <result column="update_by_" property="updateBy" />
  112. <result column="discount_price_" property="discountPrice" />
  113. <result column="vip_card_id_" property="vipCardId" />
  114. <result column="hide_flag_" property="hideFlag" />
  115. <result column="group_" property="group" />
  116. </resultMap>
  117. <select id="getActivityReward" resultMap="ActivityRewardResultMap">
  118. select ar.*, apr.group_
  119. from activity_plan_reward apr
  120. left join activity_reward ar on apr.reward_id_ = ar.id_
  121. where apr.activity_id_ = #{activityPlanId}
  122. </select>
  123. <select id="userRewarded" resultType="java.lang.Boolean">
  124. select (count(1)>0) as flag from activity_user_reward
  125. where activity_id_ = #{activityId} and user_id_ = #{userId}
  126. </select>
  127. <!--奖品关联活动统计-->
  128. <select id="selectRewardActivityStatInfo"
  129. resultType="com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper">
  130. SELECT t1.reward_id_ AS id, COUNT(DISTINCT t1.id_) AS total FROM activity_plan_reward t1
  131. <where>
  132. <if test="rewardIds != null">
  133. AND t1.reward_id_ IN (<foreach collection="rewardIds" separator="," item="item">#{item}</foreach>)
  134. </if>
  135. </where>
  136. GROUP BY t1.reward_id_
  137. </select>
  138. <!--奖品关联活动统计-->
  139. </mapper>