UserDistributeMapper.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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.cyksj.mapper.manage.distribute.UserDistributeMapper">
  4. <select id="count" resultType="java.lang.Integer">
  5. select count(*)
  6. from distribute_waiting_send_points dw
  7. where dw.shared_id = #{userId}
  8. </select>
  9. <select id="countUserNum" resultType="java.lang.Integer">
  10. select count(distinct us.user_id)
  11. from `user_distribute_shared` us
  12. where us.shared_id = #{userId}
  13. </select>
  14. <select id="getHasPayOrdersBySharedId" resultType="java.math.BigDecimal">
  15. select ifnull(sum(od.money),0) from `user_distribute_shared` us left join `order_don` od on od.user_id =
  16. us.user_id
  17. where us.shared_id = #{userId}
  18. and is_fixed_distribute is true
  19. and od.status not in
  20. <foreach collection="noOrderStatus" item="item" open="(" separator="," close=")">
  21. #{item}
  22. </foreach>
  23. <if test="startTime != null and startTime != ''">
  24. and od.created_time >= #{startTime}
  25. </if>
  26. <if test="endTime != null and endTime != ''">
  27. and od.created_time &lt; #{endTime}
  28. </if>
  29. </select>
  30. <select id="countHasPayBySharedId" resultType="java.math.BigDecimal">
  31. select count(distinct od.user_id) from `user_distribute_shared` us left join `order_don` od on od.user_id =
  32. us.user_id
  33. where us.shared_id = #{userId}
  34. and is_fixed_distribute is true
  35. and od.status not in
  36. <foreach collection="noOrderStatus" item="item" open="(" separator="," close=")">
  37. #{item}
  38. </foreach>
  39. <if test="startTime != null and startTime != ''">
  40. and od.created_time >= #{startTime}
  41. </if>
  42. <if test="endTime != null and endTime != ''">
  43. and od.created_time &lt; #{endTime}
  44. </if>
  45. </select>
  46. <select id="selectSoldMaxGoods" resultType="java.lang.String">
  47. select title
  48. from goods_don
  49. where id = (select goods_id
  50. from (select user_id from user_distribute_shared where shared_id = #{userId}) s
  51. inner join order_don od
  52. on od.user_id = s.user_id
  53. where od.status not in ('close', 'noPayment', 'refund')
  54. and od.is_fixed_distribute = 1
  55. and od.relation_id != 0
  56. group by goods_id
  57. order by max(money) desc limit 1) limit 1
  58. </select>
  59. <select id="getApplyDetailByUserId" resultType="com.cyksj.model.views.UserDistributeViews">
  60. select ifnull(sum(da.money), 0) as gotMoney, cast(u.points / 10 as decimal(10, 2)) as availableMoney
  61. from (select id, points from user where id = #{userId} limit 1) u
  62. left join distribute_money_apply da on da.user_id = u.id and verify_status = 'success'
  63. group by u.id, u.points
  64. </select>
  65. <select id="getUserDistributeDetail" resultType="com.cyksj.model.entity.User">
  66. select u.* from (select * from user
  67. <where>
  68. <if test="loginPhone!=null and loginPhone != ''">
  69. login_phone = #{loginPhone}
  70. </if>
  71. <if test="email != null and email != ''">
  72. and email = #{email}
  73. </if>
  74. limit 1
  75. </where>
  76. )u inner join user_distribute ud on ud.user_id = u.id and ud.deleted is true limit 1
  77. </select>
  78. <select id="getDistributeGoodsRateByUidAndGid" resultType="java.lang.Integer">
  79. select udr.rate
  80. from (select shared_id from user_distribute_shared where user_id = #{userId} limit 1) us
  81. inner join user_distribute ud on ud.user_id = us.shared_id and ud.deleted is true
  82. inner join user_plat_distribute_rate udr
  83. on udr.distribute_id = ud.id
  84. where udr.goods_id = #{goodsId}
  85. </select>
  86. <select id="selectRelationBusiness" resultType="com.cyksj.model.entity.DistributeMoneyApply">
  87. select ud.business_id, cu.nickname as businessName
  88. from (select business_id from user_distribute where user_id = #{userId} and deleted is true limit 1) ud
  89. inner join cms_user cu on cu.id = ud.business_id
  90. </select>
  91. <select id="selectOrderBrokenLineMoney" resultType="com.cyksj.model.views.CpsOrderDataStatisticsView">
  92. select min(curdate) as firstDate,
  93. max(curdate) as lastDate
  94. from (select date_format(ifnull(od.created_time,vod.created_time),'%Y-%m-%d') curdate,
  95. count(dw.order_id) curdateOrderCount
  96. from distribute_waiting_send_points dw
  97. left join order_don od on od.id = dw.order_id and dw.is_vip = false
  98. left join vip_order_don vod on vod.id = dw.order_id and dw.is_vip = true
  99. where dw.shared_id = #{cpsUserId}
  100. and dw.send_status not in ('not_exist', 'close')
  101. group by ifnull(od.goods_id,vod.goods_id), date_format(ifnull(od.created_time,vod.created_time), '%Y-%m-%d'))s
  102. where 1 = 1
  103. <if test="first != null">
  104. and curdate >= #{first}
  105. </if>
  106. <if test="end != null">
  107. and curdate &lt; #{end}
  108. </if>
  109. </select>
  110. <select id="selectNoSetGoodsRateDistirbutors" resultType="com.cyksj.model.entity.UserDistribute">
  111. select ud.*
  112. from (select id,user_id from user_distribute where deleted) ud
  113. left join user_plat_distribute_rate ur on ur.distribute_id = ud.id and ur.goods_id = #{goodsId}
  114. where ur.id is null
  115. </select>
  116. <select id="selectNoSetGoodsSkuRateDistirbutors" resultType="com.cyksj.model.entity.UserDistribute">
  117. select ud.*
  118. from (select id,user_id from user_distribute where deleted) ud
  119. left join user_plat_sku_distribute_rate ur on ur.distribute_id = ud.id and ur.sku_id = #{skuId}
  120. where ur.id is null
  121. </select>
  122. </mapper>