QzStorePromMapper.xml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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.kmall.schedule.dao.QzStorePromMapper">
  4. <select id="queryStorePromList" resultType="map">
  5. select
  6. `prom_id` 'promId',
  7. `store_id`,
  8. `prom_beg_time`,
  9. `prom_end_time`,
  10. `is_finished`
  11. from mk_store_prom a
  12. where 1=1 AND a.prom_end_time <![CDATA[ < ]]> now() AND is_finished = 1
  13. </select>
  14. <select id="queryStorePromByNotStartList" resultType="map">
  15. select
  16. `prom_id` 'promId',
  17. `store_id`,
  18. `prom_beg_time` 'promBegTime',
  19. `prom_end_time`,
  20. `is_finished`
  21. from mk_store_prom a
  22. where 1=1 AND is_finished = 2
  23. </select>
  24. <update id="updateStoreProm" parameterType="map">
  25. update mk_store_prom set is_finished = #{isFinished}, mod_time = now() where prom_id = #{promId}
  26. </update>
  27. <select id="queryStorePromByPaySuccess" resultType="map">
  28. SELECT
  29. s.prom_stat_id promStatId,
  30. r.prom_id promId,
  31. g.goods_id goodsId,
  32. s.pay_order_num payOrderNum,
  33. s.payer_num payerNum,
  34. s.receiv_money receivMoney,
  35. s.pay_case_num payCaseNum,
  36. s.act_money actMoney
  37. FROM
  38. mk_store_prom_stat s
  39. LEFT JOIN mk_store_prom_order_real r ON s.prom_id = r.prom_id
  40. LEFT JOIN mall_order o ON r.order_id = o.id
  41. LEFT JOIN mall_order_goods g ON o.id = g.order_id
  42. AND g.id = r.order_goods_id
  43. WHERE 1=1
  44. <if test="statusList != null">
  45. AND o.order_status IN
  46. <foreach item="statusList" collection="statusList" open="(" separator="," close=")">
  47. #{statusList}
  48. </foreach>
  49. </if>
  50. and is_prom_stat_scan = 0
  51. GROUP BY
  52. goods_id
  53. </select>
  54. <select id="getStatDataByGoodsId" resultType="map">
  55. SELECT
  56. count( DISTINCT o.order_sn ) payOrderNum,
  57. count( DISTINCT r.user_id ) payerNum,
  58. sum( o.goods_price ) receivMoney,
  59. sum( g.number ) payCaseNum ,
  60. sum( o.actual_price ) orderActualPrice
  61. FROM
  62. mall_order o
  63. INNER JOIN mall_order_goods g ON o.id = g.order_id
  64. INNER JOIN mk_store_prom_order_real r ON r.order_goods_id = g.id
  65. AND r.order_id = o.id
  66. WHERE
  67. g.goods_id = #{goodsId}
  68. <if test="statusList != null">
  69. AND o.order_status IN
  70. <foreach item="statusList" collection="statusList" open="(" separator="," close=")">
  71. #{statusList}
  72. </foreach>
  73. </if>
  74. </select>
  75. <select id="getActMoneyDataByGoodsId" resultType="map" parameterType="map">
  76. SELECT
  77. sum( g.retail_price ) actMoney
  78. FROM
  79. mall_order o
  80. INNER JOIN mall_order_goods g ON o.id = g.order_id
  81. WHERE
  82. g.order_id IN (
  83. SELECT
  84. g.order_id
  85. FROM
  86. mall_order o
  87. INNER JOIN mall_order_goods g ON o.id = g.order_id
  88. INNER JOIN mk_store_prom_order_real r ON r.order_goods_id = g.id
  89. AND r.order_id = o.id
  90. WHERE
  91. g.goods_id = #{goodsId}
  92. <if test="statusListOne != null">
  93. AND o.order_status IN
  94. <foreach item="statusListOne" collection="statusListOne" open="(" separator="," close=")">
  95. #{statusListOne}
  96. </foreach>
  97. </if>
  98. )
  99. AND g.id NOT IN (
  100. SELECT
  101. g.id
  102. FROM
  103. mall_order o
  104. INNER JOIN mall_order_goods g ON o.id = g.order_id
  105. INNER JOIN mk_store_prom_order_real r ON r.order_goods_id = g.id
  106. AND r.order_id = o.id
  107. WHERE
  108. g.goods_id = #{goodsId}
  109. <if test="statusListTwo != null">
  110. AND o.order_status IN
  111. <foreach item="statusListTwo" collection="statusListTwo" open="(" separator="," close=")">
  112. #{statusListTwo}
  113. </foreach>
  114. </if>
  115. )
  116. </select>
  117. <update id="updateStorePromStat" parameterType="map">
  118. update mk_store_prom_stat set
  119. pay_order_num = #{payOrderNum} ,
  120. payer_num = #{payerNum} ,
  121. receiv_money = #{receivMoney} ,
  122. pay_case_num = #{payCaseNum} ,
  123. act_money = #{actMoney}
  124. where prom_stat_id = #{promStatId}
  125. </update>
  126. <select id="getStoreRealByGoodsIdList" resultType="map">
  127. SELECT
  128. r.prom_order_real_id
  129. FROM
  130. mall_order o
  131. INNER JOIN mall_order_goods g ON o.id = g.order_id
  132. INNER JOIN mk_store_prom_order_real r ON r.order_goods_id = g.id
  133. AND r.order_id = o.id
  134. WHERE
  135. g.goods_id = #{goodsId}
  136. <if test="statusList != null">
  137. AND o.order_status IN
  138. <foreach item="statusList" collection="statusList" open="(" separator="," close=")">
  139. #{statusList}
  140. </foreach>
  141. </if>
  142. and is_prom_stat_scan = 0
  143. </select>
  144. <update id="updatePromRealIsPromScan" parameterType="map">
  145. update mk_store_prom_order_real set is_prom_stat_scan = #{isPromStatScan} where prom_order_real_id=#{promOrderRealId}
  146. </update>
  147. </mapper>