campaign.sql.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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="back.campaignSqlMapper">
  4. <sql id="base_column">
  5. t_campaign.id as id,
  6. t_campaign.order_id as orderId,
  7. t_campaign.name as name,
  8. t_campaign.activate_time as activeTime,
  9. t_campaign.expire_time as expireTime,
  10. t_campaign.totalbudget as totalBudget,
  11. t_campaign.dailybudget as dailyBudget,
  12. t_campaign.impression as impression,
  13. t_campaign.click as click,
  14. t_campaign.conversion as conversion,
  15. t_campaign.daily_impression as dailyImpression,
  16. t_campaign.daily_click as dailyClick,
  17. t_campaign.daily_conversion as dailyConversion,
  18. t_campaign.memo as memo,
  19. t_campaign.status as status,
  20. t_campaign.updated as upDated
  21. </sql>
  22. <insert id="addCampaign" parameterType="com.cloudcross.ssp.back.model.Campaign">
  23. insert into t_campaign
  24. (name,order_id,activate_time,expire_time,
  25. totalbudget,dailybudget,impression,click,conversion,daily_impression,
  26. daily_click,daily_conversion,memo,updated)
  27. values
  28. (#{name},#{orderId},#{activeTime},#{expireTime},#{totalBudget},
  29. #{dailyBudget},#{impression},#{click},#{conversion},#{dailyImpression},
  30. #{dailyClick},#{dailyConversion},#{memo},NOW())
  31. </insert>
  32. <update id="editCampaign" parameterType="com.cloudcross.ssp.back.model.Campaign">
  33. update t_campaign set
  34. name = #{name},
  35. activate_time = #{activeTime},
  36. expire_time = #{expireTime},
  37. totalbudget = #{totalBudget},
  38. dailybudget = IFNULL(#{dailyBudget},default(dailybudget)),
  39. conversion =IFNULL(#{conversion},default(conversion)),
  40. click = IFNULL(#{click},default(click)),
  41. impression =IFNULL(#{impression},default(impression)),
  42. daily_click = IFNULL(#{dailyClick},default(daily_click)),
  43. daily_conversion = 0,
  44. daily_impression = IFNULL(#{dailyImpression},default(daily_impression)),
  45. memo = IFNULL(#{memo},default(memo)),
  46. updated = NOW()
  47. where t_campaign.id = #{id}
  48. </update>
  49. <select id="findByParams" parameterType="map" resultType="com.cloudcross.ssp.back.model.Campaign">
  50. select
  51. <include refid="base_column" />
  52. ,count(t_adgroup.campaign_id) as groupNumber from t_campaign left join t_adgroup
  53. on t_campaign.id = t_adgroup.campaign_id
  54. where t_campaign.order_id = #{orderId} and t_campaign.status != -1
  55. <if test="value!=null">
  56. and t_campaign.name like #{value}
  57. </if>
  58. <if test="status!=null">
  59. and t_campaign.status = #{status}
  60. </if>
  61. group by t_campaign.id
  62. order by t_campaign.id desc
  63. limit #{pager.offset}, #{pager.limit}
  64. </select>
  65. <select id="countByParams" parameterType="map" resultType="int">
  66. select count(id) from t_campaign
  67. <where>
  68. order_id = #{orderId} and status != -1
  69. <if test="value!=null">
  70. and name like #{value}
  71. </if>
  72. <if test="status!=null">
  73. and t_campaign.status = #{status}
  74. </if>
  75. </where>
  76. </select>
  77. <update id="updateCampaignStatus" parameterType="HashMap">
  78. update t_campaign
  79. set status=#{status},
  80. updated = #{upDated}
  81. where
  82. id in
  83. <foreach item="id" collection="idList" open="(" separator=","
  84. close=")">
  85. #{id}
  86. </foreach>
  87. </update>
  88. <update id="updateSupdated" parameterType="HashMap">
  89. update t_adgroup
  90. set t_adgroup.supdated= NOW()
  91. where t_adgroup.campaign_id in
  92. <foreach item="id" collection="idList" open="(" separator=","
  93. close=")">
  94. #{id}
  95. </foreach>
  96. </update>
  97. <select id="findById" parameterType="long" resultType="com.cloudcross.ssp.back.model.Campaign">
  98. select
  99. <include refid="base_column" />
  100. from t_campaign
  101. where id = #{id}
  102. </select>
  103. <select id="findByName" parameterType="String" resultType="long">
  104. select
  105. max(id)
  106. from t_campaign
  107. where name = #{name}
  108. </select>
  109. <delete id="deleteByID" parameterType="int">
  110. delete from t_campaign where id=#{id}
  111. </delete>
  112. <select id="findByOrderId" parameterType="long" resultType="com.cloudcross.ssp.back.model.Campaign">
  113. select
  114. <include refid="base_column" />
  115. from t_campaign
  116. <where>
  117. order_id = #{orderId} and status != -1
  118. </where>
  119. </select>
  120. <select id="selectByStatus" parameterType="map" resultType="com.cloudcross.ssp.back.model.Campaign">
  121. select
  122. <include refid="base_column" />
  123. ,count(t_adgroup.campaign_id) as groupNumber from t_campaign left join t_adgroup
  124. on t_campaign.id = t_adgroup.campaign_id
  125. where 1 = 1
  126. and t_campaign.status = #{status}
  127. and t_campaign.order_id = #{orderId}
  128. group by t_campaign.id
  129. order by t_campaign.id desc
  130. limit #{pager.offset}, #{pager.limit}
  131. </select>
  132. <!-- 导出Excel用 -->
  133. <select id="findDeliverEffectAnalysis" parameterType="map" resultType="com.cloudcross.ssp.back.model.Campaign">
  134. select
  135. <include refid="base_column" />
  136. ,count(t_adgroup.campaign_id) as groupNumber from t_campaign left join t_adgroup
  137. on t_campaign.id = t_adgroup.campaign_id
  138. where t_campaign.order_id = #{orderId} and t_campaign.status != -1
  139. <if test="key!=null and value!=null">
  140. <choose>
  141. <when test="key=='name'">
  142. and t_campaign.name like #{value}
  143. </when>
  144. </choose>
  145. </if>
  146. <if test="status!=null">
  147. and t_campaign.status = #{status}
  148. </if>
  149. group by t_campaign.id
  150. order by t_campaign.id desc
  151. </select>
  152. </mapper>