adminBannerMapper.xml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC
  4. "-//mybatis.org//DTD Mapper 3.0//EN"
  5. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  6. <!-- 命名,每一个映射对象不一样
  7. namespace:必须与对应的接口全类名一致
  8. -->
  9. <mapper namespace="com.iamberry.wechat.service.mapper.AdminBannerMapper">
  10. <!-- banner活动所有字段映射 -->
  11. <sql id="bannerAllField">
  12. B_ID bannerId, B_START_DATE bannerStartDate, B_END_DATE bannerEndDate,
  13. B_STATUS bannerStatus, B_DATE bannerCreateDate, B_NAME bannerName,
  14. B_DESC bannerDesc, B_TYPE bannerType
  15. </sql>
  16. <!-- banner图片所有字段映射 -->
  17. <sql id="imgAllField">
  18. B_I_ID bannerImageId, B_IMG_URL bannerImageUrl, B_I_CHECKOUT_URL bannerImageCheckOutUrl,
  19. B_I_DATE bannerCreateDate, B_BANNER_ID bannerId
  20. </sql>
  21. <!-- 查询一个当前在使用Banner或者一组广告位 -->
  22. <select id="selectNowBannerByType" parameterType="int" resultType="ActionBannerImage">
  23. (
  24. SELECT
  25. B_IMG_URL bannerImageUrl, B_I_CHECKOUT_URL bannerImageCheckOutUrl, 1 as bannerId
  26. FROM
  27. TB_ACTION_BANNER_IMG
  28. WHERE
  29. B_BANNER_ID = (
  30. SELECT
  31. B_ID
  32. FROM
  33. TB_ACTION_BANNER
  34. WHERE
  35. B_TYPE = 1 AND
  36. B_STATUS = 1 AND
  37. <![CDATA[ B_START_DATE <= NOW() AND B_END_DATE >= NOW()]]>
  38. ORDER BY B_DATE DESC
  39. LIMIT 0,1
  40. )
  41. ORDER BY B_I_DATE DESC
  42. LIMIT 10
  43. )
  44. UNION ALL
  45. (
  46. SELECT
  47. B_IMG_URL bannerImageUrl, B_I_CHECKOUT_URL bannerImageCheckOutUrl, 2 as bannerId
  48. FROM
  49. TB_ACTION_BANNER_IMG
  50. WHERE
  51. B_BANNER_ID = (
  52. SELECT
  53. B_ID
  54. FROM
  55. TB_ACTION_BANNER
  56. WHERE
  57. B_TYPE = 2 AND
  58. B_STATUS = 1 AND
  59. <![CDATA[ B_START_DATE <= NOW() AND B_END_DATE >= NOW()]]>
  60. ORDER BY B_DATE DESC
  61. LIMIT 0,1
  62. )
  63. ORDER BY B_I_DATE DESC
  64. LIMIT 10
  65. )
  66. </select>
  67. <!-- 查询banner列表 -->
  68. <select id="selectBannerListByPaper" parameterType="PaperBean" resultType="ActionBanner">
  69. SELECT
  70. <include refid="bannerAllField"/>
  71. FROM
  72. TB_ACTION_BANNER
  73. <!-- 基本where语句 -->
  74. <if test="str != null">
  75. WHERE B_NAME LIKE CONCAT('%',#{str},'%') OR B_DESC LIKE CONCAT('%',#{str},'%')
  76. </if>
  77. <!-- 排序 -->
  78. ORDER BY B_DATE DESC
  79. <!-- 分页基本语句 -->
  80. LIMIT #{minNum}, #{maxNum}
  81. </select>
  82. <!-- 查询banner列表 -->
  83. <select id="selectBannerCountByPaper" parameterType="PaperBean" resultType="int">
  84. SELECT
  85. COUNT(B_ID)
  86. FROM
  87. TB_ACTION_BANNER
  88. <!-- 基本where语句 -->
  89. <if test="str != null">
  90. WHERE B_NAME LIKE #{str} OR B_DESC LIKE #{str}
  91. </if>
  92. </select>
  93. <!-- 添加一个banner -->
  94. <insert id="insertBanner" parameterType="ActionBanner">
  95. INSERT INTO
  96. TB_ACTION_BANNER
  97. (
  98. B_START_DATE, B_END_DATE, B_STATUS, B_DATE,
  99. B_NAME, B_DESC, B_TYPE
  100. )
  101. VALUES
  102. (
  103. #{bannerStartDate},
  104. #{bannerEndDate},
  105. #{bannerStatus},
  106. NOW(),
  107. #{bannerName},
  108. #{bannerDesc},
  109. #{bannerType}
  110. )
  111. </insert>
  112. <!-- 添加banner的img -->
  113. <insert id="insertBannerImg" useGeneratedKeys="true" keyProperty="bannerImageId" parameterType="ActionBannerImage">
  114. INSERT INTO
  115. TB_ACTION_BANNER_IMG
  116. (
  117. B_IMG_URL, B_I_CHECKOUT_URL, B_I_DATE, B_BANNER_ID
  118. )
  119. VALUES
  120. (
  121. #{bannerImageUrl},
  122. #{bannerImageCheckOutUrl},
  123. NOW(),
  124. #{bannerId}
  125. )
  126. </insert>
  127. <!-- 修改一个banner -->
  128. <update id="updateBannerById" parameterType="ActionBanner">
  129. update
  130. TB_ACTION_BANNER
  131. SET
  132. B_START_DATE = #{bannerStartDate},
  133. B_END_DATE = #{bannerEndDate},
  134. B_STATUS = #{bannerStatus},
  135. B_NAME = #{bannerName},
  136. B_DESC = #{bannerDesc},
  137. B_TYPE = #{bannerType}
  138. WHERE
  139. B_ID = #{bannerId}
  140. </update>
  141. <!-- 停止某一个banner -->
  142. <update id="stopBannerById" parameterType="int">
  143. update TB_ACTION_BANNER SET
  144. B_STATUS = 2
  145. WHERE B_ID = #{bannerId} AND B_STATUS = 1
  146. </update>
  147. <!-- 获取一个banner -->
  148. <select id="selectBannerById" parameterType="int" resultType="ActionBanner">
  149. SELECT
  150. <include refid="bannerAllField"/>
  151. FROM
  152. TB_ACTION_BANNER
  153. WHERE
  154. B_ID = #{bannerId}
  155. </select>
  156. <!-- 根据ID,获取一个banner的图片 -->
  157. <select id="selectBannerImgByBannerId" parameterType="int" resultType="ActionBannerImage">
  158. SELECT
  159. <include refid="imgAllField"/>
  160. FROM
  161. TB_ACTION_BANNER_IMG
  162. WHERE
  163. B_BANNER_ID = #{bannerId}
  164. ORDER BY B_I_DATE DESC
  165. </select>
  166. <!-- 根据banner图片ID,删除图片 -->
  167. <delete id="deleteBannerImgById" parameterType="int">
  168. DELETE FROM
  169. TB_ACTION_BANNER_IMG
  170. WHERE B_I_ID = #{imgId }
  171. </delete>
  172. <!-- 批量修改时间 -->
  173. <update id="sort" parameterType="java.util.List">
  174. <foreach collection="list" item="item" index="index" separator=";">
  175. UPDATE
  176. TB_ACTION_BANNER_IMG
  177. <set>
  178. B_I_DATE = #{item.bannerCreateDate}
  179. </set>
  180. WHERE
  181. B_I_ID = #{item.bannerImageId}
  182. </foreach>
  183. </update>
  184. </mapper>