fix(mapper): 修复用户票券关联查询中的数据放大问题

- 修改 shop_order 表关联条件,从 order_no 改为 order_id + tenant_id 组合
- 添加 tenant_id 筛选避免跨租户数据污染
- 添加 deleted 字段过滤确保只关联未删除订单
- 将 pay_price 字段别名规范化为 camelCase 格式
This commit is contained in:
2026-02-05 10:15:03 +08:00
parent 195e90df5e
commit e4e10d46cc

View File

@@ -4,11 +4,12 @@
<!-- 关联查询sql -->
<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
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 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>
<if test="param.id != null">
AND a.id = #{param.id}