package controller import ( "context" "cid/model/dto" "cid/service" "github.com/gogf/gf/v2/errors/gerror" ) var Strategy = new(strategy) type strategy struct{} // Create 创建策略 func (c *strategy) Create(ctx context.Context, req *dto.CreateStrategyReq) (res *dto.StrategyRes, err error) { id, err := service.Strategy.CreateStrategy(ctx, req) if err != nil { return nil, err } strategy, err := service.Strategy.GetStrategyByID(ctx, id) if err != nil { return nil, err } return strategy, nil } // Update 更新策略 func (c *strategy) Update(ctx context.Context, req *dto.UpdateStrategyReq) (res *dto.StrategyRes, err error) { affected, err := service.Strategy.UpdateStrategy(ctx, req) if err != nil { return nil, err } if affected == 0 { return nil, gerror.New("策略更新失败") } strategy, err := service.Strategy.GetStrategyByID(ctx, req.Id) if err != nil { return nil, err } return strategy, nil } // Delete 删除策略 func (c *strategy) Delete(ctx context.Context, req *dto.DeleteStrategyReq) (res *dto.DeleteStrategyRes, err error) { affected, err := service.Strategy.DeleteStrategy(ctx, req.Id) if err != nil { return nil, err } if affected == 0 { return nil, gerror.New("策略删除失败") } return &dto.DeleteStrategyRes{ Success: true, }, nil } // GetByID 根据ID获取策略 func (c *strategy) GetByID(ctx context.Context, req *dto.GetStrategyReq) (res *dto.StrategyRes, err error) { strategy, err := service.Strategy.GetStrategyByID(ctx, req.Id) if err != nil { return nil, err } return strategy, nil } // GetList 获取策略列表 func (c *strategy) GetList(ctx context.Context, req *dto.GetStrategyListReq) (res *dto.GetStrategyListRes, err error) { return service.Strategy.GetStrategyList(ctx, req) }