From a5a4d9bfc694febd879d61180e729c0fc33c3434 Mon Sep 17 00:00:00 2001 From: Pavel Date: Sat, 8 Jun 2024 16:07:25 +0300 Subject: [PATCH] update rule queries --- dal/db_query/queries.sql | 10 +++++----- model/amoReq.go | 1 + repository/amo/amo.go | 4 ++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dal/db_query/queries.sql b/dal/db_query/queries.sql index 11d8b03..f2eaf35 100644 --- a/dal/db_query/queries.sql +++ b/dal/db_query/queries.sql @@ -928,15 +928,15 @@ SELECT * FROM tokens WHERE accountID = $1; SELECT * FROM rules WHERE QuizID = $1 AND Deleted = false; -- name: SetQuizSettings :one -INSERT INTO rules (AccountID, QuizID, PerformerID, PipelineID, StepID, FieldsRule) +INSERT INTO rules (AccountID, QuizID, PerformerID, PipelineID, StepID, FieldsRule,TagsToAdd) SELECT u.AmoID AS AccountID,$1 AS QuizID,$2 AS PerformerID,$3 AS PipelineID, - $4 AS StepID,$5 AS FieldsRule FROM users u WHERE u.AccountID = $6 AND u.Deleted = false + $4 AS StepID,$5 AS FieldsRule,$6 AS TagsToAdd FROM users u WHERE u.AccountID = $7 AND u.Deleted = false RETURNING id; -- name: ChangeQuizSettings :one UPDATE rules -SET PerformerID = $1,PipelineID = $2,StepID = $3,FieldsRule = $4 -WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $5 AND users.Deleted = false) AND QuizID = $6 AND Deleted = false +SET PerformerID = $1,PipelineID = $2,StepID = $3,FieldsRule = $4, TagsToAdd=$5 +WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $6 AND users.Deleted = false) AND QuizID = $7 AND Deleted = false RETURNING id; -- name: GetQuestionListByIDs :many @@ -993,7 +993,7 @@ SELECT a.quiz_id,a.id,a.result,a.question_id,a.content,a.session, FROM answer a2 WHERE a2.start = true AND a2.session = a.session LIMIT 1) AS utm -,t.accesstoken,r.accountid,r.fieldsrule,r.performerid,r.stepid,r.pipelineid,(SELECT u.name FROM users u WHERE u.amoid = r.performerid) AS performer_name,u.subdomain +,t.accesstoken,r.accountid,r.fieldsrule,r.tagstoadd,r.performerid,r.stepid,r.pipelineid,(SELECT u.name FROM users u WHERE u.amoid = r.performerid) AS performer_name,u.subdomain FROM answer a INNER JOIN quiz q ON a.quiz_id = q.id LEFT JOIN amoCRMStatuses s ON a.id = s.AnswerID diff --git a/model/amoReq.go b/model/amoReq.go index 7338707..10a724c 100644 --- a/model/amoReq.go +++ b/model/amoReq.go @@ -18,6 +18,7 @@ type RulesReq struct { StepID int32 // айдишник этапа //Utms []int32 // список UTM для этого опроса Fieldsrule Fieldsrule // правила заполнения полей сущностей в амо + TagsToAdd TagsToAdd } //type SaveUserListUTMReq struct { diff --git a/repository/amo/amo.go b/repository/amo/amo.go index 6e229e7..b78bc05 100644 --- a/repository/amo/amo.go +++ b/repository/amo/amo.go @@ -807,6 +807,10 @@ func (r *AmoRepository) ChangeQuizSettings(ctx context.Context, request *model.R if err != nil { return err } + jsonTagsToAdd, err := json.Marshal(request.TagsToAdd) + if err != nil { + return err + } _, err = r.queries.ChangeQuizSettings(ctx, sqlcgen.ChangeQuizSettingsParams{ Performerid: request.PerformerID, Pipelineid: request.PipelineID,