You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.9 KiB
118 lines
3.9 KiB
<?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.dongjian.dashboard.back.dao.ex.BasicUserMapperExt">
|
|
|
|
<select id="checkExist" resultType="java.lang.Long">
|
|
SELECT
|
|
COUNT(1)
|
|
FROM
|
|
basic_user buser
|
|
WHERE
|
|
buser.flag != 1 AND (buser.login_name = #{loginName})
|
|
<if test="userId != null">
|
|
AND buser.id != #{userId}
|
|
</if>
|
|
</select>
|
|
|
|
|
|
<select id="getListPage" resultType="com.dongjian.dashboard.back.vo.user.UserPageDTO">
|
|
SELECT
|
|
bcom.id companyId,
|
|
bcom.company_name companyName,
|
|
buser.id userId,
|
|
buser.user_type userType,
|
|
buser.username username,
|
|
buser.login_name loginName,
|
|
buser.email,
|
|
buser.last_name,
|
|
buser.first_name,
|
|
buser.mfa_bind,
|
|
buser.mobile_number mobileNumber,
|
|
buser.create_time createTime,
|
|
any_value(brole.id) roleId,
|
|
any_value(brole.role_name) roleName
|
|
FROM
|
|
basic_user buser
|
|
INNER JOIN basic_company bcom ON buser.company_id = bcom.id
|
|
INNER JOIN basic_role_user_relation brur ON brur.user_id = buser.id
|
|
INNER JOIN basic_role brole ON brur.role_id = brole.id
|
|
WHERE
|
|
buser.flag != 1 AND buser.create_platform = 1 AND brole.flag != 1 AND buser.company_id IN <foreach collection="companyIdList" item="item" open="(" separator="," close=")">#{item}</foreach>
|
|
<if test="userId != null">
|
|
AND buser.id != #{userId}
|
|
</if>
|
|
<if test="userType != null">
|
|
AND buser.user_type = #{userType}
|
|
</if>
|
|
<if test="keyword != null and keyword !=''">
|
|
AND (
|
|
buser.username LIKE CONCAT('%',#{keyword},'%')
|
|
OR
|
|
buser.email LIKE CONCAT('%',#{keyword},'%')
|
|
)
|
|
</if>
|
|
</select>
|
|
|
|
|
|
<select id="getMenuIdsByUserId" resultType="java.lang.String">
|
|
SELECT
|
|
GROUP_CONCAT(bmenu.id)
|
|
FROM
|
|
<choose>
|
|
<when test="superRole != null and superRole == 1">
|
|
basic_menu bmenu WHERE bmenu.flag != 1
|
|
</when>
|
|
<otherwise>
|
|
basic_role_user_relation brur
|
|
INNER JOIN basic_role brole ON brole.id = brur.role_id
|
|
INNER JOIN basic_role_menu_relation brmr ON brur.role_id = brmr.role_id
|
|
INNER JOIN basic_menu bmenu ON bmenu.id = brmr.menu_id
|
|
WHERE
|
|
brole.flag != 1 AND bmenu.flag != 1 AND brur.user_id = #{userId}
|
|
</otherwise>
|
|
</choose>
|
|
|
|
</select>
|
|
|
|
|
|
<select id="getAccountInfo" resultType="com.dongjian.dashboard.back.vo.user.UserInfoVO">
|
|
SELECT
|
|
buser.id,
|
|
buser.user_type,
|
|
buser.company_id,
|
|
buser.username,
|
|
buser.login_name,
|
|
buser.`password`,
|
|
buser.salt,
|
|
buser.email,
|
|
buser.mobile_number,
|
|
buser.mfa_secret,
|
|
buser.mfa_bind,
|
|
buser.last_login_time,
|
|
buser.flag,
|
|
buser.expire_time,
|
|
buser.create_time,
|
|
buser.creator_id,
|
|
buser.modify_time,
|
|
buser.modifier_id,
|
|
buser.super_role,
|
|
bcom.lock_switch,
|
|
bcom.parent_id parentCompanyId
|
|
FROM
|
|
basic_user buser
|
|
inner join basic_company bcom on bcom.id = buser.company_id
|
|
WHERE buser.flag != 1 and buser.user_type = 1 and bcom.flag != 1 and (login_name = #{loginname})
|
|
</select>
|
|
|
|
|
|
<select id="checkBuildingManager" resultType="java.lang.Integer">
|
|
SELECT
|
|
count(1)
|
|
FROM
|
|
data_center_aeon_admin.basic_role_user_relation rru
|
|
INNER JOIN data_center_aeon_admin.basic_role br ON br.id = rru.role_id
|
|
INNER JOIN data_center_aeon_admin.basic_role_menu_relation rmr ON br.id = rmr.role_id
|
|
WHERE rmr.menu_id = 52 AND br.flag != 1 AND rru.user_id = #{userId}
|
|
</select>
|
|
|
|
</mapper>
|