adminBannerMapper.xml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  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. )
  42. UNION ALL
  43. (
  44. SELECT
  45. B_IMG_URL bannerImageUrl, B_I_CHECKOUT_URL bannerImageCheckOutUrl, 2 as bannerId
  46. FROM
  47. TB_ACTION_BANNER_IMG
  48. WHERE
  49. B_BANNER_ID = (
  50. SELECT
  51. B_ID
  52. FROM
  53. TB_ACTION_BANNER
  54. WHERE
  55. B_TYPE = 2 AND
  56. B_STATUS = 1 AND
  57. <![CDATA[ B_START_DATE <= NOW() AND B_END_DATE >= NOW()]]>
  58. ORDER BY B_DATE DESC
  59. LIMIT 0,1
  60. )
  61. )
  62. </select>
  63. <!-- 查询banner列表 -->
  64. <select id="selectBannerListByPaper" parameterType="PaperBean" resultType="ActionBanner">
  65. SELECT
  66. <include refid="bannerAllField"/>
  67. FROM
  68. TB_ACTION_BANNER
  69. <!-- 基本where语句 -->
  70. <if test="str != null">
  71. WHERE B_NAME LIKE #{str} OR B_DESC LIKE #{str}
  72. </if>
  73. <!-- 排序 -->
  74. ORDER BY B_DATE DESC
  75. <!-- 分页基本语句 -->
  76. LIMIT #{minNum}, #{maxNum}
  77. </select>
  78. <!-- 查询banner列表 -->
  79. <select id="selectBannerCountByPaper" parameterType="PaperBean" resultType="int">
  80. SELECT
  81. COUNT(B_ID)
  82. FROM
  83. TB_ACTION_BANNER
  84. <!-- 基本where语句 -->
  85. <if test="str != null">
  86. WHERE B_NAME LIKE #{str} OR B_DESC LIKE #{str}
  87. </if>
  88. </select>
  89. <!-- 添加一个banner -->
  90. <insert id="insertBanner" parameterType="ActionBanner">
  91. INSERT INTO
  92. TB_ACTION_BANNER
  93. (
  94. B_START_DATE, B_END_DATE, B_STATUS, B_DATE,
  95. B_NAME, B_DESC, B_TYPE
  96. )
  97. VALUES
  98. (
  99. #{bannerStartDate},
  100. #{bannerEndDate},
  101. #{bannerStatus},
  102. NOW(),
  103. #{bannerName},
  104. #{bannerDesc},
  105. #{bannerType}
  106. )
  107. </insert>
  108. <!-- 添加banner的img -->
  109. <insert id="insertBannerImg" useGeneratedKeys="true" keyProperty="bannerImageId" parameterType="ActionBannerImage">
  110. INSERT INTO
  111. TB_ACTION_BANNER_IMG
  112. (
  113. B_IMG_URL, B_I_CHECKOUT_URL, B_I_DATE, B_BANNER_ID
  114. )
  115. VALUES
  116. (
  117. #{bannerImageUrl},
  118. #{bannerImageCheckOutUrl},
  119. NOW(),
  120. #{bannerId}
  121. )
  122. </insert>
  123. <!-- 修改一个banner -->
  124. <update id="updateBannerById" parameterType="ActionBanner">
  125. update
  126. TB_ACTION_BANNER
  127. SET
  128. B_START_DATE = #{bannerStartDate},
  129. B_END_DATE = #{bannerEndDate},
  130. B_STATUS = #{bannerStatus},
  131. B_NAME = #{bannerName},
  132. B_DESC = #{bannerDesc},
  133. B_TYPE = #{bannerType}
  134. WHERE
  135. B_ID = #{bannerId}
  136. </update>
  137. <!-- 停止某一个banner -->
  138. <update id="stopBannerById" parameterType="int">
  139. update TB_ACTION_BANNER SET
  140. B_STATUS = 2
  141. WHERE B_ID = #{bannerId} AND B_STATUS = 1
  142. </update>
  143. <!-- 获取一个banner -->
  144. <select id="selectBannerById" parameterType="int" resultType="ActionBanner">
  145. SELECT
  146. <include refid="bannerAllField"/>
  147. FROM
  148. TB_ACTION_BANNER
  149. WHERE
  150. B_ID = #{bannerId}
  151. </select>
  152. <!-- 根据ID,获取一个banner的图片 -->
  153. <select id="selectBannerImgByBannerId" parameterType="int" resultType="ActionBannerImage">
  154. SELECT
  155. <include refid="imgAllField"/>
  156. FROM
  157. TB_ACTION_BANNER_IMG
  158. WHERE
  159. B_BANNER_ID = #{bannerId}
  160. ORDER BY B_I_ID DESC
  161. </select>
  162. <!-- 根据banner图片ID,删除图片 -->
  163. <delete id="deleteBannerImgById" parameterType="int">
  164. DELETE FROM
  165. TB_ACTION_BANNER_IMG
  166. WHERE B_I_ID = #{imgId }
  167. </delete>
  168. </mapper>