58 lines
1.5 KiB
Go
58 lines
1.5 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
"video-factory/shortdrama/dao"
|
|
"video-factory/shortdrama/model/dto"
|
|
"video-factory/shortdrama/model/entity"
|
|
)
|
|
|
|
type agentTier struct{}
|
|
|
|
var AgentTier = new(agentTier)
|
|
|
|
func (c *agentTier) Create(ctx context.Context, req *dto.CreateAgentTierReq) (res *struct{}, err error) {
|
|
_, err = dao.AgentTier.Insert(ctx, &entity.AgentTier{
|
|
Name: req.Name,
|
|
Price: req.Price,
|
|
RegionProtected: req.RegionProtected,
|
|
MaxCustomers: req.MaxCustomers,
|
|
})
|
|
return nil, err
|
|
}
|
|
|
|
func (c *agentTier) Update(ctx context.Context, req *dto.UpdateAgentTierReq) (res *struct{}, err error) {
|
|
return nil, dao.AgentTier.Update(ctx, &entity.AgentTier{
|
|
Id: req.Id,
|
|
Name: req.Name,
|
|
Price: req.Price,
|
|
RegionProtected: req.RegionProtected,
|
|
MaxCustomers: req.MaxCustomers,
|
|
})
|
|
}
|
|
|
|
func (c *agentTier) Delete(ctx context.Context, req *struct{ Id int64 }) (res *struct{}, err error) {
|
|
return nil, dao.AgentTier.Delete(ctx, req.Id)
|
|
}
|
|
|
|
type getAgentTierReq struct {
|
|
Id int64 `json:"id"`
|
|
}
|
|
|
|
func (c *agentTier) Get(ctx context.Context, req *getAgentTierReq) (res *entity.AgentTier, err error) {
|
|
tier, err := dao.AgentTier.GetOne(ctx, req.Id)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return tier, nil
|
|
}
|
|
|
|
func (c *agentTier) List(ctx context.Context, req *struct{}) (res *dto.ListAgentTierRes, err error) {
|
|
list, err := dao.AgentTier.List(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.ListAgentTierRes{List: list}, nil
|
|
}
|