EsmUserReferrerMapper.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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.ydtech.modules.esm.dao.EsmUserReferrerMapper">
  6. <resultMap id="SysUserMap" type="com.ydtech.modules.admin.model.SysUser">
  7. </resultMap>
  8. <resultMap id="QueryChannelMap" type="com.ydtech.modules.esm.model.QueryChannel">
  9. </resultMap>
  10. <select id="queryOrderCount" resultType="com.ydtech.modules.esm.model.vo.EsmUserPolicyVO">
  11. SELECT
  12. su.id,
  13. su.NAME as username,
  14. count( iac.id ) AS policynum,
  15. sum( iac.sumpremium ) AS sumpremium
  16. FROM
  17. ins_orders io
  18. LEFT JOIN ins_area_company iac ON io.orderno = iac.orderno
  19. LEFT JOIN sys_user su ON io.userid = su.id
  20. WHERE
  21. iac.orderstatus = 3
  22. AND io.orderstatus = 3
  23. AND io.createtime BETWEEN #{startDate} AND #{endDate}
  24. AND io.userid in
  25. <foreach item="item" index="index" collection="userList" open="(" separator="," close=")">
  26. #{item}
  27. </foreach>
  28. GROUP BY
  29. io.userid
  30. </select>
  31. <select id="queryOrderCountHz" resultType="com.ydtech.modules.esm.model.vo.EsmTeamPolicyVO">
  32. SELECT
  33. sum(sumpremium) sumpremium
  34. FROM
  35. ins_orders io
  36. LEFT JOIN ins_area_company iac ON io.orderno = iac.orderno
  37. LEFT JOIN sys_user su ON io.userid = su.id
  38. WHERE
  39. iac.orderstatus = 3
  40. AND io.orderstatus = 3
  41. AND io.createtime BETWEEN #{startDate} AND #{endDate}
  42. AND io.userid in
  43. <foreach item="item" index="index" collection="userList" open="(" separator="," close=")">
  44. #{item}
  45. </foreach>
  46. </select>
  47. <select id="getUserPage" resultMap="SysUserMap">
  48. SELECT
  49. su.*
  50. FROM
  51. esm_user_referrer eur
  52. LEFT JOIN sys_user su ON su.id = eur.id
  53. WHERE
  54. su.id != 'admin'
  55. AND su.STATUS = 1
  56. AND referrer_id IS NOT NULL
  57. <if test="dto.userId != null and dto.userId != ''">
  58. AND su.id = #{dto.userId}
  59. </if>
  60. <if test="dto.name != null and dto.name != ''">
  61. AND su.name = #{dto.name}
  62. </if>
  63. <if test="dto.mobile != null and dto.mobile != ''">
  64. AND su.mobile = #{dto.mobile}
  65. </if>
  66. </select>
  67. <select id="getQueryChannelPage" resultMap="QueryChannelMap">
  68. SELECT
  69. sd.id as deptId,
  70. sd.name as deptName,
  71. sd.address,
  72. count( su.id ) AS count
  73. FROM
  74. sys_dept sd
  75. LEFT JOIN sys_user su ON su.dept_id = sd.id
  76. WHERE
  77. management_source = 1
  78. <if test="queryChannel.deptId != null and queryChannel.deptId != ''">
  79. AND sd.id = #{queryChannel.deptId}
  80. </if>
  81. <if test="queryChannel.deptName != null and queryChannel.deptName != ''">
  82. AND sd.name = #{queryChannel.deptName}
  83. </if>
  84. GROUP BY
  85. sd.id
  86. </select>
  87. <select id="getByTeam" resultType="com.ydtech.modules.admin.model.dto.SysUserTeamDto">
  88. with recursive t1 as (select *
  89. from esm_user_referrer
  90. WHERE referrer_id = #{userId}
  91. union all
  92. select r1.*
  93. from esm_user_referrer r1
  94. INNER JOIN t1 on t1.id = r1.referrer_id
  95. WHERE r1.level &lt; #{level})
  96. select u.id, u.name, u.mobile, u.status
  97. from t1
  98. LEFT JOIN sys_user u on t1.id = u.id
  99. <if test="managementQueryVo.userId != null and managementQueryVo.userId != ''">
  100. AND sd.id = #{managementQueryVo.userId}
  101. </if>
  102. <if test="managementQueryVo.username != null and managementQueryVo.username != ''">
  103. AND sd.id = #{managementQueryVo.username}
  104. </if>
  105. <if test="managementQueryVo.phoneNumber != null and managementQueryVo.phoneNumber != ''">
  106. AND sd.id = #{managementQueryVo.phoneNumber}
  107. </if>
  108. <if test="managementQueryVo.authenticationStatus != null and managementQueryVo.authenticationStatus != ''">
  109. AND sd.id = #{managementQueryVo.authenticationStatus}
  110. </if>
  111. </select>
  112. </mapper>