更改端口映射查询域名相关接口
This commit is contained in:
-1
@@ -30,7 +30,6 @@ public class PortMappingController {
|
||||
@Mapping("/page")
|
||||
public PageInfo<PortMappingListRes> page(PageQuery pageQuery, PortMappingListReq req) {
|
||||
ParamCheckUtil.checkNotNull(pageQuery, "pageQuery");
|
||||
|
||||
return portMappingService.page(pageQuery, req);
|
||||
}
|
||||
|
||||
|
||||
+10
-4
@@ -21,11 +21,13 @@
|
||||
*/
|
||||
package org.dromara.neutrinoproxy.server.controller.res.proxy;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
|
||||
import org.dromara.neutrinoproxy.server.constant.OnlineStatusEnum;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 端口映射列表响应
|
||||
@@ -44,13 +46,17 @@ public class PortMappingListRes {
|
||||
*/
|
||||
private String protocal;
|
||||
/**
|
||||
* 子域名
|
||||
* 子域名集合
|
||||
*/
|
||||
private String subdomain;
|
||||
private List<String> subdomains;
|
||||
/**
|
||||
* 域名集合
|
||||
*/
|
||||
private List<String> domains;
|
||||
/**
|
||||
* 域名
|
||||
* 域名id集合
|
||||
*/
|
||||
private String domain;
|
||||
private List<Integer> domainIds;
|
||||
/**
|
||||
* license名称
|
||||
*/
|
||||
|
||||
+3
@@ -11,6 +11,7 @@ import org.dromara.neutrinoproxy.server.controller.req.proxy.PortMappingListReq;
|
||||
import org.dromara.neutrinoproxy.server.dal.entity.PortMappingDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.neutrinoproxy.server.service.bo.FullDomainNameBO;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -108,4 +109,6 @@ public interface PortMappingMapper extends BaseMapper<PortMappingDO> {
|
||||
}
|
||||
|
||||
List<PortMappingDO> selectPortMappingByCondition(IPage<PortMappingDO> page, @Param("req") PortMappingListReq req);
|
||||
|
||||
List<FullDomainNameBO> selectFullDomainNameListByIds(@Param("ids") Set<Integer> ids);
|
||||
}
|
||||
|
||||
+17
-2
@@ -40,6 +40,7 @@ import org.dromara.neutrinoproxy.server.dal.entity.PortMappingDO;
|
||||
import org.dromara.neutrinoproxy.server.dal.entity.PortPoolDO;
|
||||
import org.dromara.neutrinoproxy.server.dal.entity.UserDO;
|
||||
import org.dromara.neutrinoproxy.server.service.bo.FlowLimitBO;
|
||||
import org.dromara.neutrinoproxy.server.service.bo.FullDomainNameBO;
|
||||
import org.dromara.neutrinoproxy.server.util.ParamCheckUtil;
|
||||
import org.dromara.neutrinoproxy.server.util.ProxyUtil;
|
||||
import org.dromara.neutrinoproxy.server.util.StringUtil;
|
||||
@@ -118,7 +119,15 @@ public class PortMappingService implements LifecycleBean {
|
||||
Map<Integer, LicenseDO> licenseMap = licenseList.stream().collect(Collectors.toMap(LicenseDO::getId, Function.identity()));
|
||||
Map<Integer, UserDO> userMap = userList.stream().collect(Collectors.toMap(UserDO::getId, Function.identity()));
|
||||
|
||||
//域名相关
|
||||
Set<Integer> portMappingIds = respList.stream().map(PortMappingListRes::getId).collect(Collectors.toSet());
|
||||
List<FullDomainNameBO> fullDomainNameBOS = portMappingMapper.selectFullDomainNameListByIds(portMappingIds);
|
||||
Map<Integer, List<FullDomainNameBO>> fullDomainNameBOMap = fullDomainNameBOS.stream().collect(Collectors.groupingBy(FullDomainNameBO::getId));
|
||||
|
||||
respList.forEach(item -> {
|
||||
//TODO 删除subdomain字段
|
||||
item.setSubdomains(null);
|
||||
|
||||
LicenseDO license = licenseMap.get(item.getLicenseId());
|
||||
if (null == license) {
|
||||
return;
|
||||
@@ -130,8 +139,14 @@ public class PortMappingService implements LifecycleBean {
|
||||
return;
|
||||
}
|
||||
item.setUserName(user.getName());
|
||||
if (StrUtil.isNotBlank(proxyConfig.getServer().getTcp().getDomainName()) && StrUtil.isNotBlank(item.getSubdomain())) {
|
||||
item.setDomain(item.getSubdomain() + "." + proxyConfig.getServer().getTcp().getDomainName());
|
||||
List<FullDomainNameBO> bos = fullDomainNameBOMap.get(item.getId());
|
||||
if (CollectionUtil.isNotEmpty(bos)) {
|
||||
List<String> subdomains = bos.stream().map(FullDomainNameBO::getSubdomain).collect(Collectors.toList());
|
||||
List<String> domains = bos.stream().map(FullDomainNameBO::getDomain).collect(Collectors.toList());
|
||||
List<Integer> domainIds = bos.stream().map(FullDomainNameBO::getDomainId).collect(Collectors.toList());
|
||||
item.setSubdomains(subdomains);
|
||||
item.setDomains(domains);
|
||||
item.setDomainIds(domainIds);
|
||||
}
|
||||
if (NetworkProtocolEnum.HTTP.getDesc().equals(item.getProtocal())) {
|
||||
item.setProtocal("HTTP(S)");
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package org.dromara.neutrinoproxy.server.service.bo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.report.HomeDataView;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 完整域名
|
||||
* @author: mirac
|
||||
* @date: 2024/8/8
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class FullDomainNameBO {
|
||||
/**
|
||||
* 端口映射id
|
||||
*/
|
||||
private Integer id;
|
||||
/**
|
||||
* 子域名
|
||||
*/
|
||||
private String subdomain;
|
||||
/**
|
||||
* 域名
|
||||
*/
|
||||
private String domain;
|
||||
|
||||
/**
|
||||
* 域名id
|
||||
*/
|
||||
private Integer domainId;
|
||||
}
|
||||
@@ -29,4 +29,16 @@
|
||||
</where>
|
||||
order by pm.id asc
|
||||
</select>
|
||||
|
||||
<select id="selectFullDomainNameListByIds" resultType="org.dromara.neutrinoproxy.server.service.bo.FullDomainNameBO"
|
||||
parameterType="java.util.Set">
|
||||
SELECT pm.id AS id, dpm.subdomain as subdomain, dn.domain AS domain, dn.id as domainId
|
||||
FROM domain_port_mapping dpm
|
||||
LEFT JOIN port_mapping pm ON pm.id = dpm.port_mapping_id
|
||||
LEFT JOIN domain_name dn ON dn.id = dpm.domain_name_id
|
||||
WHERE pm.id IN
|
||||
<foreach item="item" index="index" collection="ids" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user