ActivityRewardMapper.xml 6.0 KB

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