38 lines
1.3 KiB
XML
38 lines
1.3 KiB
XML
<?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="org.dromara.neutrinoproxy.server.dal.PortPoolMapper">
|
|
|
|
<select id="selectResList" resultType="org.dromara.neutrinoproxy.server.controller.res.system.PortPoolListRes">
|
|
SELECT p.*,
|
|
g.possessor_type,
|
|
g.`name` group_name
|
|
FROM port_pool p
|
|
LEFT JOIN port_group g ON p.group_id = g.id
|
|
<where>
|
|
<if test="req.groupId != null">
|
|
AND p.group_id = #{req.groupId}
|
|
</if>
|
|
</where>
|
|
ORDER BY p.id
|
|
</select>
|
|
|
|
<select id="getAvailablePortList" resultType="org.dromara.neutrinoproxy.server.controller.res.system.PortPoolListRes">
|
|
SELECT
|
|
*
|
|
FROM
|
|
port_pool
|
|
WHERE
|
|
`port` NOT IN ( SELECT server_port FROM port_mapping )
|
|
AND group_id IN (
|
|
SELECT
|
|
id
|
|
FROM
|
|
port_group
|
|
WHERE
|
|
possessor_type = 0
|
|
OR ( possessor_type = 1 AND possessor_id = #{userId,jdbcType=INTEGER} )
|
|
OR ( possessor_type = 2 AND possessor_id = #{licenseId,jdbcType=INTEGER} )
|
|
)
|
|
</select>
|
|
</mapper>
|