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.
109 lines
3.7 KiB
109 lines
3.7 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.model2d3d.viewer.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 = #{email} OR buser.email = #{loginName} OR buser.email = #{email})
|
|
<if test="userId != null">
|
|
AND buser.id != #{userId}
|
|
</if>
|
|
</select>
|
|
|
|
|
|
<select id="getListPage" resultType="com.model2d3d.viewer.back.vo.user.UserPageDTO">
|
|
SELECT
|
|
bcom.id companyId,
|
|
bcom.company_name companyName,
|
|
buser.id userId,
|
|
buser.role,
|
|
buser.username username,
|
|
buser.login_name loginName,
|
|
buser.email,
|
|
buser.mobile_number mobileNumber,
|
|
buser.create_time createTime,
|
|
ubrelation.buildingIds,
|
|
ubrelation.buildingNames
|
|
FROM
|
|
basic_user buser
|
|
INNER JOIN basic_company bcom ON buser.company_id = bcom.id
|
|
LEFT JOIN
|
|
(
|
|
SELECT
|
|
user_building_relation.user_id,
|
|
GROUP_CONCAT(user_building_relation.building_id SEPARATOR ',') AS buildingIds,
|
|
GROUP_CONCAT(basic_building.name SEPARATOR ',') AS buildingNames
|
|
FROM
|
|
user_building_relation
|
|
INNER JOIN basic_building ON basic_building.building_id = user_building_relation.building_id
|
|
WHERE basic_building.flag != 1
|
|
GROUP BY
|
|
user_building_relation.user_id
|
|
) ubrelation ON buser.id = ubrelation.user_id
|
|
WHERE
|
|
buser.flag != 1 AND buser.company_id IN <foreach collection="params.companyIdList" item="item" open="(" separator="," close=")">#{item}</foreach>
|
|
<if test="params.userId != null">
|
|
AND buser.id != #{params.userId}
|
|
</if>
|
|
<if test="params.keyword != null and params.keyword !=''">
|
|
AND (
|
|
buser.username LIKE CONCAT('%',#{params.keyword},'%')
|
|
OR
|
|
buser.email LIKE CONCAT('%',#{params.keyword},'%')
|
|
)
|
|
</if>
|
|
ORDER BY buser.create_time DESC, buser.id DESC
|
|
</select>
|
|
|
|
|
|
<select id="getMenuIdsByUserId" resultType="java.lang.String">
|
|
SELECT
|
|
GROUP_CONCAT(bmenu.id)
|
|
FROM
|
|
<choose>
|
|
<when test='userId != null and "1".equals(userId)'>
|
|
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.model2d3d.viewer.back.vo.user.UserInfoVO">
|
|
SELECT
|
|
buser.id,
|
|
buser.company_id,
|
|
buser.username,
|
|
buser.login_name,
|
|
buser.role,
|
|
buser.`password`,
|
|
buser.salt,
|
|
buser.email,
|
|
buser.mobile_number,
|
|
buser.last_login_time,
|
|
buser.flag,
|
|
buser.expire_time,
|
|
buser.create_time,
|
|
buser.creator_id,
|
|
buser.modify_time,
|
|
buser.modifier_id,
|
|
bcom.parent_id parentCompanyId
|
|
FROM
|
|
basic_user buser
|
|
inner join basic_company bcom on bcom.id = buser.company_id
|
|
WHERE buser.flag != 1 and bcom.flag != 1 and (buser.login_name = #{loginname} OR buser.email = #{loginname})
|
|
</select>
|
|
|
|
</mapper>
|