fix(mapper): 修复用户票券关联查询中的数据放大问题
- 修改 shop_order 表关联条件,从 order_no 改为 order_id + tenant_id 组合 - 添加 tenant_id 筛选避免跨租户数据污染 - 添加 deleted 字段过滤确保只关联未删除订单 - 将 pay_price 字段别名规范化为 camelCase 格式
This commit is contained in:
@@ -4,11 +4,12 @@
|
|||||||
|
|
||||||
<!-- 关联查询sql -->
|
<!-- 关联查询sql -->
|
||||||
<sql id="selectSql">
|
<sql id="selectSql">
|
||||||
SELECT a.*, u.nickname, u.avatar, u.phone, m.name AS templateName, o.pay_price
|
SELECT a.*, u.nickname, u.avatar, u.phone, m.name AS templateName, o.pay_price AS payPrice
|
||||||
FROM glt_user_ticket a
|
FROM glt_user_ticket a
|
||||||
LEFT JOIN gxwebsoft_core.sys_user u ON a.user_id = u.user_id
|
LEFT JOIN gxwebsoft_core.sys_user u ON a.user_id = u.user_id
|
||||||
LEFT JOIN glt_ticket_template m ON a.template_id = m.id
|
LEFT JOIN glt_ticket_template m ON a.template_id = m.id
|
||||||
LEFT JOIN shop_order o ON a.order_no = o.order_no
|
<!-- 使用 order_id + tenant_id 关联,避免 order_no 跨租户/重复导致 a.id 数据被 JOIN 放大 -->
|
||||||
|
LEFT JOIN shop_order o ON a.order_id = o.order_id AND a.tenant_id = o.tenant_id AND o.deleted = 0
|
||||||
<where>
|
<where>
|
||||||
<if test="param.id != null">
|
<if test="param.id != null">
|
||||||
AND a.id = #{param.id}
|
AND a.id = #{param.id}
|
||||||
|
|||||||
Reference in New Issue
Block a user