| | |
| | | |
| | | <!-- 查询权限组绑定用户列表 --> |
| | | <select id="queryUserPageList" resultType="com.xiaopeng.account.model.vo.GroupUserVO"> |
| | | SELECT DISTINCT |
| | | su.id, |
| | | su.nick_name AS nickName, |
| | | su.unique_number AS uniqueNumber, |
| | | su.user_account AS userAccount, |
| | | su.phone_number AS phoneNumber, |
| | | su.status, |
| | | su.remarks, |
| | | su.create_time AS createTime |
| | | FROM sys_user su |
| | | INNER JOIN sys_user_role sur ON su.id = sur.user_id |
| | | INNER JOIN sys_role sr ON sur.role_id = sr.id |
| | | LEFT JOIN sys_group sg ON sr.group_id = sg.id |
| | | WHERE sr.group_id = #{query.groupId} |
| | | AND sr.is_deleted = 0 |
| | | AND su.is_deleted = 0 |
| | | <if test="query.groupType != null"> |
| | | AND sg.group_type = #{query.groupType} |
| | | </if> |
| | | <if test="query.nickName != null and query.nickName != ''"> |
| | | AND su.nick_name LIKE CONCAT('%', #{query.nickName}, '%') |
| | | </if> |
| | | <if test="query.phoneNumber != null and query.phoneNumber != ''"> |
| | | AND su.phone_number LIKE CONCAT('%', #{query.phoneNumber}, '%') |
| | | </if> |
| | | ORDER BY su.create_time DESC |
| | | <choose> |
| | | <!-- groupType=1: 管理端用户 --> |
| | | <when test="query.groupType == 1"> |
| | | SELECT DISTINCT |
| | | su.id, |
| | | su.nick_name AS nickName, |
| | | su.unique_number AS uniqueNumber, |
| | | su.user_account AS userAccount, |
| | | su.phone_number AS phoneNumber, |
| | | su.status, |
| | | su.remarks, |
| | | su.create_time AS createTime, |
| | | sr.role_name AS roleName |
| | | FROM sys_user su |
| | | INNER JOIN sys_user_role sur ON su.id = sur.user_id |
| | | INNER JOIN sys_role sr ON sur.role_id = sr.id |
| | | WHERE sr.group_id = #{query.groupId} |
| | | AND sr.is_deleted = 0 |
| | | AND su.is_deleted = 0 |
| | | <if test="query.nickName != null and query.nickName != ''"> |
| | | AND su.nick_name LIKE CONCAT('%', #{query.nickName}, '%') |
| | | </if> |
| | | <if test="query.phoneNumber != null and query.phoneNumber != ''"> |
| | | AND su.phone_number LIKE CONCAT('%', #{query.phoneNumber}, '%') |
| | | </if> |
| | | ORDER BY su.create_time DESC |
| | | </when> |
| | | <!-- groupType=2: 运维用户 --> |
| | | <otherwise> |
| | | SELECT |
| | | ou.id, |
| | | ou.nick_name AS nickName, |
| | | ou.unique_number AS uniqueNumber, |
| | | ou.user_account AS userAccount, |
| | | ou.phone_number AS phoneNumber, |
| | | ou.status, |
| | | ou.remarks, |
| | | ou.create_time AS createTime, |
| | | GROUP_CONCAT(DISTINCT sr.role_name ORDER BY sr.role_name SEPARATOR ',') AS roleName |
| | | FROM xp_operations_user ou |
| | | INNER JOIN xp_operations_role xor ON ou.id = xor.operations_user_id |
| | | INNER JOIN sys_role sr ON xor.role_id = sr.id |
| | | WHERE sr.group_id = #{query.groupId} |
| | | AND sr.is_deleted = 0 |
| | | AND ou.is_deleted = 0 |
| | | <if test="query.nickName != null and query.nickName != ''"> |
| | | AND ou.nick_name LIKE CONCAT('%', #{query.nickName}, '%') |
| | | </if> |
| | | <if test="query.phoneNumber != null and query.phoneNumber != ''"> |
| | | AND ou.phone_number LIKE CONCAT('%', #{query.phoneNumber}, '%') |
| | | </if> |
| | | GROUP BY ou.id, ou.nick_name, ou.unique_number, ou.user_account, |
| | | ou.phone_number, ou.status, ou.remarks, ou.create_time |
| | | ORDER BY ou.create_time DESC |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | </mapper> |