36 lines
920 B
Go
36 lines
920 B
Go
package reward
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"server/internal/model"
|
|
"server/internal/service"
|
|
|
|
"server/api/reward/v1"
|
|
)
|
|
|
|
func (c *ControllerV1) Create(ctx context.Context, req *v1.CreateReq) (res *v1.CreateRes, err error) {
|
|
fromCtx := g.RequestFromCtx(ctx)
|
|
operatorId := fromCtx.GetCtxVar("id").Int64()
|
|
operatorRole := fromCtx.GetCtxVar("role").String()
|
|
out, err := service.Reward().Create(ctx, &model.RewardCreateIn{
|
|
Name: req.Name,
|
|
Description: req.Description,
|
|
Value: req.Value,
|
|
Status: req.Status,
|
|
OperatorId: operatorId,
|
|
OperatorRole: operatorRole,
|
|
StoreId: req.StoreId,
|
|
RewardTypeId: req.RewardTypeId,
|
|
Source: req.Source,
|
|
ExpireType: req.ExpireType,
|
|
ExpireDays: req.ExpireDays,
|
|
ValidFrom: req.ValidFrom,
|
|
ValidTo: req.ValidTo,
|
|
})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &v1.CreateRes{Id: out.Id}, nil
|
|
}
|