源站增加所属反向代理字段,以便于快速查找源站对应的反向代理

This commit is contained in:
刘祥超
2024-05-12 17:36:58 +08:00
parent c43e603172
commit b58fbc1a3d
4 changed files with 148 additions and 14 deletions

View File

@@ -540,10 +540,26 @@ func (this *OriginDAO) ComposeOriginConfig(tx *dbs.Tx, originId int64, dataMap *
// CheckUserOrigin 检查源站权限
func (this *OriginDAO) CheckUserOrigin(tx *dbs.Tx, userId int64, originId int64) error {
reverseProxyId, err := SharedReverseProxyDAO.FindReverseProxyContainsOriginId(tx, originId)
if originId <= 0 {
return ErrNotFound
}
// 快速查找
reverseProxyId, err := this.Query(tx).
Pk(originId).
Result(OriginField_ReverseProxyId).
FindInt64Col(0)
if err != nil {
return err
}
// 再次查找
if reverseProxyId <= 0 {
reverseProxyId, err = SharedReverseProxyDAO.FindReverseProxyContainsOriginId(tx, originId)
if err != nil {
return err
}
}
if reverseProxyId == 0 {
// 这里我们不允许源站没有被使用
return ErrNotFound
@@ -562,6 +578,18 @@ func (this *OriginDAO) ExistsOrigin(tx *dbs.Tx, originId int64) (bool, error) {
Exist()
}
// UpdateOriginReverseProxyId 设置源站所属反向代理ID
func (this *OriginDAO) UpdateOriginReverseProxyId(tx *dbs.Tx, originId int64, reverseProxyId int64) error {
if originId <= 0 || reverseProxyId <= 0 {
return nil
}
return this.Query(tx).
Pk(originId).
Set(OriginField_ReverseProxyId, reverseProxyId).
UpdateQuickly()
}
// NotifyUpdate 通知更新
func (this *OriginDAO) NotifyUpdate(tx *dbs.Tx, originId int64) error {
reverseProxyId, err := SharedReverseProxyDAO.FindReverseProxyContainsOriginId(tx, originId)