Files
cid/controller/strategy_controller.go

79 lines
1.8 KiB
Go
Raw Normal View History

2025-12-06 10:38:48 +08:00
package controller
import (
"context"
"cidService/model/dto"
"cidService/service"
"github.com/gogf/gf/v2/errors/gerror"
)
var (
Strategy = cStrategy{}
)
type cStrategy struct{}
// Create 创建策略
func (c *cStrategy) 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 *cStrategy) 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 *cStrategy) 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 *cStrategy) 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 *cStrategy) GetList(ctx context.Context, req *dto.GetStrategyListReq) (res *dto.GetStrategyListRes, err error) {
return service.Strategy.GetStrategyList(ctx, req)
}