域名管理:更新域名状态&设置默认域名
This commit is contained in:
@@ -55,6 +55,8 @@
|
||||
</el-table-column>
|
||||
<el-table-column align="center" :label="$t('table.actions')" width="330" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="scope.row.isDefault !='1' && scope.row.enable == '1'" size="mini" type="primary" @click="handleDefaultStatus(scope.row)">{{$t('默认')}}</el-button>
|
||||
|
||||
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">{{$t('table.edit')}}</el-button>
|
||||
<el-button v-if="scope.row.enable =='1'" size="mini" type="danger" @click="handleModifyStatus(scope.row,2)">{{$t('table.disable')}}</el-button>
|
||||
<el-button v-if="scope.row.enable =='2'" size="mini" type="success" @click="handleModifyStatus(scope.row,1)">{{$t('table.enable')}}</el-button>
|
||||
@@ -115,7 +117,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { fetchList, updateEnableStatus, createDomain, updateDomain, deleteDomain } from '@/api/domain'
|
||||
import { fetchList, updateEnableStatus, createDomain, updateDomain, deleteDomain, updateDefaultStatus } from '@/api/domain'
|
||||
import { userList } from '@/api/user'
|
||||
import waves from '@/directive/waves' // 水波纹指令
|
||||
import { parseTime } from '@/utils'
|
||||
@@ -283,6 +285,19 @@
|
||||
this.listQuery.current = val
|
||||
this.getList()
|
||||
},
|
||||
handleDefaultStatus(row) {
|
||||
updateDefaultStatus(row.id, 1).then(response => {
|
||||
if (response.data.code === 0) {
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '操作成功',
|
||||
type: 'success'
|
||||
})
|
||||
this.getList()
|
||||
}
|
||||
this.getList()
|
||||
})
|
||||
},
|
||||
handleModifyStatus(row, enable) {
|
||||
console.log('route', this.$route)
|
||||
updateEnableStatus(row.id, enable).then(response => {
|
||||
|
||||
+33
-4
@@ -4,11 +4,10 @@ import cn.hutool.core.util.StrUtil;
|
||||
import org.dromara.neutrinoproxy.server.base.page.PageInfo;
|
||||
import org.dromara.neutrinoproxy.server.base.page.PageQuery;
|
||||
import org.dromara.neutrinoproxy.server.base.rest.Authorization;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.DomainCreateReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.DomainListReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.DomainUpdateReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.PortMappingCreateReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.*;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainListRes;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainUpdateDefaultStatusRes;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainUpdateEnableStatusRes;
|
||||
import org.dromara.neutrinoproxy.server.util.ParamCheckUtil;
|
||||
import org.noear.solon.annotation.*;
|
||||
import org.dromara.neutrinoproxy.server.service.DomainService;
|
||||
@@ -51,4 +50,34 @@ public class DomainController {
|
||||
ParamCheckUtil.checkNotEmpty(req.getDomain(), "domain");
|
||||
domainService.update(req, jks);
|
||||
}
|
||||
|
||||
@Post
|
||||
@Mapping(path = "/update/enable-status")
|
||||
@Authorization(onlyAdmin = true)
|
||||
public DomainUpdateEnableStatusRes updateEnableStatus(DomainUpdateEnableStatusReq req){
|
||||
ParamCheckUtil.checkNotNull(req, "req");
|
||||
ParamCheckUtil.checkNotNull(req.getId(), "id");
|
||||
ParamCheckUtil.checkNotNull(req.getEnable(), "enable");
|
||||
return domainService.updateEnableStatus(req);
|
||||
}
|
||||
|
||||
@Post
|
||||
@Mapping(path = "/delete")
|
||||
@Authorization(onlyAdmin = true)
|
||||
public void delete(DomainDeleteReq req) {
|
||||
ParamCheckUtil.checkNotNull(req, "req");
|
||||
ParamCheckUtil.checkNotNull(req.getId(), "id");
|
||||
|
||||
domainService.delete(req.getId());
|
||||
}
|
||||
|
||||
@Post
|
||||
@Mapping(path = "/update/default-status")
|
||||
@Authorization(onlyAdmin = true)
|
||||
public DomainUpdateDefaultStatusRes updateDefaultStatus(DomainUpdateDefaultStatusReq req){
|
||||
ParamCheckUtil.checkNotNull(req, "req");
|
||||
ParamCheckUtil.checkNotNull(req.getId(), "id");
|
||||
ParamCheckUtil.checkNotNull(req.getIsDefault(), "isDefault");
|
||||
return domainService.updateDefaultStatus(req.getId(), req.getIsDefault());
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package org.dromara.neutrinoproxy.server.controller.req.proxy;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Mirac
|
||||
* @date 23/7/2024
|
||||
*/
|
||||
@Data
|
||||
public class DomainDeleteReq {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Integer id;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package org.dromara.neutrinoproxy.server.controller.req.proxy;
|
||||
|
||||
import lombok.Data;
|
||||
import org.dromara.neutrinoproxy.server.constant.DefaultDomainStatusEnum;
|
||||
|
||||
/**
|
||||
* @author Mirac
|
||||
* @date 23/7/2024
|
||||
*/
|
||||
@Data
|
||||
public class DomainUpdateDefaultStatusReq {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 启用状态 {@link DefaultDomainStatusEnum}
|
||||
*/
|
||||
private Integer isDefault;
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package org.dromara.neutrinoproxy.server.controller.req.proxy;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Mirac
|
||||
* @date 23/7/2024
|
||||
*/
|
||||
@Data
|
||||
public class DomainUpdateEnableStatusReq {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 启用状态
|
||||
*/
|
||||
private Integer enable;
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package org.dromara.neutrinoproxy.server.controller.res.proxy;
|
||||
|
||||
/**
|
||||
* @author Mirac
|
||||
* @date 23/7/2024
|
||||
*/
|
||||
public class DomainUpdateDefaultStatusRes {
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package org.dromara.neutrinoproxy.server.controller.res.proxy;
|
||||
|
||||
/**
|
||||
* @author Mirac
|
||||
* @date 23/7/2024
|
||||
*/
|
||||
public class DomainUpdateEnableStatusRes {
|
||||
}
|
||||
+8
@@ -25,4 +25,12 @@ public interface DomainMapper extends BaseMapper<DomainNameDO> {
|
||||
.last("limit 1")
|
||||
);
|
||||
}
|
||||
|
||||
default void updateEnableStatus(Integer id, Integer enable, Date updateTime) {
|
||||
this.update(Wrappers.<DomainNameDO>lambdaUpdate()
|
||||
.eq(DomainNameDO::getId, id)
|
||||
.set(DomainNameDO::getEnable, enable)
|
||||
.set(DomainNameDO::getUpdateTime, updateTime)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
+39
-3
@@ -17,10 +17,10 @@ import org.dromara.neutrinoproxy.server.constant.DefaultDomainStatusEnum;
|
||||
import org.dromara.neutrinoproxy.server.constant.EnableStatusEnum;
|
||||
import org.dromara.neutrinoproxy.server.constant.ExceptionConstant;
|
||||
import org.dromara.neutrinoproxy.server.constant.HttpsStatusEnum;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.DomainCreateReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.DomainListReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.DomainUpdateReq;
|
||||
import org.dromara.neutrinoproxy.server.controller.req.proxy.*;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainListRes;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainUpdateDefaultStatusRes;
|
||||
import org.dromara.neutrinoproxy.server.controller.res.proxy.DomainUpdateEnableStatusRes;
|
||||
import org.dromara.neutrinoproxy.server.dal.DomainMapper;
|
||||
import org.dromara.neutrinoproxy.server.dal.UserMapper;
|
||||
import org.dromara.neutrinoproxy.server.dal.entity.DomainNameDO;
|
||||
@@ -116,6 +116,7 @@ public class DomainService {
|
||||
return buffer.toByteArray();
|
||||
}
|
||||
|
||||
//TODO 更新相关channel
|
||||
public void update(DomainUpdateReq req, UploadedFile jks) throws IOException {
|
||||
DomainNameDO domainNameCheck = domainMapper.checkRepeat(req.getDomain(), Sets.newHashSet(req.getId()));
|
||||
ParamCheckUtil.checkMustNull(domainNameCheck, ExceptionConstant.DOMAIN_NAME_CANNOT_REPEAT);
|
||||
@@ -134,4 +135,39 @@ public class DomainService {
|
||||
int update = domainMapper.update(updateWrapper);
|
||||
System.out.println(update);
|
||||
}
|
||||
|
||||
// TODO 更新对应的channel
|
||||
public DomainUpdateEnableStatusRes updateEnableStatus(DomainUpdateEnableStatusReq req) {
|
||||
if (Objects.equals(req.getEnable(), EnableStatusEnum.DISABLE.getStatus())) {
|
||||
//如果设置状态为禁用,则将默认域名设置为非默认域名
|
||||
updateDefaultStatus(req.getId(), DefaultDomainStatusEnum.DISABLE.getStatus());
|
||||
}
|
||||
domainMapper.updateEnableStatus(req.getId(), req.getEnable(), new Date());
|
||||
return new DomainUpdateEnableStatusRes();
|
||||
}
|
||||
|
||||
//TODO 处理VisitorChannel
|
||||
public void delete(Integer id) {
|
||||
domainMapper.deleteById(id);
|
||||
}
|
||||
|
||||
public DomainUpdateDefaultStatusRes updateDefaultStatus(Integer id, Integer isDefault) {
|
||||
if (Objects.equals(isDefault, DefaultDomainStatusEnum.ENABLE.getStatus())) {
|
||||
//如果设置状态为默认域名,则将之前的默认域名设置为非默认域名
|
||||
DomainNameDO oldDomainNameDO = domainMapper.selectOne(Wrappers.<DomainNameDO>lambdaQuery()
|
||||
.select(DomainNameDO::getId)
|
||||
.eq(DomainNameDO::getIsDefault, DefaultDomainStatusEnum.ENABLE.getStatus()));
|
||||
if (oldDomainNameDO != null) {
|
||||
oldDomainNameDO.setIsDefault(DefaultDomainStatusEnum.DISABLE.getStatus());
|
||||
domainMapper.updateById(oldDomainNameDO);
|
||||
}
|
||||
}
|
||||
|
||||
DomainNameDO domainNameDO = new DomainNameDO();
|
||||
domainNameDO.setId(id);
|
||||
domainNameDO.setIsDefault(isDefault);
|
||||
domainMapper.updateById(domainNameDO);
|
||||
|
||||
return new DomainUpdateDefaultStatusRes();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user