From cf99945deda3cba4b0e634abb100847f5cc2529b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 07 五月 2026 11:36:46 +0800
Subject: [PATCH] 优化共享客户以及列表查询
---
src/main/resources/mapper/basic/CustomerMapper.xml | 29 +++++++++++++++++++++++------
1 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/src/main/resources/mapper/basic/CustomerMapper.xml b/src/main/resources/mapper/basic/CustomerMapper.xml
index 1e7df5c..982f70f 100644
--- a/src/main/resources/mapper/basic/CustomerMapper.xml
+++ b/src/main/resources/mapper/basic/CustomerMapper.xml
@@ -6,7 +6,7 @@
<resultMap id="BaseResultMap" type="com.ruoyi.basic.pojo.Customer">
<id column="id" property="id" />
</resultMap>
- <select id="listPage" resultType="com.ruoyi.basic.dto.CustomerDto">
+ <select id="listPage" resultType="com.ruoyi.basic.vo.CustomerVo">
select
c.*,
u.user_name usage_user_name,
@@ -16,7 +16,13 @@
left join sys_user u2 on cu.user_id = u2.user_id
where cu.customer_id = c.id
and cu.user_id != c.usage_user
- ) as together_user_names
+ ) as together_user_names,
+ (
+ select group_concat(cu.user_id separator ',')
+ from customer_user cu
+ where cu.customer_id = c.id
+ and cu.user_id != c.usage_user
+ ) as user_ids_str
from customer c
left join sys_user u on c.usage_user = u.user_id
<where>
@@ -26,14 +32,25 @@
<if test="c.customerType != null and c.customerType != ''">
and customer_type = #{c.customerType}
</if>
- <!-- 绉佹捣鏌ヨ锛歵ype = 0锛堢娴峰鎴凤級鎴栬�� type = 1锛堝叕娴峰鎴凤級涓斿凡琚垎閰� -->
- <if test="c.type != null and c.type == 0">
- and type = #{c.type} or (type = 1 and is_assigned = 1)
- </if>
<!-- 鍏捣鏌ヨ锛歵ype = 1锛堝叕娴峰鎴凤級-->
<if test="c.type != null and c.type == 1">
and type = #{c.type}
</if>
+ <!-- 绉佹捣鏌ヨ锛歵ype = 0锛堢娴峰鎴凤級鎴栬�� type = 1锛堝叕娴峰鎴凤級涓斿凡琚垎閰嶏紝骞朵笖鏄嚜宸遍鐢ㄣ�佽嚜宸卞垱寤烘垨鑰呭叡浜粰鑷繁鐨勫鎴� -->
+ <if test="c.type != null and c.type == 0">
+ and (
+ (type = #{c.type} or (type = 1 and is_assigned = 1))
+ and (
+ c.usage_user = #{loginUserId}
+ or c.create_user = #{loginUserId}
+ or exists (
+ select 1 from customer_user cu
+ where cu.customer_id = c.id
+ and cu.user_id = #{loginUserId}
+ )
+ )
+ )
+ </if>
</where>
</select>
--
Gitblit v1.9.3