From 5997dc8acfa81a6c867c28810d1c3c9714efc46c Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期六, 29 三月 2025 14:55:42 +0800 Subject: [PATCH] fix: 登录 --- src/main/resources/mapper/system/UserMapper.xml | 78 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 deletions(-) diff --git a/src/main/resources/mapper/system/UserMapper.xml b/src/main/resources/mapper/system/UserMapper.xml index d1e3d96..037278e 100644 --- a/src/main/resources/mapper/system/UserMapper.xml +++ b/src/main/resources/mapper/system/UserMapper.xml @@ -89,4 +89,82 @@ </foreach> </select> + + <select id="searchUserInfo" resultType="com.mzl.flower.dto.response.system.UserListInfoDTO"> + SELECT + user_id, + id, + name AS loginName, + contact_tel tel, + type + FROM ( + SELECT user_id, id, name, contact_tel, 'supplier' AS type + FROM t_supplier_info + WHERE user_id IN (SELECT id FROM t_user WHERE type = 'supplier') + + UNION ALL + + SELECT user_id, id, name, contact_tel, 'partner' AS type + FROM t_partner_info + WHERE user_id IN (SELECT id FROM t_user WHERE type = 'partner') + + UNION ALL + + SELECT c.user_id, c.id, c.name, u.tel AS contact_tel, 'customer' AS type + FROM t_customer_info c + JOIN t_user u ON c.user_id = u.id + WHERE c.user_id IN (SELECT id FROM t_user WHERE type = 'customer') + ) AS combined_table + <where> + <if test="condition.userType != null and condition.userType != ''"> + AND type = #{condition.userType} + </if> + <if test="condition.id != null and condition.id != ''"> + AND id = #{condition.id} + </if> + <if test="condition.loginName != null and condition.loginName != ''"> + AND name like concat('%', #{condition.loginName},'%') + </if> + <if test="condition.tel != null and condition.tel != ''"> + AND contact_tel like concat('%', #{condition.tel},'%') + </if> + </where> + ORDER BY user_id, id + </select> + + <select id="getSelectList" resultType="com.mzl.flower.dto.response.sms.SmsSelectVO"> + SELECT + user_id, + id, + name AS loginName, + contact_tel tel, + type + FROM ( + SELECT user_id, id, name, contact_tel, 'supplier' AS type + FROM t_supplier_info + WHERE user_id IN (SELECT id FROM t_user WHERE type = 'supplier') + + UNION ALL + + SELECT user_id, id, name, contact_tel, 'partner' AS type + FROM t_partner_info + WHERE user_id IN (SELECT id FROM t_user WHERE type = 'partner') + + UNION ALL + + SELECT c.user_id, c.id, c.name, u.tel AS contact_tel, 'customer' AS type + FROM t_customer_info c + JOIN t_user u ON c.user_id = u.id + WHERE c.user_id IN (SELECT id FROM t_user WHERE type = 'customer') + ) AS combined_table + <where> + 1=1 + <if test="idList != null and idList.size() > 0"> + AND user_id IN + <foreach collection="idList" item="id" open="(" separator="," close=")"> + #{id} + </foreach> + </if> + </where> + </select> </mapper> -- Gitblit v1.9.3