package activity import ( "context" "bindbox-game/internal/repository/mysql/model" ) // CreateActivity 创建活动 // 参数: in 活动创建输入 // 返回: 新建的活动记录与错误 func (s *service) CreateActivity(ctx context.Context, in CreateActivityInput) (*model.Activities, error) { item := &model.Activities{ Name: in.Name, Banner: in.Banner, ActivityCategoryID: in.ActivityCategoryID, Status: in.Status, PriceDraw: in.PriceDraw, IsBoss: in.IsBoss, } if in.StartTime != nil { item.StartTime = *in.StartTime } if in.EndTime != nil { item.EndTime = *in.EndTime } do := s.writeDB.Activities.WithContext(ctx) if in.StartTime == nil { do = do.Omit(s.writeDB.Activities.StartTime) } if in.EndTime == nil { do = do.Omit(s.writeDB.Activities.EndTime) } err := do.Create(item) if err != nil { return nil, err } return item, nil }