Files
neutrino-proxy/neutrino-proxy-server/src/main/resources/mapper/PortPoolMapper.xml
T

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>