Review代码修改

This commit is contained in:
owen
2023-09-29 22:47:04 +08:00
parent 26628913cb
commit 6b7f071988
8 changed files with 83 additions and 55 deletions

View File

@@ -4,37 +4,38 @@
<select id="selectSummaryPageByUserId"
resultType="cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.user.AppBrokerageUserChildSummaryRespVO">
SELECT bu.id, bu.bind_user_time AS brokerageTime, u.nickname, u.avatar,
<!-- TODO @疯狂biz_type、status 可以通过参数传入哇? -->
SELECT bu.id, bu.bind_user_time AS brokerageTime,
(SELECT SUM(price) FROM trade_brokerage_record r
WHERE r.user_id = u.id AND biz_type = 1 AND r.status = 1 AND r.deleted = FALSE) AS brokeragePrice,
WHERE r.user_id = bu.id AND biz_type = #{bizType} AND r.status = #{status} AND r.deleted = FALSE) AS brokeragePrice,
(SELECT COUNT(1) FROM trade_brokerage_record r
WHERE r.user_id = u.id AND biz_type = 1 AND r.status = 1 AND r.deleted = FALSE) AS brokerageOrderCount,
WHERE r.user_id = bu.id AND biz_type = #{bizType} AND r.status = #{status} AND r.deleted = FALSE) AS brokerageOrderCount,
(SELECT COUNT(1) FROM trade_brokerage_user c
WHERE c.bind_user_id = u.id AND c.deleted = FALSE) AS brokerageUserCount
FROM member_user AS u
JOIN trade_brokerage_user AS bu ON bu.id = u.id
<!-- TODO @疯狂1bind_user_id 是不是可以先改成内存查询出 userId 的集合,然后去 in 哈2nickname 是不是可以基于查询出来的 userId 对应的 nickname 在内存里过滤,主要是避免和 member_user 链表 -->
<where>
<if test="param.nickname != null and param.nickname != ''">
AND u.nickname LIKE concat('', #{param.nickname}, '')
WHERE c.bind_user_id = bu.id AND c.deleted = FALSE) AS brokerageUserCount
FROM trade_brokerage_user AS bu
<where>
bu.deleted = false
<if test="ids != null and ids.size() > 0">
and bu.id in
<foreach collection="ids" open="(" item="id" separator="," close=")">
#{id}
</foreach>
</if>
<if test="param.level == 1">
AND bu.bind_user_id = #{userId}
</if>
<if test="param.level == 2">
AND bu.bind_user_id IN (SELECT id FROM trade_brokerage_user c WHERE c.bind_user_id = #{userId})
<if test="bindUserIds != null and bindUserIds.size() > 0">
and bu.bind_user_id in
<foreach collection="bindUserIds" open="(" item="bindUserId" separator="," close=")">
#{bindUserId}
</foreach>
</if>
</where>
<choose>
<when test="param.sortingField.field == 'userCount'">
ORDER BY brokerageUserCount ${param.sortingField.order}
<when test="sortingField.field == 'userCount'">
ORDER BY brokerageUserCount ${sortingField.order}
</when>
<when test="param.sortingField.field == 'orderCount'">
ORDER BY brokerageOrderCount ${param.sortingField.order}
<when test="sortingField.field == 'orderCount'">
ORDER BY brokerageOrderCount ${sortingField.order}
</when>
<when test="param.sortingField.field == 'price'">
ORDER BY brokeragePrice ${param.sortingField.order}
<when test="sortingField.field == 'price'">
ORDER BY brokeragePrice ${sortingField.order}
</when>
<otherwise>
ORDER BY bu.bind_user_time DESC