UserDistributeRankStatisticsRecordMapper.xml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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.UserDistributeRankStatisticsRecordMapper">
  4. <select id="selectDistributeRanks" resultType="com.cyksj.model.views.DistributeUserRankView">
  5. select ROW_NUMBER() OVER (ORDER BY ${filed} desc) AS rank_id, concat(LEFT(ifnull(u.nickname,udsr.nickname),1),'*', RIGHT(ifnull(u.nickname,udsr.nickname),1)) as nickname,
  6. ifnull(u.headimgurl, udsr.headimgurl) as headimgurl,
  7. udsr.user_id,
  8. udsr.statistics_start_time,
  9. udsr.money,
  10. udsr.orders,
  11. udsr.reward_type,
  12. udsr.reward
  13. from user_distribute_rank_statistics_record udsr
  14. left join user u on u.id = udsr.user_id
  15. where statistics_start_time = #{statisticsTime}
  16. order by ${filed} desc
  17. </select>
  18. <select id="getSelfRank" resultType="com.cyksj.model.views.DistributeUserRankView">
  19. select *
  20. from (select ROW_NUMBER() OVER (ORDER BY ${filed} desc) AS rank_id, concat(LEFT(ifnull(u.nickname,udsr.nickname),1),'*', RIGHT(ifnull(u.nickname,udsr.nickname),1)) as nickname,
  21. ifnull(u.headimgurl, udsr.headimgurl) as headimgurl,
  22. udsr.user_id,
  23. udsr.statistics_start_time,
  24. udsr.money,
  25. udsr.orders,
  26. udsr.reward_type,
  27. udsr.reward
  28. from user_distribute_rank_statistics_record udsr
  29. left join user u on u.id = udsr.user_id
  30. where statistics_start_time = #{statisticsTime}) s
  31. where s.user_id = #{userId}
  32. </select>
  33. <select id="getPreviousWinners" resultType="com.cyksj.model.views.DistributeUserRankView">
  34. select ROW_NUMBER() OVER (ORDER BY ${filed} desc) AS rank_id, concat(LEFT(ifnull(u.nickname,udsr.nickname),1),'*', RIGHT(ifnull(u.nickname,udsr.nickname),1)) as nickname,
  35. ifnull(u.headimgurl, udsr.headimgurl) as headimgurl,
  36. udsr.user_id,
  37. udsr.statistics_start_time,
  38. udsr.money,
  39. udsr.orders,
  40. udsr.reward,
  41. udsr.reward_type
  42. from user_distribute_rank_statistics_record udsr
  43. left join user u on u.id = udsr.user_id
  44. where statistics_start_time = #{lastTime}
  45. </select>
  46. <select id="selectAcOrderDataView" resultType="com.cyksj.model.views.ActivityOrderDataView">
  47. select sum(orders) as orders, sum(money) as money
  48. from user_distribute_rank_statistics_record
  49. where robot_id is null
  50. </select>
  51. <select id="rankPage" resultType="com.cyksj.model.views.UserDistributeRankActivityView">
  52. select * from (select ROW_NUMBER() OVER (ORDER BY ${filed} desc) AS rank_id,
  53. ifnull(u.nickname,udsr.nickname) as nickname,
  54. ifnull(u.headimgurl, udsr.headimgurl) as headimgurl,
  55. udsr.user_id,
  56. udsr.statistics_start_time,
  57. udsr.statistics_end_time,
  58. udsr.money,
  59. udsr.orders,
  60. udsr.reward_type,
  61. udsr.reward,
  62. (select count(1) from user_distribute_shared us where us.shared_id = udsr.user_id) as userNum
  63. from user_distribute_rank_statistics_record udsr
  64. left join user u on u.id = udsr.user_id
  65. <where>
  66. <if test="date != null">
  67. statistics_start_time = #{date}
  68. </if>
  69. <if test="userId != null">
  70. and udsr.user_id = #{userId}
  71. </if>
  72. <if test="nickname != null">
  73. and u.nickname like '%${nickname}%'
  74. </if>
  75. </where>
  76. order by ${filed} desc limit 20)
  77. s
  78. <if test="orderBy!=null">
  79. order by ${orderBy} ${sort}
  80. </if>
  81. </select>
  82. <select id="getRobotRankInfo" resultType="com.cyksj.model.entity.UserActivityRankRobot">
  83. select *
  84. from (select ROW_NUMBER() OVER (ORDER BY ${filed} desc) AS rank_id, concat(LEFT(ifnull(u.nickname,udsr.nickname),1),'*', RIGHT(ifnull(u.nickname,udsr.nickname),1)) as nickname,
  85. ifnull(u.headimgurl, udsr.headimgurl) as headimgurl,
  86. udsr.user_id,
  87. udsr.statistics_start_time,
  88. udsr.money,
  89. udsr.orders,
  90. robot_id
  91. from user_distribute_rank_statistics_record udsr
  92. left join user u on u.id = udsr.user_id
  93. where statistics_start_time = #{statisticsTime}) s
  94. where s.robot_id = #{robotId}
  95. </select>
  96. <select id="getMoreSelfRank" resultType="com.cyksj.model.views.DistributeUserRankView">
  97. select *
  98. from (select ROW_NUMBER() OVER (ORDER BY ${filed} desc) AS rank_id,
  99. concat(LEFT(ifnull(u.nickname,udsr.nickname),1),'*', RIGHT(ifnull(u.nickname,udsr.nickname),1)) as nickname,
  100. ifnull(u.headimgurl, udsr.headimgurl) as headimgurl,
  101. udsr.user_id,
  102. udsr.statistics_start_time,
  103. udsr.money,
  104. udsr.orders
  105. from user_distribute_rank_statistics_record udsr
  106. left join user u on u.id = udsr.user_id
  107. where statistics_start_time = #{statisticsTime}) s
  108. <where>
  109. <if test="rankId != null">
  110. s.rank_id &lt; #{rankId}
  111. </if>
  112. </where>
  113. order by rank_id desc limit 1
  114. </select>
  115. </mapper>