Files
qingcheng-houduan/src/main/resources/mapper/UserInfoMapper.xml

51 lines
2.1 KiB
XML
Raw Normal View History

2025-04-24 11:49:59 +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.greenorange.promotion.mapper.UserInfoMapper">
<resultMap id="BaseResultMap" type="com.greenorange.promotion.model.entity.UserInfo">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="nickName" column="nickName" jdbcType="VARCHAR"/>
<result property="userAvatar" column="userAvatar" jdbcType="VARCHAR"/>
<result property="phoneNumber" column="phoneNumber" jdbcType="VARCHAR"/>
<result property="userPassword" column="userPassword" jdbcType="VARCHAR"/>
<result property="invitationCode" column="invitationCode" jdbcType="VARCHAR"/>
<result property="userRole" column="userRole" jdbcType="OTHER"/>
<result property="parentUserId" column="parentUserId" jdbcType="BIGINT"/>
<result property="superUserList" column="superUserList" jdbcType="VARCHAR"/>
<result property="isDelete" column="isDelete" jdbcType="TINYINT"/>
<result property="createTime" column="createTime" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="updateTime" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,nickName,userAvatar,
phoneNumber,userPassword,invitationCode,
userRole,parentUserId,superUserList,
isDelete,createTime,updateTime
</sql>
2025-05-14 10:40:17 +08:00
<!-- 查询从 userId 一路到根节点的所有 id按 depth 倒序(根先出)-->
<select id="findPathToRoot" resultType="java.lang.Long">
WITH RECURSIVE user_path AS (
SELECT id, parentUserId, 1 AS depth
FROM user_info
WHERE id = #{userId}
UNION ALL
SELECT u.id, u.parentUserId, up.depth + 1
FROM user_info u
JOIN user_path up ON u.id = up.parentUserId
WHERE up.depth &lt; 50000
)
SELECT id
FROM user_path
ORDER BY depth DESC
</select>
2025-04-24 11:49:59 +08:00
</mapper>