UserMapper.xml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.zhongzheng.modules.user.mapper.UserMapper">
  6. <resultMap type="com.zhongzheng.modules.user.domain.User" id="UserResult">
  7. <result property="userId" column="user_id"/>
  8. <result property="userAccount" column="user_account"/>
  9. <result property="nickname" column="nickname"/>
  10. <result property="realname" column="realname"/>
  11. <result property="sex" column="sex"/>
  12. <result property="idCard" column="id_card"/>
  13. <result property="telphone" column="telphone"/>
  14. <result property="userLevel" column="user_level"/>
  15. <result property="userBirth" column="user_birth"/>
  16. <result property="eduLevel" column="edu_level"/>
  17. <result property="schoolId" column="school_id"/>
  18. <result property="major" column="major"/>
  19. <result property="entranceTime" column="entrance_time"/>
  20. <result property="openId" column="open_id"/>
  21. <result property="studentCertificateImg" column="student_certificate_img"/>
  22. <result property="idCardImg1" column="id_card_img1"/>
  23. <result property="idCardImg2" column="id_card_img2"/>
  24. <result property="country" column="country"/>
  25. <result property="province" column="province"/>
  26. <result property="city" column="city"/>
  27. <result property="integral" column="integral"/>
  28. <result property="createTime" column="create_time"/>
  29. <result property="updateTime" column="update_time"/>
  30. <result property="status" column="status"/>
  31. <result property="unionId" column="union_id"/>
  32. <result property="registerPlat" column="register_plat"/>
  33. <result property="lastLoginIp" column="last_login_ip"/>
  34. <result property="lastLoginTime" column="last_login_time"/>
  35. <result property="certified" column="certified"/>
  36. <result property="certifiedTime" column="certified_time"/>
  37. <result property="district" column="district"/>
  38. <result property="marry" column="marry"/>
  39. <result property="houseProvince" column="house_province"/>
  40. <result property="houseCity" column="house_city"/>
  41. <result property="houseDistrict" column="house_district"/>
  42. <result property="oneInchPhotos" column="one_inch_photos"/>
  43. <result property="politic" column="politic"/>
  44. <result property="email" column="email"/>
  45. <result property="avatar" column="avatar"/>
  46. <result property="inviteUserAccount" column="invite_user_account"/>
  47. </resultMap>
  48. <resultMap type="com.zhongzheng.modules.user.vo.RanKingUser" id="RanKingUserResult">
  49. <result property="hourse" column="sum_study"/>
  50. <result property="avatar" column="avatar"/>
  51. <result property="nickname" column="nickname"/>
  52. <result property="rank" column="pm"/>
  53. </resultMap>
  54. <select id="selectByRank" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">
  55. SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar FROM `user` u
  56. LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
  57. <if test="userId != null and userId != ''">
  58. AND u.user_id = #{userId}
  59. </if>
  60. <if test="userId != null and userId != ''">
  61. AND s.create_time BETWEEN #{startTime} and #{endTime}
  62. </if>
  63. GROUP BY u.user_id
  64. </select>
  65. <select id="selectByRanks" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">
  66. SELECT A.*,@rank:=@rank+1 as pm
  67. FROM
  68. (
  69. SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar FROM `user` u
  70. LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
  71. <if test="userId != null and userId != ''">
  72. AND s.create_time BETWEEN #{startTime} and #{endTime}
  73. </if>
  74. GROUP BY u.user_id ORDER BY sum_study desc LIMIT 20
  75. ) A ,(SELECT @rank:=0) B
  76. </select>
  77. <select id="selectByRankOne" parameterType="integer" resultType="int">
  78. SELECT
  79. COUNT(s.sum_study)
  80. FROM
  81. (SELECT sum( s.study_duration ) AS sum_study FROM user_study_record s WHERE 1 = 1 GROUP BY s.user_id) s
  82. WHERE s.sum_study >= #{hourse}
  83. </select>
  84. <select id="selectByOneRank" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">
  85. SELECT u.nickname,u.avatar FROM `user` u
  86. where 1=1
  87. <if test="userId != null and userId != ''">
  88. AND u.user_id = #{userId}
  89. </if>
  90. GROUP BY u.user_id
  91. </select>
  92. </mapper>