mobilebroken/nflg-mobilebroken-repository/src/main/resources/mapper/AppUserMapper.xml

50 lines
3.0 KiB
XML
Raw Normal View History

2025-01-19 11:30:15 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.mobilebroken.repository.mapper.AppUserMapper">
<select id="search" resultType="com.nflg.mobilebroken.common.pojo.vo.AppUserVO">
2025-02-07 21:07:54 +08:00
SELECT u.id,c.agency_company_name AS 'companyName',u.`name`,u.email,u.avatar,a.`name` AS 'areaName',u.`enable`,uc.`name` AS 'createBy',u.create_time AS 'createTime',uu.`name` AS 'updateBy',u.update_time AS 'updateTime',u.last_login_time AS 'lastLoginTime',u.expire_time AS 'expireTime',u.is_primary AS 'isPrimary',IF(u.expire_time>now(),1,2) AS 'state'
2025-01-19 11:30:15 +08:00
FROM app_user u
2025-01-27 22:34:35 +08:00
INNER JOIN t_base_customer c ON u.company_id=c.id
2025-01-19 11:30:15 +08:00
INNER JOIN app_area a ON u.area_id=a.id
2025-01-27 22:34:35 +08:00
LEFT JOIN app_user uc ON u.create_by=uc.id
2025-01-19 11:30:15 +08:00
LEFT JOIN app_user uu ON u.update_by=uu.id
2025-02-07 20:44:10 +08:00
WHERE u.is_primary=false AND u.company_id IN
<foreach collection="request.companyIds" item="companyId" open="(" separator="," close=")">
#{companyId}
</foreach>
2025-01-19 11:30:15 +08:00
<where>
<if test="request.enabled != null">
AND u.enabled = #{request.enabled}
</if>
<if test="request.key != null and request.key != ''">
AND
(
u.name LIKE concat('%', #{request.key}, '%')
OR u.email LIKE concat('%', #{request.key}, '%')
or u.phone LIKE concat('%', #{request.key}, '%')
)
</if>
</where>
2025-02-07 21:07:54 +08:00
UNION
SELECT u.id,c.agency_company_name AS 'companyName',u.user_name AS 'name',u.user_email AS 'email',u.user_avatar AS 'avatar',a.`name` AS 'areaName',false AS `enable`,uc.`name` AS 'createBy',u.create_time AS 'createTime',null AS 'updateBy',null AS 'updateTime',null AS 'lastLoginTime',null AS 'expireTime',false AS 'isPrimary',0 AS 'state'
FROM app_user_applyfor u
INNER JOIN t_base_customer c ON u.company_id=c.id
INNER JOIN app_area a ON u.area_id=a.id
LEFT JOIN app_user uc ON u.create_by=uc.id
WHERE u.company_id IN
<foreach collection="request.companyIds" item="companyId" open="(" separator="," close=")">
#{companyId}
</foreach>
2025-01-19 11:30:15 +08:00
</select>
<select id="getInfo" resultType="com.nflg.mobilebroken.common.pojo.vo.AppUserVO">
2025-01-27 22:34:35 +08:00
SELECT u.id,c.agency_company_name AS 'companyName',u.`name`,u.email,u.avatar,a.`name` AS 'areaName',u.`enable`,uc.`name` AS 'createBy',u.create_time AS 'createTime',uu.`name` AS 'updateBy',u.update_time AS 'updateTime',u.last_login_time AS 'lastLoginTime',u.expire_time AS 'expireTime',u.is_primary AS 'isPrimary'
2025-01-19 11:30:15 +08:00
FROM app_user u
2025-01-27 22:34:35 +08:00
INNER JOIN t_base_customer c ON u.company_id=c.id
2025-01-19 11:30:15 +08:00
INNER JOIN app_area a ON u.area_id=a.id
2025-01-27 22:34:35 +08:00
LEFT JOIN app_user uc ON u.create_by=uc.id
2025-01-19 11:30:15 +08:00
LEFT JOIN app_user uu ON u.update_by=uu.id
WHERE u.id = #{userId}
</select>
</mapper>