diff --git a/neutrino-proxy-admin/src/views/proxy/domain.vue b/neutrino-proxy-admin/src/views/proxy/domain.vue
index a5a273b2..4c775827 100644
--- a/neutrino-proxy-admin/src/views/proxy/domain.vue
+++ b/neutrino-proxy-admin/src/views/proxy/domain.vue
@@ -38,6 +38,11 @@
{{scope.row.updateTime | parseTime('{y}-{m}-{d} {h}:{i}')}}
+
+
+ {{scope.row.sslStatus | sslStatusName}}
+
+
{{scope.row.isDefault | httpStatusName}}
@@ -77,6 +82,12 @@
+
+
+
+
+
+
CACHE = Stream.of(HttpsStatusEnum.values()).collect(Collectors.toMap(HttpsStatusEnum::getStatus, Function.identity()));
private Integer status;
private String desc;
+
+ public static HttpsStatusEnum of(Integer status) {
+ return CACHE.get(status);
+ }
}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/SslStatusEnum.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/SslStatusEnum.java
new file mode 100644
index 00000000..4664a1e2
--- /dev/null
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/constant/SslStatusEnum.java
@@ -0,0 +1,25 @@
+package org.dromara.neutrinoproxy.server.constant;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.Map;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * 仅Https状态枚举
+ * @author Mirac
+ * @date 21/7/2024
+ */
+@Getter
+@AllArgsConstructor
+public enum SslStatusEnum {
+ UPLOADED(1, "已上传"),
+ NOT_UPLOADED(2, "未上传"),
+ CERTIFIED(3, "已认证");//预留,用于证书验证
+
+ private Integer status;
+ private String desc;
+}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainCreateReq.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainCreateReq.java
index a3d92884..fe30910d 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainCreateReq.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainCreateReq.java
@@ -26,4 +26,9 @@ public class DomainCreateReq {
* KeyStore密码
*/
private String keyStorePassword;
+
+ /**
+ * 强制Https
+ */
+ private Integer forceHttps;
}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainUpdateReq.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainUpdateReq.java
index 588c33b4..fdcd3775 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainUpdateReq.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/req/proxy/DomainUpdateReq.java
@@ -22,4 +22,9 @@ public class DomainUpdateReq {
* KeyStore密码
*/
private String keyStorePassword;
+
+ /**
+ * 强制Https
+ */
+ private Integer forceHttps;
}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/DomainListRes.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/DomainListRes.java
index 22947e07..12d5ecd5 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/DomainListRes.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/controller/res/proxy/DomainListRes.java
@@ -7,6 +7,7 @@ import lombok.experimental.Accessors;
import org.dromara.neutrinoproxy.server.constant.DefaultDomainStatusEnum;
import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
import org.dromara.neutrinoproxy.server.constant.HttpsStatusEnum;
+import org.dromara.neutrinoproxy.server.constant.SslStatusEnum;
import java.util.Date;
@@ -53,6 +54,12 @@ public class DomainListRes {
*/
private Integer enable;
+ /**
+ * SSLStatusEnum
+ * {@link SslStatusEnum}
+ */
+ private Integer sslStatus;
+
/**
* 创建时间
*/
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/DomainNameDO.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/DomainNameDO.java
index c01b153f..225430b2 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/DomainNameDO.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/dal/entity/DomainNameDO.java
@@ -28,10 +28,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;
-import org.dromara.neutrinoproxy.server.constant.DefaultDomainStatusEnum;
-import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
-import org.dromara.neutrinoproxy.server.constant.HttpsStatusEnum;
-import org.dromara.neutrinoproxy.server.constant.OnlineStatusEnum;
+import org.dromara.neutrinoproxy.server.constant.*;
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainListRes;
import org.dromara.neutrinoproxy.server.controller.res.proxy.PortMappingListRes;
@@ -101,6 +98,7 @@ public class DomainNameDO {
public DomainListRes toRes() {
DomainListRes res = new DomainListRes();
BeanUtil.copyProperties(this, res);
+ res.setSslStatus(this.getJks() == null ? SslStatusEnum.NOT_UPLOADED.getStatus() : SslStatusEnum.UPLOADED.getStatus());
return res;
}
}
diff --git a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java
index 8295359a..9e03448c 100644
--- a/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java
+++ b/neutrino-proxy-server/src/main/java/org/dromara/neutrinoproxy/server/service/DomainService.java
@@ -94,7 +94,7 @@ public class DomainService {
Date now = new Date();
domainNameDO.setDomain(req.getDomain());
domainNameDO.setIsDefault(DefaultDomainStatusEnum.DISABLE.getStatus());
- domainNameDO.setForceHttps(HttpsStatusEnum.DISABLE_ONLY_HTTPS.getStatus());
+ domainNameDO.setForceHttps(req.getForceHttps() != null ? HttpsStatusEnum.of(req.getForceHttps()).getStatus(): HttpsStatusEnum.DISABLE_ONLY_HTTPS.getStatus());
domainNameDO.setUserId(userId);
domainNameDO.setEnable(EnableStatusEnum.ENABLE.getStatus());
domainNameDO.setCreateTime(now);
@@ -132,6 +132,7 @@ public class DomainService {
}
updateWrapper.set(DomainNameDO::getDomain, req.getDomain());
updateWrapper.set(DomainNameDO::getUpdateTime, new Date());
+ updateWrapper.set(req.getForceHttps() != null, DomainNameDO::getForceHttps, req.getForceHttps());
int update = domainMapper.update(updateWrapper);
System.out.println(update);
}