改变状态前先判断存在

This commit is contained in:
csznet
2024-03-14 18:51:46 +08:00
parent 171fb5194b
commit d3aa39307b
2 changed files with 6 additions and 5 deletions

View File

@@ -96,7 +96,7 @@ func GetForward(id int) conf.ConnectionStats {
}
// 判断指定端口转发是否可添加
func freeForward(localPort, protocol string) bool {
func FreeForward(localPort, protocol string) bool {
var get conf.ConnectionStats
res := db.Model(&conf.ConnectionStats{}).Where("local_port = ?", localPort).Find(&get)
if res.Error == nil {
@@ -125,7 +125,7 @@ func AddForward(newForward conf.ConnectionStats) int {
if newForward.Protocol != "udp" {
newForward.Protocol = "tcp"
}
if !freeForward(newForward.LocalPort, newForward.Protocol) {
if !FreeForward(newForward.LocalPort, newForward.Protocol) {
return 0
}
//开启事务

View File

@@ -1,7 +1,6 @@
package utils
import (
"fmt"
"sync"
"csz.net/goForward/conf"
@@ -11,8 +10,7 @@ import (
// 增加转发并开启
func AddForward(newF conf.ConnectionStats) bool {
fmt.Print(newF)
if newF.LocalPort == conf.WebPort {
if newF.LocalPort == conf.WebPort && newF.Protocol == "tcp" {
return false
}
id := sql.AddForward(newF)
@@ -45,6 +43,9 @@ func DelForward(f conf.ConnectionStats) bool {
// 改变转发状态
func ExStatus(f conf.ConnectionStats) bool {
if sql.FreeForward(f.LocalPort, f.Protocol) {
return false
}
if sql.UpdateForwardStatus(f.Id, f.Status) {
// 启用转发
if f.Status == 0 {