| | |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | </resultMap> |
| | | <select id="selectEndNode" resultType="java.lang.Long"> |
| | | SELECT parent.id |
| | | FROM ( |
| | | SELECT t1.* |
| | | FROM device_class t1 |
| | | WHERE FIND_IN_SET(t1.id, ( |
| | | SELECT GROUP_CONCAT(id) |
| | | FROM ( |
| | | SELECT id, IF(FIND_IN_SET(p_id, @pids) > 0, @pids := CONCAT(@pids, ',', id), 0) AS is_child |
| | | FROM device_class, (SELECT @pids := #{classId}) tmp |
| | | ORDER BY p_id |
| | | ) t |
| | | WHERE is_child != 0 |
| | | )) OR t1.id = #{classId} |
| | | ) parent |
| | | LEFT JOIN device_class child ON parent.id = child.p_id |
| | | WHERE child.id IS NULL; -- 验证是否为末端节点 |
| | | |
| | | </select> |
| | | </mapper> |