BrokerageUserMapper.xml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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="cn.iocoder.yudao.module.trade.dal.mysql.brokerage.BrokerageUserMapper">
  4. <select id="selectSummaryPageByUserId"
  5. resultType="cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserChildSummaryRespVO">
  6. SELECT bu.id, bu.bind_user_time AS brokerageTime,
  7. u.nickname, u.avatar,
  8. (SELECT SUM(price) FROM trade_brokerage_record r
  9. WHERE r.user_id = u.id AND biz_type = 1 AND r.status = 1 AND r.deleted = FALSE) AS brokeragePrice,
  10. (SELECT COUNT(1) FROM trade_brokerage_record r
  11. WHERE r.user_id = u.id AND biz_type = 1 AND r.status = 1 AND r.deleted = FALSE) AS brokerageOrderCount,
  12. (SELECT COUNT(1) FROM trade_brokerage_user c
  13. WHERE c.bind_user_id = u.id AND c.deleted = FALSE) AS brokerageUserCount
  14. FROM member_user AS u
  15. JOIN trade_brokerage_user AS bu ON bu.id = u.id
  16. <where>
  17. <if test="param.nickname != null and param.nickname != ''">
  18. AND u.nickname LIKE concat('', #{param.nickname}, '')
  19. </if>
  20. <if test="param.level == 1">
  21. AND bu.bind_user_id = #{userId}
  22. </if>
  23. <if test="param.level == 2">
  24. AND bu.bind_user_id = (SELECT id FROM trade_brokerage_user c WHERE c.bind_user_id =
  25. #{userId})
  26. </if>
  27. </where>
  28. <choose>
  29. <when test="param.sortingField.field == 'userCount'">
  30. ORDER BY brokerageUserCount ${param.sortingField.order}
  31. </when>
  32. <when test="param.sortingField.field == 'orderCount'">
  33. ORDER BY brokerageOrderCount ${param.sortingField.order}
  34. </when>
  35. <when test="param.sortingField.field == 'price'">
  36. ORDER BY brokeragePrice ${param.sortingField.order}
  37. </when>
  38. <otherwise>
  39. ORDER BY bu.bind_user_time DESC
  40. </otherwise>
  41. </choose>
  42. </select>
  43. </mapper>