UserDistributeRankStatisticsRecordMapper.xml 5.4 KB

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