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.

96 lines
3.3 KiB

3 months ago
<?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.username username,
buser.login_name loginName,
buser.email,
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 brole.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 userId == 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.model2d3d.viewer.back.vo.user.UserInfoVO">
SELECT
buser.id,
buser.company_id,
buser.username,
buser.login_name,
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})
3 months ago
</select>
</mapper>