diff --git a/model/amo.go b/model/amo.go index 8a22d19..f0c1b47 100644 --- a/model/amo.go +++ b/model/amo.go @@ -223,3 +223,19 @@ var TypeMapping = map[string]FieldType{ "rating": TypeAmoText, "result": TypeAmoText, } + +type AmoUsersTrueResults struct { + QuizID int64 + AnswerID int64 + Result bool + QuestionID int64 + Content string + Session string + AccessToken string + AmoAccountID int32 + UTMs []int32 + FieldsRule Fieldsrule + PerformerID int32 + StepID int32 + PipelineID int32 +} diff --git a/repository/amo/amo.go b/repository/amo/amo.go index bcf6ad7..707eb9b 100644 --- a/repository/amo/amo.go +++ b/repository/amo/amo.go @@ -836,9 +836,38 @@ func (r *AmoRepository) UpdateUtmsFields(ctx context.Context, ids []int32) error return nil } -func (r *AmoRepository) GettingAmoUsersTrueResults(ctx context.Context) error { +func (r *AmoRepository) GettingAmoUsersTrueResults(ctx context.Context) ([]model.AmoUsersTrueResults, error) { rows, err := r.queries.GettingAmoUsersTrueResults(ctx) if err != nil { - return err + return nil, err } + + var results []model.AmoUsersTrueResults + + for _, row := range rows { + var fieldsRule model.Fieldsrule + err = json.Unmarshal(row.Fieldsrule, &fieldsRule) + if err != nil { + return nil, err + } + result := model.AmoUsersTrueResults{ + QuizID: row.QuizID, + AnswerID: row.QuizID, + Result: row.Result.Bool, + QuestionID: row.QuestionID, + Content: row.Content.String, + Session: row.Session.String, + AccessToken: row.Accesstoken, + AmoAccountID: row.Accountid, + UTMs: row.Utms, + FieldsRule: fieldsRule, + PerformerID: row.Performerid, + StepID: row.Stepid, + PipelineID: row.Pipelineid, + } + + results = append(results, result) + } + + return results, nil }