Преглед изворни кода

refactor(internal): 修改删除主机限制的逻辑

- 在 global_limit表中添加一个状态字段,用于标记主机的状态
- 修改 DeleteGlobalLimitByHostId 方法,改为更新主机状态为 0
- 新增 EditHostState 方法,用于更新主机状态
fusu пре 1 месец
родитељ
комит
1641d16838
2 измењених фајлова са 10 додато и 1 уклоњено
  1. 9 0
      internal/repository/globallimit.go
  2. 1 1
      internal/service/globallimit.go

+ 9 - 0
internal/repository/globallimit.go

@@ -25,6 +25,8 @@ type GlobalLimitRepository interface {
 	GetNodeId(ctx context.Context, cndWebId int) (int64, error)
 	// 获取套餐Id
 	GetNodeArea(ctx context.Context, nodeAreaName string) (int64, error)
+	// 修改套餐状态
+	EditHostState(ctx context.Context, hostId int64, state int) error
 }
 
 func NewGlobalLimitRepository(
@@ -167,4 +169,11 @@ func (r *globalLimitRepository) GetNodeArea(ctx context.Context, nodeAreaName st
 	}
 	return nodeId, nil
 
+}
+
+func (r *globalLimitRepository) EditHostState(ctx context.Context, hostId int64, state int) error {
+	if err := r.DB(ctx).Where("host_id = ?", hostId).Update("state", state).Error; err != nil {
+		return err
+	}
+	return nil
 }

+ 1 - 1
internal/service/globallimit.go

@@ -483,7 +483,7 @@ func (s *globalLimitService) DeleteGlobalLimit(ctx context.Context, req v1.Globa
 
 
 
-	if err := s.globalLimitRepository.DeleteGlobalLimitByHostId(ctx, int64(req.HostId)); err != nil {
+	if err := s.globalLimitRepository.EditHostState(ctx, int64(req.HostId), 0); err != nil {
 		return err
 	}
 	if err := s.gateWayGroupRep.EditGatewayGroup(ctx,&model.GatewayGroup{