shiyunteng
2 天以前 c6db287f6c987060d615fd7ef5126511e051d5c6
platformx-device-biz/src/main/resources/mapper/DeviceClassMapper.xml
@@ -18,4 +18,23 @@
        <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>