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-24 10:55:06 +08:00
|
|
|
SELECT u.id,c.agency_company_name AS 'companyName',u.`name`,u.email,u.avatar,a.`name` AS 'areaName',u.`state` AS 'userState'
|
|
|
|
|
,u.create_by AS 'createBy',u.create_time AS 'createTime',u.update_by 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-02-22 23:15:54 +08:00
|
|
|
WHERE u.is_del=0 AND u.is_primary=false AND u.company_id IN
|
2025-02-07 20:44:10 +08:00
|
|
|
<foreach collection="request.companyIds" item="companyId" open="(" separator="," close=")">
|
|
|
|
|
#{companyId}
|
|
|
|
|
</foreach>
|
2025-01-19 11:30:15 +08:00
|
|
|
<where>
|
2025-02-12 13:02:48 +08:00
|
|
|
<if test="request.state != null">
|
|
|
|
|
AND u.state = #{request.state}
|
2025-01-19 11:30:15 +08:00
|
|
|
</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
|
2025-02-24 10:55:06 +08:00
|
|
|
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',0 AS 'userState',u.create_by AS 'createBy',u.create_time AS 'createTime',u.update_by AS 'updateBy'
|
|
|
|
|
,u.update_time AS 'updateTime',null AS 'lastLoginTime',null AS 'expireTime',false AS 'isPrimary',0 AS 'state'
|
2025-02-07 21:07:54 +08:00
|
|
|
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
|
|
|
|
|
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-02-19 19:13:45 +08:00
|
|
|
SELECT u.id,u.area_id AS 'areaId',c.agency_company_name AS 'companyName',u.`name`,u.email,u.avatar
|
2025-02-24 10:55:06 +08:00
|
|
|
,IF(u.is_primary,a1.area_name,a2.`name`) AS 'areaName',u.state AS 'userState',u.create_by AS 'createBy'
|
|
|
|
|
,u.create_time AS 'createTime',u.update_by AS 'updateBy',u.update_time AS 'updateTime'
|
2025-02-19 19:13:45 +08:00
|
|
|
,u.last_login_time AS 'lastLoginTime',u.expire_time AS 'expireTime',u.is_primary AS 'isPrimary'
|
|
|
|
|
,u.login_name AS 'loginName',u.phone
|
2025-01-19 11:30:15 +08:00
|
|
|
FROM app_user u
|
2025-02-19 19:13:45 +08:00
|
|
|
INNER JOIN t_base_customer c ON u.company_id = c.id
|
|
|
|
|
LEFT JOIN t_base_area a1 ON u.area_id = a1.id
|
|
|
|
|
LEFT JOIN app_area a2 ON u.area_id = a2.id
|
2025-01-19 11:30:15 +08:00
|
|
|
WHERE u.id = #{userId}
|
|
|
|
|
</select>
|
2025-02-08 18:26:09 +08:00
|
|
|
|
|
|
|
|
<select id="searchByCompany" parameterType="com.nflg.mobilebroken.common.pojo.request.UserSearchRequest" resultType="com.nflg.mobilebroken.common.pojo.vo.AppUserVO">
|
2025-02-16 18:53:55 +08:00
|
|
|
SELECT u.id,u.phone,u.state AS 'userState',u.title_id AS 'titleId',u.area_id AS 'areaId',u.company_id AS 'companyId'
|
|
|
|
|
,p.position_name AS 'title',u.expire_time AS 'expireTime',c.agency_company_name AS 'companyName',u.login_name AS 'loginName'
|
2025-02-24 10:55:06 +08:00
|
|
|
,u.`name`,u.email,u.avatar,a.`name` AS 'areaName',u.create_by AS 'createBy',u.create_time AS 'createTime',u.update_by AS 'updateBy'
|
2025-02-16 18:53:55 +08:00
|
|
|
,u.update_time AS 'updateTime',u.last_login_time AS 'lastLoginTime',u.expire_time AS 'expireTime',u.is_primary AS 'isPrimary'
|
2025-02-16 21:06:08 +08:00
|
|
|
,IF(u.expire_time>now(),1,2) AS 'state',u.language_code AS 'languageCode'
|
2025-02-08 18:26:09 +08:00
|
|
|
FROM app_user u
|
|
|
|
|
INNER JOIN t_base_customer c ON u.company_id=c.id
|
|
|
|
|
INNER JOIN app_area a ON u.area_id=a.id
|
2025-02-09 17:10:44 +08:00
|
|
|
LEFT JOIN t_base_position p ON u.title_id=p.id
|
2025-02-22 23:15:54 +08:00
|
|
|
WHERE u.is_del=0 AND u.is_primary=false AND u.company_id=#{companyId}
|
2025-02-14 17:00:34 +08:00
|
|
|
<if test="state != null">
|
|
|
|
|
AND u.state = #{state}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="key != null and key != ''">
|
|
|
|
|
AND
|
|
|
|
|
(
|
|
|
|
|
u.login_name LIKE concat('%', #{key}, '%')
|
|
|
|
|
OR u.email LIKE concat('%', #{key}, '%')
|
|
|
|
|
or u.name LIKE concat('%', #{key}, '%')
|
|
|
|
|
)
|
|
|
|
|
</if>
|
2025-02-08 18:26:09 +08:00
|
|
|
UNION
|
2025-02-16 21:06:08 +08:00
|
|
|
SELECT u.id,u.user_phone AS 'phone',0 AS 'userState',u.title_id AS 'titleId',u.area_id AS 'areaId',u.company_id AS 'companyId'
|
|
|
|
|
,p.position_name AS 'title',null AS 'expireTime',c.agency_company_name AS 'companyName',u.user_email AS 'loginName'
|
2025-02-24 10:55:06 +08:00
|
|
|
,u.user_name AS 'name',u.user_email AS 'email',u.user_avatar AS 'avatar',a.`name` AS 'areaName',u.create_by AS 'createBy'
|
|
|
|
|
,u.create_time AS 'createTime',u.update_by AS 'updateBy',null AS 'updateTime',null AS 'lastLoginTime',null AS 'expireTime'
|
2025-02-16 21:06:08 +08:00
|
|
|
,false AS 'isPrimary',0 AS 'state',u.language_code AS 'languageCode'
|
2025-02-08 18:26:09 +08:00
|
|
|
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
|
2025-02-09 17:10:44 +08:00
|
|
|
LEFT JOIN t_base_position p ON u.title_id=p.id
|
2025-02-17 01:10:26 +08:00
|
|
|
WHERE u.state=0 AND u.company_id=#{companyId}
|
2025-02-14 17:00:34 +08:00
|
|
|
<if test="state > 0">
|
|
|
|
|
AND 1=2
|
|
|
|
|
</if>
|
|
|
|
|
<if test="key != null and key != ''">
|
|
|
|
|
AND
|
|
|
|
|
(
|
|
|
|
|
u.user_email LIKE concat('%', #{key}, '%')
|
|
|
|
|
OR u.user_name LIKE concat('%', #{key}, '%')
|
|
|
|
|
)
|
|
|
|
|
</if>
|
2025-02-08 18:26:09 +08:00
|
|
|
</select>
|
2025-01-19 11:30:15 +08:00
|
|
|
</mapper>
|