From fb2e39312dcc8a21dc291cf2e72e39b4e6b58640 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Wed, 3 Sep 2025 15:38:31 +0800 Subject: [PATCH 01/42] feat:expt insight analysis --- .../loop/apis/experimentservice/client.go | 36 + .../experimentservice/experimentservice.go | 216 + .../coze/loop/evaluation/domain/expt/expt.go | 1559 ++ .../evaluation/domain/expt/expt_validator.go | 24 + .../loop/evaluation/domain/expt/k-expt.go | 1106 ++ .../evaluation/experimentservice/client.go | 36 + .../experimentservice/experimentservice.go | 216 + .../expt/coze.loop.evaluation.expt.go | 11701 ++++++++++++---- .../coze.loop.evaluation.expt_validator.go | 131 + .../expt/experimentservice/client.go | 36 + .../experimentservice/experimentservice.go | 216 + .../expt/k-coze.loop.evaluation.expt.go | 6052 +++++++- .../loexpt/local_experimentservice.go | 128 + .../experiment/expt_insight_analysis.go | 85 + .../evaluation/application/experiment_app.go | 204 +- .../application/experiment_app_test.go | 2 + .../modules/evaluation/application/wire.go | 7 + .../evaluation/application/wire_gen.go | 13 +- .../domain/component/rpc/trace_agent.go | 16 + .../modules/evaluation/domain/entity/event.go | 10 +- .../entity/expt_insight_analysis_record.go | 101 + .../modules/evaluation/domain/repo/expt.go | 19 + .../evaluation/domain/service/expt_export.go | 3 +- .../domain/service/expt_export_impl.go | 67 +- .../domain/service/expt_export_impl.go.rej | 10 + .../domain/service/expt_export_impl_test.go | 2 +- .../domain/service/expt_result_impl.go | 1 + .../domain/service/insight_analysis.go | 20 + .../domain/service/insight_analysis_impl.go | 221 + .../domain/service/mocks/expt_export.go | 22 +- .../domain/service/mocks/expt_export.go.rej | 12 + .../infra/mq/rocket/consumer/expt_export.go | 22 +- .../expt_insight_analysis_record.go | 143 + .../convert/expt_insight_analysis_record.go | 90 + .../expt_insight_analysis_feedback_comment.go | 97 + .../expt_insight_analysis_feedback_vote.go | 83 + .../mysql/expt_insight_analysis_record.go | 97 + .../mysql/expt_turn_result_tag_ref.go | 9 +- ...t_insight_analysis_feedback_comment.gen.go | 31 + ...expt_insight_analysis_feedback_vote.gen.go | 31 + .../model/expt_insight_analysis_record.gen.go | 32 + ...t_insight_analysis_feedback_comment.gen.go | 368 + ...expt_insight_analysis_feedback_vote.gen.go | 368 + .../query/expt_insight_analysis_record.gen.go | 370 + .../experiment/mysql/gorm_gen/query/gen.go | 204 +- .../mysql/gorm_gen/query/gen.go.rej | 109 + .../evaluation/infra/rpc/agent/agent.go | 52 + .../mysql/gorm_gen/model/prompt_label.gen.go | 16 +- backend/script/gorm_gen/generate.go | 3 + .../coze.loop.evaluation.expt.thrift | 102 + .../coze/loop/evaluation/domain/expt.thrift | 60 + ...expt_insight_analysis_feedback_comment.sql | 13 + .../expt_insight_analysis_feedback_vote.sql | 13 + .../init-sql/expt_insight_analysis_record.sql | 14 + 54 files changed, 21413 insertions(+), 3186 deletions(-) create mode 100644 backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go create mode 100644 backend/modules/evaluation/domain/component/rpc/trace_agent.go create mode 100644 backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go create mode 100644 backend/modules/evaluation/domain/service/expt_export_impl.go.rej create mode 100644 backend/modules/evaluation/domain/service/insight_analysis.go create mode 100644 backend/modules/evaluation/domain/service/insight_analysis_impl.go create mode 100644 backend/modules/evaluation/domain/service/mocks/expt_export.go.rej create mode 100644 backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_comment.gen.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_vote.gen.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_record.gen.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_comment.gen.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_vote.gen.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_record.gen.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go.rej create mode 100644 backend/modules/evaluation/infra/rpc/agent/agent.go create mode 100644 release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_comment.sql create mode 100644 release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql create mode 100644 release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_record.sql diff --git a/backend/kitex_gen/coze/loop/apis/experimentservice/client.go b/backend/kitex_gen/coze/loop/apis/experimentservice/client.go index 7554fd4fc..850ddb869 100644 --- a/backend/kitex_gen/coze/loop/apis/experimentservice/client.go +++ b/backend/kitex_gen/coze/loop/apis/experimentservice/client.go @@ -36,6 +36,12 @@ type Client interface { ExportExptResult_(ctx context.Context, req *expt.ExportExptResultRequest, callOptions ...callopt.Option) (r *expt.ExportExptResultResponse, err error) ListExptResultExportRecord(ctx context.Context, req *expt.ListExptResultExportRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptResultExportRecordResponse, err error) GetExptResultExportRecord(ctx context.Context, req *expt.GetExptResultExportRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptResultExportRecordResponse, err error) + InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (r *expt.InsightAnalysisExperimentResponse, err error) + ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisRecordResponse, err error) + DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) + GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptInsightAnalysisRecordResponse, err error) + FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) + ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisCommentResponse, err error) } // NewClient creates a client for the service defined in IDL. @@ -191,3 +197,33 @@ func (p *kExperimentServiceClient) GetExptResultExportRecord(ctx context.Context ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetExptResultExportRecord(ctx, req) } + +func (p *kExperimentServiceClient) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (r *expt.InsightAnalysisExperimentResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.InsightAnalysisExperiment(ctx, req) +} + +func (p *kExperimentServiceClient) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.ListExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.DeleteExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.GetExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.FeedbackExptInsightAnalysisReport(ctx, req) +} + +func (p *kExperimentServiceClient) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.ListExptInsightAnalysisComment(ctx, req) +} diff --git a/backend/kitex_gen/coze/loop/apis/experimentservice/experimentservice.go b/backend/kitex_gen/coze/loop/apis/experimentservice/experimentservice.go index 84f8a862f..9ab9590cf 100644 --- a/backend/kitex_gen/coze/loop/apis/experimentservice/experimentservice.go +++ b/backend/kitex_gen/coze/loop/apis/experimentservice/experimentservice.go @@ -189,6 +189,48 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), + "InsightAnalysisExperiment": kitex.NewMethodInfo( + insightAnalysisExperimentHandler, + newExperimentServiceInsightAnalysisExperimentArgs, + newExperimentServiceInsightAnalysisExperimentResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "ListExptInsightAnalysisRecord": kitex.NewMethodInfo( + listExptInsightAnalysisRecordHandler, + newExperimentServiceListExptInsightAnalysisRecordArgs, + newExperimentServiceListExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "DeleteExptInsightAnalysisRecord": kitex.NewMethodInfo( + deleteExptInsightAnalysisRecordHandler, + newExperimentServiceDeleteExptInsightAnalysisRecordArgs, + newExperimentServiceDeleteExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "GetExptInsightAnalysisRecord": kitex.NewMethodInfo( + getExptInsightAnalysisRecordHandler, + newExperimentServiceGetExptInsightAnalysisRecordArgs, + newExperimentServiceGetExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "FeedbackExptInsightAnalysisReport": kitex.NewMethodInfo( + feedbackExptInsightAnalysisReportHandler, + newExperimentServiceFeedbackExptInsightAnalysisReportArgs, + newExperimentServiceFeedbackExptInsightAnalysisReportResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "ListExptInsightAnalysisComment": kitex.NewMethodInfo( + listExptInsightAnalysisCommentHandler, + newExperimentServiceListExptInsightAnalysisCommentArgs, + newExperimentServiceListExptInsightAnalysisCommentResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), } var ( @@ -697,6 +739,120 @@ func newExperimentServiceGetExptResultExportRecordResult() interface{} { return expt.NewExperimentServiceGetExptResultExportRecordResult() } +func insightAnalysisExperimentHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceInsightAnalysisExperimentArgs) + realResult := result.(*expt.ExperimentServiceInsightAnalysisExperimentResult) + success, err := handler.(expt.ExperimentService).InsightAnalysisExperiment(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceInsightAnalysisExperimentArgs() interface{} { + return expt.NewExperimentServiceInsightAnalysisExperimentArgs() +} + +func newExperimentServiceInsightAnalysisExperimentResult() interface{} { + return expt.NewExperimentServiceInsightAnalysisExperimentResult() +} + +func listExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceListExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceListExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).ListExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceListExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceListExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisRecordResult() +} + +func deleteExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).DeleteExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceDeleteExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceDeleteExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceDeleteExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceDeleteExptInsightAnalysisRecordResult() +} + +func getExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceGetExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceGetExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).GetExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceGetExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceGetExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceGetExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceGetExptInsightAnalysisRecordResult() +} + +func feedbackExptInsightAnalysisReportHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs) + realResult := result.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult) + success, err := handler.(expt.ExperimentService).FeedbackExptInsightAnalysisReport(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceFeedbackExptInsightAnalysisReportArgs() interface{} { + return expt.NewExperimentServiceFeedbackExptInsightAnalysisReportArgs() +} + +func newExperimentServiceFeedbackExptInsightAnalysisReportResult() interface{} { + return expt.NewExperimentServiceFeedbackExptInsightAnalysisReportResult() +} + +func listExptInsightAnalysisCommentHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceListExptInsightAnalysisCommentArgs) + realResult := result.(*expt.ExperimentServiceListExptInsightAnalysisCommentResult) + success, err := handler.(expt.ExperimentService).ListExptInsightAnalysisComment(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceListExptInsightAnalysisCommentArgs() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisCommentArgs() +} + +func newExperimentServiceListExptInsightAnalysisCommentResult() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisCommentResult() +} + type kClient struct { c client.Client sc client.Streaming @@ -958,3 +1114,63 @@ func (p *kClient) GetExptResultExportRecord(ctx context.Context, req *expt.GetEx } return _result.GetSuccess(), nil } + +func (p *kClient) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest) (r *expt.InsightAnalysisExperimentResponse, err error) { + var _args expt.ExperimentServiceInsightAnalysisExperimentArgs + _args.Req = req + var _result expt.ExperimentServiceInsightAnalysisExperimentResult + if err = p.c.Call(ctx, "InsightAnalysisExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceListExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceListExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "ListExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "DeleteExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceGetExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceGetExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "GetExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + var _args expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs + _args.Req = req + var _result expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult + if err = p.c.Call(ctx, "FeedbackExptInsightAnalysisReport", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + var _args expt.ExperimentServiceListExptInsightAnalysisCommentArgs + _args.Req = req + var _result expt.ExperimentServiceListExptInsightAnalysisCommentResult + if err = p.c.Call(ctx, "ListExptInsightAnalysisComment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go b/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go index b434cb93a..829a15cf0 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go @@ -25,6 +25,34 @@ const ( CSVExportStatusSuccess = "Success" CSVExportStatusFailed = "Failed" + + InsightAnalysisStatusUnknown = "Unknown" + + InsightAnalysisStatusRunning = "Running" + + InsightAnalysisStatusSuccess = "Success" + + InsightAnalysisStatusFailed = "Failed" + // 未投票 + InsightAnalysisReportVoteTypeNone = "None" + // 点赞 + InsightAnalysisReportVoteTypeUpvote = "Upvote" + // 点踩 + InsightAnalysisReportVoteTypeDownvote = "Downvote" + + FeedbackActionTypeUpvote = "Upvote" + + FeedbackActionTypeCancelUpvote = "CancelUpvote" + + FeedbackActionTypeDownvote = "Downvote" + + FeedbackActionTypeCancelDownvote = "CancelDownvote" + + FeedbackActionTypeCreateComment = "Create_Comment" + + FeedbackActionTypeUpdateComment = "Update_Comment" + + FeedbackActionTypeDeleteComment = "Delete_Comment" ) type ExptStatus int64 @@ -864,6 +892,15 @@ type ExptResultExportType = string type CSVExportStatus = string +// 分析任务状态 +type InsightAnalysisStatus = string + +// 投票类型 +type InsightAnalysisReportVoteType = string + +// 反馈动作 +type FeedbackActionType = string + type Experiment struct { ID *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" json:"id" form:"id" query:"id"` Name *string `thrift:"name,2,optional" frugal:"2,optional,string" form:"name" json:"name,omitempty" query:"name"` @@ -17338,3 +17375,1525 @@ func (p *ExptResultExportRecord) Field10DeepEqual(src *RunError) bool { } return true } + +// 洞察分析记录 +type ExptInsightAnalysisRecord struct { + RecordID int64 `thrift:"record_id,1,required" frugal:"1,required,i64" json:"record_id" form:"record_id,required" query:"record_id,required"` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + ExptID int64 `thrift:"expt_id,3,required" frugal:"3,required,i64" json:"expt_id" form:"expt_id,required" query:"expt_id,required"` + AnalysisStatus InsightAnalysisStatus `thrift:"analysis_status,4,required" frugal:"4,required,string" form:"analysis_status,required" json:"analysis_status,required" query:"analysis_status,required"` + AnalysisReportID *int64 `thrift:"analysis_report_id,5,optional" frugal:"5,optional,i64" json:"analysis_report_id" form:"analysis_report_id" query:"analysis_report_id"` + AnalysisReportContent *string `thrift:"analysis_report_content,6,optional" frugal:"6,optional,string" form:"analysis_report_content" json:"analysis_report_content,omitempty" query:"analysis_report_content"` + ExptInsightAnalysisFeedback *ExptInsightAnalysisFeedback `thrift:"expt_insight_analysis_feedback,7,optional" frugal:"7,optional,ExptInsightAnalysisFeedback" form:"expt_insight_analysis_feedback" json:"expt_insight_analysis_feedback,omitempty" query:"expt_insight_analysis_feedback"` + BaseInfo *common.BaseInfo `thrift:"base_info,8,optional" frugal:"8,optional,common.BaseInfo" form:"base_info" json:"base_info,omitempty" query:"base_info"` +} + +func NewExptInsightAnalysisRecord() *ExptInsightAnalysisRecord { + return &ExptInsightAnalysisRecord{} +} + +func (p *ExptInsightAnalysisRecord) InitDefault() { +} + +func (p *ExptInsightAnalysisRecord) GetRecordID() (v int64) { + if p != nil { + return p.RecordID + } + return +} + +func (p *ExptInsightAnalysisRecord) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} + +func (p *ExptInsightAnalysisRecord) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} + +func (p *ExptInsightAnalysisRecord) GetAnalysisStatus() (v InsightAnalysisStatus) { + if p != nil { + return p.AnalysisStatus + } + return +} + +var ExptInsightAnalysisRecord_AnalysisReportID_DEFAULT int64 + +func (p *ExptInsightAnalysisRecord) GetAnalysisReportID() (v int64) { + if p == nil { + return + } + if !p.IsSetAnalysisReportID() { + return ExptInsightAnalysisRecord_AnalysisReportID_DEFAULT + } + return *p.AnalysisReportID +} + +var ExptInsightAnalysisRecord_AnalysisReportContent_DEFAULT string + +func (p *ExptInsightAnalysisRecord) GetAnalysisReportContent() (v string) { + if p == nil { + return + } + if !p.IsSetAnalysisReportContent() { + return ExptInsightAnalysisRecord_AnalysisReportContent_DEFAULT + } + return *p.AnalysisReportContent +} + +var ExptInsightAnalysisRecord_ExptInsightAnalysisFeedback_DEFAULT *ExptInsightAnalysisFeedback + +func (p *ExptInsightAnalysisRecord) GetExptInsightAnalysisFeedback() (v *ExptInsightAnalysisFeedback) { + if p == nil { + return + } + if !p.IsSetExptInsightAnalysisFeedback() { + return ExptInsightAnalysisRecord_ExptInsightAnalysisFeedback_DEFAULT + } + return p.ExptInsightAnalysisFeedback +} + +var ExptInsightAnalysisRecord_BaseInfo_DEFAULT *common.BaseInfo + +func (p *ExptInsightAnalysisRecord) GetBaseInfo() (v *common.BaseInfo) { + if p == nil { + return + } + if !p.IsSetBaseInfo() { + return ExptInsightAnalysisRecord_BaseInfo_DEFAULT + } + return p.BaseInfo +} +func (p *ExptInsightAnalysisRecord) SetRecordID(val int64) { + p.RecordID = val +} +func (p *ExptInsightAnalysisRecord) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *ExptInsightAnalysisRecord) SetExptID(val int64) { + p.ExptID = val +} +func (p *ExptInsightAnalysisRecord) SetAnalysisStatus(val InsightAnalysisStatus) { + p.AnalysisStatus = val +} +func (p *ExptInsightAnalysisRecord) SetAnalysisReportID(val *int64) { + p.AnalysisReportID = val +} +func (p *ExptInsightAnalysisRecord) SetAnalysisReportContent(val *string) { + p.AnalysisReportContent = val +} +func (p *ExptInsightAnalysisRecord) SetExptInsightAnalysisFeedback(val *ExptInsightAnalysisFeedback) { + p.ExptInsightAnalysisFeedback = val +} +func (p *ExptInsightAnalysisRecord) SetBaseInfo(val *common.BaseInfo) { + p.BaseInfo = val +} + +var fieldIDToName_ExptInsightAnalysisRecord = map[int16]string{ + 1: "record_id", + 2: "workspace_id", + 3: "expt_id", + 4: "analysis_status", + 5: "analysis_report_id", + 6: "analysis_report_content", + 7: "expt_insight_analysis_feedback", + 8: "base_info", +} + +func (p *ExptInsightAnalysisRecord) IsSetAnalysisReportID() bool { + return p.AnalysisReportID != nil +} + +func (p *ExptInsightAnalysisRecord) IsSetAnalysisReportContent() bool { + return p.AnalysisReportContent != nil +} + +func (p *ExptInsightAnalysisRecord) IsSetExptInsightAnalysisFeedback() bool { + return p.ExptInsightAnalysisFeedback != nil +} + +func (p *ExptInsightAnalysisRecord) IsSetBaseInfo() bool { + return p.BaseInfo != nil +} + +func (p *ExptInsightAnalysisRecord) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetRecordID bool = false + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetAnalysisStatus bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + issetAnalysisStatus = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.I64 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 7: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 8: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetRecordID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetWorkspaceID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetAnalysisStatus { + fieldId = 4 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExptInsightAnalysisRecord[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExptInsightAnalysisRecord[fieldId])) +} + +func (p *ExptInsightAnalysisRecord) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.RecordID = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField3(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField4(iprot thrift.TProtocol) error { + + var _field InsightAnalysisStatus + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.AnalysisStatus = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField5(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.AnalysisReportID = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField6(iprot thrift.TProtocol) error { + + var _field *string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.AnalysisReportContent = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField7(iprot thrift.TProtocol) error { + _field := NewExptInsightAnalysisFeedback() + if err := _field.Read(iprot); err != nil { + return err + } + p.ExptInsightAnalysisFeedback = _field + return nil +} +func (p *ExptInsightAnalysisRecord) ReadField8(iprot thrift.TProtocol) error { + _field := common.NewBaseInfo() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseInfo = _field + return nil +} + +func (p *ExptInsightAnalysisRecord) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ExptInsightAnalysisRecord"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExptInsightAnalysisRecord) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("record_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.RecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("analysis_status", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.AnalysisStatus); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetAnalysisReportID() { + if err = oprot.WriteFieldBegin("analysis_report_id", thrift.I64, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.AnalysisReportID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetAnalysisReportContent() { + if err = oprot.WriteFieldBegin("analysis_report_content", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.AnalysisReportContent); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField7(oprot thrift.TProtocol) (err error) { + if p.IsSetExptInsightAnalysisFeedback() { + if err = oprot.WriteFieldBegin("expt_insight_analysis_feedback", thrift.STRUCT, 7); err != nil { + goto WriteFieldBeginError + } + if err := p.ExptInsightAnalysisFeedback.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} +func (p *ExptInsightAnalysisRecord) writeField8(oprot thrift.TProtocol) (err error) { + if p.IsSetBaseInfo() { + if err = oprot.WriteFieldBegin("base_info", thrift.STRUCT, 8); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseInfo.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} + +func (p *ExptInsightAnalysisRecord) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExptInsightAnalysisRecord(%+v)", *p) + +} + +func (p *ExptInsightAnalysisRecord) DeepEqual(ano *ExptInsightAnalysisRecord) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.RecordID) { + return false + } + if !p.Field2DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field3DeepEqual(ano.ExptID) { + return false + } + if !p.Field4DeepEqual(ano.AnalysisStatus) { + return false + } + if !p.Field5DeepEqual(ano.AnalysisReportID) { + return false + } + if !p.Field6DeepEqual(ano.AnalysisReportContent) { + return false + } + if !p.Field7DeepEqual(ano.ExptInsightAnalysisFeedback) { + return false + } + if !p.Field8DeepEqual(ano.BaseInfo) { + return false + } + return true +} + +func (p *ExptInsightAnalysisRecord) Field1DeepEqual(src int64) bool { + + if p.RecordID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field2DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field3DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field4DeepEqual(src InsightAnalysisStatus) bool { + + if strings.Compare(p.AnalysisStatus, src) != 0 { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field5DeepEqual(src *int64) bool { + + if p.AnalysisReportID == src { + return true + } else if p.AnalysisReportID == nil || src == nil { + return false + } + if *p.AnalysisReportID != *src { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field6DeepEqual(src *string) bool { + + if p.AnalysisReportContent == src { + return true + } else if p.AnalysisReportContent == nil || src == nil { + return false + } + if strings.Compare(*p.AnalysisReportContent, *src) != 0 { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field7DeepEqual(src *ExptInsightAnalysisFeedback) bool { + + if !p.ExptInsightAnalysisFeedback.DeepEqual(src) { + return false + } + return true +} +func (p *ExptInsightAnalysisRecord) Field8DeepEqual(src *common.BaseInfo) bool { + + if !p.BaseInfo.DeepEqual(src) { + return false + } + return true +} + +// 洞察分析反馈统计 +type ExptInsightAnalysisFeedback struct { + UpvoteCnt *int32 `thrift:"upvote_cnt,1,optional" frugal:"1,optional,i32" form:"upvote_cnt" json:"upvote_cnt,omitempty" query:"upvote_cnt"` + DownvoteCnt *int32 `thrift:"downvote_cnt,2,optional" frugal:"2,optional,i32" form:"downvote_cnt" json:"downvote_cnt,omitempty" query:"downvote_cnt"` + // 当前用户点赞状态,用于展示用户是否已点赞点踩 + CurrentUserVoteType *InsightAnalysisReportVoteType `thrift:"current_user_vote_type,3,optional" frugal:"3,optional,string" form:"current_user_vote_type" json:"current_user_vote_type,omitempty" query:"current_user_vote_type"` +} + +func NewExptInsightAnalysisFeedback() *ExptInsightAnalysisFeedback { + return &ExptInsightAnalysisFeedback{} +} + +func (p *ExptInsightAnalysisFeedback) InitDefault() { +} + +var ExptInsightAnalysisFeedback_UpvoteCnt_DEFAULT int32 + +func (p *ExptInsightAnalysisFeedback) GetUpvoteCnt() (v int32) { + if p == nil { + return + } + if !p.IsSetUpvoteCnt() { + return ExptInsightAnalysisFeedback_UpvoteCnt_DEFAULT + } + return *p.UpvoteCnt +} + +var ExptInsightAnalysisFeedback_DownvoteCnt_DEFAULT int32 + +func (p *ExptInsightAnalysisFeedback) GetDownvoteCnt() (v int32) { + if p == nil { + return + } + if !p.IsSetDownvoteCnt() { + return ExptInsightAnalysisFeedback_DownvoteCnt_DEFAULT + } + return *p.DownvoteCnt +} + +var ExptInsightAnalysisFeedback_CurrentUserVoteType_DEFAULT InsightAnalysisReportVoteType + +func (p *ExptInsightAnalysisFeedback) GetCurrentUserVoteType() (v InsightAnalysisReportVoteType) { + if p == nil { + return + } + if !p.IsSetCurrentUserVoteType() { + return ExptInsightAnalysisFeedback_CurrentUserVoteType_DEFAULT + } + return *p.CurrentUserVoteType +} +func (p *ExptInsightAnalysisFeedback) SetUpvoteCnt(val *int32) { + p.UpvoteCnt = val +} +func (p *ExptInsightAnalysisFeedback) SetDownvoteCnt(val *int32) { + p.DownvoteCnt = val +} +func (p *ExptInsightAnalysisFeedback) SetCurrentUserVoteType(val *InsightAnalysisReportVoteType) { + p.CurrentUserVoteType = val +} + +var fieldIDToName_ExptInsightAnalysisFeedback = map[int16]string{ + 1: "upvote_cnt", + 2: "downvote_cnt", + 3: "current_user_vote_type", +} + +func (p *ExptInsightAnalysisFeedback) IsSetUpvoteCnt() bool { + return p.UpvoteCnt != nil +} + +func (p *ExptInsightAnalysisFeedback) IsSetDownvoteCnt() bool { + return p.DownvoteCnt != nil +} + +func (p *ExptInsightAnalysisFeedback) IsSetCurrentUserVoteType() bool { + return p.CurrentUserVoteType != nil +} + +func (p *ExptInsightAnalysisFeedback) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I32 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExptInsightAnalysisFeedback[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExptInsightAnalysisFeedback) ReadField1(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.UpvoteCnt = _field + return nil +} +func (p *ExptInsightAnalysisFeedback) ReadField2(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.DownvoteCnt = _field + return nil +} +func (p *ExptInsightAnalysisFeedback) ReadField3(iprot thrift.TProtocol) error { + + var _field *InsightAnalysisReportVoteType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.CurrentUserVoteType = _field + return nil +} + +func (p *ExptInsightAnalysisFeedback) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ExptInsightAnalysisFeedback"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExptInsightAnalysisFeedback) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetUpvoteCnt() { + if err = oprot.WriteFieldBegin("upvote_cnt", thrift.I32, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.UpvoteCnt); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedback) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetDownvoteCnt() { + if err = oprot.WriteFieldBegin("downvote_cnt", thrift.I32, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.DownvoteCnt); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedback) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetCurrentUserVoteType() { + if err = oprot.WriteFieldBegin("current_user_vote_type", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.CurrentUserVoteType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} + +func (p *ExptInsightAnalysisFeedback) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExptInsightAnalysisFeedback(%+v)", *p) + +} + +func (p *ExptInsightAnalysisFeedback) DeepEqual(ano *ExptInsightAnalysisFeedback) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.UpvoteCnt) { + return false + } + if !p.Field2DeepEqual(ano.DownvoteCnt) { + return false + } + if !p.Field3DeepEqual(ano.CurrentUserVoteType) { + return false + } + return true +} + +func (p *ExptInsightAnalysisFeedback) Field1DeepEqual(src *int32) bool { + + if p.UpvoteCnt == src { + return true + } else if p.UpvoteCnt == nil || src == nil { + return false + } + if *p.UpvoteCnt != *src { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedback) Field2DeepEqual(src *int32) bool { + + if p.DownvoteCnt == src { + return true + } else if p.DownvoteCnt == nil || src == nil { + return false + } + if *p.DownvoteCnt != *src { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedback) Field3DeepEqual(src *InsightAnalysisReportVoteType) bool { + + if p.CurrentUserVoteType == src { + return true + } else if p.CurrentUserVoteType == nil || src == nil { + return false + } + if strings.Compare(*p.CurrentUserVoteType, *src) != 0 { + return false + } + return true +} + +// 洞察分析反馈评论 +type ExptInsightAnalysisFeedbackComment struct { + CommentID int64 `thrift:"comment_id,1,required" frugal:"1,required,i64" json:"comment_id" form:"comment_id,required" query:"comment_id,required"` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + ExptID int64 `thrift:"expt_id,3,required" frugal:"3,required,i64" json:"expt_id" form:"expt_id,required" query:"expt_id,required"` + RecordID int64 `thrift:"record_id,4,required" frugal:"4,required,i64" json:"record_id" form:"record_id,required" query:"record_id,required"` + Content string `thrift:"content,5,required" frugal:"5,required,string" form:"content,required" json:"content,required" query:"content,required"` + BaseInfo *common.BaseInfo `thrift:"base_info,6,optional" frugal:"6,optional,common.BaseInfo" form:"base_info" json:"base_info,omitempty" query:"base_info"` +} + +func NewExptInsightAnalysisFeedbackComment() *ExptInsightAnalysisFeedbackComment { + return &ExptInsightAnalysisFeedbackComment{} +} + +func (p *ExptInsightAnalysisFeedbackComment) InitDefault() { +} + +func (p *ExptInsightAnalysisFeedbackComment) GetCommentID() (v int64) { + if p != nil { + return p.CommentID + } + return +} + +func (p *ExptInsightAnalysisFeedbackComment) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} + +func (p *ExptInsightAnalysisFeedbackComment) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} + +func (p *ExptInsightAnalysisFeedbackComment) GetRecordID() (v int64) { + if p != nil { + return p.RecordID + } + return +} + +func (p *ExptInsightAnalysisFeedbackComment) GetContent() (v string) { + if p != nil { + return p.Content + } + return +} + +var ExptInsightAnalysisFeedbackComment_BaseInfo_DEFAULT *common.BaseInfo + +func (p *ExptInsightAnalysisFeedbackComment) GetBaseInfo() (v *common.BaseInfo) { + if p == nil { + return + } + if !p.IsSetBaseInfo() { + return ExptInsightAnalysisFeedbackComment_BaseInfo_DEFAULT + } + return p.BaseInfo +} +func (p *ExptInsightAnalysisFeedbackComment) SetCommentID(val int64) { + p.CommentID = val +} +func (p *ExptInsightAnalysisFeedbackComment) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *ExptInsightAnalysisFeedbackComment) SetExptID(val int64) { + p.ExptID = val +} +func (p *ExptInsightAnalysisFeedbackComment) SetRecordID(val int64) { + p.RecordID = val +} +func (p *ExptInsightAnalysisFeedbackComment) SetContent(val string) { + p.Content = val +} +func (p *ExptInsightAnalysisFeedbackComment) SetBaseInfo(val *common.BaseInfo) { + p.BaseInfo = val +} + +var fieldIDToName_ExptInsightAnalysisFeedbackComment = map[int16]string{ + 1: "comment_id", + 2: "workspace_id", + 3: "expt_id", + 4: "record_id", + 5: "content", + 6: "base_info", +} + +func (p *ExptInsightAnalysisFeedbackComment) IsSetBaseInfo() bool { + return p.BaseInfo != nil +} + +func (p *ExptInsightAnalysisFeedbackComment) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetCommentID bool = false + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetRecordID bool = false + var issetContent bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetCommentID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.I64 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + issetRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.STRING { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + issetContent = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetCommentID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetWorkspaceID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetRecordID { + fieldId = 4 + goto RequiredFieldNotSetError + } + + if !issetContent { + fieldId = 5 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExptInsightAnalysisFeedbackComment[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExptInsightAnalysisFeedbackComment[fieldId])) +} + +func (p *ExptInsightAnalysisFeedbackComment) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.CommentID = _field + return nil +} +func (p *ExptInsightAnalysisFeedbackComment) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *ExptInsightAnalysisFeedbackComment) ReadField3(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *ExptInsightAnalysisFeedbackComment) ReadField4(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.RecordID = _field + return nil +} +func (p *ExptInsightAnalysisFeedbackComment) ReadField5(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.Content = _field + return nil +} +func (p *ExptInsightAnalysisFeedbackComment) ReadField6(iprot thrift.TProtocol) error { + _field := common.NewBaseInfo() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseInfo = _field + return nil +} + +func (p *ExptInsightAnalysisFeedbackComment) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ExptInsightAnalysisFeedbackComment"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExptInsightAnalysisFeedbackComment) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("comment_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.CommentID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedbackComment) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedbackComment) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedbackComment) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("record_id", thrift.I64, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.RecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedbackComment) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("content", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Content); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *ExptInsightAnalysisFeedbackComment) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetBaseInfo() { + if err = oprot.WriteFieldBegin("base_info", thrift.STRUCT, 6); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseInfo.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} + +func (p *ExptInsightAnalysisFeedbackComment) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExptInsightAnalysisFeedbackComment(%+v)", *p) + +} + +func (p *ExptInsightAnalysisFeedbackComment) DeepEqual(ano *ExptInsightAnalysisFeedbackComment) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.CommentID) { + return false + } + if !p.Field2DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field3DeepEqual(ano.ExptID) { + return false + } + if !p.Field4DeepEqual(ano.RecordID) { + return false + } + if !p.Field5DeepEqual(ano.Content) { + return false + } + if !p.Field6DeepEqual(ano.BaseInfo) { + return false + } + return true +} + +func (p *ExptInsightAnalysisFeedbackComment) Field1DeepEqual(src int64) bool { + + if p.CommentID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedbackComment) Field2DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedbackComment) Field3DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedbackComment) Field4DeepEqual(src int64) bool { + + if p.RecordID != src { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedbackComment) Field5DeepEqual(src string) bool { + + if strings.Compare(p.Content, src) != 0 { + return false + } + return true +} +func (p *ExptInsightAnalysisFeedbackComment) Field6DeepEqual(src *common.BaseInfo) bool { + + if !p.BaseInfo.DeepEqual(src) { + return false + } + return true +} diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt_validator.go b/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt_validator.go index 3cf6df7f1..fc14cda0f 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt_validator.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt_validator.go @@ -297,3 +297,27 @@ func (p *ExptResultExportRecord) IsValid() error { } return nil } +func (p *ExptInsightAnalysisRecord) IsValid() error { + if p.ExptInsightAnalysisFeedback != nil { + if err := p.ExptInsightAnalysisFeedback.IsValid(); err != nil { + return fmt.Errorf("field ExptInsightAnalysisFeedback not valid, %w", err) + } + } + if p.BaseInfo != nil { + if err := p.BaseInfo.IsValid(); err != nil { + return fmt.Errorf("field BaseInfo not valid, %w", err) + } + } + return nil +} +func (p *ExptInsightAnalysisFeedback) IsValid() error { + return nil +} +func (p *ExptInsightAnalysisFeedbackComment) IsValid() error { + if p.BaseInfo != nil { + if err := p.BaseInfo.IsValid(); err != nil { + return fmt.Errorf("field BaseInfo not valid, %w", err) + } + } + return nil +} diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/expt/k-expt.go b/backend/kitex_gen/coze/loop/evaluation/domain/expt/k-expt.go index a460a83f6..0c8040458 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/expt/k-expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/expt/k-expt.go @@ -11982,3 +11982,1109 @@ func (p *ExptResultExportRecord) DeepCopy(s interface{}) error { return nil } + +func (p *ExptInsightAnalysisRecord) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetRecordID bool = false + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetAnalysisStatus bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetAnalysisStatus = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 7: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField7(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 8: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField8(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetRecordID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetWorkspaceID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetAnalysisStatus { + fieldId = 4 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExptInsightAnalysisRecord[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ExptInsightAnalysisRecord[fieldId])) +} + +func (p *ExptInsightAnalysisRecord) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.RecordID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField4(buf []byte) (int, error) { + offset := 0 + + var _field InsightAnalysisStatus + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.AnalysisStatus = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField5(buf []byte) (int, error) { + offset := 0 + + var _field *int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.AnalysisReportID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField6(buf []byte) (int, error) { + offset := 0 + + var _field *string + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.AnalysisReportContent = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField7(buf []byte) (int, error) { + offset := 0 + _field := NewExptInsightAnalysisFeedback() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.ExptInsightAnalysisFeedback = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastReadField8(buf []byte) (int, error) { + offset := 0 + _field := common.NewBaseInfo() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseInfo = _field + return offset, nil +} + +func (p *ExptInsightAnalysisRecord) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExptInsightAnalysisRecord) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField5(buf[offset:], w) + offset += p.fastWriteField4(buf[offset:], w) + offset += p.fastWriteField6(buf[offset:], w) + offset += p.fastWriteField7(buf[offset:], w) + offset += p.fastWriteField8(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExptInsightAnalysisRecord) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + l += p.field7Length() + l += p.field8Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExptInsightAnalysisRecord) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.RecordID) + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 4) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, p.AnalysisStatus) + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetAnalysisReportID() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 5) + offset += thrift.Binary.WriteI64(buf[offset:], *p.AnalysisReportID) + } + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetAnalysisReportContent() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 6) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.AnalysisReportContent) + } + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField7(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetExptInsightAnalysisFeedback() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 7) + offset += p.ExptInsightAnalysisFeedback.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExptInsightAnalysisRecord) fastWriteField8(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBaseInfo() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 8) + offset += p.BaseInfo.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExptInsightAnalysisRecord) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisRecord) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisRecord) field3Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisRecord) field4Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(p.AnalysisStatus) + return l +} + +func (p *ExptInsightAnalysisRecord) field5Length() int { + l := 0 + if p.IsSetAnalysisReportID() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + } + return l +} + +func (p *ExptInsightAnalysisRecord) field6Length() int { + l := 0 + if p.IsSetAnalysisReportContent() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(*p.AnalysisReportContent) + } + return l +} + +func (p *ExptInsightAnalysisRecord) field7Length() int { + l := 0 + if p.IsSetExptInsightAnalysisFeedback() { + l += thrift.Binary.FieldBeginLength() + l += p.ExptInsightAnalysisFeedback.BLength() + } + return l +} + +func (p *ExptInsightAnalysisRecord) field8Length() int { + l := 0 + if p.IsSetBaseInfo() { + l += thrift.Binary.FieldBeginLength() + l += p.BaseInfo.BLength() + } + return l +} + +func (p *ExptInsightAnalysisRecord) DeepCopy(s interface{}) error { + src, ok := s.(*ExptInsightAnalysisRecord) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.RecordID = src.RecordID + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + p.AnalysisStatus = src.AnalysisStatus + + if src.AnalysisReportID != nil { + tmp := *src.AnalysisReportID + p.AnalysisReportID = &tmp + } + + if src.AnalysisReportContent != nil { + var tmp string + if *src.AnalysisReportContent != "" { + tmp = kutils.StringDeepCopy(*src.AnalysisReportContent) + } + p.AnalysisReportContent = &tmp + } + + var _exptInsightAnalysisFeedback *ExptInsightAnalysisFeedback + if src.ExptInsightAnalysisFeedback != nil { + _exptInsightAnalysisFeedback = &ExptInsightAnalysisFeedback{} + if err := _exptInsightAnalysisFeedback.DeepCopy(src.ExptInsightAnalysisFeedback); err != nil { + return err + } + } + p.ExptInsightAnalysisFeedback = _exptInsightAnalysisFeedback + + var _baseInfo *common.BaseInfo + if src.BaseInfo != nil { + _baseInfo = &common.BaseInfo{} + if err := _baseInfo.DeepCopy(src.BaseInfo); err != nil { + return err + } + } + p.BaseInfo = _baseInfo + + return nil +} + +func (p *ExptInsightAnalysisFeedback) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExptInsightAnalysisFeedback[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExptInsightAnalysisFeedback) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field *int32 + if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.UpvoteCnt = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedback) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field *int32 + if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.DownvoteCnt = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedback) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field *InsightAnalysisReportVoteType + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.CurrentUserVoteType = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedback) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExptInsightAnalysisFeedback) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExptInsightAnalysisFeedback) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExptInsightAnalysisFeedback) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetUpvoteCnt() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 1) + offset += thrift.Binary.WriteI32(buf[offset:], *p.UpvoteCnt) + } + return offset +} + +func (p *ExptInsightAnalysisFeedback) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetDownvoteCnt() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 2) + offset += thrift.Binary.WriteI32(buf[offset:], *p.DownvoteCnt) + } + return offset +} + +func (p *ExptInsightAnalysisFeedback) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetCurrentUserVoteType() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.CurrentUserVoteType) + } + return offset +} + +func (p *ExptInsightAnalysisFeedback) field1Length() int { + l := 0 + if p.IsSetUpvoteCnt() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() + } + return l +} + +func (p *ExptInsightAnalysisFeedback) field2Length() int { + l := 0 + if p.IsSetDownvoteCnt() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() + } + return l +} + +func (p *ExptInsightAnalysisFeedback) field3Length() int { + l := 0 + if p.IsSetCurrentUserVoteType() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(*p.CurrentUserVoteType) + } + return l +} + +func (p *ExptInsightAnalysisFeedback) DeepCopy(s interface{}) error { + src, ok := s.(*ExptInsightAnalysisFeedback) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.UpvoteCnt != nil { + tmp := *src.UpvoteCnt + p.UpvoteCnt = &tmp + } + + if src.DownvoteCnt != nil { + tmp := *src.DownvoteCnt + p.DownvoteCnt = &tmp + } + + if src.CurrentUserVoteType != nil { + tmp := *src.CurrentUserVoteType + p.CurrentUserVoteType = &tmp + } + + return nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetCommentID bool = false + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetRecordID bool = false + var issetContent bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetCommentID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetContent = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 6: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetCommentID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetWorkspaceID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetRecordID { + fieldId = 4 + goto RequiredFieldNotSetError + } + + if !issetContent { + fieldId = 5 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExptInsightAnalysisFeedbackComment[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ExptInsightAnalysisFeedbackComment[fieldId])) +} + +func (p *ExptInsightAnalysisFeedbackComment) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.CommentID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastReadField4(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.RecordID = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastReadField5(buf []byte) (int, error) { + offset := 0 + + var _field string + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.Content = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastReadField6(buf []byte) (int, error) { + offset := 0 + _field := common.NewBaseInfo() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseInfo = _field + return offset, nil +} + +func (p *ExptInsightAnalysisFeedbackComment) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExptInsightAnalysisFeedbackComment) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField4(buf[offset:], w) + offset += p.fastWriteField5(buf[offset:], w) + offset += p.fastWriteField6(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field6Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.CommentID) + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 4) + offset += thrift.Binary.WriteI64(buf[offset:], p.RecordID) + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 5) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, p.Content) + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBaseInfo() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 6) + offset += p.BaseInfo.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExptInsightAnalysisFeedbackComment) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) field3Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) field4Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) field5Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(p.Content) + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) field6Length() int { + l := 0 + if p.IsSetBaseInfo() { + l += thrift.Binary.FieldBeginLength() + l += p.BaseInfo.BLength() + } + return l +} + +func (p *ExptInsightAnalysisFeedbackComment) DeepCopy(s interface{}) error { + src, ok := s.(*ExptInsightAnalysisFeedbackComment) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.CommentID = src.CommentID + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + p.RecordID = src.RecordID + + if src.Content != "" { + p.Content = kutils.StringDeepCopy(src.Content) + } + + var _baseInfo *common.BaseInfo + if src.BaseInfo != nil { + _baseInfo = &common.BaseInfo{} + if err := _baseInfo.DeepCopy(src.BaseInfo); err != nil { + return err + } + } + p.BaseInfo = _baseInfo + + return nil +} diff --git a/backend/kitex_gen/coze/loop/evaluation/experimentservice/client.go b/backend/kitex_gen/coze/loop/evaluation/experimentservice/client.go index 7554fd4fc..850ddb869 100644 --- a/backend/kitex_gen/coze/loop/evaluation/experimentservice/client.go +++ b/backend/kitex_gen/coze/loop/evaluation/experimentservice/client.go @@ -36,6 +36,12 @@ type Client interface { ExportExptResult_(ctx context.Context, req *expt.ExportExptResultRequest, callOptions ...callopt.Option) (r *expt.ExportExptResultResponse, err error) ListExptResultExportRecord(ctx context.Context, req *expt.ListExptResultExportRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptResultExportRecordResponse, err error) GetExptResultExportRecord(ctx context.Context, req *expt.GetExptResultExportRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptResultExportRecordResponse, err error) + InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (r *expt.InsightAnalysisExperimentResponse, err error) + ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisRecordResponse, err error) + DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) + GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptInsightAnalysisRecordResponse, err error) + FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) + ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisCommentResponse, err error) } // NewClient creates a client for the service defined in IDL. @@ -191,3 +197,33 @@ func (p *kExperimentServiceClient) GetExptResultExportRecord(ctx context.Context ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetExptResultExportRecord(ctx, req) } + +func (p *kExperimentServiceClient) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (r *expt.InsightAnalysisExperimentResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.InsightAnalysisExperiment(ctx, req) +} + +func (p *kExperimentServiceClient) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.ListExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.DeleteExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.GetExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.FeedbackExptInsightAnalysisReport(ctx, req) +} + +func (p *kExperimentServiceClient) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.ListExptInsightAnalysisComment(ctx, req) +} diff --git a/backend/kitex_gen/coze/loop/evaluation/experimentservice/experimentservice.go b/backend/kitex_gen/coze/loop/evaluation/experimentservice/experimentservice.go index 9acc6585f..ac3fd704c 100644 --- a/backend/kitex_gen/coze/loop/evaluation/experimentservice/experimentservice.go +++ b/backend/kitex_gen/coze/loop/evaluation/experimentservice/experimentservice.go @@ -189,6 +189,48 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), + "InsightAnalysisExperiment": kitex.NewMethodInfo( + insightAnalysisExperimentHandler, + newExperimentServiceInsightAnalysisExperimentArgs, + newExperimentServiceInsightAnalysisExperimentResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "ListExptInsightAnalysisRecord": kitex.NewMethodInfo( + listExptInsightAnalysisRecordHandler, + newExperimentServiceListExptInsightAnalysisRecordArgs, + newExperimentServiceListExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "DeleteExptInsightAnalysisRecord": kitex.NewMethodInfo( + deleteExptInsightAnalysisRecordHandler, + newExperimentServiceDeleteExptInsightAnalysisRecordArgs, + newExperimentServiceDeleteExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "GetExptInsightAnalysisRecord": kitex.NewMethodInfo( + getExptInsightAnalysisRecordHandler, + newExperimentServiceGetExptInsightAnalysisRecordArgs, + newExperimentServiceGetExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "FeedbackExptInsightAnalysisReport": kitex.NewMethodInfo( + feedbackExptInsightAnalysisReportHandler, + newExperimentServiceFeedbackExptInsightAnalysisReportArgs, + newExperimentServiceFeedbackExptInsightAnalysisReportResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "ListExptInsightAnalysisComment": kitex.NewMethodInfo( + listExptInsightAnalysisCommentHandler, + newExperimentServiceListExptInsightAnalysisCommentArgs, + newExperimentServiceListExptInsightAnalysisCommentResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), } var ( @@ -697,6 +739,120 @@ func newExperimentServiceGetExptResultExportRecordResult() interface{} { return expt.NewExperimentServiceGetExptResultExportRecordResult() } +func insightAnalysisExperimentHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceInsightAnalysisExperimentArgs) + realResult := result.(*expt.ExperimentServiceInsightAnalysisExperimentResult) + success, err := handler.(expt.ExperimentService).InsightAnalysisExperiment(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceInsightAnalysisExperimentArgs() interface{} { + return expt.NewExperimentServiceInsightAnalysisExperimentArgs() +} + +func newExperimentServiceInsightAnalysisExperimentResult() interface{} { + return expt.NewExperimentServiceInsightAnalysisExperimentResult() +} + +func listExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceListExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceListExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).ListExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceListExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceListExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisRecordResult() +} + +func deleteExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).DeleteExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceDeleteExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceDeleteExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceDeleteExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceDeleteExptInsightAnalysisRecordResult() +} + +func getExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceGetExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceGetExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).GetExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceGetExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceGetExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceGetExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceGetExptInsightAnalysisRecordResult() +} + +func feedbackExptInsightAnalysisReportHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs) + realResult := result.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult) + success, err := handler.(expt.ExperimentService).FeedbackExptInsightAnalysisReport(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceFeedbackExptInsightAnalysisReportArgs() interface{} { + return expt.NewExperimentServiceFeedbackExptInsightAnalysisReportArgs() +} + +func newExperimentServiceFeedbackExptInsightAnalysisReportResult() interface{} { + return expt.NewExperimentServiceFeedbackExptInsightAnalysisReportResult() +} + +func listExptInsightAnalysisCommentHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceListExptInsightAnalysisCommentArgs) + realResult := result.(*expt.ExperimentServiceListExptInsightAnalysisCommentResult) + success, err := handler.(expt.ExperimentService).ListExptInsightAnalysisComment(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceListExptInsightAnalysisCommentArgs() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisCommentArgs() +} + +func newExperimentServiceListExptInsightAnalysisCommentResult() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisCommentResult() +} + type kClient struct { c client.Client sc client.Streaming @@ -958,3 +1114,63 @@ func (p *kClient) GetExptResultExportRecord(ctx context.Context, req *expt.GetEx } return _result.GetSuccess(), nil } + +func (p *kClient) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest) (r *expt.InsightAnalysisExperimentResponse, err error) { + var _args expt.ExperimentServiceInsightAnalysisExperimentArgs + _args.Req = req + var _result expt.ExperimentServiceInsightAnalysisExperimentResult + if err = p.c.Call(ctx, "InsightAnalysisExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceListExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceListExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "ListExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "DeleteExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceGetExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceGetExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "GetExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + var _args expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs + _args.Req = req + var _result expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult + if err = p.c.Call(ctx, "FeedbackExptInsightAnalysisReport", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + var _args expt.ExperimentServiceListExptInsightAnalysisCommentArgs + _args.Req = req + var _result expt.ExperimentServiceListExptInsightAnalysisCommentResult + if err = p.c.Call(ctx, "ListExptInsightAnalysisComment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go index 53e900cc2..8c02837b4 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go @@ -21489,1610 +21489,8541 @@ func (p *GetExptResultExportRecordResponse) Field255DeepEqual(src *base.BaseResp return true } -type ExperimentService interface { - CheckExperimentName(ctx context.Context, req *CheckExperimentNameRequest) (r *CheckExperimentNameResponse, err error) - // CreateExperiment 只创建,不提交运行 - CreateExperiment(ctx context.Context, req *CreateExperimentRequest) (r *CreateExperimentResponse, err error) - // SubmitExperiment 创建并提交运行 - SubmitExperiment(ctx context.Context, req *SubmitExperimentRequest) (r *SubmitExperimentResponse, err error) +type GetExptInsightAnalysisRecordRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"insight_analysis_record_id" path:"insight_analysis_record_id,required" ` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +} - BatchGetExperiments(ctx context.Context, req *BatchGetExperimentsRequest) (r *BatchGetExperimentsResponse, err error) +func NewGetExptInsightAnalysisRecordRequest() *GetExptInsightAnalysisRecordRequest { + return &GetExptInsightAnalysisRecordRequest{} +} - ListExperiments(ctx context.Context, req *ListExperimentsRequest) (r *ListExperimentsResponse, err error) +func (p *GetExptInsightAnalysisRecordRequest) InitDefault() { +} - UpdateExperiment(ctx context.Context, req *UpdateExperimentRequest) (r *UpdateExperimentResponse, err error) +func (p *GetExptInsightAnalysisRecordRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} - DeleteExperiment(ctx context.Context, req *DeleteExperimentRequest) (r *DeleteExperimentResponse, err error) +func (p *GetExptInsightAnalysisRecordRequest) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} - BatchDeleteExperiments(ctx context.Context, req *BatchDeleteExperimentsRequest) (r *BatchDeleteExperimentsResponse, err error) +func (p *GetExptInsightAnalysisRecordRequest) GetInsightAnalysisRecordID() (v int64) { + if p != nil { + return p.InsightAnalysisRecordID + } + return +} - CloneExperiment(ctx context.Context, req *CloneExperimentRequest) (r *CloneExperimentResponse, err error) - // RunExperiment 运行已创建的实验 - RunExperiment(ctx context.Context, req *RunExperimentRequest) (r *RunExperimentResponse, err error) +var GetExptInsightAnalysisRecordRequest_Session_DEFAULT *common.Session - RetryExperiment(ctx context.Context, req *RetryExperimentRequest) (r *RetryExperimentResponse, err error) +func (p *GetExptInsightAnalysisRecordRequest) GetSession() (v *common.Session) { + if p == nil { + return + } + if !p.IsSetSession() { + return GetExptInsightAnalysisRecordRequest_Session_DEFAULT + } + return p.Session +} - KillExperiment(ctx context.Context, req *KillExperimentRequest) (r *KillExperimentResponse, err error) - // MGetExperimentResult 获取实验结果 - BatchGetExperimentResult_(ctx context.Context, req *BatchGetExperimentResultRequest) (r *BatchGetExperimentResultResponse, err error) +var GetExptInsightAnalysisRecordRequest_Base_DEFAULT *base.Base - BatchGetExperimentAggrResult_(ctx context.Context, req *BatchGetExperimentAggrResultRequest) (r *BatchGetExperimentAggrResultResponse, err error) - // 在线实验 - InvokeExperiment(ctx context.Context, req *InvokeExperimentRequest) (r *InvokeExperimentResponse, err error) +func (p *GetExptInsightAnalysisRecordRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return GetExptInsightAnalysisRecordRequest_Base_DEFAULT + } + return p.Base +} +func (p *GetExptInsightAnalysisRecordRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *GetExptInsightAnalysisRecordRequest) SetExptID(val int64) { + p.ExptID = val +} +func (p *GetExptInsightAnalysisRecordRequest) SetInsightAnalysisRecordID(val int64) { + p.InsightAnalysisRecordID = val +} +func (p *GetExptInsightAnalysisRecordRequest) SetSession(val *common.Session) { + p.Session = val +} +func (p *GetExptInsightAnalysisRecordRequest) SetBase(val *base.Base) { + p.Base = val +} - FinishExperiment(ctx context.Context, req *FinishExperimentRequest) (r *FinishExperimentResponse, err error) +var fieldIDToName_GetExptInsightAnalysisRecordRequest = map[int16]string{ + 1: "workspace_id", + 2: "expt_id", + 3: "insight_analysis_record_id", + 200: "session", + 255: "Base", +} - ListExperimentStats(ctx context.Context, req *ListExperimentStatsRequest) (r *ListExperimentStatsResponse, err error) - // 更新报告ck - UpsertExptTurnResultFilter(ctx context.Context, req *UpsertExptTurnResultFilterRequest) (r *UpsertExptTurnResultFilterResponse, err error) - // 人工标注 - AssociateAnnotationTag(ctx context.Context, req *AssociateAnnotationTagReq) (r *AssociateAnnotationTagResp, err error) +func (p *GetExptInsightAnalysisRecordRequest) IsSetSession() bool { + return p.Session != nil +} - DeleteAnnotationTag(ctx context.Context, req *DeleteAnnotationTagReq) (r *DeleteAnnotationTagResp, err error) +func (p *GetExptInsightAnalysisRecordRequest) IsSetBase() bool { + return p.Base != nil +} - CreateAnnotateRecord(ctx context.Context, req *CreateAnnotateRecordReq) (r *CreateAnnotateRecordResp, err error) +func (p *GetExptInsightAnalysisRecordRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false - UpdateAnnotateRecord(ctx context.Context, req *UpdateAnnotateRecordReq) (r *UpdateAnnotateRecordResp, err error) - // 报告下载 - ExportExptResult_(ctx context.Context, req *ExportExptResultRequest) (r *ExportExptResultResponse, err error) + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } - ListExptResultExportRecord(ctx context.Context, req *ListExptResultExportRecordRequest) (r *ListExptResultExportRecordResponse, err error) + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } - GetExptResultExportRecord(ctx context.Context, req *GetExptResultExportRecordRequest) (r *GetExptResultExportRecordResponse, err error) -} + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 200: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField200(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } -type ExperimentServiceClient struct { - c thrift.TClient -} + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } -func NewExperimentServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *ExperimentServiceClient { - return &ExperimentServiceClient{ - c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError } -} -func NewExperimentServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *ExperimentServiceClient { - return &ExperimentServiceClient{ - c: thrift.NewTStandardClient(iprot, oprot), + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetExptInsightAnalysisRecordRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_GetExptInsightAnalysisRecordRequest[fieldId])) } -func NewExperimentServiceClient(c thrift.TClient) *ExperimentServiceClient { - return &ExperimentServiceClient{ - c: c, +func (p *GetExptInsightAnalysisRecordRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v } + p.WorkspaceID = _field + return nil } +func (p *GetExptInsightAnalysisRecordRequest) ReadField2(iprot thrift.TProtocol) error { -func (p *ExperimentServiceClient) Client_() thrift.TClient { - return p.c + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil } +func (p *GetExptInsightAnalysisRecordRequest) ReadField3(iprot thrift.TProtocol) error { -func (p *ExperimentServiceClient) CheckExperimentName(ctx context.Context, req *CheckExperimentNameRequest) (r *CheckExperimentNameResponse, err error) { - var _args ExperimentServiceCheckExperimentNameArgs - _args.Req = req - var _result ExperimentServiceCheckExperimentNameResult - if err = p.Client_().Call(ctx, "CheckExperimentName", &_args, &_result); err != nil { - return + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v } - return _result.GetSuccess(), nil + p.InsightAnalysisRecordID = _field + return nil } -func (p *ExperimentServiceClient) CreateExperiment(ctx context.Context, req *CreateExperimentRequest) (r *CreateExperimentResponse, err error) { - var _args ExperimentServiceCreateExperimentArgs - _args.Req = req - var _result ExperimentServiceCreateExperimentResult - if err = p.Client_().Call(ctx, "CreateExperiment", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) ReadField200(iprot thrift.TProtocol) error { + _field := common.NewSession() + if err := _field.Read(iprot); err != nil { + return err } - return _result.GetSuccess(), nil + p.Session = _field + return nil } -func (p *ExperimentServiceClient) SubmitExperiment(ctx context.Context, req *SubmitExperimentRequest) (r *SubmitExperimentResponse, err error) { - var _args ExperimentServiceSubmitExperimentArgs - _args.Req = req - var _result ExperimentServiceSubmitExperimentResult - if err = p.Client_().Call(ctx, "SubmitExperiment", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err } - return _result.GetSuccess(), nil + p.Base = _field + return nil } -func (p *ExperimentServiceClient) BatchGetExperiments(ctx context.Context, req *BatchGetExperimentsRequest) (r *BatchGetExperimentsResponse, err error) { - var _args ExperimentServiceBatchGetExperimentsArgs - _args.Req = req - var _result ExperimentServiceBatchGetExperimentsResult - if err = p.Client_().Call(ctx, "BatchGetExperiments", &_args, &_result); err != nil { - return + +func (p *GetExptInsightAnalysisRecordRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("GetExptInsightAnalysisRecordRequest"); err != nil { + goto WriteStructBeginError } - return _result.GetSuccess(), nil -} -func (p *ExperimentServiceClient) ListExperiments(ctx context.Context, req *ListExperimentsRequest) (r *ListExperimentsResponse, err error) { - var _args ExperimentServiceListExperimentsArgs - _args.Req = req - var _result ExperimentServiceListExperimentsResult - if err = p.Client_().Call(ctx, "ListExperiments", &_args, &_result); err != nil { - return + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField200(oprot); err != nil { + fieldId = 200 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } } - return _result.GetSuccess(), nil -} -func (p *ExperimentServiceClient) UpdateExperiment(ctx context.Context, req *UpdateExperimentRequest) (r *UpdateExperimentResponse, err error) { - var _args ExperimentServiceUpdateExperimentArgs - _args.Req = req - var _result ExperimentServiceUpdateExperimentResult - if err = p.Client_().Call(ctx, "UpdateExperiment", &_args, &_result); err != nil { - return + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - return _result.GetSuccess(), nil -} -func (p *ExperimentServiceClient) DeleteExperiment(ctx context.Context, req *DeleteExperimentRequest) (r *DeleteExperimentResponse, err error) { - var _args ExperimentServiceDeleteExperimentArgs - _args.Req = req - var _result ExperimentServiceDeleteExperimentResult - if err = p.Client_().Call(ctx, "DeleteExperiment", &_args, &_result); err != nil { - return + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError } - return _result.GetSuccess(), nil + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceClient) BatchDeleteExperiments(ctx context.Context, req *BatchDeleteExperimentsRequest) (r *BatchDeleteExperimentsResponse, err error) { - var _args ExperimentServiceBatchDeleteExperimentsArgs - _args.Req = req - var _result ExperimentServiceBatchDeleteExperimentsResult - if err = p.Client_().Call(ctx, "BatchDeleteExperiments", &_args, &_result); err != nil { - return + +func (p *GetExptInsightAnalysisRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError } - return _result.GetSuccess(), nil -} -func (p *ExperimentServiceClient) CloneExperiment(ctx context.Context, req *CloneExperimentRequest) (r *CloneExperimentResponse, err error) { - var _args ExperimentServiceCloneExperimentArgs - _args.Req = req - var _result ExperimentServiceCloneExperimentResult - if err = p.Client_().Call(ctx, "CloneExperiment", &_args, &_result); err != nil { - return + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err } - return _result.GetSuccess(), nil -} -func (p *ExperimentServiceClient) RunExperiment(ctx context.Context, req *RunExperimentRequest) (r *RunExperimentResponse, err error) { - var _args ExperimentServiceRunExperimentArgs - _args.Req = req - var _result ExperimentServiceRunExperimentResult - if err = p.Client_().Call(ctx, "RunExperiment", &_args, &_result); err != nil { - return + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - return _result.GetSuccess(), nil + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceClient) RetryExperiment(ctx context.Context, req *RetryExperimentRequest) (r *RetryExperimentResponse, err error) { - var _args ExperimentServiceRetryExperimentArgs - _args.Req = req - var _result ExperimentServiceRetryExperimentResult - if err = p.Client_().Call(ctx, "RetryExperiment", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError } - return _result.GetSuccess(), nil + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ExperimentServiceClient) KillExperiment(ctx context.Context, req *KillExperimentRequest) (r *KillExperimentResponse, err error) { - var _args ExperimentServiceKillExperimentArgs - _args.Req = req - var _result ExperimentServiceKillExperimentResult - if err = p.Client_().Call(ctx, "KillExperiment", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("insight_analysis_record_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError } - return _result.GetSuccess(), nil + if err := oprot.WriteI64(p.InsightAnalysisRecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ExperimentServiceClient) BatchGetExperimentResult_(ctx context.Context, req *BatchGetExperimentResultRequest) (r *BatchGetExperimentResultResponse, err error) { - var _args ExperimentServiceBatchGetExperimentResultArgs - _args.Req = req - var _result ExperimentServiceBatchGetExperimentResultResult - if err = p.Client_().Call(ctx, "BatchGetExperimentResult", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) writeField200(oprot thrift.TProtocol) (err error) { + if p.IsSetSession() { + if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { + goto WriteFieldBeginError + } + if err := p.Session.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - return _result.GetSuccess(), nil + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 end error: ", p), err) } -func (p *ExperimentServiceClient) BatchGetExperimentAggrResult_(ctx context.Context, req *BatchGetExperimentAggrResultRequest) (r *BatchGetExperimentAggrResultResponse, err error) { - var _args ExperimentServiceBatchGetExperimentAggrResultArgs - _args.Req = req - var _result ExperimentServiceBatchGetExperimentAggrResultResult - if err = p.Client_().Call(ctx, "BatchGetExperimentAggrResult", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - return _result.GetSuccess(), nil + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ExperimentServiceClient) InvokeExperiment(ctx context.Context, req *InvokeExperimentRequest) (r *InvokeExperimentResponse, err error) { - var _args ExperimentServiceInvokeExperimentArgs - _args.Req = req - var _result ExperimentServiceInvokeExperimentResult - if err = p.Client_().Call(ctx, "InvokeExperiment", &_args, &_result); err != nil { - return + +func (p *GetExptInsightAnalysisRecordRequest) String() string { + if p == nil { + return "" } - return _result.GetSuccess(), nil + return fmt.Sprintf("GetExptInsightAnalysisRecordRequest(%+v)", *p) + } -func (p *ExperimentServiceClient) FinishExperiment(ctx context.Context, req *FinishExperimentRequest) (r *FinishExperimentResponse, err error) { - var _args ExperimentServiceFinishExperimentArgs - _args.Req = req - var _result ExperimentServiceFinishExperimentResult - if err = p.Client_().Call(ctx, "FinishExperiment", &_args, &_result); err != nil { - return + +func (p *GetExptInsightAnalysisRecordRequest) DeepEqual(ano *GetExptInsightAnalysisRecordRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - return _result.GetSuccess(), nil + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.ExptID) { + return false + } + if !p.Field3DeepEqual(ano.InsightAnalysisRecordID) { + return false + } + if !p.Field200DeepEqual(ano.Session) { + return false + } + if !p.Field255DeepEqual(ano.Base) { + return false + } + return true } -func (p *ExperimentServiceClient) ListExperimentStats(ctx context.Context, req *ListExperimentStatsRequest) (r *ListExperimentStatsResponse, err error) { - var _args ExperimentServiceListExperimentStatsArgs - _args.Req = req - var _result ExperimentServiceListExperimentStatsResult - if err = p.Client_().Call(ctx, "ListExperimentStats", &_args, &_result); err != nil { - return + +func (p *GetExptInsightAnalysisRecordRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false } - return _result.GetSuccess(), nil + return true } -func (p *ExperimentServiceClient) UpsertExptTurnResultFilter(ctx context.Context, req *UpsertExptTurnResultFilterRequest) (r *UpsertExptTurnResultFilterResponse, err error) { - var _args ExperimentServiceUpsertExptTurnResultFilterArgs - _args.Req = req - var _result ExperimentServiceUpsertExptTurnResultFilterResult - if err = p.Client_().Call(ctx, "UpsertExptTurnResultFilter", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) Field2DeepEqual(src int64) bool { + + if p.ExptID != src { + return false } - return _result.GetSuccess(), nil + return true } -func (p *ExperimentServiceClient) AssociateAnnotationTag(ctx context.Context, req *AssociateAnnotationTagReq) (r *AssociateAnnotationTagResp, err error) { - var _args ExperimentServiceAssociateAnnotationTagArgs - _args.Req = req - var _result ExperimentServiceAssociateAnnotationTagResult - if err = p.Client_().Call(ctx, "AssociateAnnotationTag", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) Field3DeepEqual(src int64) bool { + + if p.InsightAnalysisRecordID != src { + return false } - return _result.GetSuccess(), nil + return true } -func (p *ExperimentServiceClient) DeleteAnnotationTag(ctx context.Context, req *DeleteAnnotationTagReq) (r *DeleteAnnotationTagResp, err error) { - var _args ExperimentServiceDeleteAnnotationTagArgs - _args.Req = req - var _result ExperimentServiceDeleteAnnotationTagResult - if err = p.Client_().Call(ctx, "DeleteAnnotationTag", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) Field200DeepEqual(src *common.Session) bool { + + if !p.Session.DeepEqual(src) { + return false } - return _result.GetSuccess(), nil + return true } -func (p *ExperimentServiceClient) CreateAnnotateRecord(ctx context.Context, req *CreateAnnotateRecordReq) (r *CreateAnnotateRecordResp, err error) { - var _args ExperimentServiceCreateAnnotateRecordArgs - _args.Req = req - var _result ExperimentServiceCreateAnnotateRecordResult - if err = p.Client_().Call(ctx, "CreateAnnotateRecord", &_args, &_result); err != nil { - return +func (p *GetExptInsightAnalysisRecordRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false } - return _result.GetSuccess(), nil + return true } -func (p *ExperimentServiceClient) UpdateAnnotateRecord(ctx context.Context, req *UpdateAnnotateRecordReq) (r *UpdateAnnotateRecordResp, err error) { - var _args ExperimentServiceUpdateAnnotateRecordArgs - _args.Req = req - var _result ExperimentServiceUpdateAnnotateRecordResult - if err = p.Client_().Call(ctx, "UpdateAnnotateRecord", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil + +type GetExptInsightAnalysisRecordResponse struct { + ExptResultExportRecord *expt.ExptInsightAnalysisRecord `thrift:"expt_result_export_record,1,optional" frugal:"1,optional,expt.ExptInsightAnalysisRecord" form:"expt_result_export_record" json:"expt_result_export_record,omitempty" query:"expt_result_export_record"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -func (p *ExperimentServiceClient) ExportExptResult_(ctx context.Context, req *ExportExptResultRequest) (r *ExportExptResultResponse, err error) { - var _args ExperimentServiceExportExptResultArgs - _args.Req = req - var _result ExperimentServiceExportExptResultResult - if err = p.Client_().Call(ctx, "ExportExptResult", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil + +func NewGetExptInsightAnalysisRecordResponse() *GetExptInsightAnalysisRecordResponse { + return &GetExptInsightAnalysisRecordResponse{} } -func (p *ExperimentServiceClient) ListExptResultExportRecord(ctx context.Context, req *ListExptResultExportRecordRequest) (r *ListExptResultExportRecordResponse, err error) { - var _args ExperimentServiceListExptResultExportRecordArgs - _args.Req = req - var _result ExperimentServiceListExptResultExportRecordResult - if err = p.Client_().Call(ctx, "ListExptResultExportRecord", &_args, &_result); err != nil { + +func (p *GetExptInsightAnalysisRecordResponse) InitDefault() { +} + +var GetExptInsightAnalysisRecordResponse_ExptResultExportRecord_DEFAULT *expt.ExptInsightAnalysisRecord + +func (p *GetExptInsightAnalysisRecordResponse) GetExptResultExportRecord() (v *expt.ExptInsightAnalysisRecord) { + if p == nil { return } - return _result.GetSuccess(), nil + if !p.IsSetExptResultExportRecord() { + return GetExptInsightAnalysisRecordResponse_ExptResultExportRecord_DEFAULT + } + return p.ExptResultExportRecord } -func (p *ExperimentServiceClient) GetExptResultExportRecord(ctx context.Context, req *GetExptResultExportRecordRequest) (r *GetExptResultExportRecordResponse, err error) { - var _args ExperimentServiceGetExptResultExportRecordArgs - _args.Req = req - var _result ExperimentServiceGetExptResultExportRecordResult - if err = p.Client_().Call(ctx, "GetExptResultExportRecord", &_args, &_result); err != nil { + +var GetExptInsightAnalysisRecordResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *GetExptInsightAnalysisRecordResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { return } - return _result.GetSuccess(), nil + if !p.IsSetBaseResp() { + return GetExptInsightAnalysisRecordResponse_BaseResp_DEFAULT + } + return p.BaseResp } - -type ExperimentServiceProcessor struct { - processorMap map[string]thrift.TProcessorFunction - handler ExperimentService +func (p *GetExptInsightAnalysisRecordResponse) SetExptResultExportRecord(val *expt.ExptInsightAnalysisRecord) { + p.ExptResultExportRecord = val } - -func (p *ExperimentServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { - p.processorMap[key] = processor +func (p *GetExptInsightAnalysisRecordResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *ExperimentServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { - processor, ok = p.processorMap[key] - return processor, ok +var fieldIDToName_GetExptInsightAnalysisRecordResponse = map[int16]string{ + 1: "expt_result_export_record", + 255: "BaseResp", } -func (p *ExperimentServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { - return p.processorMap +func (p *GetExptInsightAnalysisRecordResponse) IsSetExptResultExportRecord() bool { + return p.ExptResultExportRecord != nil } -func NewExperimentServiceProcessor(handler ExperimentService) *ExperimentServiceProcessor { - self := &ExperimentServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} - self.AddToProcessorMap("CheckExperimentName", &experimentServiceProcessorCheckExperimentName{handler: handler}) - self.AddToProcessorMap("CreateExperiment", &experimentServiceProcessorCreateExperiment{handler: handler}) - self.AddToProcessorMap("SubmitExperiment", &experimentServiceProcessorSubmitExperiment{handler: handler}) - self.AddToProcessorMap("BatchGetExperiments", &experimentServiceProcessorBatchGetExperiments{handler: handler}) - self.AddToProcessorMap("ListExperiments", &experimentServiceProcessorListExperiments{handler: handler}) - self.AddToProcessorMap("UpdateExperiment", &experimentServiceProcessorUpdateExperiment{handler: handler}) - self.AddToProcessorMap("DeleteExperiment", &experimentServiceProcessorDeleteExperiment{handler: handler}) - self.AddToProcessorMap("BatchDeleteExperiments", &experimentServiceProcessorBatchDeleteExperiments{handler: handler}) - self.AddToProcessorMap("CloneExperiment", &experimentServiceProcessorCloneExperiment{handler: handler}) - self.AddToProcessorMap("RunExperiment", &experimentServiceProcessorRunExperiment{handler: handler}) - self.AddToProcessorMap("RetryExperiment", &experimentServiceProcessorRetryExperiment{handler: handler}) - self.AddToProcessorMap("KillExperiment", &experimentServiceProcessorKillExperiment{handler: handler}) - self.AddToProcessorMap("BatchGetExperimentResult", &experimentServiceProcessorBatchGetExperimentResult_{handler: handler}) - self.AddToProcessorMap("BatchGetExperimentAggrResult", &experimentServiceProcessorBatchGetExperimentAggrResult_{handler: handler}) - self.AddToProcessorMap("InvokeExperiment", &experimentServiceProcessorInvokeExperiment{handler: handler}) - self.AddToProcessorMap("FinishExperiment", &experimentServiceProcessorFinishExperiment{handler: handler}) - self.AddToProcessorMap("ListExperimentStats", &experimentServiceProcessorListExperimentStats{handler: handler}) - self.AddToProcessorMap("UpsertExptTurnResultFilter", &experimentServiceProcessorUpsertExptTurnResultFilter{handler: handler}) - self.AddToProcessorMap("AssociateAnnotationTag", &experimentServiceProcessorAssociateAnnotationTag{handler: handler}) - self.AddToProcessorMap("DeleteAnnotationTag", &experimentServiceProcessorDeleteAnnotationTag{handler: handler}) - self.AddToProcessorMap("CreateAnnotateRecord", &experimentServiceProcessorCreateAnnotateRecord{handler: handler}) - self.AddToProcessorMap("UpdateAnnotateRecord", &experimentServiceProcessorUpdateAnnotateRecord{handler: handler}) - self.AddToProcessorMap("ExportExptResult", &experimentServiceProcessorExportExptResult_{handler: handler}) - self.AddToProcessorMap("ListExptResultExportRecord", &experimentServiceProcessorListExptResultExportRecord{handler: handler}) - self.AddToProcessorMap("GetExptResultExportRecord", &experimentServiceProcessorGetExptResultExportRecord{handler: handler}) - return self +func (p *GetExptInsightAnalysisRecordResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *ExperimentServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - name, _, seqId, err := iprot.ReadMessageBegin() - if err != nil { - return false, err - } - if processor, ok := p.GetProcessorFunction(name); ok { - return processor.Process(ctx, seqId, iprot, oprot) + +func (p *GetExptInsightAnalysisRecordResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - iprot.Skip(thrift.STRUCT) - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) - oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, x -} -type experimentServiceProcessorCheckExperimentName struct { - handler ExperimentService -} + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } -func (p *experimentServiceProcessorCheckExperimentName) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceCheckExperimentNameArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CheckExperimentName", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceCheckExperimentNameResult{} - var retval *CheckExperimentNameResponse - if retval, err2 = p.handler.CheckExperimentName(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CheckExperimentName: "+err2.Error()) - oprot.WriteMessageBegin("CheckExperimentName", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetExptInsightAnalysisRecordResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *GetExptInsightAnalysisRecordResponse) ReadField1(iprot thrift.TProtocol) error { + _field := expt.NewExptInsightAnalysisRecord() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageBegin("CheckExperimentName", thrift.REPLY, seqId); err2 != nil { - err = err2 + p.ExptResultExportRecord = _field + return nil +} +func (p *GetExptInsightAnalysisRecordResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + p.BaseResp = _field + return nil +} + +func (p *GetExptInsightAnalysisRecordResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("GetExptInsightAnalysisRecordResponse"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - if err != nil { - return + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError } - return true, err -} - -type experimentServiceProcessorCreateExperiment struct { - handler ExperimentService + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *experimentServiceProcessorCreateExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceCreateExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CreateExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceCreateExperimentResult{} - var retval *CreateExperimentResponse - if retval, err2 = p.handler.CreateExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateExperiment: "+err2.Error()) - oprot.WriteMessageBegin("CreateExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("CreateExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 +func (p *GetExptInsightAnalysisRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetExptResultExportRecord() { + if err = oprot.WriteFieldBegin("expt_result_export_record", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.ExptResultExportRecord.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *GetExptInsightAnalysisRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if err := p.BaseResp.Write(oprot); err != nil { + return err } - if err != nil { - return + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - return true, err -} - -type experimentServiceProcessorSubmitExperiment struct { - handler ExperimentService + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *experimentServiceProcessorSubmitExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceSubmitExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("SubmitExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *GetExptInsightAnalysisRecordResponse) String() string { + if p == nil { + return "" } + return fmt.Sprintf("GetExptInsightAnalysisRecordResponse(%+v)", *p) - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceSubmitExperimentResult{} - var retval *SubmitExperimentResponse - if retval, err2 = p.handler.SubmitExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SubmitExperiment: "+err2.Error()) - oprot.WriteMessageBegin("SubmitExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("SubmitExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 +} + +func (p *GetExptInsightAnalysisRecordResponse) DeepEqual(ano *GetExptInsightAnalysisRecordResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field1DeepEqual(ano.ExptResultExportRecord) { + return false } - if err != nil { - return + if !p.Field255DeepEqual(ano.BaseResp) { + return false } - return true, err + return true } -type experimentServiceProcessorBatchGetExperiments struct { - handler ExperimentService -} +func (p *GetExptInsightAnalysisRecordResponse) Field1DeepEqual(src *expt.ExptInsightAnalysisRecord) bool { -func (p *experimentServiceProcessorBatchGetExperiments) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceBatchGetExperimentsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetExperiments", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err + if !p.ExptResultExportRecord.DeepEqual(src) { + return false } + return true +} +func (p *GetExptInsightAnalysisRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceBatchGetExperimentsResult{} - var retval *BatchGetExperimentsResponse - if retval, err2 = p.handler.BatchGetExperiments(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetExperiments: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetExperiments", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetExperiments", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return + if !p.BaseResp.DeepEqual(src) { + return false } - return true, err + return true } -type experimentServiceProcessorListExperiments struct { - handler ExperimentService +type InsightAnalysisExperimentRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func (p *experimentServiceProcessorListExperiments) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceListExperimentsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListExperiments", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewInsightAnalysisExperimentRequest() *InsightAnalysisExperimentRequest { + return &InsightAnalysisExperimentRequest{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceListExperimentsResult{} - var retval *ListExperimentsResponse - if retval, err2 = p.handler.ListExperiments(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExperiments: "+err2.Error()) - oprot.WriteMessageBegin("ListExperiments", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ListExperiments", thrift.REPLY, seqId); err2 != nil { - err = err2 +func (p *InsightAnalysisExperimentRequest) InitDefault() { +} + +func (p *InsightAnalysisExperimentRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + return +} + +func (p *InsightAnalysisExperimentRequest) GetExptID() (v int64) { + if p != nil { + return p.ExptID } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + return +} + +var InsightAnalysisExperimentRequest_Session_DEFAULT *common.Session + +func (p *InsightAnalysisExperimentRequest) GetSession() (v *common.Session) { + if p == nil { + return } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.IsSetSession() { + return InsightAnalysisExperimentRequest_Session_DEFAULT } - if err != nil { + return p.Session +} + +var InsightAnalysisExperimentRequest_Base_DEFAULT *base.Base + +func (p *InsightAnalysisExperimentRequest) GetBase() (v *base.Base) { + if p == nil { return } - return true, err + if !p.IsSetBase() { + return InsightAnalysisExperimentRequest_Base_DEFAULT + } + return p.Base +} +func (p *InsightAnalysisExperimentRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *InsightAnalysisExperimentRequest) SetExptID(val int64) { + p.ExptID = val +} +func (p *InsightAnalysisExperimentRequest) SetSession(val *common.Session) { + p.Session = val +} +func (p *InsightAnalysisExperimentRequest) SetBase(val *base.Base) { + p.Base = val } -type experimentServiceProcessorUpdateExperiment struct { - handler ExperimentService +var fieldIDToName_InsightAnalysisExperimentRequest = map[int16]string{ + 1: "workspace_id", + 2: "expt_id", + 200: "session", + 255: "Base", } -func (p *experimentServiceProcessorUpdateExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceUpdateExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("UpdateExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func (p *InsightAnalysisExperimentRequest) IsSetSession() bool { + return p.Session != nil +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceUpdateExperimentResult{} - var retval *UpdateExperimentResponse - if retval, err2 = p.handler.UpdateExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateExperiment: "+err2.Error()) - oprot.WriteMessageBegin("UpdateExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 +func (p *InsightAnalysisExperimentRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *InsightAnalysisExperimentRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 200: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField200(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InsightAnalysisExperimentRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_InsightAnalysisExperimentRequest[fieldId])) +} + +func (p *InsightAnalysisExperimentRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err } else { - result.Success = retval + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *InsightAnalysisExperimentRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *InsightAnalysisExperimentRequest) ReadField200(iprot thrift.TProtocol) error { + _field := common.NewSession() + if err := _field.Read(iprot); err != nil { + return err + } + p.Session = _field + return nil +} +func (p *InsightAnalysisExperimentRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *InsightAnalysisExperimentRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("InsightAnalysisExperimentRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField200(oprot); err != nil { + fieldId = 200 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *InsightAnalysisExperimentRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *InsightAnalysisExperimentRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *InsightAnalysisExperimentRequest) writeField200(oprot thrift.TProtocol) (err error) { + if p.IsSetSession() { + if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { + goto WriteFieldBeginError + } + if err := p.Session.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 end error: ", p), err) +} +func (p *InsightAnalysisExperimentRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *InsightAnalysisExperimentRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InsightAnalysisExperimentRequest(%+v)", *p) + +} + +func (p *InsightAnalysisExperimentRequest) DeepEqual(ano *InsightAnalysisExperimentRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.ExptID) { + return false + } + if !p.Field200DeepEqual(ano.Session) { + return false + } + if !p.Field255DeepEqual(ano.Base) { + return false + } + return true +} + +func (p *InsightAnalysisExperimentRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *InsightAnalysisExperimentRequest) Field2DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *InsightAnalysisExperimentRequest) Field200DeepEqual(src *common.Session) bool { + + if !p.Session.DeepEqual(src) { + return false + } + return true +} +func (p *InsightAnalysisExperimentRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type InsightAnalysisExperimentResponse struct { + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,1,required" frugal:"1,required,i64" json:"insight_analysis_record_id" form:"insight_analysis_record_id,required" ` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +} + +func NewInsightAnalysisExperimentResponse() *InsightAnalysisExperimentResponse { + return &InsightAnalysisExperimentResponse{} +} + +func (p *InsightAnalysisExperimentResponse) InitDefault() { +} + +func (p *InsightAnalysisExperimentResponse) GetInsightAnalysisRecordID() (v int64) { + if p != nil { + return p.InsightAnalysisRecordID + } + return +} + +var InsightAnalysisExperimentResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *InsightAnalysisExperimentResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return + } + if !p.IsSetBaseResp() { + return InsightAnalysisExperimentResponse_BaseResp_DEFAULT + } + return p.BaseResp +} +func (p *InsightAnalysisExperimentResponse) SetInsightAnalysisRecordID(val int64) { + p.InsightAnalysisRecordID = val +} +func (p *InsightAnalysisExperimentResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val +} + +var fieldIDToName_InsightAnalysisExperimentResponse = map[int16]string{ + 1: "insight_analysis_record_id", + 255: "BaseResp", +} + +func (p *InsightAnalysisExperimentResponse) IsSetBaseResp() bool { + return p.BaseResp != nil +} + +func (p *InsightAnalysisExperimentResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetInsightAnalysisRecordID bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetInsightAnalysisRecordID { + fieldId = 1 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InsightAnalysisExperimentResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_InsightAnalysisExperimentResponse[fieldId])) +} + +func (p *InsightAnalysisExperimentResponse) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.InsightAnalysisRecordID = _field + return nil +} +func (p *InsightAnalysisExperimentResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseResp = _field + return nil +} + +func (p *InsightAnalysisExperimentResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("InsightAnalysisExperimentResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *InsightAnalysisExperimentResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("insight_analysis_record_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.InsightAnalysisRecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *InsightAnalysisExperimentResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *InsightAnalysisExperimentResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("InsightAnalysisExperimentResponse(%+v)", *p) + +} + +func (p *InsightAnalysisExperimentResponse) DeepEqual(ano *InsightAnalysisExperimentResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.InsightAnalysisRecordID) { + return false + } + if !p.Field255DeepEqual(ano.BaseResp) { + return false + } + return true +} + +func (p *InsightAnalysisExperimentResponse) Field1DeepEqual(src int64) bool { + + if p.InsightAnalysisRecordID != src { + return false + } + return true +} +func (p *InsightAnalysisExperimentResponse) Field255DeepEqual(src *base.BaseResp) bool { + + if !p.BaseResp.DeepEqual(src) { + return false + } + return true +} + +type ListExptInsightAnalysisRecordRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` + PageNumber *int32 `thrift:"page_number,3,optional" frugal:"3,optional,i32" form:"page_number" json:"page_number,omitempty"` + PageSize *int32 `thrift:"page_size,4,optional" frugal:"4,optional,i32" form:"page_size" json:"page_size,omitempty"` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +} + +func NewListExptInsightAnalysisRecordRequest() *ListExptInsightAnalysisRecordRequest { + return &ListExptInsightAnalysisRecordRequest{} +} + +func (p *ListExptInsightAnalysisRecordRequest) InitDefault() { +} + +func (p *ListExptInsightAnalysisRecordRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} + +func (p *ListExptInsightAnalysisRecordRequest) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} + +var ListExptInsightAnalysisRecordRequest_PageNumber_DEFAULT int32 + +func (p *ListExptInsightAnalysisRecordRequest) GetPageNumber() (v int32) { + if p == nil { + return + } + if !p.IsSetPageNumber() { + return ListExptInsightAnalysisRecordRequest_PageNumber_DEFAULT + } + return *p.PageNumber +} + +var ListExptInsightAnalysisRecordRequest_PageSize_DEFAULT int32 + +func (p *ListExptInsightAnalysisRecordRequest) GetPageSize() (v int32) { + if p == nil { + return + } + if !p.IsSetPageSize() { + return ListExptInsightAnalysisRecordRequest_PageSize_DEFAULT + } + return *p.PageSize +} + +var ListExptInsightAnalysisRecordRequest_Session_DEFAULT *common.Session + +func (p *ListExptInsightAnalysisRecordRequest) GetSession() (v *common.Session) { + if p == nil { + return + } + if !p.IsSetSession() { + return ListExptInsightAnalysisRecordRequest_Session_DEFAULT + } + return p.Session +} + +var ListExptInsightAnalysisRecordRequest_Base_DEFAULT *base.Base + +func (p *ListExptInsightAnalysisRecordRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return ListExptInsightAnalysisRecordRequest_Base_DEFAULT + } + return p.Base +} +func (p *ListExptInsightAnalysisRecordRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *ListExptInsightAnalysisRecordRequest) SetExptID(val int64) { + p.ExptID = val +} +func (p *ListExptInsightAnalysisRecordRequest) SetPageNumber(val *int32) { + p.PageNumber = val +} +func (p *ListExptInsightAnalysisRecordRequest) SetPageSize(val *int32) { + p.PageSize = val +} +func (p *ListExptInsightAnalysisRecordRequest) SetSession(val *common.Session) { + p.Session = val +} +func (p *ListExptInsightAnalysisRecordRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_ListExptInsightAnalysisRecordRequest = map[int16]string{ + 1: "workspace_id", + 2: "expt_id", + 3: "page_number", + 4: "page_size", + 200: "session", + 255: "Base", +} + +func (p *ListExptInsightAnalysisRecordRequest) IsSetPageNumber() bool { + return p.PageNumber != nil +} + +func (p *ListExptInsightAnalysisRecordRequest) IsSetPageSize() bool { + return p.PageSize != nil +} + +func (p *ListExptInsightAnalysisRecordRequest) IsSetSession() bool { + return p.Session != nil +} + +func (p *ListExptInsightAnalysisRecordRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *ListExptInsightAnalysisRecordRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I32 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.I32 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 200: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField200(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisRecordRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisRecordRequest[fieldId])) +} + +func (p *ListExptInsightAnalysisRecordRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *ListExptInsightAnalysisRecordRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *ListExptInsightAnalysisRecordRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.PageNumber = _field + return nil +} +func (p *ListExptInsightAnalysisRecordRequest) ReadField4(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.PageSize = _field + return nil +} +func (p *ListExptInsightAnalysisRecordRequest) ReadField200(iprot thrift.TProtocol) error { + _field := common.NewSession() + if err := _field.Read(iprot); err != nil { + return err + } + p.Session = _field + return nil +} +func (p *ListExptInsightAnalysisRecordRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *ListExptInsightAnalysisRecordRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListExptInsightAnalysisRecordRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField200(oprot); err != nil { + fieldId = 200 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ListExptInsightAnalysisRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetPageNumber() { + if err = oprot.WriteFieldBegin("page_number", thrift.I32, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.PageNumber); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetPageSize() { + if err = oprot.WriteFieldBegin("page_size", thrift.I32, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.PageSize); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordRequest) writeField200(oprot thrift.TProtocol) (err error) { + if p.IsSetSession() { + if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { + goto WriteFieldBeginError + } + if err := p.Session.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *ListExptInsightAnalysisRecordRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ListExptInsightAnalysisRecordRequest(%+v)", *p) + +} + +func (p *ListExptInsightAnalysisRecordRequest) DeepEqual(ano *ListExptInsightAnalysisRecordRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.ExptID) { + return false + } + if !p.Field3DeepEqual(ano.PageNumber) { + return false + } + if !p.Field4DeepEqual(ano.PageSize) { + return false + } + if !p.Field200DeepEqual(ano.Session) { + return false + } + if !p.Field255DeepEqual(ano.Base) { + return false + } + return true +} + +func (p *ListExptInsightAnalysisRecordRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *ListExptInsightAnalysisRecordRequest) Field2DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *ListExptInsightAnalysisRecordRequest) Field3DeepEqual(src *int32) bool { + + if p.PageNumber == src { + return true + } else if p.PageNumber == nil || src == nil { + return false + } + if *p.PageNumber != *src { + return false + } + return true +} +func (p *ListExptInsightAnalysisRecordRequest) Field4DeepEqual(src *int32) bool { + + if p.PageSize == src { + return true + } else if p.PageSize == nil || src == nil { + return false + } + if *p.PageSize != *src { + return false + } + return true +} +func (p *ListExptInsightAnalysisRecordRequest) Field200DeepEqual(src *common.Session) bool { + + if !p.Session.DeepEqual(src) { + return false + } + return true +} +func (p *ListExptInsightAnalysisRecordRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type ListExptInsightAnalysisRecordResponse struct { + ExptResultExportRecords []*expt.ExptInsightAnalysisRecord `thrift:"expt_result_export_records,1,required" frugal:"1,required,list" form:"expt_result_export_records,required" json:"expt_result_export_records,required" query:"expt_result_export_records,required"` + Total *int64 `thrift:"total,20,optional" frugal:"20,optional,i64" json:"total" form:"total" ` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +} + +func NewListExptInsightAnalysisRecordResponse() *ListExptInsightAnalysisRecordResponse { + return &ListExptInsightAnalysisRecordResponse{} +} + +func (p *ListExptInsightAnalysisRecordResponse) InitDefault() { +} + +func (p *ListExptInsightAnalysisRecordResponse) GetExptResultExportRecords() (v []*expt.ExptInsightAnalysisRecord) { + if p != nil { + return p.ExptResultExportRecords + } + return +} + +var ListExptInsightAnalysisRecordResponse_Total_DEFAULT int64 + +func (p *ListExptInsightAnalysisRecordResponse) GetTotal() (v int64) { + if p == nil { + return + } + if !p.IsSetTotal() { + return ListExptInsightAnalysisRecordResponse_Total_DEFAULT + } + return *p.Total +} + +var ListExptInsightAnalysisRecordResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *ListExptInsightAnalysisRecordResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return + } + if !p.IsSetBaseResp() { + return ListExptInsightAnalysisRecordResponse_BaseResp_DEFAULT + } + return p.BaseResp +} +func (p *ListExptInsightAnalysisRecordResponse) SetExptResultExportRecords(val []*expt.ExptInsightAnalysisRecord) { + p.ExptResultExportRecords = val +} +func (p *ListExptInsightAnalysisRecordResponse) SetTotal(val *int64) { + p.Total = val +} +func (p *ListExptInsightAnalysisRecordResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val +} + +var fieldIDToName_ListExptInsightAnalysisRecordResponse = map[int16]string{ + 1: "expt_result_export_records", + 20: "total", + 255: "BaseResp", +} + +func (p *ListExptInsightAnalysisRecordResponse) IsSetTotal() bool { + return p.Total != nil +} + +func (p *ListExptInsightAnalysisRecordResponse) IsSetBaseResp() bool { + return p.BaseResp != nil +} + +func (p *ListExptInsightAnalysisRecordResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetExptResultExportRecords bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetExptResultExportRecords = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 20: + if fieldTypeId == thrift.I64 { + if err = p.ReadField20(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetExptResultExportRecords { + fieldId = 1 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisRecordResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisRecordResponse[fieldId])) +} + +func (p *ListExptInsightAnalysisRecordResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*expt.ExptInsightAnalysisRecord, 0, size) + values := make([]expt.ExptInsightAnalysisRecord, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.ExptResultExportRecords = _field + return nil +} +func (p *ListExptInsightAnalysisRecordResponse) ReadField20(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.Total = _field + return nil +} +func (p *ListExptInsightAnalysisRecordResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseResp = _field + return nil +} + +func (p *ListExptInsightAnalysisRecordResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListExptInsightAnalysisRecordResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField20(oprot); err != nil { + fieldId = 20 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ListExptInsightAnalysisRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_result_export_records", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.ExptResultExportRecords)); err != nil { + return err + } + for _, v := range p.ExptResultExportRecords { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordResponse) writeField20(oprot thrift.TProtocol) (err error) { + if p.IsSetTotal() { + if err = oprot.WriteFieldBegin("total", thrift.I64, 20); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.Total); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) +} +func (p *ListExptInsightAnalysisRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *ListExptInsightAnalysisRecordResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ListExptInsightAnalysisRecordResponse(%+v)", *p) + +} + +func (p *ListExptInsightAnalysisRecordResponse) DeepEqual(ano *ListExptInsightAnalysisRecordResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.ExptResultExportRecords) { + return false + } + if !p.Field20DeepEqual(ano.Total) { + return false + } + if !p.Field255DeepEqual(ano.BaseResp) { + return false + } + return true +} + +func (p *ListExptInsightAnalysisRecordResponse) Field1DeepEqual(src []*expt.ExptInsightAnalysisRecord) bool { + + if len(p.ExptResultExportRecords) != len(src) { + return false + } + for i, v := range p.ExptResultExportRecords { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ListExptInsightAnalysisRecordResponse) Field20DeepEqual(src *int64) bool { + + if p.Total == src { + return true + } else if p.Total == nil || src == nil { + return false + } + if *p.Total != *src { + return false + } + return true +} +func (p *ListExptInsightAnalysisRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { + + if !p.BaseResp.DeepEqual(src) { + return false + } + return true +} + +type DeleteExptInsightAnalysisRecordRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"insight_analysis_record_id" path:"insight_analysis_record_id,required" ` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +} + +func NewDeleteExptInsightAnalysisRecordRequest() *DeleteExptInsightAnalysisRecordRequest { + return &DeleteExptInsightAnalysisRecordRequest{} +} + +func (p *DeleteExptInsightAnalysisRecordRequest) InitDefault() { +} + +func (p *DeleteExptInsightAnalysisRecordRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} + +func (p *DeleteExptInsightAnalysisRecordRequest) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} + +func (p *DeleteExptInsightAnalysisRecordRequest) GetInsightAnalysisRecordID() (v int64) { + if p != nil { + return p.InsightAnalysisRecordID + } + return +} + +var DeleteExptInsightAnalysisRecordRequest_Session_DEFAULT *common.Session + +func (p *DeleteExptInsightAnalysisRecordRequest) GetSession() (v *common.Session) { + if p == nil { + return + } + if !p.IsSetSession() { + return DeleteExptInsightAnalysisRecordRequest_Session_DEFAULT + } + return p.Session +} + +var DeleteExptInsightAnalysisRecordRequest_Base_DEFAULT *base.Base + +func (p *DeleteExptInsightAnalysisRecordRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return DeleteExptInsightAnalysisRecordRequest_Base_DEFAULT + } + return p.Base +} +func (p *DeleteExptInsightAnalysisRecordRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *DeleteExptInsightAnalysisRecordRequest) SetExptID(val int64) { + p.ExptID = val +} +func (p *DeleteExptInsightAnalysisRecordRequest) SetInsightAnalysisRecordID(val int64) { + p.InsightAnalysisRecordID = val +} +func (p *DeleteExptInsightAnalysisRecordRequest) SetSession(val *common.Session) { + p.Session = val +} +func (p *DeleteExptInsightAnalysisRecordRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_DeleteExptInsightAnalysisRecordRequest = map[int16]string{ + 1: "workspace_id", + 2: "expt_id", + 3: "insight_analysis_record_id", + 200: "session", + 255: "Base", +} + +func (p *DeleteExptInsightAnalysisRecordRequest) IsSetSession() bool { + return p.Session != nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 200: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField200(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteExptInsightAnalysisRecordRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DeleteExptInsightAnalysisRecordRequest[fieldId])) +} + +func (p *DeleteExptInsightAnalysisRecordRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *DeleteExptInsightAnalysisRecordRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *DeleteExptInsightAnalysisRecordRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.InsightAnalysisRecordID = _field + return nil +} +func (p *DeleteExptInsightAnalysisRecordRequest) ReadField200(iprot thrift.TProtocol) error { + _field := common.NewSession() + if err := _field.Read(iprot); err != nil { + return err + } + p.Session = _field + return nil +} +func (p *DeleteExptInsightAnalysisRecordRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("DeleteExptInsightAnalysisRecordRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField200(oprot); err != nil { + fieldId = 200 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *DeleteExptInsightAnalysisRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *DeleteExptInsightAnalysisRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *DeleteExptInsightAnalysisRecordRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("insight_analysis_record_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.InsightAnalysisRecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *DeleteExptInsightAnalysisRecordRequest) writeField200(oprot thrift.TProtocol) (err error) { + if p.IsSetSession() { + if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { + goto WriteFieldBeginError + } + if err := p.Session.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 end error: ", p), err) +} +func (p *DeleteExptInsightAnalysisRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *DeleteExptInsightAnalysisRecordRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DeleteExptInsightAnalysisRecordRequest(%+v)", *p) + +} + +func (p *DeleteExptInsightAnalysisRecordRequest) DeepEqual(ano *DeleteExptInsightAnalysisRecordRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.ExptID) { + return false + } + if !p.Field3DeepEqual(ano.InsightAnalysisRecordID) { + return false + } + if !p.Field200DeepEqual(ano.Session) { + return false + } + if !p.Field255DeepEqual(ano.Base) { + return false + } + return true +} + +func (p *DeleteExptInsightAnalysisRecordRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *DeleteExptInsightAnalysisRecordRequest) Field2DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *DeleteExptInsightAnalysisRecordRequest) Field3DeepEqual(src int64) bool { + + if p.InsightAnalysisRecordID != src { + return false + } + return true +} +func (p *DeleteExptInsightAnalysisRecordRequest) Field200DeepEqual(src *common.Session) bool { + + if !p.Session.DeepEqual(src) { + return false + } + return true +} +func (p *DeleteExptInsightAnalysisRecordRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type DeleteExptInsightAnalysisRecordResponse struct { + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +} + +func NewDeleteExptInsightAnalysisRecordResponse() *DeleteExptInsightAnalysisRecordResponse { + return &DeleteExptInsightAnalysisRecordResponse{} +} + +func (p *DeleteExptInsightAnalysisRecordResponse) InitDefault() { +} + +var DeleteExptInsightAnalysisRecordResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *DeleteExptInsightAnalysisRecordResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return + } + if !p.IsSetBaseResp() { + return DeleteExptInsightAnalysisRecordResponse_BaseResp_DEFAULT + } + return p.BaseResp +} +func (p *DeleteExptInsightAnalysisRecordResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val +} + +var fieldIDToName_DeleteExptInsightAnalysisRecordResponse = map[int16]string{ + 255: "BaseResp", +} + +func (p *DeleteExptInsightAnalysisRecordResponse) IsSetBaseResp() bool { + return p.BaseResp != nil +} + +func (p *DeleteExptInsightAnalysisRecordResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteExptInsightAnalysisRecordResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *DeleteExptInsightAnalysisRecordResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseResp = _field + return nil +} + +func (p *DeleteExptInsightAnalysisRecordResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("DeleteExptInsightAnalysisRecordResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *DeleteExptInsightAnalysisRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *DeleteExptInsightAnalysisRecordResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("DeleteExptInsightAnalysisRecordResponse(%+v)", *p) + +} + +func (p *DeleteExptInsightAnalysisRecordResponse) DeepEqual(ano *DeleteExptInsightAnalysisRecordResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field255DeepEqual(ano.BaseResp) { + return false + } + return true +} + +func (p *DeleteExptInsightAnalysisRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { + + if !p.BaseResp.DeepEqual(src) { + return false + } + return true +} + +type FeedbackExptInsightAnalysisReportRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"export_id" path:"export_id,required" ` + FeedbackActionType expt.FeedbackActionType `thrift:"FeedbackActionType,4,required" frugal:"4,required,string" form:"FeedbackActionType,required" json:"FeedbackActionType,required" query:"FeedbackActionType,required"` + Comment *string `thrift:"comment,5,optional" frugal:"5,optional,string" form:"comment" json:"comment,omitempty" query:"comment"` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +} + +func NewFeedbackExptInsightAnalysisReportRequest() *FeedbackExptInsightAnalysisReportRequest { + return &FeedbackExptInsightAnalysisReportRequest{} +} + +func (p *FeedbackExptInsightAnalysisReportRequest) InitDefault() { +} + +func (p *FeedbackExptInsightAnalysisReportRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} + +func (p *FeedbackExptInsightAnalysisReportRequest) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} + +func (p *FeedbackExptInsightAnalysisReportRequest) GetInsightAnalysisRecordID() (v int64) { + if p != nil { + return p.InsightAnalysisRecordID + } + return +} + +func (p *FeedbackExptInsightAnalysisReportRequest) GetFeedbackActionType() (v expt.FeedbackActionType) { + if p != nil { + return p.FeedbackActionType + } + return +} + +var FeedbackExptInsightAnalysisReportRequest_Comment_DEFAULT string + +func (p *FeedbackExptInsightAnalysisReportRequest) GetComment() (v string) { + if p == nil { + return + } + if !p.IsSetComment() { + return FeedbackExptInsightAnalysisReportRequest_Comment_DEFAULT + } + return *p.Comment +} + +var FeedbackExptInsightAnalysisReportRequest_Session_DEFAULT *common.Session + +func (p *FeedbackExptInsightAnalysisReportRequest) GetSession() (v *common.Session) { + if p == nil { + return + } + if !p.IsSetSession() { + return FeedbackExptInsightAnalysisReportRequest_Session_DEFAULT + } + return p.Session +} + +var FeedbackExptInsightAnalysisReportRequest_Base_DEFAULT *base.Base + +func (p *FeedbackExptInsightAnalysisReportRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return FeedbackExptInsightAnalysisReportRequest_Base_DEFAULT + } + return p.Base +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetExptID(val int64) { + p.ExptID = val +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetInsightAnalysisRecordID(val int64) { + p.InsightAnalysisRecordID = val +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetFeedbackActionType(val expt.FeedbackActionType) { + p.FeedbackActionType = val +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetComment(val *string) { + p.Comment = val +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetSession(val *common.Session) { + p.Session = val +} +func (p *FeedbackExptInsightAnalysisReportRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_FeedbackExptInsightAnalysisReportRequest = map[int16]string{ + 1: "workspace_id", + 2: "expt_id", + 3: "insight_analysis_record_id", + 4: "FeedbackActionType", + 5: "comment", + 200: "session", + 255: "Base", +} + +func (p *FeedbackExptInsightAnalysisReportRequest) IsSetComment() bool { + return p.Comment != nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) IsSetSession() bool { + return p.Session != nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + var issetFeedbackActionType bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + issetFeedbackActionType = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.STRING { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 200: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField200(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetFeedbackActionType { + fieldId = 4 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_FeedbackExptInsightAnalysisReportRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_FeedbackExptInsightAnalysisReportRequest[fieldId])) +} + +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.InsightAnalysisRecordID = _field + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField4(iprot thrift.TProtocol) error { + + var _field expt.FeedbackActionType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.FeedbackActionType = _field + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField5(iprot thrift.TProtocol) error { + + var _field *string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.Comment = _field + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField200(iprot thrift.TProtocol) error { + _field := common.NewSession() + if err := _field.Read(iprot); err != nil { + return err + } + p.Session = _field + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("FeedbackExptInsightAnalysisReportRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField200(oprot); err != nil { + fieldId = 200 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *FeedbackExptInsightAnalysisReportRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *FeedbackExptInsightAnalysisReportRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *FeedbackExptInsightAnalysisReportRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("insight_analysis_record_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.InsightAnalysisRecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *FeedbackExptInsightAnalysisReportRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("FeedbackActionType", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.FeedbackActionType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *FeedbackExptInsightAnalysisReportRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetComment() { + if err = oprot.WriteFieldBegin("comment", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Comment); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *FeedbackExptInsightAnalysisReportRequest) writeField200(oprot thrift.TProtocol) (err error) { + if p.IsSetSession() { + if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { + goto WriteFieldBeginError + } + if err := p.Session.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 end error: ", p), err) +} +func (p *FeedbackExptInsightAnalysisReportRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *FeedbackExptInsightAnalysisReportRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("FeedbackExptInsightAnalysisReportRequest(%+v)", *p) + +} + +func (p *FeedbackExptInsightAnalysisReportRequest) DeepEqual(ano *FeedbackExptInsightAnalysisReportRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.ExptID) { + return false + } + if !p.Field3DeepEqual(ano.InsightAnalysisRecordID) { + return false + } + if !p.Field4DeepEqual(ano.FeedbackActionType) { + return false + } + if !p.Field5DeepEqual(ano.Comment) { + return false + } + if !p.Field200DeepEqual(ano.Session) { + return false + } + if !p.Field255DeepEqual(ano.Base) { + return false + } + return true +} + +func (p *FeedbackExptInsightAnalysisReportRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *FeedbackExptInsightAnalysisReportRequest) Field2DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *FeedbackExptInsightAnalysisReportRequest) Field3DeepEqual(src int64) bool { + + if p.InsightAnalysisRecordID != src { + return false + } + return true +} +func (p *FeedbackExptInsightAnalysisReportRequest) Field4DeepEqual(src expt.FeedbackActionType) bool { + + if strings.Compare(p.FeedbackActionType, src) != 0 { + return false + } + return true +} +func (p *FeedbackExptInsightAnalysisReportRequest) Field5DeepEqual(src *string) bool { + + if p.Comment == src { + return true + } else if p.Comment == nil || src == nil { + return false + } + if strings.Compare(*p.Comment, *src) != 0 { + return false + } + return true +} +func (p *FeedbackExptInsightAnalysisReportRequest) Field200DeepEqual(src *common.Session) bool { + + if !p.Session.DeepEqual(src) { + return false + } + return true +} +func (p *FeedbackExptInsightAnalysisReportRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type FeedbackExptInsightAnalysisReportResponse struct { + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +} + +func NewFeedbackExptInsightAnalysisReportResponse() *FeedbackExptInsightAnalysisReportResponse { + return &FeedbackExptInsightAnalysisReportResponse{} +} + +func (p *FeedbackExptInsightAnalysisReportResponse) InitDefault() { +} + +var FeedbackExptInsightAnalysisReportResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *FeedbackExptInsightAnalysisReportResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return + } + if !p.IsSetBaseResp() { + return FeedbackExptInsightAnalysisReportResponse_BaseResp_DEFAULT + } + return p.BaseResp +} +func (p *FeedbackExptInsightAnalysisReportResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val +} + +var fieldIDToName_FeedbackExptInsightAnalysisReportResponse = map[int16]string{ + 255: "BaseResp", +} + +func (p *FeedbackExptInsightAnalysisReportResponse) IsSetBaseResp() bool { + return p.BaseResp != nil +} + +func (p *FeedbackExptInsightAnalysisReportResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_FeedbackExptInsightAnalysisReportResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *FeedbackExptInsightAnalysisReportResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseResp = _field + return nil +} + +func (p *FeedbackExptInsightAnalysisReportResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("FeedbackExptInsightAnalysisReportResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *FeedbackExptInsightAnalysisReportResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *FeedbackExptInsightAnalysisReportResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("FeedbackExptInsightAnalysisReportResponse(%+v)", *p) + +} + +func (p *FeedbackExptInsightAnalysisReportResponse) DeepEqual(ano *FeedbackExptInsightAnalysisReportResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field255DeepEqual(ano.BaseResp) { + return false + } + return true +} + +func (p *FeedbackExptInsightAnalysisReportResponse) Field255DeepEqual(src *base.BaseResp) bool { + + if !p.BaseResp.DeepEqual(src) { + return false + } + return true +} + +type ListExptInsightAnalysisCommentRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"export_id" path:"export_id,required" ` + PageNumber *int32 `thrift:"page_number,4,optional" frugal:"4,optional,i32" form:"page_number" json:"page_number,omitempty"` + PageSize *int32 `thrift:"page_size,5,optional" frugal:"5,optional,i32" form:"page_size" json:"page_size,omitempty"` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +} + +func NewListExptInsightAnalysisCommentRequest() *ListExptInsightAnalysisCommentRequest { + return &ListExptInsightAnalysisCommentRequest{} +} + +func (p *ListExptInsightAnalysisCommentRequest) InitDefault() { +} + +func (p *ListExptInsightAnalysisCommentRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} + +func (p *ListExptInsightAnalysisCommentRequest) GetExptID() (v int64) { + if p != nil { + return p.ExptID + } + return +} + +func (p *ListExptInsightAnalysisCommentRequest) GetInsightAnalysisRecordID() (v int64) { + if p != nil { + return p.InsightAnalysisRecordID + } + return +} + +var ListExptInsightAnalysisCommentRequest_PageNumber_DEFAULT int32 + +func (p *ListExptInsightAnalysisCommentRequest) GetPageNumber() (v int32) { + if p == nil { + return + } + if !p.IsSetPageNumber() { + return ListExptInsightAnalysisCommentRequest_PageNumber_DEFAULT + } + return *p.PageNumber +} + +var ListExptInsightAnalysisCommentRequest_PageSize_DEFAULT int32 + +func (p *ListExptInsightAnalysisCommentRequest) GetPageSize() (v int32) { + if p == nil { + return + } + if !p.IsSetPageSize() { + return ListExptInsightAnalysisCommentRequest_PageSize_DEFAULT + } + return *p.PageSize +} + +var ListExptInsightAnalysisCommentRequest_Session_DEFAULT *common.Session + +func (p *ListExptInsightAnalysisCommentRequest) GetSession() (v *common.Session) { + if p == nil { + return + } + if !p.IsSetSession() { + return ListExptInsightAnalysisCommentRequest_Session_DEFAULT + } + return p.Session +} + +var ListExptInsightAnalysisCommentRequest_Base_DEFAULT *base.Base + +func (p *ListExptInsightAnalysisCommentRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return ListExptInsightAnalysisCommentRequest_Base_DEFAULT + } + return p.Base +} +func (p *ListExptInsightAnalysisCommentRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *ListExptInsightAnalysisCommentRequest) SetExptID(val int64) { + p.ExptID = val +} +func (p *ListExptInsightAnalysisCommentRequest) SetInsightAnalysisRecordID(val int64) { + p.InsightAnalysisRecordID = val +} +func (p *ListExptInsightAnalysisCommentRequest) SetPageNumber(val *int32) { + p.PageNumber = val +} +func (p *ListExptInsightAnalysisCommentRequest) SetPageSize(val *int32) { + p.PageSize = val +} +func (p *ListExptInsightAnalysisCommentRequest) SetSession(val *common.Session) { + p.Session = val +} +func (p *ListExptInsightAnalysisCommentRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_ListExptInsightAnalysisCommentRequest = map[int16]string{ + 1: "workspace_id", + 2: "expt_id", + 3: "insight_analysis_record_id", + 4: "page_number", + 5: "page_size", + 200: "session", + 255: "Base", +} + +func (p *ListExptInsightAnalysisCommentRequest) IsSetPageNumber() bool { + return p.PageNumber != nil +} + +func (p *ListExptInsightAnalysisCommentRequest) IsSetPageSize() bool { + return p.PageSize != nil +} + +func (p *ListExptInsightAnalysisCommentRequest) IsSetSession() bool { + return p.Session != nil +} + +func (p *ListExptInsightAnalysisCommentRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *ListExptInsightAnalysisCommentRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetExptID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.I32 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.I32 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 200: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField200(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisCommentRequest[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisCommentRequest[fieldId])) +} + +func (p *ListExptInsightAnalysisCommentRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.ExptID = _field + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.InsightAnalysisRecordID = _field + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) ReadField4(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.PageNumber = _field + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) ReadField5(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.PageSize = _field + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) ReadField200(iprot thrift.TProtocol) error { + _field := common.NewSession() + if err := _field.Read(iprot); err != nil { + return err + } + p.Session = _field + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *ListExptInsightAnalysisCommentRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListExptInsightAnalysisCommentRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField200(oprot); err != nil { + fieldId = 200 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ListExptInsightAnalysisCommentRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ExptID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("insight_analysis_record_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.InsightAnalysisRecordID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetPageNumber() { + if err = oprot.WriteFieldBegin("page_number", thrift.I32, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.PageNumber); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetPageSize() { + if err = oprot.WriteFieldBegin("page_size", thrift.I32, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.PageSize); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentRequest) writeField200(oprot thrift.TProtocol) (err error) { + if p.IsSetSession() { + if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { + goto WriteFieldBeginError + } + if err := p.Session.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 200 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *ListExptInsightAnalysisCommentRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ListExptInsightAnalysisCommentRequest(%+v)", *p) + +} + +func (p *ListExptInsightAnalysisCommentRequest) DeepEqual(ano *ListExptInsightAnalysisCommentRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.ExptID) { + return false + } + if !p.Field3DeepEqual(ano.InsightAnalysisRecordID) { + return false + } + if !p.Field4DeepEqual(ano.PageNumber) { + return false + } + if !p.Field5DeepEqual(ano.PageSize) { + return false + } + if !p.Field200DeepEqual(ano.Session) { + return false + } + if !p.Field255DeepEqual(ano.Base) { + return false + } + return true +} + +func (p *ListExptInsightAnalysisCommentRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentRequest) Field2DeepEqual(src int64) bool { + + if p.ExptID != src { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentRequest) Field3DeepEqual(src int64) bool { + + if p.InsightAnalysisRecordID != src { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentRequest) Field4DeepEqual(src *int32) bool { + + if p.PageNumber == src { + return true + } else if p.PageNumber == nil || src == nil { + return false + } + if *p.PageNumber != *src { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentRequest) Field5DeepEqual(src *int32) bool { + + if p.PageSize == src { + return true + } else if p.PageSize == nil || src == nil { + return false + } + if *p.PageSize != *src { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentRequest) Field200DeepEqual(src *common.Session) bool { + + if !p.Session.DeepEqual(src) { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type ListExptInsightAnalysisCommentResponse struct { + ExptInsightAnalysisFeedbackComments []*expt.ExptInsightAnalysisFeedbackComment `thrift:"expt_insight_analysis_feedback_comments,1,required" frugal:"1,required,list" form:"expt_insight_analysis_feedback_comments,required" json:"expt_insight_analysis_feedback_comments,required" query:"expt_insight_analysis_feedback_comments,required"` + Total *int64 `thrift:"total,20,optional" frugal:"20,optional,i64" json:"total" form:"total" ` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +} + +func NewListExptInsightAnalysisCommentResponse() *ListExptInsightAnalysisCommentResponse { + return &ListExptInsightAnalysisCommentResponse{} +} + +func (p *ListExptInsightAnalysisCommentResponse) InitDefault() { +} + +func (p *ListExptInsightAnalysisCommentResponse) GetExptInsightAnalysisFeedbackComments() (v []*expt.ExptInsightAnalysisFeedbackComment) { + if p != nil { + return p.ExptInsightAnalysisFeedbackComments + } + return +} + +var ListExptInsightAnalysisCommentResponse_Total_DEFAULT int64 + +func (p *ListExptInsightAnalysisCommentResponse) GetTotal() (v int64) { + if p == nil { + return + } + if !p.IsSetTotal() { + return ListExptInsightAnalysisCommentResponse_Total_DEFAULT + } + return *p.Total +} + +var ListExptInsightAnalysisCommentResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *ListExptInsightAnalysisCommentResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return + } + if !p.IsSetBaseResp() { + return ListExptInsightAnalysisCommentResponse_BaseResp_DEFAULT + } + return p.BaseResp +} +func (p *ListExptInsightAnalysisCommentResponse) SetExptInsightAnalysisFeedbackComments(val []*expt.ExptInsightAnalysisFeedbackComment) { + p.ExptInsightAnalysisFeedbackComments = val +} +func (p *ListExptInsightAnalysisCommentResponse) SetTotal(val *int64) { + p.Total = val +} +func (p *ListExptInsightAnalysisCommentResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val +} + +var fieldIDToName_ListExptInsightAnalysisCommentResponse = map[int16]string{ + 1: "expt_insight_analysis_feedback_comments", + 20: "total", + 255: "BaseResp", +} + +func (p *ListExptInsightAnalysisCommentResponse) IsSetTotal() bool { + return p.Total != nil +} + +func (p *ListExptInsightAnalysisCommentResponse) IsSetBaseResp() bool { + return p.BaseResp != nil +} + +func (p *ListExptInsightAnalysisCommentResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetExptInsightAnalysisFeedbackComments bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetExptInsightAnalysisFeedbackComments = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 20: + if fieldTypeId == thrift.I64 { + if err = p.ReadField20(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + if !issetExptInsightAnalysisFeedbackComments { + fieldId = 1 + goto RequiredFieldNotSetError + } + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisCommentResponse[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisCommentResponse[fieldId])) +} + +func (p *ListExptInsightAnalysisCommentResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*expt.ExptInsightAnalysisFeedbackComment, 0, size) + values := make([]expt.ExptInsightAnalysisFeedbackComment, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.ExptInsightAnalysisFeedbackComments = _field + return nil +} +func (p *ListExptInsightAnalysisCommentResponse) ReadField20(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.Total = _field + return nil +} +func (p *ListExptInsightAnalysisCommentResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseResp = _field + return nil +} + +func (p *ListExptInsightAnalysisCommentResponse) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListExptInsightAnalysisCommentResponse"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField20(oprot); err != nil { + fieldId = 20 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ListExptInsightAnalysisCommentResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("expt_insight_analysis_feedback_comments", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.ExptInsightAnalysisFeedbackComments)); err != nil { + return err + } + for _, v := range p.ExptInsightAnalysisFeedbackComments { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentResponse) writeField20(oprot thrift.TProtocol) (err error) { + if p.IsSetTotal() { + if err = oprot.WriteFieldBegin("total", thrift.I64, 20); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.Total); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) +} +func (p *ListExptInsightAnalysisCommentResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *ListExptInsightAnalysisCommentResponse) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ListExptInsightAnalysisCommentResponse(%+v)", *p) + +} + +func (p *ListExptInsightAnalysisCommentResponse) DeepEqual(ano *ListExptInsightAnalysisCommentResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.ExptInsightAnalysisFeedbackComments) { + return false + } + if !p.Field20DeepEqual(ano.Total) { + return false + } + if !p.Field255DeepEqual(ano.BaseResp) { + return false + } + return true +} + +func (p *ListExptInsightAnalysisCommentResponse) Field1DeepEqual(src []*expt.ExptInsightAnalysisFeedbackComment) bool { + + if len(p.ExptInsightAnalysisFeedbackComments) != len(src) { + return false + } + for i, v := range p.ExptInsightAnalysisFeedbackComments { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ListExptInsightAnalysisCommentResponse) Field20DeepEqual(src *int64) bool { + + if p.Total == src { + return true + } else if p.Total == nil || src == nil { + return false + } + if *p.Total != *src { + return false + } + return true +} +func (p *ListExptInsightAnalysisCommentResponse) Field255DeepEqual(src *base.BaseResp) bool { + + if !p.BaseResp.DeepEqual(src) { + return false + } + return true +} + +type ExperimentService interface { + CheckExperimentName(ctx context.Context, req *CheckExperimentNameRequest) (r *CheckExperimentNameResponse, err error) + // CreateExperiment 只创建,不提交运行 + CreateExperiment(ctx context.Context, req *CreateExperimentRequest) (r *CreateExperimentResponse, err error) + // SubmitExperiment 创建并提交运行 + SubmitExperiment(ctx context.Context, req *SubmitExperimentRequest) (r *SubmitExperimentResponse, err error) + + BatchGetExperiments(ctx context.Context, req *BatchGetExperimentsRequest) (r *BatchGetExperimentsResponse, err error) + + ListExperiments(ctx context.Context, req *ListExperimentsRequest) (r *ListExperimentsResponse, err error) + + UpdateExperiment(ctx context.Context, req *UpdateExperimentRequest) (r *UpdateExperimentResponse, err error) + + DeleteExperiment(ctx context.Context, req *DeleteExperimentRequest) (r *DeleteExperimentResponse, err error) + + BatchDeleteExperiments(ctx context.Context, req *BatchDeleteExperimentsRequest) (r *BatchDeleteExperimentsResponse, err error) + + CloneExperiment(ctx context.Context, req *CloneExperimentRequest) (r *CloneExperimentResponse, err error) + // RunExperiment 运行已创建的实验 + RunExperiment(ctx context.Context, req *RunExperimentRequest) (r *RunExperimentResponse, err error) + + RetryExperiment(ctx context.Context, req *RetryExperimentRequest) (r *RetryExperimentResponse, err error) + + KillExperiment(ctx context.Context, req *KillExperimentRequest) (r *KillExperimentResponse, err error) + // MGetExperimentResult 获取实验结果 + BatchGetExperimentResult_(ctx context.Context, req *BatchGetExperimentResultRequest) (r *BatchGetExperimentResultResponse, err error) + + BatchGetExperimentAggrResult_(ctx context.Context, req *BatchGetExperimentAggrResultRequest) (r *BatchGetExperimentAggrResultResponse, err error) + // 在线实验 + InvokeExperiment(ctx context.Context, req *InvokeExperimentRequest) (r *InvokeExperimentResponse, err error) + + FinishExperiment(ctx context.Context, req *FinishExperimentRequest) (r *FinishExperimentResponse, err error) + + ListExperimentStats(ctx context.Context, req *ListExperimentStatsRequest) (r *ListExperimentStatsResponse, err error) + // 更新报告ck + UpsertExptTurnResultFilter(ctx context.Context, req *UpsertExptTurnResultFilterRequest) (r *UpsertExptTurnResultFilterResponse, err error) + // 人工标注 + AssociateAnnotationTag(ctx context.Context, req *AssociateAnnotationTagReq) (r *AssociateAnnotationTagResp, err error) + + DeleteAnnotationTag(ctx context.Context, req *DeleteAnnotationTagReq) (r *DeleteAnnotationTagResp, err error) + + CreateAnnotateRecord(ctx context.Context, req *CreateAnnotateRecordReq) (r *CreateAnnotateRecordResp, err error) + + UpdateAnnotateRecord(ctx context.Context, req *UpdateAnnotateRecordReq) (r *UpdateAnnotateRecordResp, err error) + // 报告下载 + ExportExptResult_(ctx context.Context, req *ExportExptResultRequest) (r *ExportExptResultResponse, err error) + + ListExptResultExportRecord(ctx context.Context, req *ListExptResultExportRecordRequest) (r *ListExptResultExportRecordResponse, err error) + + GetExptResultExportRecord(ctx context.Context, req *GetExptResultExportRecordRequest) (r *GetExptResultExportRecordResponse, err error) + // 报告分析 + InsightAnalysisExperiment(ctx context.Context, req *InsightAnalysisExperimentRequest) (r *InsightAnalysisExperimentResponse, err error) + + ListExptInsightAnalysisRecord(ctx context.Context, req *ListExptInsightAnalysisRecordRequest) (r *ListExptInsightAnalysisRecordResponse, err error) + + DeleteExptInsightAnalysisRecord(ctx context.Context, req *DeleteExptInsightAnalysisRecordRequest) (r *DeleteExptInsightAnalysisRecordResponse, err error) + + GetExptInsightAnalysisRecord(ctx context.Context, req *GetExptInsightAnalysisRecordRequest) (r *GetExptInsightAnalysisRecordResponse, err error) + + FeedbackExptInsightAnalysisReport(ctx context.Context, req *FeedbackExptInsightAnalysisReportRequest) (r *FeedbackExptInsightAnalysisReportResponse, err error) + + ListExptInsightAnalysisComment(ctx context.Context, req *ListExptInsightAnalysisCommentRequest) (r *ListExptInsightAnalysisCommentResponse, err error) +} + +type ExperimentServiceClient struct { + c thrift.TClient +} + +func NewExperimentServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *ExperimentServiceClient { + return &ExperimentServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), + } +} + +func NewExperimentServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *ExperimentServiceClient { + return &ExperimentServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), + } +} + +func NewExperimentServiceClient(c thrift.TClient) *ExperimentServiceClient { + return &ExperimentServiceClient{ + c: c, + } +} + +func (p *ExperimentServiceClient) Client_() thrift.TClient { + return p.c +} + +func (p *ExperimentServiceClient) CheckExperimentName(ctx context.Context, req *CheckExperimentNameRequest) (r *CheckExperimentNameResponse, err error) { + var _args ExperimentServiceCheckExperimentNameArgs + _args.Req = req + var _result ExperimentServiceCheckExperimentNameResult + if err = p.Client_().Call(ctx, "CheckExperimentName", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) CreateExperiment(ctx context.Context, req *CreateExperimentRequest) (r *CreateExperimentResponse, err error) { + var _args ExperimentServiceCreateExperimentArgs + _args.Req = req + var _result ExperimentServiceCreateExperimentResult + if err = p.Client_().Call(ctx, "CreateExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) SubmitExperiment(ctx context.Context, req *SubmitExperimentRequest) (r *SubmitExperimentResponse, err error) { + var _args ExperimentServiceSubmitExperimentArgs + _args.Req = req + var _result ExperimentServiceSubmitExperimentResult + if err = p.Client_().Call(ctx, "SubmitExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) BatchGetExperiments(ctx context.Context, req *BatchGetExperimentsRequest) (r *BatchGetExperimentsResponse, err error) { + var _args ExperimentServiceBatchGetExperimentsArgs + _args.Req = req + var _result ExperimentServiceBatchGetExperimentsResult + if err = p.Client_().Call(ctx, "BatchGetExperiments", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) ListExperiments(ctx context.Context, req *ListExperimentsRequest) (r *ListExperimentsResponse, err error) { + var _args ExperimentServiceListExperimentsArgs + _args.Req = req + var _result ExperimentServiceListExperimentsResult + if err = p.Client_().Call(ctx, "ListExperiments", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) UpdateExperiment(ctx context.Context, req *UpdateExperimentRequest) (r *UpdateExperimentResponse, err error) { + var _args ExperimentServiceUpdateExperimentArgs + _args.Req = req + var _result ExperimentServiceUpdateExperimentResult + if err = p.Client_().Call(ctx, "UpdateExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) DeleteExperiment(ctx context.Context, req *DeleteExperimentRequest) (r *DeleteExperimentResponse, err error) { + var _args ExperimentServiceDeleteExperimentArgs + _args.Req = req + var _result ExperimentServiceDeleteExperimentResult + if err = p.Client_().Call(ctx, "DeleteExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) BatchDeleteExperiments(ctx context.Context, req *BatchDeleteExperimentsRequest) (r *BatchDeleteExperimentsResponse, err error) { + var _args ExperimentServiceBatchDeleteExperimentsArgs + _args.Req = req + var _result ExperimentServiceBatchDeleteExperimentsResult + if err = p.Client_().Call(ctx, "BatchDeleteExperiments", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) CloneExperiment(ctx context.Context, req *CloneExperimentRequest) (r *CloneExperimentResponse, err error) { + var _args ExperimentServiceCloneExperimentArgs + _args.Req = req + var _result ExperimentServiceCloneExperimentResult + if err = p.Client_().Call(ctx, "CloneExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) RunExperiment(ctx context.Context, req *RunExperimentRequest) (r *RunExperimentResponse, err error) { + var _args ExperimentServiceRunExperimentArgs + _args.Req = req + var _result ExperimentServiceRunExperimentResult + if err = p.Client_().Call(ctx, "RunExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) RetryExperiment(ctx context.Context, req *RetryExperimentRequest) (r *RetryExperimentResponse, err error) { + var _args ExperimentServiceRetryExperimentArgs + _args.Req = req + var _result ExperimentServiceRetryExperimentResult + if err = p.Client_().Call(ctx, "RetryExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) KillExperiment(ctx context.Context, req *KillExperimentRequest) (r *KillExperimentResponse, err error) { + var _args ExperimentServiceKillExperimentArgs + _args.Req = req + var _result ExperimentServiceKillExperimentResult + if err = p.Client_().Call(ctx, "KillExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) BatchGetExperimentResult_(ctx context.Context, req *BatchGetExperimentResultRequest) (r *BatchGetExperimentResultResponse, err error) { + var _args ExperimentServiceBatchGetExperimentResultArgs + _args.Req = req + var _result ExperimentServiceBatchGetExperimentResultResult + if err = p.Client_().Call(ctx, "BatchGetExperimentResult", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) BatchGetExperimentAggrResult_(ctx context.Context, req *BatchGetExperimentAggrResultRequest) (r *BatchGetExperimentAggrResultResponse, err error) { + var _args ExperimentServiceBatchGetExperimentAggrResultArgs + _args.Req = req + var _result ExperimentServiceBatchGetExperimentAggrResultResult + if err = p.Client_().Call(ctx, "BatchGetExperimentAggrResult", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) InvokeExperiment(ctx context.Context, req *InvokeExperimentRequest) (r *InvokeExperimentResponse, err error) { + var _args ExperimentServiceInvokeExperimentArgs + _args.Req = req + var _result ExperimentServiceInvokeExperimentResult + if err = p.Client_().Call(ctx, "InvokeExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) FinishExperiment(ctx context.Context, req *FinishExperimentRequest) (r *FinishExperimentResponse, err error) { + var _args ExperimentServiceFinishExperimentArgs + _args.Req = req + var _result ExperimentServiceFinishExperimentResult + if err = p.Client_().Call(ctx, "FinishExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) ListExperimentStats(ctx context.Context, req *ListExperimentStatsRequest) (r *ListExperimentStatsResponse, err error) { + var _args ExperimentServiceListExperimentStatsArgs + _args.Req = req + var _result ExperimentServiceListExperimentStatsResult + if err = p.Client_().Call(ctx, "ListExperimentStats", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) UpsertExptTurnResultFilter(ctx context.Context, req *UpsertExptTurnResultFilterRequest) (r *UpsertExptTurnResultFilterResponse, err error) { + var _args ExperimentServiceUpsertExptTurnResultFilterArgs + _args.Req = req + var _result ExperimentServiceUpsertExptTurnResultFilterResult + if err = p.Client_().Call(ctx, "UpsertExptTurnResultFilter", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) AssociateAnnotationTag(ctx context.Context, req *AssociateAnnotationTagReq) (r *AssociateAnnotationTagResp, err error) { + var _args ExperimentServiceAssociateAnnotationTagArgs + _args.Req = req + var _result ExperimentServiceAssociateAnnotationTagResult + if err = p.Client_().Call(ctx, "AssociateAnnotationTag", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) DeleteAnnotationTag(ctx context.Context, req *DeleteAnnotationTagReq) (r *DeleteAnnotationTagResp, err error) { + var _args ExperimentServiceDeleteAnnotationTagArgs + _args.Req = req + var _result ExperimentServiceDeleteAnnotationTagResult + if err = p.Client_().Call(ctx, "DeleteAnnotationTag", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) CreateAnnotateRecord(ctx context.Context, req *CreateAnnotateRecordReq) (r *CreateAnnotateRecordResp, err error) { + var _args ExperimentServiceCreateAnnotateRecordArgs + _args.Req = req + var _result ExperimentServiceCreateAnnotateRecordResult + if err = p.Client_().Call(ctx, "CreateAnnotateRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) UpdateAnnotateRecord(ctx context.Context, req *UpdateAnnotateRecordReq) (r *UpdateAnnotateRecordResp, err error) { + var _args ExperimentServiceUpdateAnnotateRecordArgs + _args.Req = req + var _result ExperimentServiceUpdateAnnotateRecordResult + if err = p.Client_().Call(ctx, "UpdateAnnotateRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) ExportExptResult_(ctx context.Context, req *ExportExptResultRequest) (r *ExportExptResultResponse, err error) { + var _args ExperimentServiceExportExptResultArgs + _args.Req = req + var _result ExperimentServiceExportExptResultResult + if err = p.Client_().Call(ctx, "ExportExptResult", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) ListExptResultExportRecord(ctx context.Context, req *ListExptResultExportRecordRequest) (r *ListExptResultExportRecordResponse, err error) { + var _args ExperimentServiceListExptResultExportRecordArgs + _args.Req = req + var _result ExperimentServiceListExptResultExportRecordResult + if err = p.Client_().Call(ctx, "ListExptResultExportRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) GetExptResultExportRecord(ctx context.Context, req *GetExptResultExportRecordRequest) (r *GetExptResultExportRecordResponse, err error) { + var _args ExperimentServiceGetExptResultExportRecordArgs + _args.Req = req + var _result ExperimentServiceGetExptResultExportRecordResult + if err = p.Client_().Call(ctx, "GetExptResultExportRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) InsightAnalysisExperiment(ctx context.Context, req *InsightAnalysisExperimentRequest) (r *InsightAnalysisExperimentResponse, err error) { + var _args ExperimentServiceInsightAnalysisExperimentArgs + _args.Req = req + var _result ExperimentServiceInsightAnalysisExperimentResult + if err = p.Client_().Call(ctx, "InsightAnalysisExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) ListExptInsightAnalysisRecord(ctx context.Context, req *ListExptInsightAnalysisRecordRequest) (r *ListExptInsightAnalysisRecordResponse, err error) { + var _args ExperimentServiceListExptInsightAnalysisRecordArgs + _args.Req = req + var _result ExperimentServiceListExptInsightAnalysisRecordResult + if err = p.Client_().Call(ctx, "ListExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *DeleteExptInsightAnalysisRecordRequest) (r *DeleteExptInsightAnalysisRecordResponse, err error) { + var _args ExperimentServiceDeleteExptInsightAnalysisRecordArgs + _args.Req = req + var _result ExperimentServiceDeleteExptInsightAnalysisRecordResult + if err = p.Client_().Call(ctx, "DeleteExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) GetExptInsightAnalysisRecord(ctx context.Context, req *GetExptInsightAnalysisRecordRequest) (r *GetExptInsightAnalysisRecordResponse, err error) { + var _args ExperimentServiceGetExptInsightAnalysisRecordArgs + _args.Req = req + var _result ExperimentServiceGetExptInsightAnalysisRecordResult + if err = p.Client_().Call(ctx, "GetExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *FeedbackExptInsightAnalysisReportRequest) (r *FeedbackExptInsightAnalysisReportResponse, err error) { + var _args ExperimentServiceFeedbackExptInsightAnalysisReportArgs + _args.Req = req + var _result ExperimentServiceFeedbackExptInsightAnalysisReportResult + if err = p.Client_().Call(ctx, "FeedbackExptInsightAnalysisReport", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} +func (p *ExperimentServiceClient) ListExptInsightAnalysisComment(ctx context.Context, req *ListExptInsightAnalysisCommentRequest) (r *ListExptInsightAnalysisCommentResponse, err error) { + var _args ExperimentServiceListExptInsightAnalysisCommentArgs + _args.Req = req + var _result ExperimentServiceListExptInsightAnalysisCommentResult + if err = p.Client_().Call(ctx, "ListExptInsightAnalysisComment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +type ExperimentServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler ExperimentService +} + +func (p *ExperimentServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor +} + +func (p *ExperimentServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok +} + +func (p *ExperimentServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} + +func NewExperimentServiceProcessor(handler ExperimentService) *ExperimentServiceProcessor { + self := &ExperimentServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("CheckExperimentName", &experimentServiceProcessorCheckExperimentName{handler: handler}) + self.AddToProcessorMap("CreateExperiment", &experimentServiceProcessorCreateExperiment{handler: handler}) + self.AddToProcessorMap("SubmitExperiment", &experimentServiceProcessorSubmitExperiment{handler: handler}) + self.AddToProcessorMap("BatchGetExperiments", &experimentServiceProcessorBatchGetExperiments{handler: handler}) + self.AddToProcessorMap("ListExperiments", &experimentServiceProcessorListExperiments{handler: handler}) + self.AddToProcessorMap("UpdateExperiment", &experimentServiceProcessorUpdateExperiment{handler: handler}) + self.AddToProcessorMap("DeleteExperiment", &experimentServiceProcessorDeleteExperiment{handler: handler}) + self.AddToProcessorMap("BatchDeleteExperiments", &experimentServiceProcessorBatchDeleteExperiments{handler: handler}) + self.AddToProcessorMap("CloneExperiment", &experimentServiceProcessorCloneExperiment{handler: handler}) + self.AddToProcessorMap("RunExperiment", &experimentServiceProcessorRunExperiment{handler: handler}) + self.AddToProcessorMap("RetryExperiment", &experimentServiceProcessorRetryExperiment{handler: handler}) + self.AddToProcessorMap("KillExperiment", &experimentServiceProcessorKillExperiment{handler: handler}) + self.AddToProcessorMap("BatchGetExperimentResult", &experimentServiceProcessorBatchGetExperimentResult_{handler: handler}) + self.AddToProcessorMap("BatchGetExperimentAggrResult", &experimentServiceProcessorBatchGetExperimentAggrResult_{handler: handler}) + self.AddToProcessorMap("InvokeExperiment", &experimentServiceProcessorInvokeExperiment{handler: handler}) + self.AddToProcessorMap("FinishExperiment", &experimentServiceProcessorFinishExperiment{handler: handler}) + self.AddToProcessorMap("ListExperimentStats", &experimentServiceProcessorListExperimentStats{handler: handler}) + self.AddToProcessorMap("UpsertExptTurnResultFilter", &experimentServiceProcessorUpsertExptTurnResultFilter{handler: handler}) + self.AddToProcessorMap("AssociateAnnotationTag", &experimentServiceProcessorAssociateAnnotationTag{handler: handler}) + self.AddToProcessorMap("DeleteAnnotationTag", &experimentServiceProcessorDeleteAnnotationTag{handler: handler}) + self.AddToProcessorMap("CreateAnnotateRecord", &experimentServiceProcessorCreateAnnotateRecord{handler: handler}) + self.AddToProcessorMap("UpdateAnnotateRecord", &experimentServiceProcessorUpdateAnnotateRecord{handler: handler}) + self.AddToProcessorMap("ExportExptResult", &experimentServiceProcessorExportExptResult_{handler: handler}) + self.AddToProcessorMap("ListExptResultExportRecord", &experimentServiceProcessorListExptResultExportRecord{handler: handler}) + self.AddToProcessorMap("GetExptResultExportRecord", &experimentServiceProcessorGetExptResultExportRecord{handler: handler}) + self.AddToProcessorMap("InsightAnalysisExperiment", &experimentServiceProcessorInsightAnalysisExperiment{handler: handler}) + self.AddToProcessorMap("ListExptInsightAnalysisRecord", &experimentServiceProcessorListExptInsightAnalysisRecord{handler: handler}) + self.AddToProcessorMap("DeleteExptInsightAnalysisRecord", &experimentServiceProcessorDeleteExptInsightAnalysisRecord{handler: handler}) + self.AddToProcessorMap("GetExptInsightAnalysisRecord", &experimentServiceProcessorGetExptInsightAnalysisRecord{handler: handler}) + self.AddToProcessorMap("FeedbackExptInsightAnalysisReport", &experimentServiceProcessorFeedbackExptInsightAnalysisReport{handler: handler}) + self.AddToProcessorMap("ListExptInsightAnalysisComment", &experimentServiceProcessorListExptInsightAnalysisComment{handler: handler}) + return self +} +func (p *ExperimentServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) + } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x +} + +type experimentServiceProcessorCheckExperimentName struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorCheckExperimentName) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceCheckExperimentNameArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CheckExperimentName", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceCheckExperimentNameResult{} + var retval *CheckExperimentNameResponse + if retval, err2 = p.handler.CheckExperimentName(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CheckExperimentName: "+err2.Error()) + oprot.WriteMessageBegin("CheckExperimentName", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("CheckExperimentName", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorCreateExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorCreateExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceCreateExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CreateExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceCreateExperimentResult{} + var retval *CreateExperimentResponse + if retval, err2 = p.handler.CreateExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateExperiment: "+err2.Error()) + oprot.WriteMessageBegin("CreateExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("CreateExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorSubmitExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorSubmitExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceSubmitExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("SubmitExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceSubmitExperimentResult{} + var retval *SubmitExperimentResponse + if retval, err2 = p.handler.SubmitExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SubmitExperiment: "+err2.Error()) + oprot.WriteMessageBegin("SubmitExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("SubmitExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorBatchGetExperiments struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorBatchGetExperiments) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceBatchGetExperimentsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetExperiments", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceBatchGetExperimentsResult{} + var retval *BatchGetExperimentsResponse + if retval, err2 = p.handler.BatchGetExperiments(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetExperiments: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetExperiments", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BatchGetExperiments", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorListExperiments struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorListExperiments) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceListExperimentsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListExperiments", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceListExperimentsResult{} + var retval *ListExperimentsResponse + if retval, err2 = p.handler.ListExperiments(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExperiments: "+err2.Error()) + oprot.WriteMessageBegin("ListExperiments", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ListExperiments", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorUpdateExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorUpdateExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceUpdateExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("UpdateExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceUpdateExperimentResult{} + var retval *UpdateExperimentResponse + if retval, err2 = p.handler.UpdateExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateExperiment: "+err2.Error()) + oprot.WriteMessageBegin("UpdateExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("UpdateExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorDeleteExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorDeleteExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceDeleteExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("DeleteExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceDeleteExperimentResult{} + var retval *DeleteExperimentResponse + if retval, err2 = p.handler.DeleteExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteExperiment: "+err2.Error()) + oprot.WriteMessageBegin("DeleteExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("DeleteExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorBatchDeleteExperiments struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorBatchDeleteExperiments) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceBatchDeleteExperimentsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchDeleteExperiments", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceBatchDeleteExperimentsResult{} + var retval *BatchDeleteExperimentsResponse + if retval, err2 = p.handler.BatchDeleteExperiments(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchDeleteExperiments: "+err2.Error()) + oprot.WriteMessageBegin("BatchDeleteExperiments", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BatchDeleteExperiments", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorCloneExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorCloneExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceCloneExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CloneExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceCloneExperimentResult{} + var retval *CloneExperimentResponse + if retval, err2 = p.handler.CloneExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CloneExperiment: "+err2.Error()) + oprot.WriteMessageBegin("CloneExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("CloneExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorRunExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorRunExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceRunExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("RunExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceRunExperimentResult{} + var retval *RunExperimentResponse + if retval, err2 = p.handler.RunExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing RunExperiment: "+err2.Error()) + oprot.WriteMessageBegin("RunExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("RunExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorRetryExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorRetryExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceRetryExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("RetryExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceRetryExperimentResult{} + var retval *RetryExperimentResponse + if retval, err2 = p.handler.RetryExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing RetryExperiment: "+err2.Error()) + oprot.WriteMessageBegin("RetryExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("RetryExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorKillExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorKillExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceKillExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("KillExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceKillExperimentResult{} + var retval *KillExperimentResponse + if retval, err2 = p.handler.KillExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing KillExperiment: "+err2.Error()) + oprot.WriteMessageBegin("KillExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("KillExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorBatchGetExperimentResult_ struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorBatchGetExperimentResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceBatchGetExperimentResultArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetExperimentResult", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceBatchGetExperimentResultResult{} + var retval *BatchGetExperimentResultResponse + if retval, err2 = p.handler.BatchGetExperimentResult_(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetExperimentResult: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetExperimentResult", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BatchGetExperimentResult", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorBatchGetExperimentAggrResult_ struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorBatchGetExperimentAggrResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceBatchGetExperimentAggrResultArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetExperimentAggrResult", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceBatchGetExperimentAggrResultResult{} + var retval *BatchGetExperimentAggrResultResponse + if retval, err2 = p.handler.BatchGetExperimentAggrResult_(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetExperimentAggrResult: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetExperimentAggrResult", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BatchGetExperimentAggrResult", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorInvokeExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorInvokeExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceInvokeExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("InvokeExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceInvokeExperimentResult{} + var retval *InvokeExperimentResponse + if retval, err2 = p.handler.InvokeExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing InvokeExperiment: "+err2.Error()) + oprot.WriteMessageBegin("InvokeExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("InvokeExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorFinishExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorFinishExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceFinishExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("FinishExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceFinishExperimentResult{} + var retval *FinishExperimentResponse + if retval, err2 = p.handler.FinishExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing FinishExperiment: "+err2.Error()) + oprot.WriteMessageBegin("FinishExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("FinishExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorListExperimentStats struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorListExperimentStats) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceListExperimentStatsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListExperimentStats", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceListExperimentStatsResult{} + var retval *ListExperimentStatsResponse + if retval, err2 = p.handler.ListExperimentStats(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExperimentStats: "+err2.Error()) + oprot.WriteMessageBegin("ListExperimentStats", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ListExperimentStats", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorUpsertExptTurnResultFilter struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorUpsertExptTurnResultFilter) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceUpsertExptTurnResultFilterArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("UpsertExptTurnResultFilter", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceUpsertExptTurnResultFilterResult{} + var retval *UpsertExptTurnResultFilterResponse + if retval, err2 = p.handler.UpsertExptTurnResultFilter(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpsertExptTurnResultFilter: "+err2.Error()) + oprot.WriteMessageBegin("UpsertExptTurnResultFilter", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("UpsertExptTurnResultFilter", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorAssociateAnnotationTag struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorAssociateAnnotationTag) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceAssociateAnnotationTagArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("AssociateAnnotationTag", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceAssociateAnnotationTagResult{} + var retval *AssociateAnnotationTagResp + if retval, err2 = p.handler.AssociateAnnotationTag(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AssociateAnnotationTag: "+err2.Error()) + oprot.WriteMessageBegin("AssociateAnnotationTag", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("AssociateAnnotationTag", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorDeleteAnnotationTag struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorDeleteAnnotationTag) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceDeleteAnnotationTagArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("DeleteAnnotationTag", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceDeleteAnnotationTagResult{} + var retval *DeleteAnnotationTagResp + if retval, err2 = p.handler.DeleteAnnotationTag(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteAnnotationTag: "+err2.Error()) + oprot.WriteMessageBegin("DeleteAnnotationTag", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("DeleteAnnotationTag", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorCreateAnnotateRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorCreateAnnotateRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceCreateAnnotateRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CreateAnnotateRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceCreateAnnotateRecordResult{} + var retval *CreateAnnotateRecordResp + if retval, err2 = p.handler.CreateAnnotateRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateAnnotateRecord: "+err2.Error()) + oprot.WriteMessageBegin("CreateAnnotateRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("CreateAnnotateRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorUpdateAnnotateRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorUpdateAnnotateRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceUpdateAnnotateRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("UpdateAnnotateRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceUpdateAnnotateRecordResult{} + var retval *UpdateAnnotateRecordResp + if retval, err2 = p.handler.UpdateAnnotateRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateAnnotateRecord: "+err2.Error()) + oprot.WriteMessageBegin("UpdateAnnotateRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("UpdateAnnotateRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorExportExptResult_ struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorExportExptResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceExportExptResultArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ExportExptResult", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceExportExptResultResult{} + var retval *ExportExptResultResponse + if retval, err2 = p.handler.ExportExptResult_(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExportExptResult: "+err2.Error()) + oprot.WriteMessageBegin("ExportExptResult", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ExportExptResult", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorListExptResultExportRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorListExptResultExportRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceListExptResultExportRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListExptResultExportRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceListExptResultExportRecordResult{} + var retval *ListExptResultExportRecordResponse + if retval, err2 = p.handler.ListExptResultExportRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExptResultExportRecord: "+err2.Error()) + oprot.WriteMessageBegin("ListExptResultExportRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ListExptResultExportRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorGetExptResultExportRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorGetExptResultExportRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceGetExptResultExportRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("GetExptResultExportRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceGetExptResultExportRecordResult{} + var retval *GetExptResultExportRecordResponse + if retval, err2 = p.handler.GetExptResultExportRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetExptResultExportRecord: "+err2.Error()) + oprot.WriteMessageBegin("GetExptResultExportRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("GetExptResultExportRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorInsightAnalysisExperiment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorInsightAnalysisExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceInsightAnalysisExperimentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("InsightAnalysisExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceInsightAnalysisExperimentResult{} + var retval *InsightAnalysisExperimentResponse + if retval, err2 = p.handler.InsightAnalysisExperiment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing InsightAnalysisExperiment: "+err2.Error()) + oprot.WriteMessageBegin("InsightAnalysisExperiment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("InsightAnalysisExperiment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorListExptInsightAnalysisRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorListExptInsightAnalysisRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceListExptInsightAnalysisRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListExptInsightAnalysisRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceListExptInsightAnalysisRecordResult{} + var retval *ListExptInsightAnalysisRecordResponse + if retval, err2 = p.handler.ListExptInsightAnalysisRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExptInsightAnalysisRecord: "+err2.Error()) + oprot.WriteMessageBegin("ListExptInsightAnalysisRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ListExptInsightAnalysisRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorDeleteExptInsightAnalysisRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorDeleteExptInsightAnalysisRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceDeleteExptInsightAnalysisRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("DeleteExptInsightAnalysisRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceDeleteExptInsightAnalysisRecordResult{} + var retval *DeleteExptInsightAnalysisRecordResponse + if retval, err2 = p.handler.DeleteExptInsightAnalysisRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteExptInsightAnalysisRecord: "+err2.Error()) + oprot.WriteMessageBegin("DeleteExptInsightAnalysisRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("DeleteExptInsightAnalysisRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorGetExptInsightAnalysisRecord struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorGetExptInsightAnalysisRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceGetExptInsightAnalysisRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("GetExptInsightAnalysisRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceGetExptInsightAnalysisRecordResult{} + var retval *GetExptInsightAnalysisRecordResponse + if retval, err2 = p.handler.GetExptInsightAnalysisRecord(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetExptInsightAnalysisRecord: "+err2.Error()) + oprot.WriteMessageBegin("GetExptInsightAnalysisRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("GetExptInsightAnalysisRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorFeedbackExptInsightAnalysisReport struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorFeedbackExptInsightAnalysisReport) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceFeedbackExptInsightAnalysisReportArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("FeedbackExptInsightAnalysisReport", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceFeedbackExptInsightAnalysisReportResult{} + var retval *FeedbackExptInsightAnalysisReportResponse + if retval, err2 = p.handler.FeedbackExptInsightAnalysisReport(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing FeedbackExptInsightAnalysisReport: "+err2.Error()) + oprot.WriteMessageBegin("FeedbackExptInsightAnalysisReport", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("FeedbackExptInsightAnalysisReport", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type experimentServiceProcessorListExptInsightAnalysisComment struct { + handler ExperimentService +} + +func (p *experimentServiceProcessorListExptInsightAnalysisComment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := ExperimentServiceListExptInsightAnalysisCommentArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListExptInsightAnalysisComment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := ExperimentServiceListExptInsightAnalysisCommentResult{} + var retval *ListExptInsightAnalysisCommentResponse + if retval, err2 = p.handler.ListExptInsightAnalysisComment(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExptInsightAnalysisComment: "+err2.Error()) + oprot.WriteMessageBegin("ListExptInsightAnalysisComment", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ListExptInsightAnalysisComment", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} + +type ExperimentServiceCheckExperimentNameArgs struct { + Req *CheckExperimentNameRequest `thrift:"req,1" frugal:"1,default,CheckExperimentNameRequest"` +} + +func NewExperimentServiceCheckExperimentNameArgs() *ExperimentServiceCheckExperimentNameArgs { + return &ExperimentServiceCheckExperimentNameArgs{} +} + +func (p *ExperimentServiceCheckExperimentNameArgs) InitDefault() { +} + +var ExperimentServiceCheckExperimentNameArgs_Req_DEFAULT *CheckExperimentNameRequest + +func (p *ExperimentServiceCheckExperimentNameArgs) GetReq() (v *CheckExperimentNameRequest) { + if p == nil { + return + } + if !p.IsSetReq() { + return ExperimentServiceCheckExperimentNameArgs_Req_DEFAULT + } + return p.Req +} +func (p *ExperimentServiceCheckExperimentNameArgs) SetReq(val *CheckExperimentNameRequest) { + p.Req = val +} + +var fieldIDToName_ExperimentServiceCheckExperimentNameArgs = map[int16]string{ + 1: "req", +} + +func (p *ExperimentServiceCheckExperimentNameArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *ExperimentServiceCheckExperimentNameArgs) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceCheckExperimentNameArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewCheckExperimentNameRequest() + if err := _field.Read(iprot); err != nil { + return err + } + p.Req = _field + return nil +} + +func (p *ExperimentServiceCheckExperimentNameArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("CheckExperimentName_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExperimentServiceCheckExperimentNameArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ExperimentServiceCheckExperimentNameArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExperimentServiceCheckExperimentNameArgs(%+v)", *p) + +} + +func (p *ExperimentServiceCheckExperimentNameArgs) DeepEqual(ano *ExperimentServiceCheckExperimentNameArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *ExperimentServiceCheckExperimentNameArgs) Field1DeepEqual(src *CheckExperimentNameRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type ExperimentServiceCheckExperimentNameResult struct { + Success *CheckExperimentNameResponse `thrift:"success,0,optional" frugal:"0,optional,CheckExperimentNameResponse"` +} + +func NewExperimentServiceCheckExperimentNameResult() *ExperimentServiceCheckExperimentNameResult { + return &ExperimentServiceCheckExperimentNameResult{} +} + +func (p *ExperimentServiceCheckExperimentNameResult) InitDefault() { +} + +var ExperimentServiceCheckExperimentNameResult_Success_DEFAULT *CheckExperimentNameResponse + +func (p *ExperimentServiceCheckExperimentNameResult) GetSuccess() (v *CheckExperimentNameResponse) { + if p == nil { + return + } + if !p.IsSetSuccess() { + return ExperimentServiceCheckExperimentNameResult_Success_DEFAULT + } + return p.Success +} +func (p *ExperimentServiceCheckExperimentNameResult) SetSuccess(x interface{}) { + p.Success = x.(*CheckExperimentNameResponse) +} + +var fieldIDToName_ExperimentServiceCheckExperimentNameResult = map[int16]string{ + 0: "success", +} + +func (p *ExperimentServiceCheckExperimentNameResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *ExperimentServiceCheckExperimentNameResult) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceCheckExperimentNameResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewCheckExperimentNameResponse() + if err := _field.Read(iprot); err != nil { + return err + } + p.Success = _field + return nil +} + +func (p *ExperimentServiceCheckExperimentNameResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("CheckExperimentName_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExperimentServiceCheckExperimentNameResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *ExperimentServiceCheckExperimentNameResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExperimentServiceCheckExperimentNameResult(%+v)", *p) + +} + +func (p *ExperimentServiceCheckExperimentNameResult) DeepEqual(ano *ExperimentServiceCheckExperimentNameResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *ExperimentServiceCheckExperimentNameResult) Field0DeepEqual(src *CheckExperimentNameResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type ExperimentServiceCreateExperimentArgs struct { + Req *CreateExperimentRequest `thrift:"req,1" frugal:"1,default,CreateExperimentRequest"` +} + +func NewExperimentServiceCreateExperimentArgs() *ExperimentServiceCreateExperimentArgs { + return &ExperimentServiceCreateExperimentArgs{} +} + +func (p *ExperimentServiceCreateExperimentArgs) InitDefault() { +} + +var ExperimentServiceCreateExperimentArgs_Req_DEFAULT *CreateExperimentRequest + +func (p *ExperimentServiceCreateExperimentArgs) GetReq() (v *CreateExperimentRequest) { + if p == nil { + return + } + if !p.IsSetReq() { + return ExperimentServiceCreateExperimentArgs_Req_DEFAULT + } + return p.Req +} +func (p *ExperimentServiceCreateExperimentArgs) SetReq(val *CreateExperimentRequest) { + p.Req = val +} + +var fieldIDToName_ExperimentServiceCreateExperimentArgs = map[int16]string{ + 1: "req", +} + +func (p *ExperimentServiceCreateExperimentArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *ExperimentServiceCreateExperimentArgs) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceCreateExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewCreateExperimentRequest() + if err := _field.Read(iprot); err != nil { + return err + } + p.Req = _field + return nil +} + +func (p *ExperimentServiceCreateExperimentArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("CreateExperiment_args"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExperimentServiceCreateExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ExperimentServiceCreateExperimentArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExperimentServiceCreateExperimentArgs(%+v)", *p) + +} + +func (p *ExperimentServiceCreateExperimentArgs) DeepEqual(ano *ExperimentServiceCreateExperimentArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *ExperimentServiceCreateExperimentArgs) Field1DeepEqual(src *CreateExperimentRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type ExperimentServiceCreateExperimentResult struct { + Success *CreateExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,CreateExperimentResponse"` +} + +func NewExperimentServiceCreateExperimentResult() *ExperimentServiceCreateExperimentResult { + return &ExperimentServiceCreateExperimentResult{} +} + +func (p *ExperimentServiceCreateExperimentResult) InitDefault() { +} + +var ExperimentServiceCreateExperimentResult_Success_DEFAULT *CreateExperimentResponse + +func (p *ExperimentServiceCreateExperimentResult) GetSuccess() (v *CreateExperimentResponse) { + if p == nil { + return + } + if !p.IsSetSuccess() { + return ExperimentServiceCreateExperimentResult_Success_DEFAULT + } + return p.Success +} +func (p *ExperimentServiceCreateExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*CreateExperimentResponse) +} + +var fieldIDToName_ExperimentServiceCreateExperimentResult = map[int16]string{ + 0: "success", +} + +func (p *ExperimentServiceCreateExperimentResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *ExperimentServiceCreateExperimentResult) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceCreateExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewCreateExperimentResponse() + if err := _field.Read(iprot); err != nil { + return err + } + p.Success = _field + return nil +} + +func (p *ExperimentServiceCreateExperimentResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("CreateExperiment_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExperimentServiceCreateExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *ExperimentServiceCreateExperimentResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExperimentServiceCreateExperimentResult(%+v)", *p) + +} + +func (p *ExperimentServiceCreateExperimentResult) DeepEqual(ano *ExperimentServiceCreateExperimentResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *ExperimentServiceCreateExperimentResult) Field0DeepEqual(src *CreateExperimentResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true +} + +type ExperimentServiceSubmitExperimentArgs struct { + Req *SubmitExperimentRequest `thrift:"req,1" frugal:"1,default,SubmitExperimentRequest"` +} + +func NewExperimentServiceSubmitExperimentArgs() *ExperimentServiceSubmitExperimentArgs { + return &ExperimentServiceSubmitExperimentArgs{} +} + +func (p *ExperimentServiceSubmitExperimentArgs) InitDefault() { +} + +var ExperimentServiceSubmitExperimentArgs_Req_DEFAULT *SubmitExperimentRequest + +func (p *ExperimentServiceSubmitExperimentArgs) GetReq() (v *SubmitExperimentRequest) { + if p == nil { + return + } + if !p.IsSetReq() { + return ExperimentServiceSubmitExperimentArgs_Req_DEFAULT + } + return p.Req +} +func (p *ExperimentServiceSubmitExperimentArgs) SetReq(val *SubmitExperimentRequest) { + p.Req = val +} + +var fieldIDToName_ExperimentServiceSubmitExperimentArgs = map[int16]string{ + 1: "req", +} + +func (p *ExperimentServiceSubmitExperimentArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *ExperimentServiceSubmitExperimentArgs) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceSubmitExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewSubmitExperimentRequest() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageBegin("UpdateExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 + p.Req = _field + return nil +} + +func (p *ExperimentServiceSubmitExperimentArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("SubmitExperiment_args"); err != nil { + goto WriteStructBeginError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError } - if err != nil { + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExperimentServiceSubmitExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Req.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ExperimentServiceSubmitExperimentArgs) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExperimentServiceSubmitExperimentArgs(%+v)", *p) + +} + +func (p *ExperimentServiceSubmitExperimentArgs) DeepEqual(ano *ExperimentServiceSubmitExperimentArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.Req) { + return false + } + return true +} + +func (p *ExperimentServiceSubmitExperimentArgs) Field1DeepEqual(src *SubmitExperimentRequest) bool { + + if !p.Req.DeepEqual(src) { + return false + } + return true +} + +type ExperimentServiceSubmitExperimentResult struct { + Success *SubmitExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,SubmitExperimentResponse"` +} + +func NewExperimentServiceSubmitExperimentResult() *ExperimentServiceSubmitExperimentResult { + return &ExperimentServiceSubmitExperimentResult{} +} + +func (p *ExperimentServiceSubmitExperimentResult) InitDefault() { +} + +var ExperimentServiceSubmitExperimentResult_Success_DEFAULT *SubmitExperimentResponse + +func (p *ExperimentServiceSubmitExperimentResult) GetSuccess() (v *SubmitExperimentResponse) { + if p == nil { return } - return true, err + if !p.IsSetSuccess() { + return ExperimentServiceSubmitExperimentResult_Success_DEFAULT + } + return p.Success +} +func (p *ExperimentServiceSubmitExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*SubmitExperimentResponse) +} + +var fieldIDToName_ExperimentServiceSubmitExperimentResult = map[int16]string{ + 0: "success", +} + +func (p *ExperimentServiceSubmitExperimentResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *ExperimentServiceSubmitExperimentResult) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } + } + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError + } + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceSubmitExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewSubmitExperimentResponse() + if err := _field.Read(iprot); err != nil { + return err + } + p.Success = _field + return nil +} + +func (p *ExperimentServiceSubmitExperimentResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("SubmitExperiment_result"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } + } + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError + } + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) +} + +func (p *ExperimentServiceSubmitExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +} + +func (p *ExperimentServiceSubmitExperimentResult) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ExperimentServiceSubmitExperimentResult(%+v)", *p) + +} + +func (p *ExperimentServiceSubmitExperimentResult) DeepEqual(ano *ExperimentServiceSubmitExperimentResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field0DeepEqual(ano.Success) { + return false + } + return true +} + +func (p *ExperimentServiceSubmitExperimentResult) Field0DeepEqual(src *SubmitExperimentResponse) bool { + + if !p.Success.DeepEqual(src) { + return false + } + return true } -type experimentServiceProcessorDeleteExperiment struct { - handler ExperimentService +type ExperimentServiceBatchGetExperimentsArgs struct { + Req *BatchGetExperimentsRequest `thrift:"req,1" frugal:"1,default,BatchGetExperimentsRequest"` } -func (p *experimentServiceProcessorDeleteExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceDeleteExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("DeleteExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewExperimentServiceBatchGetExperimentsArgs() *ExperimentServiceBatchGetExperimentsArgs { + return &ExperimentServiceBatchGetExperimentsArgs{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceDeleteExperimentResult{} - var retval *DeleteExperimentResponse - if retval, err2 = p.handler.DeleteExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteExperiment: "+err2.Error()) - oprot.WriteMessageBegin("DeleteExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("DeleteExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { +func (p *ExperimentServiceBatchGetExperimentsArgs) InitDefault() { +} + +var ExperimentServiceBatchGetExperimentsArgs_Req_DEFAULT *BatchGetExperimentsRequest + +func (p *ExperimentServiceBatchGetExperimentsArgs) GetReq() (v *BatchGetExperimentsRequest) { + if p == nil { return } - return true, err + if !p.IsSetReq() { + return ExperimentServiceBatchGetExperimentsArgs_Req_DEFAULT + } + return p.Req +} +func (p *ExperimentServiceBatchGetExperimentsArgs) SetReq(val *BatchGetExperimentsRequest) { + p.Req = val } -type experimentServiceProcessorBatchDeleteExperiments struct { - handler ExperimentService +var fieldIDToName_ExperimentServiceBatchGetExperimentsArgs = map[int16]string{ + 1: "req", } -func (p *experimentServiceProcessorBatchDeleteExperiments) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceBatchDeleteExperimentsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchDeleteExperiments", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceBatchGetExperimentsArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceBatchDeleteExperimentsResult{} - var retval *BatchDeleteExperimentsResponse - if retval, err2 = p.handler.BatchDeleteExperiments(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchDeleteExperiments: "+err2.Error()) - oprot.WriteMessageBegin("BatchDeleteExperiments", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - if err2 = oprot.WriteMessageBegin("BatchDeleteExperiments", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetExperimentsRequest() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + p.Req = _field + return nil +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BatchGetExperiments_args"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } } - if err != nil { - return + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - return true, err -} - -type experimentServiceProcessorCloneExperiment struct { - handler ExperimentService + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *experimentServiceProcessorCloneExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceCloneExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CloneExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceBatchGetExperimentsArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError } - - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceCloneExperimentResult{} - var retval *CloneExperimentResponse - if retval, err2 = p.handler.CloneExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CloneExperiment: "+err2.Error()) - oprot.WriteMessageBegin("CloneExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + if err := p.Req.Write(oprot); err != nil { + return err } - if err2 = oprot.WriteMessageBegin("CloneExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) String() string { + if p == nil { + return "" } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + return fmt.Sprintf("ExperimentServiceBatchGetExperimentsArgs(%+v)", *p) + +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) DeepEqual(ano *ExperimentServiceBatchGetExperimentsArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field1DeepEqual(ano.Req) { + return false } - if err != nil { - return + return true +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) Field1DeepEqual(src *BatchGetExperimentsRequest) bool { + + if !p.Req.DeepEqual(src) { + return false } - return true, err + return true } -type experimentServiceProcessorRunExperiment struct { - handler ExperimentService +type ExperimentServiceBatchGetExperimentsResult struct { + Success *BatchGetExperimentsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetExperimentsResponse"` } -func (p *experimentServiceProcessorRunExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceRunExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("RunExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewExperimentServiceBatchGetExperimentsResult() *ExperimentServiceBatchGetExperimentsResult { + return &ExperimentServiceBatchGetExperimentsResult{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceRunExperimentResult{} - var retval *RunExperimentResponse - if retval, err2 = p.handler.RunExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing RunExperiment: "+err2.Error()) - oprot.WriteMessageBegin("RunExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("RunExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { +func (p *ExperimentServiceBatchGetExperimentsResult) InitDefault() { +} + +var ExperimentServiceBatchGetExperimentsResult_Success_DEFAULT *BatchGetExperimentsResponse + +func (p *ExperimentServiceBatchGetExperimentsResult) GetSuccess() (v *BatchGetExperimentsResponse) { + if p == nil { return } - return true, err + if !p.IsSetSuccess() { + return ExperimentServiceBatchGetExperimentsResult_Success_DEFAULT + } + return p.Success +} +func (p *ExperimentServiceBatchGetExperimentsResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetExperimentsResponse) } -type experimentServiceProcessorRetryExperiment struct { - handler ExperimentService +var fieldIDToName_ExperimentServiceBatchGetExperimentsResult = map[int16]string{ + 0: "success", } -func (p *experimentServiceProcessorRetryExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceRetryExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("RetryExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceBatchGetExperimentsResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *ExperimentServiceBatchGetExperimentsResult) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceRetryExperimentResult{} - var retval *RetryExperimentResponse - if retval, err2 = p.handler.RetryExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing RetryExperiment: "+err2.Error()) - oprot.WriteMessageBegin("RetryExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - if err2 = oprot.WriteMessageBegin("RetryExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceBatchGetExperimentsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetExperimentsResponse() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + p.Success = _field + return nil +} + +func (p *ExperimentServiceBatchGetExperimentsResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("BatchGetExperiments_result"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } } - if err != nil { - return + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - return true, err + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -type experimentServiceProcessorKillExperiment struct { - handler ExperimentService +func (p *ExperimentServiceBatchGetExperimentsResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *experimentServiceProcessorKillExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceKillExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("KillExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceBatchGetExperimentsResult) String() string { + if p == nil { + return "" } + return fmt.Sprintf("ExperimentServiceBatchGetExperimentsResult(%+v)", *p) - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceKillExperimentResult{} - var retval *KillExperimentResponse - if retval, err2 = p.handler.KillExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing KillExperiment: "+err2.Error()) - oprot.WriteMessageBegin("KillExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("KillExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 +} + +func (p *ExperimentServiceBatchGetExperimentsResult) DeepEqual(ano *ExperimentServiceBatchGetExperimentsResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field0DeepEqual(ano.Success) { + return false } - if err != nil { - return + return true +} + +func (p *ExperimentServiceBatchGetExperimentsResult) Field0DeepEqual(src *BatchGetExperimentsResponse) bool { + + if !p.Success.DeepEqual(src) { + return false } - return true, err + return true } -type experimentServiceProcessorBatchGetExperimentResult_ struct { - handler ExperimentService +type ExperimentServiceListExperimentsArgs struct { + Req *ListExperimentsRequest `thrift:"req,1" frugal:"1,default,ListExperimentsRequest"` } -func (p *experimentServiceProcessorBatchGetExperimentResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceBatchGetExperimentResultArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetExperimentResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewExperimentServiceListExperimentsArgs() *ExperimentServiceListExperimentsArgs { + return &ExperimentServiceListExperimentsArgs{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceBatchGetExperimentResultResult{} - var retval *BatchGetExperimentResultResponse - if retval, err2 = p.handler.BatchGetExperimentResult_(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetExperimentResult: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetExperimentResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetExperimentResult", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { +func (p *ExperimentServiceListExperimentsArgs) InitDefault() { +} + +var ExperimentServiceListExperimentsArgs_Req_DEFAULT *ListExperimentsRequest + +func (p *ExperimentServiceListExperimentsArgs) GetReq() (v *ListExperimentsRequest) { + if p == nil { return } - return true, err + if !p.IsSetReq() { + return ExperimentServiceListExperimentsArgs_Req_DEFAULT + } + return p.Req +} +func (p *ExperimentServiceListExperimentsArgs) SetReq(val *ListExperimentsRequest) { + p.Req = val } -type experimentServiceProcessorBatchGetExperimentAggrResult_ struct { - handler ExperimentService +var fieldIDToName_ExperimentServiceListExperimentsArgs = map[int16]string{ + 1: "req", } -func (p *experimentServiceProcessorBatchGetExperimentAggrResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceBatchGetExperimentAggrResultArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetExperimentAggrResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceListExperimentsArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *ExperimentServiceListExperimentsArgs) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceBatchGetExperimentAggrResultResult{} - var retval *BatchGetExperimentAggrResultResponse - if retval, err2 = p.handler.BatchGetExperimentAggrResult_(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetExperimentAggrResult: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetExperimentAggrResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - if err2 = oprot.WriteMessageBegin("BatchGetExperimentAggrResult", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceListExperimentsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListExperimentsRequest() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + p.Req = _field + return nil +} + +func (p *ExperimentServiceListExperimentsArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListExperiments_args"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } } - if err != nil { - return + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - return true, err -} - -type experimentServiceProcessorInvokeExperiment struct { - handler ExperimentService + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *experimentServiceProcessorInvokeExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceInvokeExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("InvokeExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceListExperimentsArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError } - - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceInvokeExperimentResult{} - var retval *InvokeExperimentResponse - if retval, err2 = p.handler.InvokeExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing InvokeExperiment: "+err2.Error()) - oprot.WriteMessageBegin("InvokeExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + if err := p.Req.Write(oprot); err != nil { + return err } - if err2 = oprot.WriteMessageBegin("InvokeExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ExperimentServiceListExperimentsArgs) String() string { + if p == nil { + return "" } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + return fmt.Sprintf("ExperimentServiceListExperimentsArgs(%+v)", *p) + +} + +func (p *ExperimentServiceListExperimentsArgs) DeepEqual(ano *ExperimentServiceListExperimentsArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field1DeepEqual(ano.Req) { + return false } - if err != nil { - return + return true +} + +func (p *ExperimentServiceListExperimentsArgs) Field1DeepEqual(src *ListExperimentsRequest) bool { + + if !p.Req.DeepEqual(src) { + return false } - return true, err + return true } -type experimentServiceProcessorFinishExperiment struct { - handler ExperimentService +type ExperimentServiceListExperimentsResult struct { + Success *ListExperimentsResponse `thrift:"success,0,optional" frugal:"0,optional,ListExperimentsResponse"` } -func (p *experimentServiceProcessorFinishExperiment) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceFinishExperimentArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("FinishExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewExperimentServiceListExperimentsResult() *ExperimentServiceListExperimentsResult { + return &ExperimentServiceListExperimentsResult{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceFinishExperimentResult{} - var retval *FinishExperimentResponse - if retval, err2 = p.handler.FinishExperiment(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing FinishExperiment: "+err2.Error()) - oprot.WriteMessageBegin("FinishExperiment", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("FinishExperiment", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { +func (p *ExperimentServiceListExperimentsResult) InitDefault() { +} + +var ExperimentServiceListExperimentsResult_Success_DEFAULT *ListExperimentsResponse + +func (p *ExperimentServiceListExperimentsResult) GetSuccess() (v *ListExperimentsResponse) { + if p == nil { return } - return true, err + if !p.IsSetSuccess() { + return ExperimentServiceListExperimentsResult_Success_DEFAULT + } + return p.Success +} +func (p *ExperimentServiceListExperimentsResult) SetSuccess(x interface{}) { + p.Success = x.(*ListExperimentsResponse) } -type experimentServiceProcessorListExperimentStats struct { - handler ExperimentService +var fieldIDToName_ExperimentServiceListExperimentsResult = map[int16]string{ + 0: "success", } -func (p *experimentServiceProcessorListExperimentStats) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceListExperimentStatsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListExperimentStats", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceListExperimentsResult) IsSetSuccess() bool { + return p.Success != nil +} + +func (p *ExperimentServiceListExperimentsResult) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceListExperimentStatsResult{} - var retval *ListExperimentStatsResponse - if retval, err2 = p.handler.ListExperimentStats(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExperimentStats: "+err2.Error()) - oprot.WriteMessageBegin("ListExperimentStats", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - if err2 = oprot.WriteMessageBegin("ListExperimentStats", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceListExperimentsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListExperimentsResponse() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + p.Success = _field + return nil +} + +func (p *ExperimentServiceListExperimentsResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListExperiments_result"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } } - if err != nil { - return + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - return true, err + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -type experimentServiceProcessorUpsertExptTurnResultFilter struct { - handler ExperimentService +func (p *ExperimentServiceListExperimentsResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *experimentServiceProcessorUpsertExptTurnResultFilter) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceUpsertExptTurnResultFilterArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("UpsertExptTurnResultFilter", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceListExperimentsResult) String() string { + if p == nil { + return "" } + return fmt.Sprintf("ExperimentServiceListExperimentsResult(%+v)", *p) - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceUpsertExptTurnResultFilterResult{} - var retval *UpsertExptTurnResultFilterResponse - if retval, err2 = p.handler.UpsertExptTurnResultFilter(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpsertExptTurnResultFilter: "+err2.Error()) - oprot.WriteMessageBegin("UpsertExptTurnResultFilter", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("UpsertExptTurnResultFilter", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 +} + +func (p *ExperimentServiceListExperimentsResult) DeepEqual(ano *ExperimentServiceListExperimentsResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field0DeepEqual(ano.Success) { + return false } - if err != nil { - return + return true +} + +func (p *ExperimentServiceListExperimentsResult) Field0DeepEqual(src *ListExperimentsResponse) bool { + + if !p.Success.DeepEqual(src) { + return false } - return true, err + return true } -type experimentServiceProcessorAssociateAnnotationTag struct { - handler ExperimentService +type ExperimentServiceUpdateExperimentArgs struct { + Req *UpdateExperimentRequest `thrift:"req,1" frugal:"1,default,UpdateExperimentRequest"` } -func (p *experimentServiceProcessorAssociateAnnotationTag) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceAssociateAnnotationTagArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("AssociateAnnotationTag", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewExperimentServiceUpdateExperimentArgs() *ExperimentServiceUpdateExperimentArgs { + return &ExperimentServiceUpdateExperimentArgs{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceAssociateAnnotationTagResult{} - var retval *AssociateAnnotationTagResp - if retval, err2 = p.handler.AssociateAnnotationTag(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AssociateAnnotationTag: "+err2.Error()) - oprot.WriteMessageBegin("AssociateAnnotationTag", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("AssociateAnnotationTag", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { +func (p *ExperimentServiceUpdateExperimentArgs) InitDefault() { +} + +var ExperimentServiceUpdateExperimentArgs_Req_DEFAULT *UpdateExperimentRequest + +func (p *ExperimentServiceUpdateExperimentArgs) GetReq() (v *UpdateExperimentRequest) { + if p == nil { return } - return true, err + if !p.IsSetReq() { + return ExperimentServiceUpdateExperimentArgs_Req_DEFAULT + } + return p.Req +} +func (p *ExperimentServiceUpdateExperimentArgs) SetReq(val *UpdateExperimentRequest) { + p.Req = val } -type experimentServiceProcessorDeleteAnnotationTag struct { - handler ExperimentService +var fieldIDToName_ExperimentServiceUpdateExperimentArgs = map[int16]string{ + 1: "req", } -func (p *experimentServiceProcessorDeleteAnnotationTag) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceDeleteAnnotationTagArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("DeleteAnnotationTag", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceUpdateExperimentArgs) IsSetReq() bool { + return p.Req != nil +} + +func (p *ExperimentServiceUpdateExperimentArgs) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceDeleteAnnotationTagResult{} - var retval *DeleteAnnotationTagResp - if retval, err2 = p.handler.DeleteAnnotationTag(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteAnnotationTag: "+err2.Error()) - oprot.WriteMessageBegin("DeleteAnnotationTag", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - if err2 = oprot.WriteMessageBegin("DeleteAnnotationTag", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentArgs[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +} + +func (p *ExperimentServiceUpdateExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewUpdateExperimentRequest() + if err := _field.Read(iprot); err != nil { + return err } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + p.Req = _field + return nil +} + +func (p *ExperimentServiceUpdateExperimentArgs) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("UpdateExperiment_args"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } } - if err != nil { - return + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - return true, err -} - -type experimentServiceProcessorCreateAnnotateRecord struct { - handler ExperimentService + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError + } + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *experimentServiceProcessorCreateAnnotateRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceCreateAnnotateRecordArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CreateAnnotateRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceUpdateExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError } - - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceCreateAnnotateRecordResult{} - var retval *CreateAnnotateRecordResp - if retval, err2 = p.handler.CreateAnnotateRecord(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateAnnotateRecord: "+err2.Error()) - oprot.WriteMessageBegin("CreateAnnotateRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval + if err := p.Req.Write(oprot); err != nil { + return err } - if err2 = oprot.WriteMessageBegin("CreateAnnotateRecord", thrift.REPLY, seqId); err2 != nil { - err = err2 + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} + +func (p *ExperimentServiceUpdateExperimentArgs) String() string { + if p == nil { + return "" } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + return fmt.Sprintf("ExperimentServiceUpdateExperimentArgs(%+v)", *p) + +} + +func (p *ExperimentServiceUpdateExperimentArgs) DeepEqual(ano *ExperimentServiceUpdateExperimentArgs) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field1DeepEqual(ano.Req) { + return false } - if err != nil { - return + return true +} + +func (p *ExperimentServiceUpdateExperimentArgs) Field1DeepEqual(src *UpdateExperimentRequest) bool { + + if !p.Req.DeepEqual(src) { + return false } - return true, err + return true } -type experimentServiceProcessorUpdateAnnotateRecord struct { - handler ExperimentService +type ExperimentServiceUpdateExperimentResult struct { + Success *UpdateExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,UpdateExperimentResponse"` } -func (p *experimentServiceProcessorUpdateAnnotateRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceUpdateAnnotateRecordArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("UpdateAnnotateRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func NewExperimentServiceUpdateExperimentResult() *ExperimentServiceUpdateExperimentResult { + return &ExperimentServiceUpdateExperimentResult{} +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceUpdateAnnotateRecordResult{} - var retval *UpdateAnnotateRecordResp - if retval, err2 = p.handler.UpdateAnnotateRecord(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateAnnotateRecord: "+err2.Error()) - oprot.WriteMessageBegin("UpdateAnnotateRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("UpdateAnnotateRecord", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { +func (p *ExperimentServiceUpdateExperimentResult) InitDefault() { +} + +var ExperimentServiceUpdateExperimentResult_Success_DEFAULT *UpdateExperimentResponse + +func (p *ExperimentServiceUpdateExperimentResult) GetSuccess() (v *UpdateExperimentResponse) { + if p == nil { return } - return true, err + if !p.IsSetSuccess() { + return ExperimentServiceUpdateExperimentResult_Success_DEFAULT + } + return p.Success +} +func (p *ExperimentServiceUpdateExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*UpdateExperimentResponse) } -type experimentServiceProcessorExportExptResult_ struct { - handler ExperimentService +var fieldIDToName_ExperimentServiceUpdateExperimentResult = map[int16]string{ + 0: "success", } -func (p *experimentServiceProcessorExportExptResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceExportExptResultArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ExportExptResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } +func (p *ExperimentServiceUpdateExperimentResult) IsSetSuccess() bool { + return p.Success != nil +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceExportExptResultResult{} - var retval *ExportExptResultResponse - if retval, err2 = p.handler.ExportExptResult_(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExportExptResult: "+err2.Error()) - oprot.WriteMessageBegin("ExportExptResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ExportExptResult", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 +func (p *ExperimentServiceUpdateExperimentResult) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField0(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - if err != nil { - return + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } - return true, err -} -type experimentServiceProcessorListExptResultExportRecord struct { - handler ExperimentService + return nil +ReadStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) +ReadFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentResult[fieldId]), err) +SkipFieldError: + return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + +ReadFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) +ReadStructEndError: + return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *experimentServiceProcessorListExptResultExportRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceListExptResultExportRecordArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListExptResultExportRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceUpdateExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewUpdateExperimentResponse() + if err := _field.Read(iprot); err != nil { + return err } + p.Success = _field + return nil +} - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceListExptResultExportRecordResult{} - var retval *ListExptResultExportRecordResponse - if retval, err2 = p.handler.ListExptResultExportRecord(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListExptResultExportRecord: "+err2.Error()) - oprot.WriteMessageBegin("ListExptResultExportRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ListExptResultExportRecord", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 +func (p *ExperimentServiceUpdateExperimentResult) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("UpdateExperiment_result"); err != nil { + goto WriteStructBeginError } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 + if p != nil { + if err = p.writeField0(oprot); err != nil { + fieldId = 0 + goto WriteFieldError + } } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if err = oprot.WriteFieldStop(); err != nil { + goto WriteFieldStopError } - if err != nil { - return + if err = oprot.WriteStructEnd(); err != nil { + goto WriteStructEndError } - return true, err + return nil +WriteStructBeginError: + return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) +WriteFieldError: + return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) +WriteFieldStopError: + return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) +WriteStructEndError: + return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -type experimentServiceProcessorGetExptResultExportRecord struct { - handler ExperimentService +func (p *ExperimentServiceUpdateExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccess() { + if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { + goto WriteFieldBeginError + } + if err := p.Success.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *experimentServiceProcessorGetExptResultExportRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := ExperimentServiceGetExptResultExportRecordArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("GetExptResultExportRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *ExperimentServiceUpdateExperimentResult) String() string { + if p == nil { + return "" } + return fmt.Sprintf("ExperimentServiceUpdateExperimentResult(%+v)", *p) - iprot.ReadMessageEnd() - var err2 error - result := ExperimentServiceGetExptResultExportRecordResult{} - var retval *GetExptResultExportRecordResponse - if retval, err2 = p.handler.GetExptResultExportRecord(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetExptResultExportRecord: "+err2.Error()) - oprot.WriteMessageBegin("GetExptResultExportRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("GetExptResultExportRecord", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 +} + +func (p *ExperimentServiceUpdateExperimentResult) DeepEqual(ano *ExperimentServiceUpdateExperimentResult) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 + if !p.Field0DeepEqual(ano.Success) { + return false } - if err != nil { - return + return true +} + +func (p *ExperimentServiceUpdateExperimentResult) Field0DeepEqual(src *UpdateExperimentResponse) bool { + + if !p.Success.DeepEqual(src) { + return false } - return true, err + return true } -type ExperimentServiceCheckExperimentNameArgs struct { - Req *CheckExperimentNameRequest `thrift:"req,1" frugal:"1,default,CheckExperimentNameRequest"` +type ExperimentServiceDeleteExperimentArgs struct { + Req *DeleteExperimentRequest `thrift:"req,1" frugal:"1,default,DeleteExperimentRequest"` } -func NewExperimentServiceCheckExperimentNameArgs() *ExperimentServiceCheckExperimentNameArgs { - return &ExperimentServiceCheckExperimentNameArgs{} +func NewExperimentServiceDeleteExperimentArgs() *ExperimentServiceDeleteExperimentArgs { + return &ExperimentServiceDeleteExperimentArgs{} } -func (p *ExperimentServiceCheckExperimentNameArgs) InitDefault() { +func (p *ExperimentServiceDeleteExperimentArgs) InitDefault() { } -var ExperimentServiceCheckExperimentNameArgs_Req_DEFAULT *CheckExperimentNameRequest +var ExperimentServiceDeleteExperimentArgs_Req_DEFAULT *DeleteExperimentRequest -func (p *ExperimentServiceCheckExperimentNameArgs) GetReq() (v *CheckExperimentNameRequest) { +func (p *ExperimentServiceDeleteExperimentArgs) GetReq() (v *DeleteExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceCheckExperimentNameArgs_Req_DEFAULT + return ExperimentServiceDeleteExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceCheckExperimentNameArgs) SetReq(val *CheckExperimentNameRequest) { +func (p *ExperimentServiceDeleteExperimentArgs) SetReq(val *DeleteExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceCheckExperimentNameArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceDeleteExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceCheckExperimentNameArgs) IsSetReq() bool { +func (p *ExperimentServiceDeleteExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceCheckExperimentNameArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -23137,7 +30068,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -23147,8 +30078,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCheckExperimentNameArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewCheckExperimentNameRequest() +func (p *ExperimentServiceDeleteExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewDeleteExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -23156,9 +30087,9 @@ func (p *ExperimentServiceCheckExperimentNameArgs) ReadField1(iprot thrift.TProt return nil } -func (p *ExperimentServiceCheckExperimentNameArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CheckExperimentName_args"); err != nil { + if err = oprot.WriteStructBegin("DeleteExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -23184,7 +30115,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCheckExperimentNameArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -23201,15 +30132,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceCheckExperimentNameArgs) String() string { +func (p *ExperimentServiceDeleteExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCheckExperimentNameArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceDeleteExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceCheckExperimentNameArgs) DeepEqual(ano *ExperimentServiceCheckExperimentNameArgs) bool { +func (p *ExperimentServiceDeleteExperimentArgs) DeepEqual(ano *ExperimentServiceDeleteExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -23221,7 +30152,7 @@ func (p *ExperimentServiceCheckExperimentNameArgs) DeepEqual(ano *ExperimentServ return true } -func (p *ExperimentServiceCheckExperimentNameArgs) Field1DeepEqual(src *CheckExperimentNameRequest) bool { +func (p *ExperimentServiceDeleteExperimentArgs) Field1DeepEqual(src *DeleteExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -23229,41 +30160,41 @@ func (p *ExperimentServiceCheckExperimentNameArgs) Field1DeepEqual(src *CheckExp return true } -type ExperimentServiceCheckExperimentNameResult struct { - Success *CheckExperimentNameResponse `thrift:"success,0,optional" frugal:"0,optional,CheckExperimentNameResponse"` +type ExperimentServiceDeleteExperimentResult struct { + Success *DeleteExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,DeleteExperimentResponse"` } -func NewExperimentServiceCheckExperimentNameResult() *ExperimentServiceCheckExperimentNameResult { - return &ExperimentServiceCheckExperimentNameResult{} +func NewExperimentServiceDeleteExperimentResult() *ExperimentServiceDeleteExperimentResult { + return &ExperimentServiceDeleteExperimentResult{} } -func (p *ExperimentServiceCheckExperimentNameResult) InitDefault() { +func (p *ExperimentServiceDeleteExperimentResult) InitDefault() { } -var ExperimentServiceCheckExperimentNameResult_Success_DEFAULT *CheckExperimentNameResponse +var ExperimentServiceDeleteExperimentResult_Success_DEFAULT *DeleteExperimentResponse -func (p *ExperimentServiceCheckExperimentNameResult) GetSuccess() (v *CheckExperimentNameResponse) { +func (p *ExperimentServiceDeleteExperimentResult) GetSuccess() (v *DeleteExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceCheckExperimentNameResult_Success_DEFAULT + return ExperimentServiceDeleteExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceCheckExperimentNameResult) SetSuccess(x interface{}) { - p.Success = x.(*CheckExperimentNameResponse) +func (p *ExperimentServiceDeleteExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*DeleteExperimentResponse) } -var fieldIDToName_ExperimentServiceCheckExperimentNameResult = map[int16]string{ +var fieldIDToName_ExperimentServiceDeleteExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceCheckExperimentNameResult) IsSetSuccess() bool { +func (p *ExperimentServiceDeleteExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceCheckExperimentNameResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -23308,7 +30239,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -23318,8 +30249,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCheckExperimentNameResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewCheckExperimentNameResponse() +func (p *ExperimentServiceDeleteExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewDeleteExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -23327,9 +30258,9 @@ func (p *ExperimentServiceCheckExperimentNameResult) ReadField0(iprot thrift.TPr return nil } -func (p *ExperimentServiceCheckExperimentNameResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CheckExperimentName_result"); err != nil { + if err = oprot.WriteStructBegin("DeleteExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -23355,7 +30286,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCheckExperimentNameResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -23374,15 +30305,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceCheckExperimentNameResult) String() string { +func (p *ExperimentServiceDeleteExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCheckExperimentNameResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceDeleteExperimentResult(%+v)", *p) } -func (p *ExperimentServiceCheckExperimentNameResult) DeepEqual(ano *ExperimentServiceCheckExperimentNameResult) bool { +func (p *ExperimentServiceDeleteExperimentResult) DeepEqual(ano *ExperimentServiceDeleteExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -23394,7 +30325,7 @@ func (p *ExperimentServiceCheckExperimentNameResult) DeepEqual(ano *ExperimentSe return true } -func (p *ExperimentServiceCheckExperimentNameResult) Field0DeepEqual(src *CheckExperimentNameResponse) bool { +func (p *ExperimentServiceDeleteExperimentResult) Field0DeepEqual(src *DeleteExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -23402,41 +30333,41 @@ func (p *ExperimentServiceCheckExperimentNameResult) Field0DeepEqual(src *CheckE return true } -type ExperimentServiceCreateExperimentArgs struct { - Req *CreateExperimentRequest `thrift:"req,1" frugal:"1,default,CreateExperimentRequest"` +type ExperimentServiceBatchDeleteExperimentsArgs struct { + Req *BatchDeleteExperimentsRequest `thrift:"req,1" frugal:"1,default,BatchDeleteExperimentsRequest"` } -func NewExperimentServiceCreateExperimentArgs() *ExperimentServiceCreateExperimentArgs { - return &ExperimentServiceCreateExperimentArgs{} +func NewExperimentServiceBatchDeleteExperimentsArgs() *ExperimentServiceBatchDeleteExperimentsArgs { + return &ExperimentServiceBatchDeleteExperimentsArgs{} } -func (p *ExperimentServiceCreateExperimentArgs) InitDefault() { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) InitDefault() { } -var ExperimentServiceCreateExperimentArgs_Req_DEFAULT *CreateExperimentRequest +var ExperimentServiceBatchDeleteExperimentsArgs_Req_DEFAULT *BatchDeleteExperimentsRequest -func (p *ExperimentServiceCreateExperimentArgs) GetReq() (v *CreateExperimentRequest) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) GetReq() (v *BatchDeleteExperimentsRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceCreateExperimentArgs_Req_DEFAULT + return ExperimentServiceBatchDeleteExperimentsArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceCreateExperimentArgs) SetReq(val *CreateExperimentRequest) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) SetReq(val *BatchDeleteExperimentsRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceCreateExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceBatchDeleteExperimentsArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceCreateExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceCreateExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -23481,7 +30412,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -23491,8 +30422,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCreateExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewCreateExperimentRequest() +func (p *ExperimentServiceBatchDeleteExperimentsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchDeleteExperimentsRequest() if err := _field.Read(iprot); err != nil { return err } @@ -23500,9 +30431,9 @@ func (p *ExperimentServiceCreateExperimentArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceCreateExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("BatchDeleteExperiments_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -23528,7 +30459,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCreateExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -23545,15 +30476,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceCreateExperimentArgs) String() string { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCreateExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceBatchDeleteExperimentsArgs(%+v)", *p) } -func (p *ExperimentServiceCreateExperimentArgs) DeepEqual(ano *ExperimentServiceCreateExperimentArgs) bool { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) DeepEqual(ano *ExperimentServiceBatchDeleteExperimentsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -23565,7 +30496,7 @@ func (p *ExperimentServiceCreateExperimentArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceCreateExperimentArgs) Field1DeepEqual(src *CreateExperimentRequest) bool { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) Field1DeepEqual(src *BatchDeleteExperimentsRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -23573,41 +30504,41 @@ func (p *ExperimentServiceCreateExperimentArgs) Field1DeepEqual(src *CreateExper return true } -type ExperimentServiceCreateExperimentResult struct { - Success *CreateExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,CreateExperimentResponse"` +type ExperimentServiceBatchDeleteExperimentsResult struct { + Success *BatchDeleteExperimentsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchDeleteExperimentsResponse"` } -func NewExperimentServiceCreateExperimentResult() *ExperimentServiceCreateExperimentResult { - return &ExperimentServiceCreateExperimentResult{} +func NewExperimentServiceBatchDeleteExperimentsResult() *ExperimentServiceBatchDeleteExperimentsResult { + return &ExperimentServiceBatchDeleteExperimentsResult{} } -func (p *ExperimentServiceCreateExperimentResult) InitDefault() { +func (p *ExperimentServiceBatchDeleteExperimentsResult) InitDefault() { } -var ExperimentServiceCreateExperimentResult_Success_DEFAULT *CreateExperimentResponse +var ExperimentServiceBatchDeleteExperimentsResult_Success_DEFAULT *BatchDeleteExperimentsResponse -func (p *ExperimentServiceCreateExperimentResult) GetSuccess() (v *CreateExperimentResponse) { +func (p *ExperimentServiceBatchDeleteExperimentsResult) GetSuccess() (v *BatchDeleteExperimentsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceCreateExperimentResult_Success_DEFAULT + return ExperimentServiceBatchDeleteExperimentsResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceCreateExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*CreateExperimentResponse) +func (p *ExperimentServiceBatchDeleteExperimentsResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchDeleteExperimentsResponse) } -var fieldIDToName_ExperimentServiceCreateExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceBatchDeleteExperimentsResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceCreateExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceBatchDeleteExperimentsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceCreateExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchDeleteExperimentsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -23652,7 +30583,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -23662,8 +30593,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCreateExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewCreateExperimentResponse() +func (p *ExperimentServiceBatchDeleteExperimentsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchDeleteExperimentsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -23671,9 +30602,9 @@ func (p *ExperimentServiceCreateExperimentResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceCreateExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchDeleteExperimentsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("BatchDeleteExperiments_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -23699,7 +30630,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCreateExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchDeleteExperimentsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -23718,15 +30649,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceCreateExperimentResult) String() string { +func (p *ExperimentServiceBatchDeleteExperimentsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCreateExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceBatchDeleteExperimentsResult(%+v)", *p) } -func (p *ExperimentServiceCreateExperimentResult) DeepEqual(ano *ExperimentServiceCreateExperimentResult) bool { +func (p *ExperimentServiceBatchDeleteExperimentsResult) DeepEqual(ano *ExperimentServiceBatchDeleteExperimentsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -23738,7 +30669,7 @@ func (p *ExperimentServiceCreateExperimentResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceCreateExperimentResult) Field0DeepEqual(src *CreateExperimentResponse) bool { +func (p *ExperimentServiceBatchDeleteExperimentsResult) Field0DeepEqual(src *BatchDeleteExperimentsResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -23746,41 +30677,41 @@ func (p *ExperimentServiceCreateExperimentResult) Field0DeepEqual(src *CreateExp return true } -type ExperimentServiceSubmitExperimentArgs struct { - Req *SubmitExperimentRequest `thrift:"req,1" frugal:"1,default,SubmitExperimentRequest"` +type ExperimentServiceCloneExperimentArgs struct { + Req *CloneExperimentRequest `thrift:"req,1" frugal:"1,default,CloneExperimentRequest"` } -func NewExperimentServiceSubmitExperimentArgs() *ExperimentServiceSubmitExperimentArgs { - return &ExperimentServiceSubmitExperimentArgs{} +func NewExperimentServiceCloneExperimentArgs() *ExperimentServiceCloneExperimentArgs { + return &ExperimentServiceCloneExperimentArgs{} } -func (p *ExperimentServiceSubmitExperimentArgs) InitDefault() { +func (p *ExperimentServiceCloneExperimentArgs) InitDefault() { } -var ExperimentServiceSubmitExperimentArgs_Req_DEFAULT *SubmitExperimentRequest +var ExperimentServiceCloneExperimentArgs_Req_DEFAULT *CloneExperimentRequest -func (p *ExperimentServiceSubmitExperimentArgs) GetReq() (v *SubmitExperimentRequest) { +func (p *ExperimentServiceCloneExperimentArgs) GetReq() (v *CloneExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceSubmitExperimentArgs_Req_DEFAULT + return ExperimentServiceCloneExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceSubmitExperimentArgs) SetReq(val *SubmitExperimentRequest) { +func (p *ExperimentServiceCloneExperimentArgs) SetReq(val *CloneExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceSubmitExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceCloneExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceSubmitExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceCloneExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceSubmitExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCloneExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -23825,7 +30756,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -23835,8 +30766,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceSubmitExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewSubmitExperimentRequest() +func (p *ExperimentServiceCloneExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewCloneExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -23844,9 +30775,9 @@ func (p *ExperimentServiceSubmitExperimentArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceSubmitExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCloneExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SubmitExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("CloneExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -23872,7 +30803,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceSubmitExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCloneExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -23889,15 +30820,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceSubmitExperimentArgs) String() string { +func (p *ExperimentServiceCloneExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceSubmitExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceCloneExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceSubmitExperimentArgs) DeepEqual(ano *ExperimentServiceSubmitExperimentArgs) bool { +func (p *ExperimentServiceCloneExperimentArgs) DeepEqual(ano *ExperimentServiceCloneExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -23909,7 +30840,7 @@ func (p *ExperimentServiceSubmitExperimentArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceSubmitExperimentArgs) Field1DeepEqual(src *SubmitExperimentRequest) bool { +func (p *ExperimentServiceCloneExperimentArgs) Field1DeepEqual(src *CloneExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -23917,41 +30848,41 @@ func (p *ExperimentServiceSubmitExperimentArgs) Field1DeepEqual(src *SubmitExper return true } -type ExperimentServiceSubmitExperimentResult struct { - Success *SubmitExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,SubmitExperimentResponse"` +type ExperimentServiceCloneExperimentResult struct { + Success *CloneExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,CloneExperimentResponse"` } -func NewExperimentServiceSubmitExperimentResult() *ExperimentServiceSubmitExperimentResult { - return &ExperimentServiceSubmitExperimentResult{} +func NewExperimentServiceCloneExperimentResult() *ExperimentServiceCloneExperimentResult { + return &ExperimentServiceCloneExperimentResult{} } -func (p *ExperimentServiceSubmitExperimentResult) InitDefault() { +func (p *ExperimentServiceCloneExperimentResult) InitDefault() { } -var ExperimentServiceSubmitExperimentResult_Success_DEFAULT *SubmitExperimentResponse +var ExperimentServiceCloneExperimentResult_Success_DEFAULT *CloneExperimentResponse -func (p *ExperimentServiceSubmitExperimentResult) GetSuccess() (v *SubmitExperimentResponse) { +func (p *ExperimentServiceCloneExperimentResult) GetSuccess() (v *CloneExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceSubmitExperimentResult_Success_DEFAULT + return ExperimentServiceCloneExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceSubmitExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*SubmitExperimentResponse) +func (p *ExperimentServiceCloneExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*CloneExperimentResponse) } -var fieldIDToName_ExperimentServiceSubmitExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceCloneExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceSubmitExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceCloneExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceSubmitExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCloneExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -23996,7 +30927,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -24006,8 +30937,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceSubmitExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewSubmitExperimentResponse() +func (p *ExperimentServiceCloneExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewCloneExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -24015,9 +30946,9 @@ func (p *ExperimentServiceSubmitExperimentResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceSubmitExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCloneExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SubmitExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("CloneExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -24043,7 +30974,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceSubmitExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCloneExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -24062,15 +30993,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceSubmitExperimentResult) String() string { +func (p *ExperimentServiceCloneExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceSubmitExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceCloneExperimentResult(%+v)", *p) } -func (p *ExperimentServiceSubmitExperimentResult) DeepEqual(ano *ExperimentServiceSubmitExperimentResult) bool { +func (p *ExperimentServiceCloneExperimentResult) DeepEqual(ano *ExperimentServiceCloneExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -24082,7 +31013,7 @@ func (p *ExperimentServiceSubmitExperimentResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceSubmitExperimentResult) Field0DeepEqual(src *SubmitExperimentResponse) bool { +func (p *ExperimentServiceCloneExperimentResult) Field0DeepEqual(src *CloneExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -24090,41 +31021,41 @@ func (p *ExperimentServiceSubmitExperimentResult) Field0DeepEqual(src *SubmitExp return true } -type ExperimentServiceBatchGetExperimentsArgs struct { - Req *BatchGetExperimentsRequest `thrift:"req,1" frugal:"1,default,BatchGetExperimentsRequest"` +type ExperimentServiceRunExperimentArgs struct { + Req *RunExperimentRequest `thrift:"req,1" frugal:"1,default,RunExperimentRequest"` } -func NewExperimentServiceBatchGetExperimentsArgs() *ExperimentServiceBatchGetExperimentsArgs { - return &ExperimentServiceBatchGetExperimentsArgs{} +func NewExperimentServiceRunExperimentArgs() *ExperimentServiceRunExperimentArgs { + return &ExperimentServiceRunExperimentArgs{} } -func (p *ExperimentServiceBatchGetExperimentsArgs) InitDefault() { +func (p *ExperimentServiceRunExperimentArgs) InitDefault() { } -var ExperimentServiceBatchGetExperimentsArgs_Req_DEFAULT *BatchGetExperimentsRequest +var ExperimentServiceRunExperimentArgs_Req_DEFAULT *RunExperimentRequest -func (p *ExperimentServiceBatchGetExperimentsArgs) GetReq() (v *BatchGetExperimentsRequest) { +func (p *ExperimentServiceRunExperimentArgs) GetReq() (v *RunExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceBatchGetExperimentsArgs_Req_DEFAULT + return ExperimentServiceRunExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceBatchGetExperimentsArgs) SetReq(val *BatchGetExperimentsRequest) { +func (p *ExperimentServiceRunExperimentArgs) SetReq(val *RunExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceBatchGetExperimentsArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceRunExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceBatchGetExperimentsArgs) IsSetReq() bool { +func (p *ExperimentServiceRunExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceBatchGetExperimentsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRunExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -24169,7 +31100,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -24179,8 +31110,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetExperimentsRequest() +func (p *ExperimentServiceRunExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewRunExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -24188,9 +31119,9 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) ReadField1(iprot thrift.TProt return nil } -func (p *ExperimentServiceBatchGetExperimentsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRunExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetExperiments_args"); err != nil { + if err = oprot.WriteStructBegin("RunExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -24216,7 +31147,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRunExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -24233,15 +31164,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentsArgs) String() string { +func (p *ExperimentServiceRunExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchGetExperimentsArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceRunExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceBatchGetExperimentsArgs) DeepEqual(ano *ExperimentServiceBatchGetExperimentsArgs) bool { +func (p *ExperimentServiceRunExperimentArgs) DeepEqual(ano *ExperimentServiceRunExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -24253,7 +31184,7 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) DeepEqual(ano *ExperimentServ return true } -func (p *ExperimentServiceBatchGetExperimentsArgs) Field1DeepEqual(src *BatchGetExperimentsRequest) bool { +func (p *ExperimentServiceRunExperimentArgs) Field1DeepEqual(src *RunExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -24261,41 +31192,41 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) Field1DeepEqual(src *BatchGet return true } -type ExperimentServiceBatchGetExperimentsResult struct { - Success *BatchGetExperimentsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetExperimentsResponse"` +type ExperimentServiceRunExperimentResult struct { + Success *RunExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,RunExperimentResponse"` } -func NewExperimentServiceBatchGetExperimentsResult() *ExperimentServiceBatchGetExperimentsResult { - return &ExperimentServiceBatchGetExperimentsResult{} +func NewExperimentServiceRunExperimentResult() *ExperimentServiceRunExperimentResult { + return &ExperimentServiceRunExperimentResult{} } -func (p *ExperimentServiceBatchGetExperimentsResult) InitDefault() { +func (p *ExperimentServiceRunExperimentResult) InitDefault() { } -var ExperimentServiceBatchGetExperimentsResult_Success_DEFAULT *BatchGetExperimentsResponse +var ExperimentServiceRunExperimentResult_Success_DEFAULT *RunExperimentResponse -func (p *ExperimentServiceBatchGetExperimentsResult) GetSuccess() (v *BatchGetExperimentsResponse) { +func (p *ExperimentServiceRunExperimentResult) GetSuccess() (v *RunExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceBatchGetExperimentsResult_Success_DEFAULT + return ExperimentServiceRunExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceBatchGetExperimentsResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetExperimentsResponse) +func (p *ExperimentServiceRunExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*RunExperimentResponse) } -var fieldIDToName_ExperimentServiceBatchGetExperimentsResult = map[int16]string{ +var fieldIDToName_ExperimentServiceRunExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceBatchGetExperimentsResult) IsSetSuccess() bool { +func (p *ExperimentServiceRunExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceBatchGetExperimentsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRunExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -24340,7 +31271,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -24350,8 +31281,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetExperimentsResponse() +func (p *ExperimentServiceRunExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewRunExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -24359,9 +31290,9 @@ func (p *ExperimentServiceBatchGetExperimentsResult) ReadField0(iprot thrift.TPr return nil } -func (p *ExperimentServiceBatchGetExperimentsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRunExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetExperiments_result"); err != nil { + if err = oprot.WriteStructBegin("RunExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -24387,7 +31318,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRunExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -24406,15 +31337,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentsResult) String() string { +func (p *ExperimentServiceRunExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchGetExperimentsResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceRunExperimentResult(%+v)", *p) } -func (p *ExperimentServiceBatchGetExperimentsResult) DeepEqual(ano *ExperimentServiceBatchGetExperimentsResult) bool { +func (p *ExperimentServiceRunExperimentResult) DeepEqual(ano *ExperimentServiceRunExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -24426,7 +31357,7 @@ func (p *ExperimentServiceBatchGetExperimentsResult) DeepEqual(ano *ExperimentSe return true } -func (p *ExperimentServiceBatchGetExperimentsResult) Field0DeepEqual(src *BatchGetExperimentsResponse) bool { +func (p *ExperimentServiceRunExperimentResult) Field0DeepEqual(src *RunExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -24434,41 +31365,41 @@ func (p *ExperimentServiceBatchGetExperimentsResult) Field0DeepEqual(src *BatchG return true } -type ExperimentServiceListExperimentsArgs struct { - Req *ListExperimentsRequest `thrift:"req,1" frugal:"1,default,ListExperimentsRequest"` +type ExperimentServiceRetryExperimentArgs struct { + Req *RetryExperimentRequest `thrift:"req,1" frugal:"1,default,RetryExperimentRequest"` } -func NewExperimentServiceListExperimentsArgs() *ExperimentServiceListExperimentsArgs { - return &ExperimentServiceListExperimentsArgs{} +func NewExperimentServiceRetryExperimentArgs() *ExperimentServiceRetryExperimentArgs { + return &ExperimentServiceRetryExperimentArgs{} } -func (p *ExperimentServiceListExperimentsArgs) InitDefault() { +func (p *ExperimentServiceRetryExperimentArgs) InitDefault() { } -var ExperimentServiceListExperimentsArgs_Req_DEFAULT *ListExperimentsRequest +var ExperimentServiceRetryExperimentArgs_Req_DEFAULT *RetryExperimentRequest -func (p *ExperimentServiceListExperimentsArgs) GetReq() (v *ListExperimentsRequest) { +func (p *ExperimentServiceRetryExperimentArgs) GetReq() (v *RetryExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceListExperimentsArgs_Req_DEFAULT + return ExperimentServiceRetryExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceListExperimentsArgs) SetReq(val *ListExperimentsRequest) { +func (p *ExperimentServiceRetryExperimentArgs) SetReq(val *RetryExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceListExperimentsArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceRetryExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceListExperimentsArgs) IsSetReq() bool { +func (p *ExperimentServiceRetryExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceListExperimentsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRetryExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -24513,7 +31444,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -24523,8 +31454,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewListExperimentsRequest() +func (p *ExperimentServiceRetryExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewRetryExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -24532,9 +31463,9 @@ func (p *ExperimentServiceListExperimentsArgs) ReadField1(iprot thrift.TProtocol return nil } -func (p *ExperimentServiceListExperimentsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRetryExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListExperiments_args"); err != nil { + if err = oprot.WriteStructBegin("RetryExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -24560,7 +31491,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRetryExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -24577,15 +31508,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceListExperimentsArgs) String() string { +func (p *ExperimentServiceRetryExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceListExperimentsArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceRetryExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceListExperimentsArgs) DeepEqual(ano *ExperimentServiceListExperimentsArgs) bool { +func (p *ExperimentServiceRetryExperimentArgs) DeepEqual(ano *ExperimentServiceRetryExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -24597,7 +31528,7 @@ func (p *ExperimentServiceListExperimentsArgs) DeepEqual(ano *ExperimentServiceL return true } -func (p *ExperimentServiceListExperimentsArgs) Field1DeepEqual(src *ListExperimentsRequest) bool { +func (p *ExperimentServiceRetryExperimentArgs) Field1DeepEqual(src *RetryExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -24605,41 +31536,41 @@ func (p *ExperimentServiceListExperimentsArgs) Field1DeepEqual(src *ListExperime return true } -type ExperimentServiceListExperimentsResult struct { - Success *ListExperimentsResponse `thrift:"success,0,optional" frugal:"0,optional,ListExperimentsResponse"` +type ExperimentServiceRetryExperimentResult struct { + Success *RetryExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,RetryExperimentResponse"` } -func NewExperimentServiceListExperimentsResult() *ExperimentServiceListExperimentsResult { - return &ExperimentServiceListExperimentsResult{} +func NewExperimentServiceRetryExperimentResult() *ExperimentServiceRetryExperimentResult { + return &ExperimentServiceRetryExperimentResult{} } -func (p *ExperimentServiceListExperimentsResult) InitDefault() { +func (p *ExperimentServiceRetryExperimentResult) InitDefault() { } -var ExperimentServiceListExperimentsResult_Success_DEFAULT *ListExperimentsResponse +var ExperimentServiceRetryExperimentResult_Success_DEFAULT *RetryExperimentResponse -func (p *ExperimentServiceListExperimentsResult) GetSuccess() (v *ListExperimentsResponse) { +func (p *ExperimentServiceRetryExperimentResult) GetSuccess() (v *RetryExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceListExperimentsResult_Success_DEFAULT + return ExperimentServiceRetryExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceListExperimentsResult) SetSuccess(x interface{}) { - p.Success = x.(*ListExperimentsResponse) +func (p *ExperimentServiceRetryExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*RetryExperimentResponse) } -var fieldIDToName_ExperimentServiceListExperimentsResult = map[int16]string{ +var fieldIDToName_ExperimentServiceRetryExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceListExperimentsResult) IsSetSuccess() bool { +func (p *ExperimentServiceRetryExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceListExperimentsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRetryExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -24684,7 +31615,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -24694,8 +31625,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewListExperimentsResponse() +func (p *ExperimentServiceRetryExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewRetryExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -24703,9 +31634,9 @@ func (p *ExperimentServiceListExperimentsResult) ReadField0(iprot thrift.TProtoc return nil } -func (p *ExperimentServiceListExperimentsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRetryExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListExperiments_result"); err != nil { + if err = oprot.WriteStructBegin("RetryExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -24731,7 +31662,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceRetryExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -24750,15 +31681,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceListExperimentsResult) String() string { +func (p *ExperimentServiceRetryExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceListExperimentsResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceRetryExperimentResult(%+v)", *p) } -func (p *ExperimentServiceListExperimentsResult) DeepEqual(ano *ExperimentServiceListExperimentsResult) bool { +func (p *ExperimentServiceRetryExperimentResult) DeepEqual(ano *ExperimentServiceRetryExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -24770,7 +31701,7 @@ func (p *ExperimentServiceListExperimentsResult) DeepEqual(ano *ExperimentServic return true } -func (p *ExperimentServiceListExperimentsResult) Field0DeepEqual(src *ListExperimentsResponse) bool { +func (p *ExperimentServiceRetryExperimentResult) Field0DeepEqual(src *RetryExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -24778,41 +31709,41 @@ func (p *ExperimentServiceListExperimentsResult) Field0DeepEqual(src *ListExperi return true } -type ExperimentServiceUpdateExperimentArgs struct { - Req *UpdateExperimentRequest `thrift:"req,1" frugal:"1,default,UpdateExperimentRequest"` +type ExperimentServiceKillExperimentArgs struct { + Req *KillExperimentRequest `thrift:"req,1" frugal:"1,default,KillExperimentRequest"` } -func NewExperimentServiceUpdateExperimentArgs() *ExperimentServiceUpdateExperimentArgs { - return &ExperimentServiceUpdateExperimentArgs{} +func NewExperimentServiceKillExperimentArgs() *ExperimentServiceKillExperimentArgs { + return &ExperimentServiceKillExperimentArgs{} } -func (p *ExperimentServiceUpdateExperimentArgs) InitDefault() { +func (p *ExperimentServiceKillExperimentArgs) InitDefault() { } -var ExperimentServiceUpdateExperimentArgs_Req_DEFAULT *UpdateExperimentRequest +var ExperimentServiceKillExperimentArgs_Req_DEFAULT *KillExperimentRequest -func (p *ExperimentServiceUpdateExperimentArgs) GetReq() (v *UpdateExperimentRequest) { +func (p *ExperimentServiceKillExperimentArgs) GetReq() (v *KillExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceUpdateExperimentArgs_Req_DEFAULT + return ExperimentServiceKillExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceUpdateExperimentArgs) SetReq(val *UpdateExperimentRequest) { +func (p *ExperimentServiceKillExperimentArgs) SetReq(val *KillExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceUpdateExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceKillExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceUpdateExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceKillExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceUpdateExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceKillExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -24857,7 +31788,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -24867,8 +31798,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceUpdateExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewUpdateExperimentRequest() +func (p *ExperimentServiceKillExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewKillExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -24876,9 +31807,9 @@ func (p *ExperimentServiceUpdateExperimentArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceUpdateExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceKillExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("KillExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -24904,7 +31835,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceUpdateExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceKillExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -24921,15 +31852,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceUpdateExperimentArgs) String() string { +func (p *ExperimentServiceKillExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceUpdateExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceKillExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceUpdateExperimentArgs) DeepEqual(ano *ExperimentServiceUpdateExperimentArgs) bool { +func (p *ExperimentServiceKillExperimentArgs) DeepEqual(ano *ExperimentServiceKillExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -24941,7 +31872,7 @@ func (p *ExperimentServiceUpdateExperimentArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceUpdateExperimentArgs) Field1DeepEqual(src *UpdateExperimentRequest) bool { +func (p *ExperimentServiceKillExperimentArgs) Field1DeepEqual(src *KillExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -24949,41 +31880,41 @@ func (p *ExperimentServiceUpdateExperimentArgs) Field1DeepEqual(src *UpdateExper return true } -type ExperimentServiceUpdateExperimentResult struct { - Success *UpdateExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,UpdateExperimentResponse"` +type ExperimentServiceKillExperimentResult struct { + Success *KillExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,KillExperimentResponse"` } -func NewExperimentServiceUpdateExperimentResult() *ExperimentServiceUpdateExperimentResult { - return &ExperimentServiceUpdateExperimentResult{} +func NewExperimentServiceKillExperimentResult() *ExperimentServiceKillExperimentResult { + return &ExperimentServiceKillExperimentResult{} } -func (p *ExperimentServiceUpdateExperimentResult) InitDefault() { +func (p *ExperimentServiceKillExperimentResult) InitDefault() { } -var ExperimentServiceUpdateExperimentResult_Success_DEFAULT *UpdateExperimentResponse +var ExperimentServiceKillExperimentResult_Success_DEFAULT *KillExperimentResponse -func (p *ExperimentServiceUpdateExperimentResult) GetSuccess() (v *UpdateExperimentResponse) { +func (p *ExperimentServiceKillExperimentResult) GetSuccess() (v *KillExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceUpdateExperimentResult_Success_DEFAULT + return ExperimentServiceKillExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceUpdateExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*UpdateExperimentResponse) +func (p *ExperimentServiceKillExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*KillExperimentResponse) } -var fieldIDToName_ExperimentServiceUpdateExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceKillExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceUpdateExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceKillExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceUpdateExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceKillExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -25028,7 +31959,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -25038,8 +31969,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceUpdateExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewUpdateExperimentResponse() +func (p *ExperimentServiceKillExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewKillExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -25047,9 +31978,9 @@ func (p *ExperimentServiceUpdateExperimentResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceUpdateExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceKillExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("KillExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -25075,7 +32006,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceUpdateExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceKillExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -25094,15 +32025,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceUpdateExperimentResult) String() string { +func (p *ExperimentServiceKillExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceUpdateExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceKillExperimentResult(%+v)", *p) } -func (p *ExperimentServiceUpdateExperimentResult) DeepEqual(ano *ExperimentServiceUpdateExperimentResult) bool { +func (p *ExperimentServiceKillExperimentResult) DeepEqual(ano *ExperimentServiceKillExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -25114,7 +32045,7 @@ func (p *ExperimentServiceUpdateExperimentResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceUpdateExperimentResult) Field0DeepEqual(src *UpdateExperimentResponse) bool { +func (p *ExperimentServiceKillExperimentResult) Field0DeepEqual(src *KillExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -25122,41 +32053,41 @@ func (p *ExperimentServiceUpdateExperimentResult) Field0DeepEqual(src *UpdateExp return true } -type ExperimentServiceDeleteExperimentArgs struct { - Req *DeleteExperimentRequest `thrift:"req,1" frugal:"1,default,DeleteExperimentRequest"` +type ExperimentServiceBatchGetExperimentResultArgs struct { + Req *BatchGetExperimentResultRequest `thrift:"req,1" frugal:"1,default,BatchGetExperimentResultRequest"` } -func NewExperimentServiceDeleteExperimentArgs() *ExperimentServiceDeleteExperimentArgs { - return &ExperimentServiceDeleteExperimentArgs{} +func NewExperimentServiceBatchGetExperimentResultArgs() *ExperimentServiceBatchGetExperimentResultArgs { + return &ExperimentServiceBatchGetExperimentResultArgs{} } -func (p *ExperimentServiceDeleteExperimentArgs) InitDefault() { +func (p *ExperimentServiceBatchGetExperimentResultArgs) InitDefault() { } -var ExperimentServiceDeleteExperimentArgs_Req_DEFAULT *DeleteExperimentRequest +var ExperimentServiceBatchGetExperimentResultArgs_Req_DEFAULT *BatchGetExperimentResultRequest -func (p *ExperimentServiceDeleteExperimentArgs) GetReq() (v *DeleteExperimentRequest) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) GetReq() (v *BatchGetExperimentResultRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceDeleteExperimentArgs_Req_DEFAULT + return ExperimentServiceBatchGetExperimentResultArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceDeleteExperimentArgs) SetReq(val *DeleteExperimentRequest) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) SetReq(val *BatchGetExperimentResultRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceDeleteExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceBatchGetExperimentResultArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceDeleteExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceBatchGetExperimentResultArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceDeleteExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -25201,7 +32132,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -25211,8 +32142,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceDeleteExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewDeleteExperimentRequest() +func (p *ExperimentServiceBatchGetExperimentResultArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetExperimentResultRequest() if err := _field.Read(iprot); err != nil { return err } @@ -25220,9 +32151,9 @@ func (p *ExperimentServiceDeleteExperimentArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceDeleteExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("BatchGetExperimentResult_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -25248,7 +32179,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceDeleteExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -25265,15 +32196,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceDeleteExperimentArgs) String() string { +func (p *ExperimentServiceBatchGetExperimentResultArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceDeleteExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceBatchGetExperimentResultArgs(%+v)", *p) } -func (p *ExperimentServiceDeleteExperimentArgs) DeepEqual(ano *ExperimentServiceDeleteExperimentArgs) bool { +func (p *ExperimentServiceBatchGetExperimentResultArgs) DeepEqual(ano *ExperimentServiceBatchGetExperimentResultArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -25285,7 +32216,7 @@ func (p *ExperimentServiceDeleteExperimentArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceDeleteExperimentArgs) Field1DeepEqual(src *DeleteExperimentRequest) bool { +func (p *ExperimentServiceBatchGetExperimentResultArgs) Field1DeepEqual(src *BatchGetExperimentResultRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -25293,41 +32224,41 @@ func (p *ExperimentServiceDeleteExperimentArgs) Field1DeepEqual(src *DeleteExper return true } -type ExperimentServiceDeleteExperimentResult struct { - Success *DeleteExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,DeleteExperimentResponse"` +type ExperimentServiceBatchGetExperimentResultResult struct { + Success *BatchGetExperimentResultResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetExperimentResultResponse"` } -func NewExperimentServiceDeleteExperimentResult() *ExperimentServiceDeleteExperimentResult { - return &ExperimentServiceDeleteExperimentResult{} +func NewExperimentServiceBatchGetExperimentResultResult() *ExperimentServiceBatchGetExperimentResultResult { + return &ExperimentServiceBatchGetExperimentResultResult{} } -func (p *ExperimentServiceDeleteExperimentResult) InitDefault() { +func (p *ExperimentServiceBatchGetExperimentResultResult) InitDefault() { } -var ExperimentServiceDeleteExperimentResult_Success_DEFAULT *DeleteExperimentResponse +var ExperimentServiceBatchGetExperimentResultResult_Success_DEFAULT *BatchGetExperimentResultResponse -func (p *ExperimentServiceDeleteExperimentResult) GetSuccess() (v *DeleteExperimentResponse) { +func (p *ExperimentServiceBatchGetExperimentResultResult) GetSuccess() (v *BatchGetExperimentResultResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceDeleteExperimentResult_Success_DEFAULT + return ExperimentServiceBatchGetExperimentResultResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceDeleteExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*DeleteExperimentResponse) +func (p *ExperimentServiceBatchGetExperimentResultResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetExperimentResultResponse) } -var fieldIDToName_ExperimentServiceDeleteExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceBatchGetExperimentResultResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceDeleteExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceBatchGetExperimentResultResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceDeleteExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentResultResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -25372,7 +32303,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -25382,8 +32313,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceDeleteExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewDeleteExperimentResponse() +func (p *ExperimentServiceBatchGetExperimentResultResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetExperimentResultResponse() if err := _field.Read(iprot); err != nil { return err } @@ -25391,9 +32322,9 @@ func (p *ExperimentServiceDeleteExperimentResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceDeleteExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentResultResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("BatchGetExperimentResult_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -25419,7 +32350,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceDeleteExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentResultResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -25438,15 +32369,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceDeleteExperimentResult) String() string { +func (p *ExperimentServiceBatchGetExperimentResultResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceDeleteExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceBatchGetExperimentResultResult(%+v)", *p) } -func (p *ExperimentServiceDeleteExperimentResult) DeepEqual(ano *ExperimentServiceDeleteExperimentResult) bool { +func (p *ExperimentServiceBatchGetExperimentResultResult) DeepEqual(ano *ExperimentServiceBatchGetExperimentResultResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -25458,7 +32389,7 @@ func (p *ExperimentServiceDeleteExperimentResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceDeleteExperimentResult) Field0DeepEqual(src *DeleteExperimentResponse) bool { +func (p *ExperimentServiceBatchGetExperimentResultResult) Field0DeepEqual(src *BatchGetExperimentResultResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -25466,41 +32397,41 @@ func (p *ExperimentServiceDeleteExperimentResult) Field0DeepEqual(src *DeleteExp return true } -type ExperimentServiceBatchDeleteExperimentsArgs struct { - Req *BatchDeleteExperimentsRequest `thrift:"req,1" frugal:"1,default,BatchDeleteExperimentsRequest"` +type ExperimentServiceBatchGetExperimentAggrResultArgs struct { + Req *BatchGetExperimentAggrResultRequest `thrift:"req,1" frugal:"1,default,BatchGetExperimentAggrResultRequest"` } -func NewExperimentServiceBatchDeleteExperimentsArgs() *ExperimentServiceBatchDeleteExperimentsArgs { - return &ExperimentServiceBatchDeleteExperimentsArgs{} +func NewExperimentServiceBatchGetExperimentAggrResultArgs() *ExperimentServiceBatchGetExperimentAggrResultArgs { + return &ExperimentServiceBatchGetExperimentAggrResultArgs{} } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) InitDefault() { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) InitDefault() { } -var ExperimentServiceBatchDeleteExperimentsArgs_Req_DEFAULT *BatchDeleteExperimentsRequest +var ExperimentServiceBatchGetExperimentAggrResultArgs_Req_DEFAULT *BatchGetExperimentAggrResultRequest -func (p *ExperimentServiceBatchDeleteExperimentsArgs) GetReq() (v *BatchDeleteExperimentsRequest) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) GetReq() (v *BatchGetExperimentAggrResultRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceBatchDeleteExperimentsArgs_Req_DEFAULT + return ExperimentServiceBatchGetExperimentAggrResultArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) SetReq(val *BatchDeleteExperimentsRequest) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) SetReq(val *BatchGetExperimentAggrResultRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceBatchDeleteExperimentsArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) IsSetReq() bool { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -25545,7 +32476,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -25555,8 +32486,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchDeleteExperimentsRequest() +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetExperimentAggrResultRequest() if err := _field.Read(iprot); err != nil { return err } @@ -25564,9 +32495,9 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) ReadField1(iprot thrift.TP return nil } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchDeleteExperiments_args"); err != nil { + if err = oprot.WriteStructBegin("BatchGetExperimentAggrResult_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -25592,7 +32523,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -25609,15 +32540,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) String() string { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchDeleteExperimentsArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceBatchGetExperimentAggrResultArgs(%+v)", *p) } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) DeepEqual(ano *ExperimentServiceBatchDeleteExperimentsArgs) bool { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) DeepEqual(ano *ExperimentServiceBatchGetExperimentAggrResultArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -25629,7 +32560,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) DeepEqual(ano *ExperimentS return true } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) Field1DeepEqual(src *BatchDeleteExperimentsRequest) bool { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Field1DeepEqual(src *BatchGetExperimentAggrResultRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -25637,41 +32568,41 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) Field1DeepEqual(src *Batch return true } -type ExperimentServiceBatchDeleteExperimentsResult struct { - Success *BatchDeleteExperimentsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchDeleteExperimentsResponse"` +type ExperimentServiceBatchGetExperimentAggrResultResult struct { + Success *BatchGetExperimentAggrResultResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetExperimentAggrResultResponse"` } -func NewExperimentServiceBatchDeleteExperimentsResult() *ExperimentServiceBatchDeleteExperimentsResult { - return &ExperimentServiceBatchDeleteExperimentsResult{} +func NewExperimentServiceBatchGetExperimentAggrResultResult() *ExperimentServiceBatchGetExperimentAggrResultResult { + return &ExperimentServiceBatchGetExperimentAggrResultResult{} } -func (p *ExperimentServiceBatchDeleteExperimentsResult) InitDefault() { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) InitDefault() { } -var ExperimentServiceBatchDeleteExperimentsResult_Success_DEFAULT *BatchDeleteExperimentsResponse +var ExperimentServiceBatchGetExperimentAggrResultResult_Success_DEFAULT *BatchGetExperimentAggrResultResponse -func (p *ExperimentServiceBatchDeleteExperimentsResult) GetSuccess() (v *BatchDeleteExperimentsResponse) { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) GetSuccess() (v *BatchGetExperimentAggrResultResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceBatchDeleteExperimentsResult_Success_DEFAULT + return ExperimentServiceBatchGetExperimentAggrResultResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceBatchDeleteExperimentsResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchDeleteExperimentsResponse) +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetExperimentAggrResultResponse) } -var fieldIDToName_ExperimentServiceBatchDeleteExperimentsResult = map[int16]string{ +var fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceBatchDeleteExperimentsResult) IsSetSuccess() bool { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceBatchDeleteExperimentsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -25716,7 +32647,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -25726,8 +32657,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchDeleteExperimentsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchDeleteExperimentsResponse() +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetExperimentAggrResultResponse() if err := _field.Read(iprot); err != nil { return err } @@ -25735,9 +32666,9 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) ReadField0(iprot thrift. return nil } -func (p *ExperimentServiceBatchDeleteExperimentsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchDeleteExperiments_result"); err != nil { + if err = oprot.WriteStructBegin("BatchGetExperimentAggrResult_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -25763,7 +32694,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchDeleteExperimentsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -25782,15 +32713,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceBatchDeleteExperimentsResult) String() string { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchDeleteExperimentsResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceBatchGetExperimentAggrResultResult(%+v)", *p) } -func (p *ExperimentServiceBatchDeleteExperimentsResult) DeepEqual(ano *ExperimentServiceBatchDeleteExperimentsResult) bool { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) DeepEqual(ano *ExperimentServiceBatchGetExperimentAggrResultResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -25802,7 +32733,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) DeepEqual(ano *Experimen return true } -func (p *ExperimentServiceBatchDeleteExperimentsResult) Field0DeepEqual(src *BatchDeleteExperimentsResponse) bool { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Field0DeepEqual(src *BatchGetExperimentAggrResultResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -25810,41 +32741,41 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) Field0DeepEqual(src *Bat return true } -type ExperimentServiceCloneExperimentArgs struct { - Req *CloneExperimentRequest `thrift:"req,1" frugal:"1,default,CloneExperimentRequest"` +type ExperimentServiceInvokeExperimentArgs struct { + Req *InvokeExperimentRequest `thrift:"req,1" frugal:"1,default,InvokeExperimentRequest"` } -func NewExperimentServiceCloneExperimentArgs() *ExperimentServiceCloneExperimentArgs { - return &ExperimentServiceCloneExperimentArgs{} +func NewExperimentServiceInvokeExperimentArgs() *ExperimentServiceInvokeExperimentArgs { + return &ExperimentServiceInvokeExperimentArgs{} } -func (p *ExperimentServiceCloneExperimentArgs) InitDefault() { +func (p *ExperimentServiceInvokeExperimentArgs) InitDefault() { } -var ExperimentServiceCloneExperimentArgs_Req_DEFAULT *CloneExperimentRequest +var ExperimentServiceInvokeExperimentArgs_Req_DEFAULT *InvokeExperimentRequest -func (p *ExperimentServiceCloneExperimentArgs) GetReq() (v *CloneExperimentRequest) { +func (p *ExperimentServiceInvokeExperimentArgs) GetReq() (v *InvokeExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceCloneExperimentArgs_Req_DEFAULT + return ExperimentServiceInvokeExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceCloneExperimentArgs) SetReq(val *CloneExperimentRequest) { +func (p *ExperimentServiceInvokeExperimentArgs) SetReq(val *InvokeExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceCloneExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceInvokeExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceCloneExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceInvokeExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceCloneExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInvokeExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -25889,7 +32820,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -25899,8 +32830,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCloneExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewCloneExperimentRequest() +func (p *ExperimentServiceInvokeExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewInvokeExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -25908,9 +32839,9 @@ func (p *ExperimentServiceCloneExperimentArgs) ReadField1(iprot thrift.TProtocol return nil } -func (p *ExperimentServiceCloneExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInvokeExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CloneExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("InvokeExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -25936,7 +32867,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCloneExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInvokeExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -25953,15 +32884,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceCloneExperimentArgs) String() string { +func (p *ExperimentServiceInvokeExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCloneExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceInvokeExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceCloneExperimentArgs) DeepEqual(ano *ExperimentServiceCloneExperimentArgs) bool { +func (p *ExperimentServiceInvokeExperimentArgs) DeepEqual(ano *ExperimentServiceInvokeExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -25973,7 +32904,7 @@ func (p *ExperimentServiceCloneExperimentArgs) DeepEqual(ano *ExperimentServiceC return true } -func (p *ExperimentServiceCloneExperimentArgs) Field1DeepEqual(src *CloneExperimentRequest) bool { +func (p *ExperimentServiceInvokeExperimentArgs) Field1DeepEqual(src *InvokeExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -25981,41 +32912,41 @@ func (p *ExperimentServiceCloneExperimentArgs) Field1DeepEqual(src *CloneExperim return true } -type ExperimentServiceCloneExperimentResult struct { - Success *CloneExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,CloneExperimentResponse"` +type ExperimentServiceInvokeExperimentResult struct { + Success *InvokeExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,InvokeExperimentResponse"` } -func NewExperimentServiceCloneExperimentResult() *ExperimentServiceCloneExperimentResult { - return &ExperimentServiceCloneExperimentResult{} +func NewExperimentServiceInvokeExperimentResult() *ExperimentServiceInvokeExperimentResult { + return &ExperimentServiceInvokeExperimentResult{} } -func (p *ExperimentServiceCloneExperimentResult) InitDefault() { +func (p *ExperimentServiceInvokeExperimentResult) InitDefault() { } -var ExperimentServiceCloneExperimentResult_Success_DEFAULT *CloneExperimentResponse +var ExperimentServiceInvokeExperimentResult_Success_DEFAULT *InvokeExperimentResponse -func (p *ExperimentServiceCloneExperimentResult) GetSuccess() (v *CloneExperimentResponse) { +func (p *ExperimentServiceInvokeExperimentResult) GetSuccess() (v *InvokeExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceCloneExperimentResult_Success_DEFAULT + return ExperimentServiceInvokeExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceCloneExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*CloneExperimentResponse) +func (p *ExperimentServiceInvokeExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*InvokeExperimentResponse) } -var fieldIDToName_ExperimentServiceCloneExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceInvokeExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceCloneExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceInvokeExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceCloneExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInvokeExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -26060,7 +32991,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -26070,8 +33001,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCloneExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewCloneExperimentResponse() +func (p *ExperimentServiceInvokeExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewInvokeExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -26079,9 +33010,9 @@ func (p *ExperimentServiceCloneExperimentResult) ReadField0(iprot thrift.TProtoc return nil } -func (p *ExperimentServiceCloneExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInvokeExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CloneExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("InvokeExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -26107,7 +33038,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCloneExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInvokeExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -26126,15 +33057,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceCloneExperimentResult) String() string { +func (p *ExperimentServiceInvokeExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCloneExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceInvokeExperimentResult(%+v)", *p) } -func (p *ExperimentServiceCloneExperimentResult) DeepEqual(ano *ExperimentServiceCloneExperimentResult) bool { +func (p *ExperimentServiceInvokeExperimentResult) DeepEqual(ano *ExperimentServiceInvokeExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -26146,7 +33077,7 @@ func (p *ExperimentServiceCloneExperimentResult) DeepEqual(ano *ExperimentServic return true } -func (p *ExperimentServiceCloneExperimentResult) Field0DeepEqual(src *CloneExperimentResponse) bool { +func (p *ExperimentServiceInvokeExperimentResult) Field0DeepEqual(src *InvokeExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -26154,41 +33085,41 @@ func (p *ExperimentServiceCloneExperimentResult) Field0DeepEqual(src *CloneExper return true } -type ExperimentServiceRunExperimentArgs struct { - Req *RunExperimentRequest `thrift:"req,1" frugal:"1,default,RunExperimentRequest"` +type ExperimentServiceFinishExperimentArgs struct { + Req *FinishExperimentRequest `thrift:"req,1" frugal:"1,default,FinishExperimentRequest"` } -func NewExperimentServiceRunExperimentArgs() *ExperimentServiceRunExperimentArgs { - return &ExperimentServiceRunExperimentArgs{} +func NewExperimentServiceFinishExperimentArgs() *ExperimentServiceFinishExperimentArgs { + return &ExperimentServiceFinishExperimentArgs{} } -func (p *ExperimentServiceRunExperimentArgs) InitDefault() { +func (p *ExperimentServiceFinishExperimentArgs) InitDefault() { } -var ExperimentServiceRunExperimentArgs_Req_DEFAULT *RunExperimentRequest +var ExperimentServiceFinishExperimentArgs_Req_DEFAULT *FinishExperimentRequest -func (p *ExperimentServiceRunExperimentArgs) GetReq() (v *RunExperimentRequest) { +func (p *ExperimentServiceFinishExperimentArgs) GetReq() (v *FinishExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceRunExperimentArgs_Req_DEFAULT + return ExperimentServiceFinishExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceRunExperimentArgs) SetReq(val *RunExperimentRequest) { +func (p *ExperimentServiceFinishExperimentArgs) SetReq(val *FinishExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceRunExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceFinishExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceRunExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceFinishExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceRunExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFinishExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -26233,7 +33164,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -26243,8 +33174,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceRunExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewRunExperimentRequest() +func (p *ExperimentServiceFinishExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewFinishExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -26252,9 +33183,9 @@ func (p *ExperimentServiceRunExperimentArgs) ReadField1(iprot thrift.TProtocol) return nil } -func (p *ExperimentServiceRunExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFinishExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("RunExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("FinishExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -26280,7 +33211,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceRunExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFinishExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -26297,15 +33228,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceRunExperimentArgs) String() string { +func (p *ExperimentServiceFinishExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceRunExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceFinishExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceRunExperimentArgs) DeepEqual(ano *ExperimentServiceRunExperimentArgs) bool { +func (p *ExperimentServiceFinishExperimentArgs) DeepEqual(ano *ExperimentServiceFinishExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -26317,7 +33248,7 @@ func (p *ExperimentServiceRunExperimentArgs) DeepEqual(ano *ExperimentServiceRun return true } -func (p *ExperimentServiceRunExperimentArgs) Field1DeepEqual(src *RunExperimentRequest) bool { +func (p *ExperimentServiceFinishExperimentArgs) Field1DeepEqual(src *FinishExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -26325,41 +33256,41 @@ func (p *ExperimentServiceRunExperimentArgs) Field1DeepEqual(src *RunExperimentR return true } -type ExperimentServiceRunExperimentResult struct { - Success *RunExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,RunExperimentResponse"` +type ExperimentServiceFinishExperimentResult struct { + Success *FinishExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,FinishExperimentResponse"` } -func NewExperimentServiceRunExperimentResult() *ExperimentServiceRunExperimentResult { - return &ExperimentServiceRunExperimentResult{} +func NewExperimentServiceFinishExperimentResult() *ExperimentServiceFinishExperimentResult { + return &ExperimentServiceFinishExperimentResult{} } -func (p *ExperimentServiceRunExperimentResult) InitDefault() { +func (p *ExperimentServiceFinishExperimentResult) InitDefault() { } -var ExperimentServiceRunExperimentResult_Success_DEFAULT *RunExperimentResponse +var ExperimentServiceFinishExperimentResult_Success_DEFAULT *FinishExperimentResponse -func (p *ExperimentServiceRunExperimentResult) GetSuccess() (v *RunExperimentResponse) { +func (p *ExperimentServiceFinishExperimentResult) GetSuccess() (v *FinishExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceRunExperimentResult_Success_DEFAULT + return ExperimentServiceFinishExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceRunExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*RunExperimentResponse) +func (p *ExperimentServiceFinishExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*FinishExperimentResponse) } -var fieldIDToName_ExperimentServiceRunExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceFinishExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceRunExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceFinishExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceRunExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFinishExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -26404,7 +33335,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -26414,8 +33345,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceRunExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewRunExperimentResponse() +func (p *ExperimentServiceFinishExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewFinishExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -26423,9 +33354,9 @@ func (p *ExperimentServiceRunExperimentResult) ReadField0(iprot thrift.TProtocol return nil } -func (p *ExperimentServiceRunExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFinishExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("RunExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("FinishExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -26451,7 +33382,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceRunExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFinishExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -26470,15 +33401,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceRunExperimentResult) String() string { +func (p *ExperimentServiceFinishExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceRunExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceFinishExperimentResult(%+v)", *p) } -func (p *ExperimentServiceRunExperimentResult) DeepEqual(ano *ExperimentServiceRunExperimentResult) bool { +func (p *ExperimentServiceFinishExperimentResult) DeepEqual(ano *ExperimentServiceFinishExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -26490,7 +33421,7 @@ func (p *ExperimentServiceRunExperimentResult) DeepEqual(ano *ExperimentServiceR return true } -func (p *ExperimentServiceRunExperimentResult) Field0DeepEqual(src *RunExperimentResponse) bool { +func (p *ExperimentServiceFinishExperimentResult) Field0DeepEqual(src *FinishExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -26498,41 +33429,41 @@ func (p *ExperimentServiceRunExperimentResult) Field0DeepEqual(src *RunExperimen return true } -type ExperimentServiceRetryExperimentArgs struct { - Req *RetryExperimentRequest `thrift:"req,1" frugal:"1,default,RetryExperimentRequest"` +type ExperimentServiceListExperimentStatsArgs struct { + Req *ListExperimentStatsRequest `thrift:"req,1" frugal:"1,default,ListExperimentStatsRequest"` } -func NewExperimentServiceRetryExperimentArgs() *ExperimentServiceRetryExperimentArgs { - return &ExperimentServiceRetryExperimentArgs{} +func NewExperimentServiceListExperimentStatsArgs() *ExperimentServiceListExperimentStatsArgs { + return &ExperimentServiceListExperimentStatsArgs{} } -func (p *ExperimentServiceRetryExperimentArgs) InitDefault() { +func (p *ExperimentServiceListExperimentStatsArgs) InitDefault() { } -var ExperimentServiceRetryExperimentArgs_Req_DEFAULT *RetryExperimentRequest +var ExperimentServiceListExperimentStatsArgs_Req_DEFAULT *ListExperimentStatsRequest -func (p *ExperimentServiceRetryExperimentArgs) GetReq() (v *RetryExperimentRequest) { +func (p *ExperimentServiceListExperimentStatsArgs) GetReq() (v *ListExperimentStatsRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceRetryExperimentArgs_Req_DEFAULT + return ExperimentServiceListExperimentStatsArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceRetryExperimentArgs) SetReq(val *RetryExperimentRequest) { +func (p *ExperimentServiceListExperimentStatsArgs) SetReq(val *ListExperimentStatsRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceRetryExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceListExperimentStatsArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceRetryExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceListExperimentStatsArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceRetryExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExperimentStatsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -26577,7 +33508,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -26587,8 +33518,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceRetryExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewRetryExperimentRequest() +func (p *ExperimentServiceListExperimentStatsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListExperimentStatsRequest() if err := _field.Read(iprot); err != nil { return err } @@ -26596,9 +33527,9 @@ func (p *ExperimentServiceRetryExperimentArgs) ReadField1(iprot thrift.TProtocol return nil } -func (p *ExperimentServiceRetryExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExperimentStatsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("RetryExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("ListExperimentStats_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -26624,7 +33555,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceRetryExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExperimentStatsArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -26641,15 +33572,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceRetryExperimentArgs) String() string { +func (p *ExperimentServiceListExperimentStatsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceRetryExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExperimentStatsArgs(%+v)", *p) } -func (p *ExperimentServiceRetryExperimentArgs) DeepEqual(ano *ExperimentServiceRetryExperimentArgs) bool { +func (p *ExperimentServiceListExperimentStatsArgs) DeepEqual(ano *ExperimentServiceListExperimentStatsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -26661,7 +33592,7 @@ func (p *ExperimentServiceRetryExperimentArgs) DeepEqual(ano *ExperimentServiceR return true } -func (p *ExperimentServiceRetryExperimentArgs) Field1DeepEqual(src *RetryExperimentRequest) bool { +func (p *ExperimentServiceListExperimentStatsArgs) Field1DeepEqual(src *ListExperimentStatsRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -26669,41 +33600,41 @@ func (p *ExperimentServiceRetryExperimentArgs) Field1DeepEqual(src *RetryExperim return true } -type ExperimentServiceRetryExperimentResult struct { - Success *RetryExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,RetryExperimentResponse"` +type ExperimentServiceListExperimentStatsResult struct { + Success *ListExperimentStatsResponse `thrift:"success,0,optional" frugal:"0,optional,ListExperimentStatsResponse"` } -func NewExperimentServiceRetryExperimentResult() *ExperimentServiceRetryExperimentResult { - return &ExperimentServiceRetryExperimentResult{} +func NewExperimentServiceListExperimentStatsResult() *ExperimentServiceListExperimentStatsResult { + return &ExperimentServiceListExperimentStatsResult{} } -func (p *ExperimentServiceRetryExperimentResult) InitDefault() { +func (p *ExperimentServiceListExperimentStatsResult) InitDefault() { } -var ExperimentServiceRetryExperimentResult_Success_DEFAULT *RetryExperimentResponse +var ExperimentServiceListExperimentStatsResult_Success_DEFAULT *ListExperimentStatsResponse -func (p *ExperimentServiceRetryExperimentResult) GetSuccess() (v *RetryExperimentResponse) { +func (p *ExperimentServiceListExperimentStatsResult) GetSuccess() (v *ListExperimentStatsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceRetryExperimentResult_Success_DEFAULT + return ExperimentServiceListExperimentStatsResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceRetryExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*RetryExperimentResponse) +func (p *ExperimentServiceListExperimentStatsResult) SetSuccess(x interface{}) { + p.Success = x.(*ListExperimentStatsResponse) } -var fieldIDToName_ExperimentServiceRetryExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceListExperimentStatsResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceRetryExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceListExperimentStatsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceRetryExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExperimentStatsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -26748,7 +33679,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -26758,8 +33689,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceRetryExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewRetryExperimentResponse() +func (p *ExperimentServiceListExperimentStatsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListExperimentStatsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -26767,9 +33698,9 @@ func (p *ExperimentServiceRetryExperimentResult) ReadField0(iprot thrift.TProtoc return nil } -func (p *ExperimentServiceRetryExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExperimentStatsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("RetryExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("ListExperimentStats_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -26795,7 +33726,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceRetryExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExperimentStatsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -26814,15 +33745,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceRetryExperimentResult) String() string { +func (p *ExperimentServiceListExperimentStatsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceRetryExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExperimentStatsResult(%+v)", *p) } -func (p *ExperimentServiceRetryExperimentResult) DeepEqual(ano *ExperimentServiceRetryExperimentResult) bool { +func (p *ExperimentServiceListExperimentStatsResult) DeepEqual(ano *ExperimentServiceListExperimentStatsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -26834,7 +33765,7 @@ func (p *ExperimentServiceRetryExperimentResult) DeepEqual(ano *ExperimentServic return true } -func (p *ExperimentServiceRetryExperimentResult) Field0DeepEqual(src *RetryExperimentResponse) bool { +func (p *ExperimentServiceListExperimentStatsResult) Field0DeepEqual(src *ListExperimentStatsResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -26842,41 +33773,41 @@ func (p *ExperimentServiceRetryExperimentResult) Field0DeepEqual(src *RetryExper return true } -type ExperimentServiceKillExperimentArgs struct { - Req *KillExperimentRequest `thrift:"req,1" frugal:"1,default,KillExperimentRequest"` +type ExperimentServiceUpsertExptTurnResultFilterArgs struct { + Req *UpsertExptTurnResultFilterRequest `thrift:"req,1" frugal:"1,default,UpsertExptTurnResultFilterRequest"` } -func NewExperimentServiceKillExperimentArgs() *ExperimentServiceKillExperimentArgs { - return &ExperimentServiceKillExperimentArgs{} +func NewExperimentServiceUpsertExptTurnResultFilterArgs() *ExperimentServiceUpsertExptTurnResultFilterArgs { + return &ExperimentServiceUpsertExptTurnResultFilterArgs{} } -func (p *ExperimentServiceKillExperimentArgs) InitDefault() { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) InitDefault() { } -var ExperimentServiceKillExperimentArgs_Req_DEFAULT *KillExperimentRequest +var ExperimentServiceUpsertExptTurnResultFilterArgs_Req_DEFAULT *UpsertExptTurnResultFilterRequest -func (p *ExperimentServiceKillExperimentArgs) GetReq() (v *KillExperimentRequest) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) GetReq() (v *UpsertExptTurnResultFilterRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceKillExperimentArgs_Req_DEFAULT + return ExperimentServiceUpsertExptTurnResultFilterArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceKillExperimentArgs) SetReq(val *KillExperimentRequest) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) SetReq(val *UpsertExptTurnResultFilterRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceKillExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceKillExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceKillExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -26921,7 +33852,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -26931,8 +33862,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceKillExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewKillExperimentRequest() +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewUpsertExptTurnResultFilterRequest() if err := _field.Read(iprot); err != nil { return err } @@ -26940,9 +33871,9 @@ func (p *ExperimentServiceKillExperimentArgs) ReadField1(iprot thrift.TProtocol) return nil } -func (p *ExperimentServiceKillExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("KillExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("UpsertExptTurnResultFilter_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -26968,7 +33899,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceKillExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -26985,15 +33916,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceKillExperimentArgs) String() string { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceKillExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceUpsertExptTurnResultFilterArgs(%+v)", *p) } -func (p *ExperimentServiceKillExperimentArgs) DeepEqual(ano *ExperimentServiceKillExperimentArgs) bool { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) DeepEqual(ano *ExperimentServiceUpsertExptTurnResultFilterArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -27005,7 +33936,7 @@ func (p *ExperimentServiceKillExperimentArgs) DeepEqual(ano *ExperimentServiceKi return true } -func (p *ExperimentServiceKillExperimentArgs) Field1DeepEqual(src *KillExperimentRequest) bool { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Field1DeepEqual(src *UpsertExptTurnResultFilterRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -27013,41 +33944,41 @@ func (p *ExperimentServiceKillExperimentArgs) Field1DeepEqual(src *KillExperimen return true } -type ExperimentServiceKillExperimentResult struct { - Success *KillExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,KillExperimentResponse"` +type ExperimentServiceUpsertExptTurnResultFilterResult struct { + Success *UpsertExptTurnResultFilterResponse `thrift:"success,0,optional" frugal:"0,optional,UpsertExptTurnResultFilterResponse"` } -func NewExperimentServiceKillExperimentResult() *ExperimentServiceKillExperimentResult { - return &ExperimentServiceKillExperimentResult{} +func NewExperimentServiceUpsertExptTurnResultFilterResult() *ExperimentServiceUpsertExptTurnResultFilterResult { + return &ExperimentServiceUpsertExptTurnResultFilterResult{} } -func (p *ExperimentServiceKillExperimentResult) InitDefault() { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) InitDefault() { } -var ExperimentServiceKillExperimentResult_Success_DEFAULT *KillExperimentResponse +var ExperimentServiceUpsertExptTurnResultFilterResult_Success_DEFAULT *UpsertExptTurnResultFilterResponse -func (p *ExperimentServiceKillExperimentResult) GetSuccess() (v *KillExperimentResponse) { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) GetSuccess() (v *UpsertExptTurnResultFilterResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceKillExperimentResult_Success_DEFAULT + return ExperimentServiceUpsertExptTurnResultFilterResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceKillExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*KillExperimentResponse) +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) SetSuccess(x interface{}) { + p.Success = x.(*UpsertExptTurnResultFilterResponse) } -var fieldIDToName_ExperimentServiceKillExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceKillExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceKillExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -27092,7 +34023,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -27102,8 +34033,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceKillExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewKillExperimentResponse() +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewUpsertExptTurnResultFilterResponse() if err := _field.Read(iprot); err != nil { return err } @@ -27111,9 +34042,9 @@ func (p *ExperimentServiceKillExperimentResult) ReadField0(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceKillExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("KillExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("UpsertExptTurnResultFilter_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -27139,7 +34070,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceKillExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -27158,15 +34089,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceKillExperimentResult) String() string { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceKillExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceUpsertExptTurnResultFilterResult(%+v)", *p) } -func (p *ExperimentServiceKillExperimentResult) DeepEqual(ano *ExperimentServiceKillExperimentResult) bool { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) DeepEqual(ano *ExperimentServiceUpsertExptTurnResultFilterResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -27178,7 +34109,7 @@ func (p *ExperimentServiceKillExperimentResult) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceKillExperimentResult) Field0DeepEqual(src *KillExperimentResponse) bool { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Field0DeepEqual(src *UpsertExptTurnResultFilterResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -27186,41 +34117,41 @@ func (p *ExperimentServiceKillExperimentResult) Field0DeepEqual(src *KillExperim return true } -type ExperimentServiceBatchGetExperimentResultArgs struct { - Req *BatchGetExperimentResultRequest `thrift:"req,1" frugal:"1,default,BatchGetExperimentResultRequest"` +type ExperimentServiceAssociateAnnotationTagArgs struct { + Req *AssociateAnnotationTagReq `thrift:"req,1" frugal:"1,default,AssociateAnnotationTagReq"` } -func NewExperimentServiceBatchGetExperimentResultArgs() *ExperimentServiceBatchGetExperimentResultArgs { - return &ExperimentServiceBatchGetExperimentResultArgs{} +func NewExperimentServiceAssociateAnnotationTagArgs() *ExperimentServiceAssociateAnnotationTagArgs { + return &ExperimentServiceAssociateAnnotationTagArgs{} } -func (p *ExperimentServiceBatchGetExperimentResultArgs) InitDefault() { +func (p *ExperimentServiceAssociateAnnotationTagArgs) InitDefault() { } -var ExperimentServiceBatchGetExperimentResultArgs_Req_DEFAULT *BatchGetExperimentResultRequest +var ExperimentServiceAssociateAnnotationTagArgs_Req_DEFAULT *AssociateAnnotationTagReq -func (p *ExperimentServiceBatchGetExperimentResultArgs) GetReq() (v *BatchGetExperimentResultRequest) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) GetReq() (v *AssociateAnnotationTagReq) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceBatchGetExperimentResultArgs_Req_DEFAULT + return ExperimentServiceAssociateAnnotationTagArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceBatchGetExperimentResultArgs) SetReq(val *BatchGetExperimentResultRequest) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) SetReq(val *AssociateAnnotationTagReq) { p.Req = val } -var fieldIDToName_ExperimentServiceBatchGetExperimentResultArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceAssociateAnnotationTagArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceBatchGetExperimentResultArgs) IsSetReq() bool { +func (p *ExperimentServiceAssociateAnnotationTagArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceBatchGetExperimentResultArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -27265,7 +34196,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -27275,8 +34206,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentResultArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetExperimentResultRequest() +func (p *ExperimentServiceAssociateAnnotationTagArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewAssociateAnnotationTagReq() if err := _field.Read(iprot); err != nil { return err } @@ -27284,9 +34215,9 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) ReadField1(iprot thrift. return nil } -func (p *ExperimentServiceBatchGetExperimentResultArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetExperimentResult_args"); err != nil { + if err = oprot.WriteStructBegin("AssociateAnnotationTag_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -27312,7 +34243,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentResultArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -27329,15 +34260,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentResultArgs) String() string { +func (p *ExperimentServiceAssociateAnnotationTagArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchGetExperimentResultArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceAssociateAnnotationTagArgs(%+v)", *p) } -func (p *ExperimentServiceBatchGetExperimentResultArgs) DeepEqual(ano *ExperimentServiceBatchGetExperimentResultArgs) bool { +func (p *ExperimentServiceAssociateAnnotationTagArgs) DeepEqual(ano *ExperimentServiceAssociateAnnotationTagArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -27349,7 +34280,7 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) DeepEqual(ano *Experimen return true } -func (p *ExperimentServiceBatchGetExperimentResultArgs) Field1DeepEqual(src *BatchGetExperimentResultRequest) bool { +func (p *ExperimentServiceAssociateAnnotationTagArgs) Field1DeepEqual(src *AssociateAnnotationTagReq) bool { if !p.Req.DeepEqual(src) { return false @@ -27357,41 +34288,41 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) Field1DeepEqual(src *Bat return true } -type ExperimentServiceBatchGetExperimentResultResult struct { - Success *BatchGetExperimentResultResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetExperimentResultResponse"` +type ExperimentServiceAssociateAnnotationTagResult struct { + Success *AssociateAnnotationTagResp `thrift:"success,0,optional" frugal:"0,optional,AssociateAnnotationTagResp"` } -func NewExperimentServiceBatchGetExperimentResultResult() *ExperimentServiceBatchGetExperimentResultResult { - return &ExperimentServiceBatchGetExperimentResultResult{} +func NewExperimentServiceAssociateAnnotationTagResult() *ExperimentServiceAssociateAnnotationTagResult { + return &ExperimentServiceAssociateAnnotationTagResult{} } -func (p *ExperimentServiceBatchGetExperimentResultResult) InitDefault() { +func (p *ExperimentServiceAssociateAnnotationTagResult) InitDefault() { } -var ExperimentServiceBatchGetExperimentResultResult_Success_DEFAULT *BatchGetExperimentResultResponse +var ExperimentServiceAssociateAnnotationTagResult_Success_DEFAULT *AssociateAnnotationTagResp -func (p *ExperimentServiceBatchGetExperimentResultResult) GetSuccess() (v *BatchGetExperimentResultResponse) { +func (p *ExperimentServiceAssociateAnnotationTagResult) GetSuccess() (v *AssociateAnnotationTagResp) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceBatchGetExperimentResultResult_Success_DEFAULT + return ExperimentServiceAssociateAnnotationTagResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceBatchGetExperimentResultResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetExperimentResultResponse) +func (p *ExperimentServiceAssociateAnnotationTagResult) SetSuccess(x interface{}) { + p.Success = x.(*AssociateAnnotationTagResp) } -var fieldIDToName_ExperimentServiceBatchGetExperimentResultResult = map[int16]string{ +var fieldIDToName_ExperimentServiceAssociateAnnotationTagResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceBatchGetExperimentResultResult) IsSetSuccess() bool { +func (p *ExperimentServiceAssociateAnnotationTagResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceBatchGetExperimentResultResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceAssociateAnnotationTagResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -27436,7 +34367,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -27446,8 +34377,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentResultResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetExperimentResultResponse() +func (p *ExperimentServiceAssociateAnnotationTagResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewAssociateAnnotationTagResp() if err := _field.Read(iprot); err != nil { return err } @@ -27455,9 +34386,9 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) ReadField0(iprot thrif return nil } -func (p *ExperimentServiceBatchGetExperimentResultResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceAssociateAnnotationTagResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetExperimentResult_result"); err != nil { + if err = oprot.WriteStructBegin("AssociateAnnotationTag_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -27483,7 +34414,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentResultResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceAssociateAnnotationTagResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -27502,15 +34433,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentResultResult) String() string { +func (p *ExperimentServiceAssociateAnnotationTagResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchGetExperimentResultResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceAssociateAnnotationTagResult(%+v)", *p) } -func (p *ExperimentServiceBatchGetExperimentResultResult) DeepEqual(ano *ExperimentServiceBatchGetExperimentResultResult) bool { +func (p *ExperimentServiceAssociateAnnotationTagResult) DeepEqual(ano *ExperimentServiceAssociateAnnotationTagResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -27522,7 +34453,7 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) DeepEqual(ano *Experim return true } -func (p *ExperimentServiceBatchGetExperimentResultResult) Field0DeepEqual(src *BatchGetExperimentResultResponse) bool { +func (p *ExperimentServiceAssociateAnnotationTagResult) Field0DeepEqual(src *AssociateAnnotationTagResp) bool { if !p.Success.DeepEqual(src) { return false @@ -27530,41 +34461,41 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) Field0DeepEqual(src *B return true } -type ExperimentServiceBatchGetExperimentAggrResultArgs struct { - Req *BatchGetExperimentAggrResultRequest `thrift:"req,1" frugal:"1,default,BatchGetExperimentAggrResultRequest"` +type ExperimentServiceDeleteAnnotationTagArgs struct { + Req *DeleteAnnotationTagReq `thrift:"req,1" frugal:"1,default,DeleteAnnotationTagReq"` } -func NewExperimentServiceBatchGetExperimentAggrResultArgs() *ExperimentServiceBatchGetExperimentAggrResultArgs { - return &ExperimentServiceBatchGetExperimentAggrResultArgs{} +func NewExperimentServiceDeleteAnnotationTagArgs() *ExperimentServiceDeleteAnnotationTagArgs { + return &ExperimentServiceDeleteAnnotationTagArgs{} } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) InitDefault() { +func (p *ExperimentServiceDeleteAnnotationTagArgs) InitDefault() { } -var ExperimentServiceBatchGetExperimentAggrResultArgs_Req_DEFAULT *BatchGetExperimentAggrResultRequest +var ExperimentServiceDeleteAnnotationTagArgs_Req_DEFAULT *DeleteAnnotationTagReq -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) GetReq() (v *BatchGetExperimentAggrResultRequest) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) GetReq() (v *DeleteAnnotationTagReq) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceBatchGetExperimentAggrResultArgs_Req_DEFAULT + return ExperimentServiceDeleteAnnotationTagArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) SetReq(val *BatchGetExperimentAggrResultRequest) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) SetReq(val *DeleteAnnotationTagReq) { p.Req = val } -var fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceDeleteAnnotationTagArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) IsSetReq() bool { +func (p *ExperimentServiceDeleteAnnotationTagArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -27609,7 +34540,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -27619,8 +34550,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetExperimentAggrResultRequest() +func (p *ExperimentServiceDeleteAnnotationTagArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewDeleteAnnotationTagReq() if err := _field.Read(iprot); err != nil { return err } @@ -27628,9 +34559,9 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) ReadField1(iprot thr return nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetExperimentAggrResult_args"); err != nil { + if err = oprot.WriteStructBegin("DeleteAnnotationTag_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -27656,7 +34587,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -27673,15 +34604,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) String() string { +func (p *ExperimentServiceDeleteAnnotationTagArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchGetExperimentAggrResultArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceDeleteAnnotationTagArgs(%+v)", *p) } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) DeepEqual(ano *ExperimentServiceBatchGetExperimentAggrResultArgs) bool { +func (p *ExperimentServiceDeleteAnnotationTagArgs) DeepEqual(ano *ExperimentServiceDeleteAnnotationTagArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -27693,7 +34624,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) DeepEqual(ano *Exper return true } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Field1DeepEqual(src *BatchGetExperimentAggrResultRequest) bool { +func (p *ExperimentServiceDeleteAnnotationTagArgs) Field1DeepEqual(src *DeleteAnnotationTagReq) bool { if !p.Req.DeepEqual(src) { return false @@ -27701,41 +34632,41 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) Field1DeepEqual(src return true } -type ExperimentServiceBatchGetExperimentAggrResultResult struct { - Success *BatchGetExperimentAggrResultResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetExperimentAggrResultResponse"` +type ExperimentServiceDeleteAnnotationTagResult struct { + Success *DeleteAnnotationTagResp `thrift:"success,0,optional" frugal:"0,optional,DeleteAnnotationTagResp"` } -func NewExperimentServiceBatchGetExperimentAggrResultResult() *ExperimentServiceBatchGetExperimentAggrResultResult { - return &ExperimentServiceBatchGetExperimentAggrResultResult{} +func NewExperimentServiceDeleteAnnotationTagResult() *ExperimentServiceDeleteAnnotationTagResult { + return &ExperimentServiceDeleteAnnotationTagResult{} } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) InitDefault() { +func (p *ExperimentServiceDeleteAnnotationTagResult) InitDefault() { } -var ExperimentServiceBatchGetExperimentAggrResultResult_Success_DEFAULT *BatchGetExperimentAggrResultResponse +var ExperimentServiceDeleteAnnotationTagResult_Success_DEFAULT *DeleteAnnotationTagResp -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) GetSuccess() (v *BatchGetExperimentAggrResultResponse) { +func (p *ExperimentServiceDeleteAnnotationTagResult) GetSuccess() (v *DeleteAnnotationTagResp) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceBatchGetExperimentAggrResultResult_Success_DEFAULT + return ExperimentServiceDeleteAnnotationTagResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetExperimentAggrResultResponse) +func (p *ExperimentServiceDeleteAnnotationTagResult) SetSuccess(x interface{}) { + p.Success = x.(*DeleteAnnotationTagResp) } -var fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultResult = map[int16]string{ +var fieldIDToName_ExperimentServiceDeleteAnnotationTagResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) IsSetSuccess() bool { +func (p *ExperimentServiceDeleteAnnotationTagResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteAnnotationTagResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -27780,7 +34711,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -27790,8 +34721,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetExperimentAggrResultResponse() +func (p *ExperimentServiceDeleteAnnotationTagResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewDeleteAnnotationTagResp() if err := _field.Read(iprot); err != nil { return err } @@ -27799,9 +34730,9 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) ReadField0(iprot t return nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteAnnotationTagResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetExperimentAggrResult_result"); err != nil { + if err = oprot.WriteStructBegin("DeleteAnnotationTag_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -27827,7 +34758,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteAnnotationTagResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -27846,15 +34777,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) String() string { +func (p *ExperimentServiceDeleteAnnotationTagResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceBatchGetExperimentAggrResultResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceDeleteAnnotationTagResult(%+v)", *p) } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) DeepEqual(ano *ExperimentServiceBatchGetExperimentAggrResultResult) bool { +func (p *ExperimentServiceDeleteAnnotationTagResult) DeepEqual(ano *ExperimentServiceDeleteAnnotationTagResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -27866,7 +34797,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) DeepEqual(ano *Exp return true } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Field0DeepEqual(src *BatchGetExperimentAggrResultResponse) bool { +func (p *ExperimentServiceDeleteAnnotationTagResult) Field0DeepEqual(src *DeleteAnnotationTagResp) bool { if !p.Success.DeepEqual(src) { return false @@ -27874,41 +34805,41 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) Field0DeepEqual(sr return true } -type ExperimentServiceInvokeExperimentArgs struct { - Req *InvokeExperimentRequest `thrift:"req,1" frugal:"1,default,InvokeExperimentRequest"` +type ExperimentServiceCreateAnnotateRecordArgs struct { + Req *CreateAnnotateRecordReq `thrift:"req,1" frugal:"1,default,CreateAnnotateRecordReq"` } -func NewExperimentServiceInvokeExperimentArgs() *ExperimentServiceInvokeExperimentArgs { - return &ExperimentServiceInvokeExperimentArgs{} +func NewExperimentServiceCreateAnnotateRecordArgs() *ExperimentServiceCreateAnnotateRecordArgs { + return &ExperimentServiceCreateAnnotateRecordArgs{} } -func (p *ExperimentServiceInvokeExperimentArgs) InitDefault() { +func (p *ExperimentServiceCreateAnnotateRecordArgs) InitDefault() { } -var ExperimentServiceInvokeExperimentArgs_Req_DEFAULT *InvokeExperimentRequest +var ExperimentServiceCreateAnnotateRecordArgs_Req_DEFAULT *CreateAnnotateRecordReq -func (p *ExperimentServiceInvokeExperimentArgs) GetReq() (v *InvokeExperimentRequest) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) GetReq() (v *CreateAnnotateRecordReq) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceInvokeExperimentArgs_Req_DEFAULT + return ExperimentServiceCreateAnnotateRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceInvokeExperimentArgs) SetReq(val *InvokeExperimentRequest) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) SetReq(val *CreateAnnotateRecordReq) { p.Req = val } -var fieldIDToName_ExperimentServiceInvokeExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceCreateAnnotateRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceInvokeExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceCreateAnnotateRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceInvokeExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -27953,7 +34884,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -27963,8 +34894,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceInvokeExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewInvokeExperimentRequest() +func (p *ExperimentServiceCreateAnnotateRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewCreateAnnotateRecordReq() if err := _field.Read(iprot); err != nil { return err } @@ -27972,9 +34903,9 @@ func (p *ExperimentServiceInvokeExperimentArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceInvokeExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("InvokeExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("CreateAnnotateRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -28000,7 +34931,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceInvokeExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -28017,15 +34948,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceInvokeExperimentArgs) String() string { +func (p *ExperimentServiceCreateAnnotateRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceInvokeExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceCreateAnnotateRecordArgs(%+v)", *p) } -func (p *ExperimentServiceInvokeExperimentArgs) DeepEqual(ano *ExperimentServiceInvokeExperimentArgs) bool { +func (p *ExperimentServiceCreateAnnotateRecordArgs) DeepEqual(ano *ExperimentServiceCreateAnnotateRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -28037,7 +34968,7 @@ func (p *ExperimentServiceInvokeExperimentArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceInvokeExperimentArgs) Field1DeepEqual(src *InvokeExperimentRequest) bool { +func (p *ExperimentServiceCreateAnnotateRecordArgs) Field1DeepEqual(src *CreateAnnotateRecordReq) bool { if !p.Req.DeepEqual(src) { return false @@ -28045,41 +34976,41 @@ func (p *ExperimentServiceInvokeExperimentArgs) Field1DeepEqual(src *InvokeExper return true } -type ExperimentServiceInvokeExperimentResult struct { - Success *InvokeExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,InvokeExperimentResponse"` +type ExperimentServiceCreateAnnotateRecordResult struct { + Success *CreateAnnotateRecordResp `thrift:"success,0,optional" frugal:"0,optional,CreateAnnotateRecordResp"` } -func NewExperimentServiceInvokeExperimentResult() *ExperimentServiceInvokeExperimentResult { - return &ExperimentServiceInvokeExperimentResult{} +func NewExperimentServiceCreateAnnotateRecordResult() *ExperimentServiceCreateAnnotateRecordResult { + return &ExperimentServiceCreateAnnotateRecordResult{} } -func (p *ExperimentServiceInvokeExperimentResult) InitDefault() { +func (p *ExperimentServiceCreateAnnotateRecordResult) InitDefault() { } -var ExperimentServiceInvokeExperimentResult_Success_DEFAULT *InvokeExperimentResponse +var ExperimentServiceCreateAnnotateRecordResult_Success_DEFAULT *CreateAnnotateRecordResp -func (p *ExperimentServiceInvokeExperimentResult) GetSuccess() (v *InvokeExperimentResponse) { +func (p *ExperimentServiceCreateAnnotateRecordResult) GetSuccess() (v *CreateAnnotateRecordResp) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceInvokeExperimentResult_Success_DEFAULT + return ExperimentServiceCreateAnnotateRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceInvokeExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*InvokeExperimentResponse) +func (p *ExperimentServiceCreateAnnotateRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*CreateAnnotateRecordResp) } -var fieldIDToName_ExperimentServiceInvokeExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceCreateAnnotateRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceInvokeExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceCreateAnnotateRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceInvokeExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCreateAnnotateRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -28124,7 +35055,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -28134,8 +35065,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceInvokeExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewInvokeExperimentResponse() +func (p *ExperimentServiceCreateAnnotateRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewCreateAnnotateRecordResp() if err := _field.Read(iprot); err != nil { return err } @@ -28143,9 +35074,9 @@ func (p *ExperimentServiceInvokeExperimentResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceInvokeExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCreateAnnotateRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("InvokeExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("CreateAnnotateRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -28171,7 +35102,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceInvokeExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceCreateAnnotateRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -28190,15 +35121,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceInvokeExperimentResult) String() string { +func (p *ExperimentServiceCreateAnnotateRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceInvokeExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceCreateAnnotateRecordResult(%+v)", *p) } -func (p *ExperimentServiceInvokeExperimentResult) DeepEqual(ano *ExperimentServiceInvokeExperimentResult) bool { +func (p *ExperimentServiceCreateAnnotateRecordResult) DeepEqual(ano *ExperimentServiceCreateAnnotateRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -28210,7 +35141,7 @@ func (p *ExperimentServiceInvokeExperimentResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceInvokeExperimentResult) Field0DeepEqual(src *InvokeExperimentResponse) bool { +func (p *ExperimentServiceCreateAnnotateRecordResult) Field0DeepEqual(src *CreateAnnotateRecordResp) bool { if !p.Success.DeepEqual(src) { return false @@ -28218,41 +35149,41 @@ func (p *ExperimentServiceInvokeExperimentResult) Field0DeepEqual(src *InvokeExp return true } -type ExperimentServiceFinishExperimentArgs struct { - Req *FinishExperimentRequest `thrift:"req,1" frugal:"1,default,FinishExperimentRequest"` +type ExperimentServiceUpdateAnnotateRecordArgs struct { + Req *UpdateAnnotateRecordReq `thrift:"req,1" frugal:"1,default,UpdateAnnotateRecordReq"` } -func NewExperimentServiceFinishExperimentArgs() *ExperimentServiceFinishExperimentArgs { - return &ExperimentServiceFinishExperimentArgs{} +func NewExperimentServiceUpdateAnnotateRecordArgs() *ExperimentServiceUpdateAnnotateRecordArgs { + return &ExperimentServiceUpdateAnnotateRecordArgs{} } -func (p *ExperimentServiceFinishExperimentArgs) InitDefault() { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) InitDefault() { } -var ExperimentServiceFinishExperimentArgs_Req_DEFAULT *FinishExperimentRequest +var ExperimentServiceUpdateAnnotateRecordArgs_Req_DEFAULT *UpdateAnnotateRecordReq -func (p *ExperimentServiceFinishExperimentArgs) GetReq() (v *FinishExperimentRequest) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) GetReq() (v *UpdateAnnotateRecordReq) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceFinishExperimentArgs_Req_DEFAULT + return ExperimentServiceUpdateAnnotateRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceFinishExperimentArgs) SetReq(val *FinishExperimentRequest) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) SetReq(val *UpdateAnnotateRecordReq) { p.Req = val } -var fieldIDToName_ExperimentServiceFinishExperimentArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceUpdateAnnotateRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceFinishExperimentArgs) IsSetReq() bool { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceFinishExperimentArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -28297,7 +35228,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -28307,8 +35238,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceFinishExperimentArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewFinishExperimentRequest() +func (p *ExperimentServiceUpdateAnnotateRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewUpdateAnnotateRecordReq() if err := _field.Read(iprot); err != nil { return err } @@ -28316,9 +35247,9 @@ func (p *ExperimentServiceFinishExperimentArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceFinishExperimentArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("FinishExperiment_args"); err != nil { + if err = oprot.WriteStructBegin("UpdateAnnotateRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -28344,7 +35275,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceFinishExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -28361,15 +35292,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceFinishExperimentArgs) String() string { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceFinishExperimentArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceUpdateAnnotateRecordArgs(%+v)", *p) } -func (p *ExperimentServiceFinishExperimentArgs) DeepEqual(ano *ExperimentServiceFinishExperimentArgs) bool { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) DeepEqual(ano *ExperimentServiceUpdateAnnotateRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -28381,7 +35312,7 @@ func (p *ExperimentServiceFinishExperimentArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceFinishExperimentArgs) Field1DeepEqual(src *FinishExperimentRequest) bool { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) Field1DeepEqual(src *UpdateAnnotateRecordReq) bool { if !p.Req.DeepEqual(src) { return false @@ -28389,41 +35320,41 @@ func (p *ExperimentServiceFinishExperimentArgs) Field1DeepEqual(src *FinishExper return true } -type ExperimentServiceFinishExperimentResult struct { - Success *FinishExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,FinishExperimentResponse"` +type ExperimentServiceUpdateAnnotateRecordResult struct { + Success *UpdateAnnotateRecordResp `thrift:"success,0,optional" frugal:"0,optional,UpdateAnnotateRecordResp"` } -func NewExperimentServiceFinishExperimentResult() *ExperimentServiceFinishExperimentResult { - return &ExperimentServiceFinishExperimentResult{} +func NewExperimentServiceUpdateAnnotateRecordResult() *ExperimentServiceUpdateAnnotateRecordResult { + return &ExperimentServiceUpdateAnnotateRecordResult{} } -func (p *ExperimentServiceFinishExperimentResult) InitDefault() { +func (p *ExperimentServiceUpdateAnnotateRecordResult) InitDefault() { } -var ExperimentServiceFinishExperimentResult_Success_DEFAULT *FinishExperimentResponse +var ExperimentServiceUpdateAnnotateRecordResult_Success_DEFAULT *UpdateAnnotateRecordResp -func (p *ExperimentServiceFinishExperimentResult) GetSuccess() (v *FinishExperimentResponse) { +func (p *ExperimentServiceUpdateAnnotateRecordResult) GetSuccess() (v *UpdateAnnotateRecordResp) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceFinishExperimentResult_Success_DEFAULT + return ExperimentServiceUpdateAnnotateRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceFinishExperimentResult) SetSuccess(x interface{}) { - p.Success = x.(*FinishExperimentResponse) +func (p *ExperimentServiceUpdateAnnotateRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*UpdateAnnotateRecordResp) } -var fieldIDToName_ExperimentServiceFinishExperimentResult = map[int16]string{ +var fieldIDToName_ExperimentServiceUpdateAnnotateRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceFinishExperimentResult) IsSetSuccess() bool { +func (p *ExperimentServiceUpdateAnnotateRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceFinishExperimentResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpdateAnnotateRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -28468,7 +35399,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -28478,8 +35409,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceFinishExperimentResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewFinishExperimentResponse() +func (p *ExperimentServiceUpdateAnnotateRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewUpdateAnnotateRecordResp() if err := _field.Read(iprot); err != nil { return err } @@ -28487,9 +35418,9 @@ func (p *ExperimentServiceFinishExperimentResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceFinishExperimentResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpdateAnnotateRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("FinishExperiment_result"); err != nil { + if err = oprot.WriteStructBegin("UpdateAnnotateRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -28515,7 +35446,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceFinishExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceUpdateAnnotateRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -28534,15 +35465,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceFinishExperimentResult) String() string { +func (p *ExperimentServiceUpdateAnnotateRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceFinishExperimentResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceUpdateAnnotateRecordResult(%+v)", *p) } -func (p *ExperimentServiceFinishExperimentResult) DeepEqual(ano *ExperimentServiceFinishExperimentResult) bool { +func (p *ExperimentServiceUpdateAnnotateRecordResult) DeepEqual(ano *ExperimentServiceUpdateAnnotateRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -28554,7 +35485,7 @@ func (p *ExperimentServiceFinishExperimentResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceFinishExperimentResult) Field0DeepEqual(src *FinishExperimentResponse) bool { +func (p *ExperimentServiceUpdateAnnotateRecordResult) Field0DeepEqual(src *UpdateAnnotateRecordResp) bool { if !p.Success.DeepEqual(src) { return false @@ -28562,41 +35493,41 @@ func (p *ExperimentServiceFinishExperimentResult) Field0DeepEqual(src *FinishExp return true } -type ExperimentServiceListExperimentStatsArgs struct { - Req *ListExperimentStatsRequest `thrift:"req,1" frugal:"1,default,ListExperimentStatsRequest"` +type ExperimentServiceExportExptResultArgs struct { + Req *ExportExptResultRequest `thrift:"req,1" frugal:"1,default,ExportExptResultRequest"` } -func NewExperimentServiceListExperimentStatsArgs() *ExperimentServiceListExperimentStatsArgs { - return &ExperimentServiceListExperimentStatsArgs{} +func NewExperimentServiceExportExptResultArgs() *ExperimentServiceExportExptResultArgs { + return &ExperimentServiceExportExptResultArgs{} } -func (p *ExperimentServiceListExperimentStatsArgs) InitDefault() { +func (p *ExperimentServiceExportExptResultArgs) InitDefault() { } -var ExperimentServiceListExperimentStatsArgs_Req_DEFAULT *ListExperimentStatsRequest +var ExperimentServiceExportExptResultArgs_Req_DEFAULT *ExportExptResultRequest -func (p *ExperimentServiceListExperimentStatsArgs) GetReq() (v *ListExperimentStatsRequest) { +func (p *ExperimentServiceExportExptResultArgs) GetReq() (v *ExportExptResultRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceListExperimentStatsArgs_Req_DEFAULT + return ExperimentServiceExportExptResultArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceListExperimentStatsArgs) SetReq(val *ListExperimentStatsRequest) { +func (p *ExperimentServiceExportExptResultArgs) SetReq(val *ExportExptResultRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceListExperimentStatsArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceExportExptResultArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceListExperimentStatsArgs) IsSetReq() bool { +func (p *ExperimentServiceExportExptResultArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceListExperimentStatsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceExportExptResultArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -28641,7 +35572,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -28651,8 +35582,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentStatsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewListExperimentStatsRequest() +func (p *ExperimentServiceExportExptResultArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewExportExptResultRequest() if err := _field.Read(iprot); err != nil { return err } @@ -28660,9 +35591,9 @@ func (p *ExperimentServiceListExperimentStatsArgs) ReadField1(iprot thrift.TProt return nil } -func (p *ExperimentServiceListExperimentStatsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceExportExptResultArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListExperimentStats_args"); err != nil { + if err = oprot.WriteStructBegin("ExportExptResult_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -28688,7 +35619,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentStatsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceExportExptResultArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -28705,15 +35636,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceListExperimentStatsArgs) String() string { +func (p *ExperimentServiceExportExptResultArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceListExperimentStatsArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceExportExptResultArgs(%+v)", *p) } -func (p *ExperimentServiceListExperimentStatsArgs) DeepEqual(ano *ExperimentServiceListExperimentStatsArgs) bool { +func (p *ExperimentServiceExportExptResultArgs) DeepEqual(ano *ExperimentServiceExportExptResultArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -28725,7 +35656,7 @@ func (p *ExperimentServiceListExperimentStatsArgs) DeepEqual(ano *ExperimentServ return true } -func (p *ExperimentServiceListExperimentStatsArgs) Field1DeepEqual(src *ListExperimentStatsRequest) bool { +func (p *ExperimentServiceExportExptResultArgs) Field1DeepEqual(src *ExportExptResultRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -28733,41 +35664,41 @@ func (p *ExperimentServiceListExperimentStatsArgs) Field1DeepEqual(src *ListExpe return true } -type ExperimentServiceListExperimentStatsResult struct { - Success *ListExperimentStatsResponse `thrift:"success,0,optional" frugal:"0,optional,ListExperimentStatsResponse"` +type ExperimentServiceExportExptResultResult struct { + Success *ExportExptResultResponse `thrift:"success,0,optional" frugal:"0,optional,ExportExptResultResponse"` } -func NewExperimentServiceListExperimentStatsResult() *ExperimentServiceListExperimentStatsResult { - return &ExperimentServiceListExperimentStatsResult{} +func NewExperimentServiceExportExptResultResult() *ExperimentServiceExportExptResultResult { + return &ExperimentServiceExportExptResultResult{} } -func (p *ExperimentServiceListExperimentStatsResult) InitDefault() { +func (p *ExperimentServiceExportExptResultResult) InitDefault() { } -var ExperimentServiceListExperimentStatsResult_Success_DEFAULT *ListExperimentStatsResponse +var ExperimentServiceExportExptResultResult_Success_DEFAULT *ExportExptResultResponse -func (p *ExperimentServiceListExperimentStatsResult) GetSuccess() (v *ListExperimentStatsResponse) { +func (p *ExperimentServiceExportExptResultResult) GetSuccess() (v *ExportExptResultResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceListExperimentStatsResult_Success_DEFAULT + return ExperimentServiceExportExptResultResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceListExperimentStatsResult) SetSuccess(x interface{}) { - p.Success = x.(*ListExperimentStatsResponse) +func (p *ExperimentServiceExportExptResultResult) SetSuccess(x interface{}) { + p.Success = x.(*ExportExptResultResponse) } -var fieldIDToName_ExperimentServiceListExperimentStatsResult = map[int16]string{ +var fieldIDToName_ExperimentServiceExportExptResultResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceListExperimentStatsResult) IsSetSuccess() bool { +func (p *ExperimentServiceExportExptResultResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceListExperimentStatsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceExportExptResultResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -28812,7 +35743,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -28822,8 +35753,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentStatsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewListExperimentStatsResponse() +func (p *ExperimentServiceExportExptResultResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewExportExptResultResponse() if err := _field.Read(iprot); err != nil { return err } @@ -28831,9 +35762,9 @@ func (p *ExperimentServiceListExperimentStatsResult) ReadField0(iprot thrift.TPr return nil } -func (p *ExperimentServiceListExperimentStatsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceExportExptResultResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListExperimentStats_result"); err != nil { + if err = oprot.WriteStructBegin("ExportExptResult_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -28859,7 +35790,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceListExperimentStatsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceExportExptResultResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -28878,15 +35809,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceListExperimentStatsResult) String() string { +func (p *ExperimentServiceExportExptResultResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceListExperimentStatsResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceExportExptResultResult(%+v)", *p) } -func (p *ExperimentServiceListExperimentStatsResult) DeepEqual(ano *ExperimentServiceListExperimentStatsResult) bool { +func (p *ExperimentServiceExportExptResultResult) DeepEqual(ano *ExperimentServiceExportExptResultResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -28898,7 +35829,7 @@ func (p *ExperimentServiceListExperimentStatsResult) DeepEqual(ano *ExperimentSe return true } -func (p *ExperimentServiceListExperimentStatsResult) Field0DeepEqual(src *ListExperimentStatsResponse) bool { +func (p *ExperimentServiceExportExptResultResult) Field0DeepEqual(src *ExportExptResultResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -28906,41 +35837,41 @@ func (p *ExperimentServiceListExperimentStatsResult) Field0DeepEqual(src *ListEx return true } -type ExperimentServiceUpsertExptTurnResultFilterArgs struct { - Req *UpsertExptTurnResultFilterRequest `thrift:"req,1" frugal:"1,default,UpsertExptTurnResultFilterRequest"` +type ExperimentServiceListExptResultExportRecordArgs struct { + Req *ListExptResultExportRecordRequest `thrift:"req,1" frugal:"1,default,ListExptResultExportRecordRequest"` } -func NewExperimentServiceUpsertExptTurnResultFilterArgs() *ExperimentServiceUpsertExptTurnResultFilterArgs { - return &ExperimentServiceUpsertExptTurnResultFilterArgs{} +func NewExperimentServiceListExptResultExportRecordArgs() *ExperimentServiceListExptResultExportRecordArgs { + return &ExperimentServiceListExptResultExportRecordArgs{} } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) InitDefault() { +func (p *ExperimentServiceListExptResultExportRecordArgs) InitDefault() { } -var ExperimentServiceUpsertExptTurnResultFilterArgs_Req_DEFAULT *UpsertExptTurnResultFilterRequest +var ExperimentServiceListExptResultExportRecordArgs_Req_DEFAULT *ListExptResultExportRecordRequest -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) GetReq() (v *UpsertExptTurnResultFilterRequest) { +func (p *ExperimentServiceListExptResultExportRecordArgs) GetReq() (v *ListExptResultExportRecordRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceUpsertExptTurnResultFilterArgs_Req_DEFAULT + return ExperimentServiceListExptResultExportRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) SetReq(val *UpsertExptTurnResultFilterRequest) { +func (p *ExperimentServiceListExptResultExportRecordArgs) SetReq(val *ListExptResultExportRecordRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceListExptResultExportRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) IsSetReq() bool { +func (p *ExperimentServiceListExptResultExportRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptResultExportRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -28985,7 +35916,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -28995,8 +35926,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewUpsertExptTurnResultFilterRequest() +func (p *ExperimentServiceListExptResultExportRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListExptResultExportRecordRequest() if err := _field.Read(iprot); err != nil { return err } @@ -29004,9 +35935,9 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) ReadField1(iprot thrif return nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptResultExportRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpsertExptTurnResultFilter_args"); err != nil { + if err = oprot.WriteStructBegin("ListExptResultExportRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -29032,7 +35963,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptResultExportRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -29049,15 +35980,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) String() string { +func (p *ExperimentServiceListExptResultExportRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceUpsertExptTurnResultFilterArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExptResultExportRecordArgs(%+v)", *p) } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) DeepEqual(ano *ExperimentServiceUpsertExptTurnResultFilterArgs) bool { +func (p *ExperimentServiceListExptResultExportRecordArgs) DeepEqual(ano *ExperimentServiceListExptResultExportRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -29069,7 +36000,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) DeepEqual(ano *Experim return true } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Field1DeepEqual(src *UpsertExptTurnResultFilterRequest) bool { +func (p *ExperimentServiceListExptResultExportRecordArgs) Field1DeepEqual(src *ListExptResultExportRecordRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -29077,41 +36008,41 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) Field1DeepEqual(src *U return true } -type ExperimentServiceUpsertExptTurnResultFilterResult struct { - Success *UpsertExptTurnResultFilterResponse `thrift:"success,0,optional" frugal:"0,optional,UpsertExptTurnResultFilterResponse"` +type ExperimentServiceListExptResultExportRecordResult struct { + Success *ListExptResultExportRecordResponse `thrift:"success,0,optional" frugal:"0,optional,ListExptResultExportRecordResponse"` } -func NewExperimentServiceUpsertExptTurnResultFilterResult() *ExperimentServiceUpsertExptTurnResultFilterResult { - return &ExperimentServiceUpsertExptTurnResultFilterResult{} +func NewExperimentServiceListExptResultExportRecordResult() *ExperimentServiceListExptResultExportRecordResult { + return &ExperimentServiceListExptResultExportRecordResult{} } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) InitDefault() { +func (p *ExperimentServiceListExptResultExportRecordResult) InitDefault() { } -var ExperimentServiceUpsertExptTurnResultFilterResult_Success_DEFAULT *UpsertExptTurnResultFilterResponse +var ExperimentServiceListExptResultExportRecordResult_Success_DEFAULT *ListExptResultExportRecordResponse -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) GetSuccess() (v *UpsertExptTurnResultFilterResponse) { +func (p *ExperimentServiceListExptResultExportRecordResult) GetSuccess() (v *ListExptResultExportRecordResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceUpsertExptTurnResultFilterResult_Success_DEFAULT + return ExperimentServiceListExptResultExportRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) SetSuccess(x interface{}) { - p.Success = x.(*UpsertExptTurnResultFilterResponse) +func (p *ExperimentServiceListExptResultExportRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*ListExptResultExportRecordResponse) } -var fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterResult = map[int16]string{ +var fieldIDToName_ExperimentServiceListExptResultExportRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) IsSetSuccess() bool { +func (p *ExperimentServiceListExptResultExportRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptResultExportRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -29156,7 +36087,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -29166,8 +36097,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewUpsertExptTurnResultFilterResponse() +func (p *ExperimentServiceListExptResultExportRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListExptResultExportRecordResponse() if err := _field.Read(iprot); err != nil { return err } @@ -29175,9 +36106,9 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) ReadField0(iprot thr return nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptResultExportRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpsertExptTurnResultFilter_result"); err != nil { + if err = oprot.WriteStructBegin("ListExptResultExportRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -29203,7 +36134,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptResultExportRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -29222,15 +36153,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) String() string { +func (p *ExperimentServiceListExptResultExportRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceUpsertExptTurnResultFilterResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExptResultExportRecordResult(%+v)", *p) } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) DeepEqual(ano *ExperimentServiceUpsertExptTurnResultFilterResult) bool { +func (p *ExperimentServiceListExptResultExportRecordResult) DeepEqual(ano *ExperimentServiceListExptResultExportRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -29242,7 +36173,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) DeepEqual(ano *Exper return true } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Field0DeepEqual(src *UpsertExptTurnResultFilterResponse) bool { +func (p *ExperimentServiceListExptResultExportRecordResult) Field0DeepEqual(src *ListExptResultExportRecordResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -29250,41 +36181,41 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) Field0DeepEqual(src return true } -type ExperimentServiceAssociateAnnotationTagArgs struct { - Req *AssociateAnnotationTagReq `thrift:"req,1" frugal:"1,default,AssociateAnnotationTagReq"` +type ExperimentServiceGetExptResultExportRecordArgs struct { + Req *GetExptResultExportRecordRequest `thrift:"req,1" frugal:"1,default,GetExptResultExportRecordRequest"` } -func NewExperimentServiceAssociateAnnotationTagArgs() *ExperimentServiceAssociateAnnotationTagArgs { - return &ExperimentServiceAssociateAnnotationTagArgs{} +func NewExperimentServiceGetExptResultExportRecordArgs() *ExperimentServiceGetExptResultExportRecordArgs { + return &ExperimentServiceGetExptResultExportRecordArgs{} } -func (p *ExperimentServiceAssociateAnnotationTagArgs) InitDefault() { +func (p *ExperimentServiceGetExptResultExportRecordArgs) InitDefault() { } -var ExperimentServiceAssociateAnnotationTagArgs_Req_DEFAULT *AssociateAnnotationTagReq +var ExperimentServiceGetExptResultExportRecordArgs_Req_DEFAULT *GetExptResultExportRecordRequest -func (p *ExperimentServiceAssociateAnnotationTagArgs) GetReq() (v *AssociateAnnotationTagReq) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) GetReq() (v *GetExptResultExportRecordRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceAssociateAnnotationTagArgs_Req_DEFAULT + return ExperimentServiceGetExptResultExportRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceAssociateAnnotationTagArgs) SetReq(val *AssociateAnnotationTagReq) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) SetReq(val *GetExptResultExportRecordRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceAssociateAnnotationTagArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceGetExptResultExportRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceAssociateAnnotationTagArgs) IsSetReq() bool { +func (p *ExperimentServiceGetExptResultExportRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceAssociateAnnotationTagArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -29329,7 +36260,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -29339,8 +36270,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceAssociateAnnotationTagArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewAssociateAnnotationTagReq() +func (p *ExperimentServiceGetExptResultExportRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewGetExptResultExportRecordRequest() if err := _field.Read(iprot); err != nil { return err } @@ -29348,9 +36279,9 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) ReadField1(iprot thrift.TP return nil } -func (p *ExperimentServiceAssociateAnnotationTagArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AssociateAnnotationTag_args"); err != nil { + if err = oprot.WriteStructBegin("GetExptResultExportRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -29376,7 +36307,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceAssociateAnnotationTagArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -29393,15 +36324,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceAssociateAnnotationTagArgs) String() string { +func (p *ExperimentServiceGetExptResultExportRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceAssociateAnnotationTagArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceGetExptResultExportRecordArgs(%+v)", *p) } -func (p *ExperimentServiceAssociateAnnotationTagArgs) DeepEqual(ano *ExperimentServiceAssociateAnnotationTagArgs) bool { +func (p *ExperimentServiceGetExptResultExportRecordArgs) DeepEqual(ano *ExperimentServiceGetExptResultExportRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -29413,7 +36344,7 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) DeepEqual(ano *ExperimentS return true } -func (p *ExperimentServiceAssociateAnnotationTagArgs) Field1DeepEqual(src *AssociateAnnotationTagReq) bool { +func (p *ExperimentServiceGetExptResultExportRecordArgs) Field1DeepEqual(src *GetExptResultExportRecordRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -29421,41 +36352,41 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) Field1DeepEqual(src *Assoc return true } -type ExperimentServiceAssociateAnnotationTagResult struct { - Success *AssociateAnnotationTagResp `thrift:"success,0,optional" frugal:"0,optional,AssociateAnnotationTagResp"` +type ExperimentServiceGetExptResultExportRecordResult struct { + Success *GetExptResultExportRecordResponse `thrift:"success,0,optional" frugal:"0,optional,GetExptResultExportRecordResponse"` } -func NewExperimentServiceAssociateAnnotationTagResult() *ExperimentServiceAssociateAnnotationTagResult { - return &ExperimentServiceAssociateAnnotationTagResult{} +func NewExperimentServiceGetExptResultExportRecordResult() *ExperimentServiceGetExptResultExportRecordResult { + return &ExperimentServiceGetExptResultExportRecordResult{} } -func (p *ExperimentServiceAssociateAnnotationTagResult) InitDefault() { +func (p *ExperimentServiceGetExptResultExportRecordResult) InitDefault() { } -var ExperimentServiceAssociateAnnotationTagResult_Success_DEFAULT *AssociateAnnotationTagResp +var ExperimentServiceGetExptResultExportRecordResult_Success_DEFAULT *GetExptResultExportRecordResponse -func (p *ExperimentServiceAssociateAnnotationTagResult) GetSuccess() (v *AssociateAnnotationTagResp) { +func (p *ExperimentServiceGetExptResultExportRecordResult) GetSuccess() (v *GetExptResultExportRecordResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceAssociateAnnotationTagResult_Success_DEFAULT + return ExperimentServiceGetExptResultExportRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceAssociateAnnotationTagResult) SetSuccess(x interface{}) { - p.Success = x.(*AssociateAnnotationTagResp) +func (p *ExperimentServiceGetExptResultExportRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*GetExptResultExportRecordResponse) } -var fieldIDToName_ExperimentServiceAssociateAnnotationTagResult = map[int16]string{ +var fieldIDToName_ExperimentServiceGetExptResultExportRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceAssociateAnnotationTagResult) IsSetSuccess() bool { +func (p *ExperimentServiceGetExptResultExportRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceAssociateAnnotationTagResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptResultExportRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -29500,7 +36431,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -29510,8 +36441,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceAssociateAnnotationTagResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewAssociateAnnotationTagResp() +func (p *ExperimentServiceGetExptResultExportRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewGetExptResultExportRecordResponse() if err := _field.Read(iprot); err != nil { return err } @@ -29519,9 +36450,9 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) ReadField0(iprot thrift. return nil } -func (p *ExperimentServiceAssociateAnnotationTagResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptResultExportRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AssociateAnnotationTag_result"); err != nil { + if err = oprot.WriteStructBegin("GetExptResultExportRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -29547,7 +36478,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceAssociateAnnotationTagResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptResultExportRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -29566,15 +36497,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceAssociateAnnotationTagResult) String() string { +func (p *ExperimentServiceGetExptResultExportRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceAssociateAnnotationTagResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceGetExptResultExportRecordResult(%+v)", *p) } -func (p *ExperimentServiceAssociateAnnotationTagResult) DeepEqual(ano *ExperimentServiceAssociateAnnotationTagResult) bool { +func (p *ExperimentServiceGetExptResultExportRecordResult) DeepEqual(ano *ExperimentServiceGetExptResultExportRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -29586,7 +36517,7 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) DeepEqual(ano *Experimen return true } -func (p *ExperimentServiceAssociateAnnotationTagResult) Field0DeepEqual(src *AssociateAnnotationTagResp) bool { +func (p *ExperimentServiceGetExptResultExportRecordResult) Field0DeepEqual(src *GetExptResultExportRecordResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -29594,41 +36525,41 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) Field0DeepEqual(src *Ass return true } -type ExperimentServiceDeleteAnnotationTagArgs struct { - Req *DeleteAnnotationTagReq `thrift:"req,1" frugal:"1,default,DeleteAnnotationTagReq"` +type ExperimentServiceInsightAnalysisExperimentArgs struct { + Req *InsightAnalysisExperimentRequest `thrift:"req,1" frugal:"1,default,InsightAnalysisExperimentRequest"` } -func NewExperimentServiceDeleteAnnotationTagArgs() *ExperimentServiceDeleteAnnotationTagArgs { - return &ExperimentServiceDeleteAnnotationTagArgs{} +func NewExperimentServiceInsightAnalysisExperimentArgs() *ExperimentServiceInsightAnalysisExperimentArgs { + return &ExperimentServiceInsightAnalysisExperimentArgs{} } -func (p *ExperimentServiceDeleteAnnotationTagArgs) InitDefault() { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) InitDefault() { } -var ExperimentServiceDeleteAnnotationTagArgs_Req_DEFAULT *DeleteAnnotationTagReq +var ExperimentServiceInsightAnalysisExperimentArgs_Req_DEFAULT *InsightAnalysisExperimentRequest -func (p *ExperimentServiceDeleteAnnotationTagArgs) GetReq() (v *DeleteAnnotationTagReq) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) GetReq() (v *InsightAnalysisExperimentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceDeleteAnnotationTagArgs_Req_DEFAULT + return ExperimentServiceInsightAnalysisExperimentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceDeleteAnnotationTagArgs) SetReq(val *DeleteAnnotationTagReq) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) SetReq(val *InsightAnalysisExperimentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceDeleteAnnotationTagArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceInsightAnalysisExperimentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceDeleteAnnotationTagArgs) IsSetReq() bool { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceDeleteAnnotationTagArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -29673,7 +36604,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInsightAnalysisExperimentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -29682,9 +36613,9 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } - -func (p *ExperimentServiceDeleteAnnotationTagArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewDeleteAnnotationTagReq() + +func (p *ExperimentServiceInsightAnalysisExperimentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewInsightAnalysisExperimentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -29692,9 +36623,9 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) ReadField1(iprot thrift.TProt return nil } -func (p *ExperimentServiceDeleteAnnotationTagArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteAnnotationTag_args"); err != nil { + if err = oprot.WriteStructBegin("InsightAnalysisExperiment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -29720,7 +36651,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceDeleteAnnotationTagArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -29737,15 +36668,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceDeleteAnnotationTagArgs) String() string { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceDeleteAnnotationTagArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceInsightAnalysisExperimentArgs(%+v)", *p) } -func (p *ExperimentServiceDeleteAnnotationTagArgs) DeepEqual(ano *ExperimentServiceDeleteAnnotationTagArgs) bool { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) DeepEqual(ano *ExperimentServiceInsightAnalysisExperimentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -29757,7 +36688,7 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) DeepEqual(ano *ExperimentServ return true } -func (p *ExperimentServiceDeleteAnnotationTagArgs) Field1DeepEqual(src *DeleteAnnotationTagReq) bool { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) Field1DeepEqual(src *InsightAnalysisExperimentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -29765,41 +36696,41 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) Field1DeepEqual(src *DeleteAn return true } -type ExperimentServiceDeleteAnnotationTagResult struct { - Success *DeleteAnnotationTagResp `thrift:"success,0,optional" frugal:"0,optional,DeleteAnnotationTagResp"` +type ExperimentServiceInsightAnalysisExperimentResult struct { + Success *InsightAnalysisExperimentResponse `thrift:"success,0,optional" frugal:"0,optional,InsightAnalysisExperimentResponse"` } -func NewExperimentServiceDeleteAnnotationTagResult() *ExperimentServiceDeleteAnnotationTagResult { - return &ExperimentServiceDeleteAnnotationTagResult{} +func NewExperimentServiceInsightAnalysisExperimentResult() *ExperimentServiceInsightAnalysisExperimentResult { + return &ExperimentServiceInsightAnalysisExperimentResult{} } -func (p *ExperimentServiceDeleteAnnotationTagResult) InitDefault() { +func (p *ExperimentServiceInsightAnalysisExperimentResult) InitDefault() { } -var ExperimentServiceDeleteAnnotationTagResult_Success_DEFAULT *DeleteAnnotationTagResp +var ExperimentServiceInsightAnalysisExperimentResult_Success_DEFAULT *InsightAnalysisExperimentResponse -func (p *ExperimentServiceDeleteAnnotationTagResult) GetSuccess() (v *DeleteAnnotationTagResp) { +func (p *ExperimentServiceInsightAnalysisExperimentResult) GetSuccess() (v *InsightAnalysisExperimentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceDeleteAnnotationTagResult_Success_DEFAULT + return ExperimentServiceInsightAnalysisExperimentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceDeleteAnnotationTagResult) SetSuccess(x interface{}) { - p.Success = x.(*DeleteAnnotationTagResp) +func (p *ExperimentServiceInsightAnalysisExperimentResult) SetSuccess(x interface{}) { + p.Success = x.(*InsightAnalysisExperimentResponse) } -var fieldIDToName_ExperimentServiceDeleteAnnotationTagResult = map[int16]string{ +var fieldIDToName_ExperimentServiceInsightAnalysisExperimentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceDeleteAnnotationTagResult) IsSetSuccess() bool { +func (p *ExperimentServiceInsightAnalysisExperimentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceDeleteAnnotationTagResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInsightAnalysisExperimentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -29844,7 +36775,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInsightAnalysisExperimentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -29854,8 +36785,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceDeleteAnnotationTagResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewDeleteAnnotationTagResp() +func (p *ExperimentServiceInsightAnalysisExperimentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewInsightAnalysisExperimentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -29863,9 +36794,9 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) ReadField0(iprot thrift.TPr return nil } -func (p *ExperimentServiceDeleteAnnotationTagResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInsightAnalysisExperimentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteAnnotationTag_result"); err != nil { + if err = oprot.WriteStructBegin("InsightAnalysisExperiment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -29891,7 +36822,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceDeleteAnnotationTagResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceInsightAnalysisExperimentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -29910,15 +36841,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceDeleteAnnotationTagResult) String() string { +func (p *ExperimentServiceInsightAnalysisExperimentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceDeleteAnnotationTagResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceInsightAnalysisExperimentResult(%+v)", *p) } -func (p *ExperimentServiceDeleteAnnotationTagResult) DeepEqual(ano *ExperimentServiceDeleteAnnotationTagResult) bool { +func (p *ExperimentServiceInsightAnalysisExperimentResult) DeepEqual(ano *ExperimentServiceInsightAnalysisExperimentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -29930,7 +36861,7 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) DeepEqual(ano *ExperimentSe return true } -func (p *ExperimentServiceDeleteAnnotationTagResult) Field0DeepEqual(src *DeleteAnnotationTagResp) bool { +func (p *ExperimentServiceInsightAnalysisExperimentResult) Field0DeepEqual(src *InsightAnalysisExperimentResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -29938,41 +36869,41 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) Field0DeepEqual(src *Delete return true } -type ExperimentServiceCreateAnnotateRecordArgs struct { - Req *CreateAnnotateRecordReq `thrift:"req,1" frugal:"1,default,CreateAnnotateRecordReq"` +type ExperimentServiceListExptInsightAnalysisRecordArgs struct { + Req *ListExptInsightAnalysisRecordRequest `thrift:"req,1" frugal:"1,default,ListExptInsightAnalysisRecordRequest"` } -func NewExperimentServiceCreateAnnotateRecordArgs() *ExperimentServiceCreateAnnotateRecordArgs { - return &ExperimentServiceCreateAnnotateRecordArgs{} +func NewExperimentServiceListExptInsightAnalysisRecordArgs() *ExperimentServiceListExptInsightAnalysisRecordArgs { + return &ExperimentServiceListExptInsightAnalysisRecordArgs{} } -func (p *ExperimentServiceCreateAnnotateRecordArgs) InitDefault() { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) InitDefault() { } -var ExperimentServiceCreateAnnotateRecordArgs_Req_DEFAULT *CreateAnnotateRecordReq +var ExperimentServiceListExptInsightAnalysisRecordArgs_Req_DEFAULT *ListExptInsightAnalysisRecordRequest -func (p *ExperimentServiceCreateAnnotateRecordArgs) GetReq() (v *CreateAnnotateRecordReq) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) GetReq() (v *ListExptInsightAnalysisRecordRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceCreateAnnotateRecordArgs_Req_DEFAULT + return ExperimentServiceListExptInsightAnalysisRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceCreateAnnotateRecordArgs) SetReq(val *CreateAnnotateRecordReq) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) SetReq(val *ListExptInsightAnalysisRecordRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceCreateAnnotateRecordArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceListExptInsightAnalysisRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceCreateAnnotateRecordArgs) IsSetReq() bool { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceCreateAnnotateRecordArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -30017,7 +36948,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -30027,8 +36958,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCreateAnnotateRecordArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewCreateAnnotateRecordReq() +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListExptInsightAnalysisRecordRequest() if err := _field.Read(iprot); err != nil { return err } @@ -30036,9 +36967,9 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) ReadField1(iprot thrift.TPro return nil } -func (p *ExperimentServiceCreateAnnotateRecordArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateAnnotateRecord_args"); err != nil { + if err = oprot.WriteStructBegin("ListExptInsightAnalysisRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -30064,7 +36995,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCreateAnnotateRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -30081,15 +37012,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceCreateAnnotateRecordArgs) String() string { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCreateAnnotateRecordArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExptInsightAnalysisRecordArgs(%+v)", *p) } -func (p *ExperimentServiceCreateAnnotateRecordArgs) DeepEqual(ano *ExperimentServiceCreateAnnotateRecordArgs) bool { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) DeepEqual(ano *ExperimentServiceListExptInsightAnalysisRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -30101,7 +37032,7 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) DeepEqual(ano *ExperimentSer return true } -func (p *ExperimentServiceCreateAnnotateRecordArgs) Field1DeepEqual(src *CreateAnnotateRecordReq) bool { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) Field1DeepEqual(src *ListExptInsightAnalysisRecordRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -30109,41 +37040,41 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) Field1DeepEqual(src *CreateA return true } -type ExperimentServiceCreateAnnotateRecordResult struct { - Success *CreateAnnotateRecordResp `thrift:"success,0,optional" frugal:"0,optional,CreateAnnotateRecordResp"` +type ExperimentServiceListExptInsightAnalysisRecordResult struct { + Success *ListExptInsightAnalysisRecordResponse `thrift:"success,0,optional" frugal:"0,optional,ListExptInsightAnalysisRecordResponse"` } -func NewExperimentServiceCreateAnnotateRecordResult() *ExperimentServiceCreateAnnotateRecordResult { - return &ExperimentServiceCreateAnnotateRecordResult{} +func NewExperimentServiceListExptInsightAnalysisRecordResult() *ExperimentServiceListExptInsightAnalysisRecordResult { + return &ExperimentServiceListExptInsightAnalysisRecordResult{} } -func (p *ExperimentServiceCreateAnnotateRecordResult) InitDefault() { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) InitDefault() { } -var ExperimentServiceCreateAnnotateRecordResult_Success_DEFAULT *CreateAnnotateRecordResp +var ExperimentServiceListExptInsightAnalysisRecordResult_Success_DEFAULT *ListExptInsightAnalysisRecordResponse -func (p *ExperimentServiceCreateAnnotateRecordResult) GetSuccess() (v *CreateAnnotateRecordResp) { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) GetSuccess() (v *ListExptInsightAnalysisRecordResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceCreateAnnotateRecordResult_Success_DEFAULT + return ExperimentServiceListExptInsightAnalysisRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceCreateAnnotateRecordResult) SetSuccess(x interface{}) { - p.Success = x.(*CreateAnnotateRecordResp) +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*ListExptInsightAnalysisRecordResponse) } -var fieldIDToName_ExperimentServiceCreateAnnotateRecordResult = map[int16]string{ +var fieldIDToName_ExperimentServiceListExptInsightAnalysisRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceCreateAnnotateRecordResult) IsSetSuccess() bool { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceCreateAnnotateRecordResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -30188,7 +37119,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -30198,8 +37129,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceCreateAnnotateRecordResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewCreateAnnotateRecordResp() +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListExptInsightAnalysisRecordResponse() if err := _field.Read(iprot); err != nil { return err } @@ -30207,9 +37138,9 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) ReadField0(iprot thrift.TP return nil } -func (p *ExperimentServiceCreateAnnotateRecordResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateAnnotateRecord_result"); err != nil { + if err = oprot.WriteStructBegin("ListExptInsightAnalysisRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -30235,7 +37166,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceCreateAnnotateRecordResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -30254,15 +37185,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceCreateAnnotateRecordResult) String() string { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceCreateAnnotateRecordResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExptInsightAnalysisRecordResult(%+v)", *p) } -func (p *ExperimentServiceCreateAnnotateRecordResult) DeepEqual(ano *ExperimentServiceCreateAnnotateRecordResult) bool { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) DeepEqual(ano *ExperimentServiceListExptInsightAnalysisRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -30274,7 +37205,7 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) DeepEqual(ano *ExperimentS return true } -func (p *ExperimentServiceCreateAnnotateRecordResult) Field0DeepEqual(src *CreateAnnotateRecordResp) bool { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) Field0DeepEqual(src *ListExptInsightAnalysisRecordResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -30282,41 +37213,41 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) Field0DeepEqual(src *Creat return true } -type ExperimentServiceUpdateAnnotateRecordArgs struct { - Req *UpdateAnnotateRecordReq `thrift:"req,1" frugal:"1,default,UpdateAnnotateRecordReq"` +type ExperimentServiceDeleteExptInsightAnalysisRecordArgs struct { + Req *DeleteExptInsightAnalysisRecordRequest `thrift:"req,1" frugal:"1,default,DeleteExptInsightAnalysisRecordRequest"` } -func NewExperimentServiceUpdateAnnotateRecordArgs() *ExperimentServiceUpdateAnnotateRecordArgs { - return &ExperimentServiceUpdateAnnotateRecordArgs{} +func NewExperimentServiceDeleteExptInsightAnalysisRecordArgs() *ExperimentServiceDeleteExptInsightAnalysisRecordArgs { + return &ExperimentServiceDeleteExptInsightAnalysisRecordArgs{} } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) InitDefault() { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) InitDefault() { } -var ExperimentServiceUpdateAnnotateRecordArgs_Req_DEFAULT *UpdateAnnotateRecordReq +var ExperimentServiceDeleteExptInsightAnalysisRecordArgs_Req_DEFAULT *DeleteExptInsightAnalysisRecordRequest -func (p *ExperimentServiceUpdateAnnotateRecordArgs) GetReq() (v *UpdateAnnotateRecordReq) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) GetReq() (v *DeleteExptInsightAnalysisRecordRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceUpdateAnnotateRecordArgs_Req_DEFAULT + return ExperimentServiceDeleteExptInsightAnalysisRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) SetReq(val *UpdateAnnotateRecordReq) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) SetReq(val *DeleteExptInsightAnalysisRecordRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceUpdateAnnotateRecordArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceDeleteExptInsightAnalysisRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) IsSetReq() bool { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -30361,7 +37292,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExptInsightAnalysisRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -30371,8 +37302,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewUpdateAnnotateRecordReq() +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewDeleteExptInsightAnalysisRecordRequest() if err := _field.Read(iprot); err != nil { return err } @@ -30380,9 +37311,9 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) ReadField1(iprot thrift.TPro return nil } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateAnnotateRecord_args"); err != nil { + if err = oprot.WriteStructBegin("DeleteExptInsightAnalysisRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -30408,7 +37339,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -30425,15 +37356,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) String() string { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceUpdateAnnotateRecordArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceDeleteExptInsightAnalysisRecordArgs(%+v)", *p) } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) DeepEqual(ano *ExperimentServiceUpdateAnnotateRecordArgs) bool { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) DeepEqual(ano *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -30445,7 +37376,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) DeepEqual(ano *ExperimentSer return true } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) Field1DeepEqual(src *UpdateAnnotateRecordReq) bool { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) Field1DeepEqual(src *DeleteExptInsightAnalysisRecordRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -30453,41 +37384,41 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) Field1DeepEqual(src *UpdateA return true } -type ExperimentServiceUpdateAnnotateRecordResult struct { - Success *UpdateAnnotateRecordResp `thrift:"success,0,optional" frugal:"0,optional,UpdateAnnotateRecordResp"` +type ExperimentServiceDeleteExptInsightAnalysisRecordResult struct { + Success *DeleteExptInsightAnalysisRecordResponse `thrift:"success,0,optional" frugal:"0,optional,DeleteExptInsightAnalysisRecordResponse"` } -func NewExperimentServiceUpdateAnnotateRecordResult() *ExperimentServiceUpdateAnnotateRecordResult { - return &ExperimentServiceUpdateAnnotateRecordResult{} +func NewExperimentServiceDeleteExptInsightAnalysisRecordResult() *ExperimentServiceDeleteExptInsightAnalysisRecordResult { + return &ExperimentServiceDeleteExptInsightAnalysisRecordResult{} } -func (p *ExperimentServiceUpdateAnnotateRecordResult) InitDefault() { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) InitDefault() { } -var ExperimentServiceUpdateAnnotateRecordResult_Success_DEFAULT *UpdateAnnotateRecordResp +var ExperimentServiceDeleteExptInsightAnalysisRecordResult_Success_DEFAULT *DeleteExptInsightAnalysisRecordResponse -func (p *ExperimentServiceUpdateAnnotateRecordResult) GetSuccess() (v *UpdateAnnotateRecordResp) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) GetSuccess() (v *DeleteExptInsightAnalysisRecordResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceUpdateAnnotateRecordResult_Success_DEFAULT + return ExperimentServiceDeleteExptInsightAnalysisRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceUpdateAnnotateRecordResult) SetSuccess(x interface{}) { - p.Success = x.(*UpdateAnnotateRecordResp) +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*DeleteExptInsightAnalysisRecordResponse) } -var fieldIDToName_ExperimentServiceUpdateAnnotateRecordResult = map[int16]string{ +var fieldIDToName_ExperimentServiceDeleteExptInsightAnalysisRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceUpdateAnnotateRecordResult) IsSetSuccess() bool { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceUpdateAnnotateRecordResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -30532,7 +37463,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExptInsightAnalysisRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -30542,8 +37473,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceUpdateAnnotateRecordResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewUpdateAnnotateRecordResp() +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewDeleteExptInsightAnalysisRecordResponse() if err := _field.Read(iprot); err != nil { return err } @@ -30551,9 +37482,9 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) ReadField0(iprot thrift.TP return nil } -func (p *ExperimentServiceUpdateAnnotateRecordResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateAnnotateRecord_result"); err != nil { + if err = oprot.WriteStructBegin("DeleteExptInsightAnalysisRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -30579,7 +37510,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceUpdateAnnotateRecordResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -30598,15 +37529,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceUpdateAnnotateRecordResult) String() string { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceUpdateAnnotateRecordResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceDeleteExptInsightAnalysisRecordResult(%+v)", *p) } -func (p *ExperimentServiceUpdateAnnotateRecordResult) DeepEqual(ano *ExperimentServiceUpdateAnnotateRecordResult) bool { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) DeepEqual(ano *ExperimentServiceDeleteExptInsightAnalysisRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -30618,7 +37549,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) DeepEqual(ano *ExperimentS return true } -func (p *ExperimentServiceUpdateAnnotateRecordResult) Field0DeepEqual(src *UpdateAnnotateRecordResp) bool { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) Field0DeepEqual(src *DeleteExptInsightAnalysisRecordResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -30626,41 +37557,41 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) Field0DeepEqual(src *Updat return true } -type ExperimentServiceExportExptResultArgs struct { - Req *ExportExptResultRequest `thrift:"req,1" frugal:"1,default,ExportExptResultRequest"` +type ExperimentServiceGetExptInsightAnalysisRecordArgs struct { + Req *GetExptInsightAnalysisRecordRequest `thrift:"req,1" frugal:"1,default,GetExptInsightAnalysisRecordRequest"` } -func NewExperimentServiceExportExptResultArgs() *ExperimentServiceExportExptResultArgs { - return &ExperimentServiceExportExptResultArgs{} +func NewExperimentServiceGetExptInsightAnalysisRecordArgs() *ExperimentServiceGetExptInsightAnalysisRecordArgs { + return &ExperimentServiceGetExptInsightAnalysisRecordArgs{} } -func (p *ExperimentServiceExportExptResultArgs) InitDefault() { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) InitDefault() { } -var ExperimentServiceExportExptResultArgs_Req_DEFAULT *ExportExptResultRequest +var ExperimentServiceGetExptInsightAnalysisRecordArgs_Req_DEFAULT *GetExptInsightAnalysisRecordRequest -func (p *ExperimentServiceExportExptResultArgs) GetReq() (v *ExportExptResultRequest) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) GetReq() (v *GetExptInsightAnalysisRecordRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceExportExptResultArgs_Req_DEFAULT + return ExperimentServiceGetExptInsightAnalysisRecordArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceExportExptResultArgs) SetReq(val *ExportExptResultRequest) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) SetReq(val *GetExptInsightAnalysisRecordRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceExportExptResultArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceGetExptInsightAnalysisRecordArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceExportExptResultArgs) IsSetReq() bool { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceExportExptResultArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -30705,7 +37636,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptInsightAnalysisRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -30715,8 +37646,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceExportExptResultArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewExportExptResultRequest() +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewGetExptInsightAnalysisRecordRequest() if err := _field.Read(iprot); err != nil { return err } @@ -30724,9 +37655,9 @@ func (p *ExperimentServiceExportExptResultArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *ExperimentServiceExportExptResultArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ExportExptResult_args"); err != nil { + if err = oprot.WriteStructBegin("GetExptInsightAnalysisRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -30752,7 +37683,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceExportExptResultArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -30769,15 +37700,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceExportExptResultArgs) String() string { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceExportExptResultArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceGetExptInsightAnalysisRecordArgs(%+v)", *p) } -func (p *ExperimentServiceExportExptResultArgs) DeepEqual(ano *ExperimentServiceExportExptResultArgs) bool { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) DeepEqual(ano *ExperimentServiceGetExptInsightAnalysisRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -30789,7 +37720,7 @@ func (p *ExperimentServiceExportExptResultArgs) DeepEqual(ano *ExperimentService return true } -func (p *ExperimentServiceExportExptResultArgs) Field1DeepEqual(src *ExportExptResultRequest) bool { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) Field1DeepEqual(src *GetExptInsightAnalysisRecordRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -30797,41 +37728,41 @@ func (p *ExperimentServiceExportExptResultArgs) Field1DeepEqual(src *ExportExptR return true } -type ExperimentServiceExportExptResultResult struct { - Success *ExportExptResultResponse `thrift:"success,0,optional" frugal:"0,optional,ExportExptResultResponse"` +type ExperimentServiceGetExptInsightAnalysisRecordResult struct { + Success *GetExptInsightAnalysisRecordResponse `thrift:"success,0,optional" frugal:"0,optional,GetExptInsightAnalysisRecordResponse"` } -func NewExperimentServiceExportExptResultResult() *ExperimentServiceExportExptResultResult { - return &ExperimentServiceExportExptResultResult{} +func NewExperimentServiceGetExptInsightAnalysisRecordResult() *ExperimentServiceGetExptInsightAnalysisRecordResult { + return &ExperimentServiceGetExptInsightAnalysisRecordResult{} } -func (p *ExperimentServiceExportExptResultResult) InitDefault() { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) InitDefault() { } -var ExperimentServiceExportExptResultResult_Success_DEFAULT *ExportExptResultResponse +var ExperimentServiceGetExptInsightAnalysisRecordResult_Success_DEFAULT *GetExptInsightAnalysisRecordResponse -func (p *ExperimentServiceExportExptResultResult) GetSuccess() (v *ExportExptResultResponse) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) GetSuccess() (v *GetExptInsightAnalysisRecordResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceExportExptResultResult_Success_DEFAULT + return ExperimentServiceGetExptInsightAnalysisRecordResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceExportExptResultResult) SetSuccess(x interface{}) { - p.Success = x.(*ExportExptResultResponse) +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*GetExptInsightAnalysisRecordResponse) } -var fieldIDToName_ExperimentServiceExportExptResultResult = map[int16]string{ +var fieldIDToName_ExperimentServiceGetExptInsightAnalysisRecordResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceExportExptResultResult) IsSetSuccess() bool { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceExportExptResultResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -30876,7 +37807,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptInsightAnalysisRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -30886,8 +37817,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceExportExptResultResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewExportExptResultResponse() +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewGetExptInsightAnalysisRecordResponse() if err := _field.Read(iprot); err != nil { return err } @@ -30895,9 +37826,9 @@ func (p *ExperimentServiceExportExptResultResult) ReadField0(iprot thrift.TProto return nil } -func (p *ExperimentServiceExportExptResultResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ExportExptResult_result"); err != nil { + if err = oprot.WriteStructBegin("GetExptInsightAnalysisRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -30923,7 +37854,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceExportExptResultResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -30942,15 +37873,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceExportExptResultResult) String() string { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceExportExptResultResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceGetExptInsightAnalysisRecordResult(%+v)", *p) } -func (p *ExperimentServiceExportExptResultResult) DeepEqual(ano *ExperimentServiceExportExptResultResult) bool { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) DeepEqual(ano *ExperimentServiceGetExptInsightAnalysisRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -30962,7 +37893,7 @@ func (p *ExperimentServiceExportExptResultResult) DeepEqual(ano *ExperimentServi return true } -func (p *ExperimentServiceExportExptResultResult) Field0DeepEqual(src *ExportExptResultResponse) bool { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) Field0DeepEqual(src *GetExptInsightAnalysisRecordResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -30970,41 +37901,41 @@ func (p *ExperimentServiceExportExptResultResult) Field0DeepEqual(src *ExportExp return true } -type ExperimentServiceListExptResultExportRecordArgs struct { - Req *ListExptResultExportRecordRequest `thrift:"req,1" frugal:"1,default,ListExptResultExportRecordRequest"` +type ExperimentServiceFeedbackExptInsightAnalysisReportArgs struct { + Req *FeedbackExptInsightAnalysisReportRequest `thrift:"req,1" frugal:"1,default,FeedbackExptInsightAnalysisReportRequest"` } -func NewExperimentServiceListExptResultExportRecordArgs() *ExperimentServiceListExptResultExportRecordArgs { - return &ExperimentServiceListExptResultExportRecordArgs{} +func NewExperimentServiceFeedbackExptInsightAnalysisReportArgs() *ExperimentServiceFeedbackExptInsightAnalysisReportArgs { + return &ExperimentServiceFeedbackExptInsightAnalysisReportArgs{} } -func (p *ExperimentServiceListExptResultExportRecordArgs) InitDefault() { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) InitDefault() { } -var ExperimentServiceListExptResultExportRecordArgs_Req_DEFAULT *ListExptResultExportRecordRequest +var ExperimentServiceFeedbackExptInsightAnalysisReportArgs_Req_DEFAULT *FeedbackExptInsightAnalysisReportRequest -func (p *ExperimentServiceListExptResultExportRecordArgs) GetReq() (v *ListExptResultExportRecordRequest) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) GetReq() (v *FeedbackExptInsightAnalysisReportRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceListExptResultExportRecordArgs_Req_DEFAULT + return ExperimentServiceFeedbackExptInsightAnalysisReportArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceListExptResultExportRecordArgs) SetReq(val *ListExptResultExportRecordRequest) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) SetReq(val *FeedbackExptInsightAnalysisReportRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceListExptResultExportRecordArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceFeedbackExptInsightAnalysisReportArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceListExptResultExportRecordArgs) IsSetReq() bool { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceListExptResultExportRecordArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -31049,7 +37980,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFeedbackExptInsightAnalysisReportArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -31059,8 +37990,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceListExptResultExportRecordArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewListExptResultExportRecordRequest() +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewFeedbackExptInsightAnalysisReportRequest() if err := _field.Read(iprot); err != nil { return err } @@ -31068,9 +37999,9 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) ReadField1(iprot thrif return nil } -func (p *ExperimentServiceListExptResultExportRecordArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListExptResultExportRecord_args"); err != nil { + if err = oprot.WriteStructBegin("FeedbackExptInsightAnalysisReport_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -31096,7 +38027,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceListExptResultExportRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -31113,15 +38044,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceListExptResultExportRecordArgs) String() string { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceListExptResultExportRecordArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceFeedbackExptInsightAnalysisReportArgs(%+v)", *p) } -func (p *ExperimentServiceListExptResultExportRecordArgs) DeepEqual(ano *ExperimentServiceListExptResultExportRecordArgs) bool { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) DeepEqual(ano *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -31133,7 +38064,7 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) DeepEqual(ano *Experim return true } -func (p *ExperimentServiceListExptResultExportRecordArgs) Field1DeepEqual(src *ListExptResultExportRecordRequest) bool { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) Field1DeepEqual(src *FeedbackExptInsightAnalysisReportRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -31141,41 +38072,41 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) Field1DeepEqual(src *L return true } -type ExperimentServiceListExptResultExportRecordResult struct { - Success *ListExptResultExportRecordResponse `thrift:"success,0,optional" frugal:"0,optional,ListExptResultExportRecordResponse"` +type ExperimentServiceFeedbackExptInsightAnalysisReportResult struct { + Success *FeedbackExptInsightAnalysisReportResponse `thrift:"success,0,optional" frugal:"0,optional,FeedbackExptInsightAnalysisReportResponse"` } -func NewExperimentServiceListExptResultExportRecordResult() *ExperimentServiceListExptResultExportRecordResult { - return &ExperimentServiceListExptResultExportRecordResult{} +func NewExperimentServiceFeedbackExptInsightAnalysisReportResult() *ExperimentServiceFeedbackExptInsightAnalysisReportResult { + return &ExperimentServiceFeedbackExptInsightAnalysisReportResult{} } -func (p *ExperimentServiceListExptResultExportRecordResult) InitDefault() { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) InitDefault() { } -var ExperimentServiceListExptResultExportRecordResult_Success_DEFAULT *ListExptResultExportRecordResponse +var ExperimentServiceFeedbackExptInsightAnalysisReportResult_Success_DEFAULT *FeedbackExptInsightAnalysisReportResponse -func (p *ExperimentServiceListExptResultExportRecordResult) GetSuccess() (v *ListExptResultExportRecordResponse) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) GetSuccess() (v *FeedbackExptInsightAnalysisReportResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceListExptResultExportRecordResult_Success_DEFAULT + return ExperimentServiceFeedbackExptInsightAnalysisReportResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceListExptResultExportRecordResult) SetSuccess(x interface{}) { - p.Success = x.(*ListExptResultExportRecordResponse) +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) SetSuccess(x interface{}) { + p.Success = x.(*FeedbackExptInsightAnalysisReportResponse) } -var fieldIDToName_ExperimentServiceListExptResultExportRecordResult = map[int16]string{ +var fieldIDToName_ExperimentServiceFeedbackExptInsightAnalysisReportResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceListExptResultExportRecordResult) IsSetSuccess() bool { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceListExptResultExportRecordResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -31220,7 +38151,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFeedbackExptInsightAnalysisReportResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -31230,8 +38161,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceListExptResultExportRecordResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewListExptResultExportRecordResponse() +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewFeedbackExptInsightAnalysisReportResponse() if err := _field.Read(iprot); err != nil { return err } @@ -31239,9 +38170,9 @@ func (p *ExperimentServiceListExptResultExportRecordResult) ReadField0(iprot thr return nil } -func (p *ExperimentServiceListExptResultExportRecordResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListExptResultExportRecord_result"); err != nil { + if err = oprot.WriteStructBegin("FeedbackExptInsightAnalysisReport_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -31267,7 +38198,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceListExptResultExportRecordResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -31286,15 +38217,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceListExptResultExportRecordResult) String() string { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceListExptResultExportRecordResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceFeedbackExptInsightAnalysisReportResult(%+v)", *p) } -func (p *ExperimentServiceListExptResultExportRecordResult) DeepEqual(ano *ExperimentServiceListExptResultExportRecordResult) bool { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) DeepEqual(ano *ExperimentServiceFeedbackExptInsightAnalysisReportResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -31306,7 +38237,7 @@ func (p *ExperimentServiceListExptResultExportRecordResult) DeepEqual(ano *Exper return true } -func (p *ExperimentServiceListExptResultExportRecordResult) Field0DeepEqual(src *ListExptResultExportRecordResponse) bool { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) Field0DeepEqual(src *FeedbackExptInsightAnalysisReportResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -31314,41 +38245,41 @@ func (p *ExperimentServiceListExptResultExportRecordResult) Field0DeepEqual(src return true } -type ExperimentServiceGetExptResultExportRecordArgs struct { - Req *GetExptResultExportRecordRequest `thrift:"req,1" frugal:"1,default,GetExptResultExportRecordRequest"` +type ExperimentServiceListExptInsightAnalysisCommentArgs struct { + Req *ListExptInsightAnalysisCommentRequest `thrift:"req,1" frugal:"1,default,ListExptInsightAnalysisCommentRequest"` } -func NewExperimentServiceGetExptResultExportRecordArgs() *ExperimentServiceGetExptResultExportRecordArgs { - return &ExperimentServiceGetExptResultExportRecordArgs{} +func NewExperimentServiceListExptInsightAnalysisCommentArgs() *ExperimentServiceListExptInsightAnalysisCommentArgs { + return &ExperimentServiceListExptInsightAnalysisCommentArgs{} } -func (p *ExperimentServiceGetExptResultExportRecordArgs) InitDefault() { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) InitDefault() { } -var ExperimentServiceGetExptResultExportRecordArgs_Req_DEFAULT *GetExptResultExportRecordRequest +var ExperimentServiceListExptInsightAnalysisCommentArgs_Req_DEFAULT *ListExptInsightAnalysisCommentRequest -func (p *ExperimentServiceGetExptResultExportRecordArgs) GetReq() (v *GetExptResultExportRecordRequest) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) GetReq() (v *ListExptInsightAnalysisCommentRequest) { if p == nil { return } if !p.IsSetReq() { - return ExperimentServiceGetExptResultExportRecordArgs_Req_DEFAULT + return ExperimentServiceListExptInsightAnalysisCommentArgs_Req_DEFAULT } return p.Req } -func (p *ExperimentServiceGetExptResultExportRecordArgs) SetReq(val *GetExptResultExportRecordRequest) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) SetReq(val *ListExptInsightAnalysisCommentRequest) { p.Req = val } -var fieldIDToName_ExperimentServiceGetExptResultExportRecordArgs = map[int16]string{ +var fieldIDToName_ExperimentServiceListExptInsightAnalysisCommentArgs = map[int16]string{ 1: "req", } -func (p *ExperimentServiceGetExptResultExportRecordArgs) IsSetReq() bool { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) IsSetReq() bool { return p.Req != nil } -func (p *ExperimentServiceGetExptResultExportRecordArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -31393,7 +38324,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisCommentArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -31403,8 +38334,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceGetExptResultExportRecordArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewGetExptResultExportRecordRequest() +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListExptInsightAnalysisCommentRequest() if err := _field.Read(iprot); err != nil { return err } @@ -31412,9 +38343,9 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) ReadField1(iprot thrift return nil } -func (p *ExperimentServiceGetExptResultExportRecordArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetExptResultExportRecord_args"); err != nil { + if err = oprot.WriteStructBegin("ListExptInsightAnalysisComment_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -31440,7 +38371,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceGetExptResultExportRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -31457,15 +38388,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExperimentServiceGetExptResultExportRecordArgs) String() string { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceGetExptResultExportRecordArgs(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExptInsightAnalysisCommentArgs(%+v)", *p) } -func (p *ExperimentServiceGetExptResultExportRecordArgs) DeepEqual(ano *ExperimentServiceGetExptResultExportRecordArgs) bool { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) DeepEqual(ano *ExperimentServiceListExptInsightAnalysisCommentArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -31477,7 +38408,7 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) DeepEqual(ano *Experime return true } -func (p *ExperimentServiceGetExptResultExportRecordArgs) Field1DeepEqual(src *GetExptResultExportRecordRequest) bool { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) Field1DeepEqual(src *ListExptInsightAnalysisCommentRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -31485,41 +38416,41 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) Field1DeepEqual(src *Ge return true } -type ExperimentServiceGetExptResultExportRecordResult struct { - Success *GetExptResultExportRecordResponse `thrift:"success,0,optional" frugal:"0,optional,GetExptResultExportRecordResponse"` +type ExperimentServiceListExptInsightAnalysisCommentResult struct { + Success *ListExptInsightAnalysisCommentResponse `thrift:"success,0,optional" frugal:"0,optional,ListExptInsightAnalysisCommentResponse"` } -func NewExperimentServiceGetExptResultExportRecordResult() *ExperimentServiceGetExptResultExportRecordResult { - return &ExperimentServiceGetExptResultExportRecordResult{} +func NewExperimentServiceListExptInsightAnalysisCommentResult() *ExperimentServiceListExptInsightAnalysisCommentResult { + return &ExperimentServiceListExptInsightAnalysisCommentResult{} } -func (p *ExperimentServiceGetExptResultExportRecordResult) InitDefault() { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) InitDefault() { } -var ExperimentServiceGetExptResultExportRecordResult_Success_DEFAULT *GetExptResultExportRecordResponse +var ExperimentServiceListExptInsightAnalysisCommentResult_Success_DEFAULT *ListExptInsightAnalysisCommentResponse -func (p *ExperimentServiceGetExptResultExportRecordResult) GetSuccess() (v *GetExptResultExportRecordResponse) { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) GetSuccess() (v *ListExptInsightAnalysisCommentResponse) { if p == nil { return } if !p.IsSetSuccess() { - return ExperimentServiceGetExptResultExportRecordResult_Success_DEFAULT + return ExperimentServiceListExptInsightAnalysisCommentResult_Success_DEFAULT } return p.Success } -func (p *ExperimentServiceGetExptResultExportRecordResult) SetSuccess(x interface{}) { - p.Success = x.(*GetExptResultExportRecordResponse) +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) SetSuccess(x interface{}) { + p.Success = x.(*ListExptInsightAnalysisCommentResponse) } -var fieldIDToName_ExperimentServiceGetExptResultExportRecordResult = map[int16]string{ +var fieldIDToName_ExperimentServiceListExptInsightAnalysisCommentResult = map[int16]string{ 0: "success", } -func (p *ExperimentServiceGetExptResultExportRecordResult) IsSetSuccess() bool { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) IsSetSuccess() bool { return p.Success != nil } -func (p *ExperimentServiceGetExptResultExportRecordResult) Read(iprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -31564,7 +38495,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisCommentResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -31574,8 +38505,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExperimentServiceGetExptResultExportRecordResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewGetExptResultExportRecordResponse() +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListExptInsightAnalysisCommentResponse() if err := _field.Read(iprot); err != nil { return err } @@ -31583,9 +38514,9 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) ReadField0(iprot thri return nil } -func (p *ExperimentServiceGetExptResultExportRecordResult) Write(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetExptResultExportRecord_result"); err != nil { + if err = oprot.WriteStructBegin("ListExptInsightAnalysisComment_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -31611,7 +38542,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExperimentServiceGetExptResultExportRecordResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -31630,15 +38561,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *ExperimentServiceGetExptResultExportRecordResult) String() string { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) String() string { if p == nil { return "" } - return fmt.Sprintf("ExperimentServiceGetExptResultExportRecordResult(%+v)", *p) + return fmt.Sprintf("ExperimentServiceListExptInsightAnalysisCommentResult(%+v)", *p) } -func (p *ExperimentServiceGetExptResultExportRecordResult) DeepEqual(ano *ExperimentServiceGetExptResultExportRecordResult) bool { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) DeepEqual(ano *ExperimentServiceListExptInsightAnalysisCommentResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -31650,7 +38581,7 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) DeepEqual(ano *Experi return true } -func (p *ExperimentServiceGetExptResultExportRecordResult) Field0DeepEqual(src *GetExptResultExportRecordResponse) bool { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) Field0DeepEqual(src *ListExptInsightAnalysisCommentResponse) bool { if !p.Success.DeepEqual(src) { return false diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go index 5208bf3c0..c4dada673 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go @@ -562,3 +562,134 @@ func (p *GetExptResultExportRecordResponse) IsValid() error { } return nil } +func (p *GetExptInsightAnalysisRecordRequest) IsValid() error { + if p.Session != nil { + if err := p.Session.IsValid(); err != nil { + return fmt.Errorf("field Session not valid, %w", err) + } + } + if p.Base != nil { + if err := p.Base.IsValid(); err != nil { + return fmt.Errorf("field Base not valid, %w", err) + } + } + return nil +} +func (p *GetExptInsightAnalysisRecordResponse) IsValid() error { + if p.ExptResultExportRecord != nil { + if err := p.ExptResultExportRecord.IsValid(); err != nil { + return fmt.Errorf("field ExptResultExportRecord not valid, %w", err) + } + } + if p.BaseResp != nil { + if err := p.BaseResp.IsValid(); err != nil { + return fmt.Errorf("field BaseResp not valid, %w", err) + } + } + return nil +} +func (p *InsightAnalysisExperimentRequest) IsValid() error { + if p.Session != nil { + if err := p.Session.IsValid(); err != nil { + return fmt.Errorf("field Session not valid, %w", err) + } + } + if p.Base != nil { + if err := p.Base.IsValid(); err != nil { + return fmt.Errorf("field Base not valid, %w", err) + } + } + return nil +} +func (p *InsightAnalysisExperimentResponse) IsValid() error { + if p.BaseResp != nil { + if err := p.BaseResp.IsValid(); err != nil { + return fmt.Errorf("field BaseResp not valid, %w", err) + } + } + return nil +} +func (p *ListExptInsightAnalysisRecordRequest) IsValid() error { + if p.Session != nil { + if err := p.Session.IsValid(); err != nil { + return fmt.Errorf("field Session not valid, %w", err) + } + } + if p.Base != nil { + if err := p.Base.IsValid(); err != nil { + return fmt.Errorf("field Base not valid, %w", err) + } + } + return nil +} +func (p *ListExptInsightAnalysisRecordResponse) IsValid() error { + if p.BaseResp != nil { + if err := p.BaseResp.IsValid(); err != nil { + return fmt.Errorf("field BaseResp not valid, %w", err) + } + } + return nil +} +func (p *DeleteExptInsightAnalysisRecordRequest) IsValid() error { + if p.Session != nil { + if err := p.Session.IsValid(); err != nil { + return fmt.Errorf("field Session not valid, %w", err) + } + } + if p.Base != nil { + if err := p.Base.IsValid(); err != nil { + return fmt.Errorf("field Base not valid, %w", err) + } + } + return nil +} +func (p *DeleteExptInsightAnalysisRecordResponse) IsValid() error { + if p.BaseResp != nil { + if err := p.BaseResp.IsValid(); err != nil { + return fmt.Errorf("field BaseResp not valid, %w", err) + } + } + return nil +} +func (p *FeedbackExptInsightAnalysisReportRequest) IsValid() error { + if p.Session != nil { + if err := p.Session.IsValid(); err != nil { + return fmt.Errorf("field Session not valid, %w", err) + } + } + if p.Base != nil { + if err := p.Base.IsValid(); err != nil { + return fmt.Errorf("field Base not valid, %w", err) + } + } + return nil +} +func (p *FeedbackExptInsightAnalysisReportResponse) IsValid() error { + if p.BaseResp != nil { + if err := p.BaseResp.IsValid(); err != nil { + return fmt.Errorf("field BaseResp not valid, %w", err) + } + } + return nil +} +func (p *ListExptInsightAnalysisCommentRequest) IsValid() error { + if p.Session != nil { + if err := p.Session.IsValid(); err != nil { + return fmt.Errorf("field Session not valid, %w", err) + } + } + if p.Base != nil { + if err := p.Base.IsValid(); err != nil { + return fmt.Errorf("field Base not valid, %w", err) + } + } + return nil +} +func (p *ListExptInsightAnalysisCommentResponse) IsValid() error { + if p.BaseResp != nil { + if err := p.BaseResp.IsValid(); err != nil { + return fmt.Errorf("field BaseResp not valid, %w", err) + } + } + return nil +} diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/client.go b/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/client.go index 7554fd4fc..850ddb869 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/client.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/client.go @@ -36,6 +36,12 @@ type Client interface { ExportExptResult_(ctx context.Context, req *expt.ExportExptResultRequest, callOptions ...callopt.Option) (r *expt.ExportExptResultResponse, err error) ListExptResultExportRecord(ctx context.Context, req *expt.ListExptResultExportRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptResultExportRecordResponse, err error) GetExptResultExportRecord(ctx context.Context, req *expt.GetExptResultExportRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptResultExportRecordResponse, err error) + InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (r *expt.InsightAnalysisExperimentResponse, err error) + ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisRecordResponse, err error) + DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) + GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptInsightAnalysisRecordResponse, err error) + FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) + ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisCommentResponse, err error) } // NewClient creates a client for the service defined in IDL. @@ -191,3 +197,33 @@ func (p *kExperimentServiceClient) GetExptResultExportRecord(ctx context.Context ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetExptResultExportRecord(ctx, req) } + +func (p *kExperimentServiceClient) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (r *expt.InsightAnalysisExperimentResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.InsightAnalysisExperiment(ctx, req) +} + +func (p *kExperimentServiceClient) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.ListExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.DeleteExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.GetExptInsightAnalysisRecord(ctx, req) +} + +func (p *kExperimentServiceClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.FeedbackExptInsightAnalysisReport(ctx, req) +} + +func (p *kExperimentServiceClient) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + ctx = client.NewCtxWithCallOptions(ctx, callOptions) + return p.kClient.ListExptInsightAnalysisComment(ctx, req) +} diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/experimentservice.go b/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/experimentservice.go index f26bdf895..a9334a55b 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/experimentservice.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/experimentservice/experimentservice.go @@ -188,6 +188,48 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), + "InsightAnalysisExperiment": kitex.NewMethodInfo( + insightAnalysisExperimentHandler, + newExperimentServiceInsightAnalysisExperimentArgs, + newExperimentServiceInsightAnalysisExperimentResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "ListExptInsightAnalysisRecord": kitex.NewMethodInfo( + listExptInsightAnalysisRecordHandler, + newExperimentServiceListExptInsightAnalysisRecordArgs, + newExperimentServiceListExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "DeleteExptInsightAnalysisRecord": kitex.NewMethodInfo( + deleteExptInsightAnalysisRecordHandler, + newExperimentServiceDeleteExptInsightAnalysisRecordArgs, + newExperimentServiceDeleteExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "GetExptInsightAnalysisRecord": kitex.NewMethodInfo( + getExptInsightAnalysisRecordHandler, + newExperimentServiceGetExptInsightAnalysisRecordArgs, + newExperimentServiceGetExptInsightAnalysisRecordResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "FeedbackExptInsightAnalysisReport": kitex.NewMethodInfo( + feedbackExptInsightAnalysisReportHandler, + newExperimentServiceFeedbackExptInsightAnalysisReportArgs, + newExperimentServiceFeedbackExptInsightAnalysisReportResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), + "ListExptInsightAnalysisComment": kitex.NewMethodInfo( + listExptInsightAnalysisCommentHandler, + newExperimentServiceListExptInsightAnalysisCommentArgs, + newExperimentServiceListExptInsightAnalysisCommentResult, + false, + kitex.WithStreamingMode(kitex.StreamingNone), + ), } var ( @@ -696,6 +738,120 @@ func newExperimentServiceGetExptResultExportRecordResult() interface{} { return expt.NewExperimentServiceGetExptResultExportRecordResult() } +func insightAnalysisExperimentHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceInsightAnalysisExperimentArgs) + realResult := result.(*expt.ExperimentServiceInsightAnalysisExperimentResult) + success, err := handler.(expt.ExperimentService).InsightAnalysisExperiment(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceInsightAnalysisExperimentArgs() interface{} { + return expt.NewExperimentServiceInsightAnalysisExperimentArgs() +} + +func newExperimentServiceInsightAnalysisExperimentResult() interface{} { + return expt.NewExperimentServiceInsightAnalysisExperimentResult() +} + +func listExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceListExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceListExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).ListExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceListExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceListExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisRecordResult() +} + +func deleteExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).DeleteExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceDeleteExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceDeleteExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceDeleteExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceDeleteExptInsightAnalysisRecordResult() +} + +func getExptInsightAnalysisRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceGetExptInsightAnalysisRecordArgs) + realResult := result.(*expt.ExperimentServiceGetExptInsightAnalysisRecordResult) + success, err := handler.(expt.ExperimentService).GetExptInsightAnalysisRecord(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceGetExptInsightAnalysisRecordArgs() interface{} { + return expt.NewExperimentServiceGetExptInsightAnalysisRecordArgs() +} + +func newExperimentServiceGetExptInsightAnalysisRecordResult() interface{} { + return expt.NewExperimentServiceGetExptInsightAnalysisRecordResult() +} + +func feedbackExptInsightAnalysisReportHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs) + realResult := result.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult) + success, err := handler.(expt.ExperimentService).FeedbackExptInsightAnalysisReport(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceFeedbackExptInsightAnalysisReportArgs() interface{} { + return expt.NewExperimentServiceFeedbackExptInsightAnalysisReportArgs() +} + +func newExperimentServiceFeedbackExptInsightAnalysisReportResult() interface{} { + return expt.NewExperimentServiceFeedbackExptInsightAnalysisReportResult() +} + +func listExptInsightAnalysisCommentHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { + realArg := arg.(*expt.ExperimentServiceListExptInsightAnalysisCommentArgs) + realResult := result.(*expt.ExperimentServiceListExptInsightAnalysisCommentResult) + success, err := handler.(expt.ExperimentService).ListExptInsightAnalysisComment(ctx, realArg.Req) + if err != nil { + return err + } + realResult.Success = success + return nil +} + +func newExperimentServiceListExptInsightAnalysisCommentArgs() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisCommentArgs() +} + +func newExperimentServiceListExptInsightAnalysisCommentResult() interface{} { + return expt.NewExperimentServiceListExptInsightAnalysisCommentResult() +} + type kClient struct { c client.Client sc client.Streaming @@ -957,3 +1113,63 @@ func (p *kClient) GetExptResultExportRecord(ctx context.Context, req *expt.GetEx } return _result.GetSuccess(), nil } + +func (p *kClient) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest) (r *expt.InsightAnalysisExperimentResponse, err error) { + var _args expt.ExperimentServiceInsightAnalysisExperimentArgs + _args.Req = req + var _result expt.ExperimentServiceInsightAnalysisExperimentResult + if err = p.c.Call(ctx, "InsightAnalysisExperiment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceListExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceListExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "ListExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "DeleteExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + var _args expt.ExperimentServiceGetExptInsightAnalysisRecordArgs + _args.Req = req + var _result expt.ExperimentServiceGetExptInsightAnalysisRecordResult + if err = p.c.Call(ctx, "GetExptInsightAnalysisRecord", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + var _args expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs + _args.Req = req + var _result expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult + if err = p.c.Call(ctx, "FeedbackExptInsightAnalysisReport", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} + +func (p *kClient) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + var _args expt.ExperimentServiceListExptInsightAnalysisCommentArgs + _args.Req = req + var _result expt.ExperimentServiceListExptInsightAnalysisCommentResult + if err = p.c.Call(ctx, "ListExptInsightAnalysisComment", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil +} diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go index 53704d5ec..eec9bb0e3 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go @@ -15723,6 +15723,3308 @@ func (p *GetExptResultExportRecordResponse) DeepCopy(s interface{}) error { return nil } +func (p *GetExptInsightAnalysisRecordRequest) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 200: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField200(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetExptInsightAnalysisRecordRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_GetExptInsightAnalysisRecordRequest[fieldId])) +} + +func (p *GetExptInsightAnalysisRecordRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.InsightAnalysisRecordID = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordRequest) FastReadField200(buf []byte) (int, error) { + offset := 0 + _field := common.NewSession() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Session = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Base = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordRequest) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *GetExptInsightAnalysisRecordRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField200(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *GetExptInsightAnalysisRecordRequest) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field200Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *GetExptInsightAnalysisRecordRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *GetExptInsightAnalysisRecordRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *GetExptInsightAnalysisRecordRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) + offset += thrift.Binary.WriteI64(buf[offset:], p.InsightAnalysisRecordID) + return offset +} + +func (p *GetExptInsightAnalysisRecordRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSession() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 200) + offset += p.Session.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *GetExptInsightAnalysisRecordRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBase() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.Base.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *GetExptInsightAnalysisRecordRequest) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *GetExptInsightAnalysisRecordRequest) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *GetExptInsightAnalysisRecordRequest) field3Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *GetExptInsightAnalysisRecordRequest) field200Length() int { + l := 0 + if p.IsSetSession() { + l += thrift.Binary.FieldBeginLength() + l += p.Session.BLength() + } + return l +} + +func (p *GetExptInsightAnalysisRecordRequest) field255Length() int { + l := 0 + if p.IsSetBase() { + l += thrift.Binary.FieldBeginLength() + l += p.Base.BLength() + } + return l +} + +func (p *GetExptInsightAnalysisRecordRequest) DeepCopy(s interface{}) error { + src, ok := s.(*GetExptInsightAnalysisRecordRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + p.InsightAnalysisRecordID = src.InsightAnalysisRecordID + + var _session *common.Session + if src.Session != nil { + _session = &common.Session{} + if err := _session.DeepCopy(src.Session); err != nil { + return err + } + } + p.Session = _session + + var _base *base.Base + if src.Base != nil { + _base = &base.Base{} + if err := _base.DeepCopy(src.Base); err != nil { + return err + } + } + p.Base = _base + + return nil +} + +func (p *GetExptInsightAnalysisRecordResponse) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetExptInsightAnalysisRecordResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *GetExptInsightAnalysisRecordResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := expt.NewExptInsightAnalysisRecord() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.ExptResultExportRecord = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordResponse) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBaseResp() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseResp = _field + return offset, nil +} + +func (p *GetExptInsightAnalysisRecordResponse) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *GetExptInsightAnalysisRecordResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *GetExptInsightAnalysisRecordResponse) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *GetExptInsightAnalysisRecordResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetExptResultExportRecord() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.ExptResultExportRecord.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *GetExptInsightAnalysisRecordResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *GetExptInsightAnalysisRecordResponse) field1Length() int { + l := 0 + if p.IsSetExptResultExportRecord() { + l += thrift.Binary.FieldBeginLength() + l += p.ExptResultExportRecord.BLength() + } + return l +} + +func (p *GetExptInsightAnalysisRecordResponse) field255Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() + return l +} + +func (p *GetExptInsightAnalysisRecordResponse) DeepCopy(s interface{}) error { + src, ok := s.(*GetExptInsightAnalysisRecordResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _exptResultExportRecord *expt.ExptInsightAnalysisRecord + if src.ExptResultExportRecord != nil { + _exptResultExportRecord = &expt.ExptInsightAnalysisRecord{} + if err := _exptResultExportRecord.DeepCopy(src.ExptResultExportRecord); err != nil { + return err + } + } + p.ExptResultExportRecord = _exptResultExportRecord + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp + + return nil +} + +func (p *InsightAnalysisExperimentRequest) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 200: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField200(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InsightAnalysisExperimentRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_InsightAnalysisExperimentRequest[fieldId])) +} + +func (p *InsightAnalysisExperimentRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *InsightAnalysisExperimentRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *InsightAnalysisExperimentRequest) FastReadField200(buf []byte) (int, error) { + offset := 0 + _field := common.NewSession() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Session = _field + return offset, nil +} + +func (p *InsightAnalysisExperimentRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Base = _field + return offset, nil +} + +func (p *InsightAnalysisExperimentRequest) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *InsightAnalysisExperimentRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField200(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *InsightAnalysisExperimentRequest) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field200Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *InsightAnalysisExperimentRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *InsightAnalysisExperimentRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *InsightAnalysisExperimentRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSession() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 200) + offset += p.Session.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *InsightAnalysisExperimentRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBase() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.Base.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *InsightAnalysisExperimentRequest) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *InsightAnalysisExperimentRequest) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *InsightAnalysisExperimentRequest) field200Length() int { + l := 0 + if p.IsSetSession() { + l += thrift.Binary.FieldBeginLength() + l += p.Session.BLength() + } + return l +} + +func (p *InsightAnalysisExperimentRequest) field255Length() int { + l := 0 + if p.IsSetBase() { + l += thrift.Binary.FieldBeginLength() + l += p.Base.BLength() + } + return l +} + +func (p *InsightAnalysisExperimentRequest) DeepCopy(s interface{}) error { + src, ok := s.(*InsightAnalysisExperimentRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + var _session *common.Session + if src.Session != nil { + _session = &common.Session{} + if err := _session.DeepCopy(src.Session); err != nil { + return err + } + } + p.Session = _session + + var _base *base.Base + if src.Base != nil { + _base = &base.Base{} + if err := _base.DeepCopy(src.Base); err != nil { + return err + } + } + p.Base = _base + + return nil +} + +func (p *InsightAnalysisExperimentResponse) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetInsightAnalysisRecordID bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetInsightAnalysisRecordID { + fieldId = 1 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InsightAnalysisExperimentResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_InsightAnalysisExperimentResponse[fieldId])) +} + +func (p *InsightAnalysisExperimentResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.InsightAnalysisRecordID = _field + return offset, nil +} + +func (p *InsightAnalysisExperimentResponse) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBaseResp() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseResp = _field + return offset, nil +} + +func (p *InsightAnalysisExperimentResponse) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *InsightAnalysisExperimentResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *InsightAnalysisExperimentResponse) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *InsightAnalysisExperimentResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.InsightAnalysisRecordID) + return offset +} + +func (p *InsightAnalysisExperimentResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *InsightAnalysisExperimentResponse) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *InsightAnalysisExperimentResponse) field255Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() + return l +} + +func (p *InsightAnalysisExperimentResponse) DeepCopy(s interface{}) error { + src, ok := s.(*InsightAnalysisExperimentResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.InsightAnalysisRecordID = src.InsightAnalysisRecordID + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp + + return nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 200: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField200(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisRecordRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisRecordRequest[fieldId])) +} + +func (p *ListExptInsightAnalysisRecordRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field *int32 + if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.PageNumber = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastReadField4(buf []byte) (int, error) { + offset := 0 + + var _field *int32 + if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.PageSize = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastReadField200(buf []byte) (int, error) { + offset := 0 + _field := common.NewSession() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Session = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Base = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordRequest) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ListExptInsightAnalysisRecordRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField4(buf[offset:], w) + offset += p.fastWriteField200(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field200Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetPageNumber() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 3) + offset += thrift.Binary.WriteI32(buf[offset:], *p.PageNumber) + } + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetPageSize() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 4) + offset += thrift.Binary.WriteI32(buf[offset:], *p.PageSize) + } + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSession() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 200) + offset += p.Session.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBase() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.Base.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ListExptInsightAnalysisRecordRequest) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) field3Length() int { + l := 0 + if p.IsSetPageNumber() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() + } + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) field4Length() int { + l := 0 + if p.IsSetPageSize() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() + } + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) field200Length() int { + l := 0 + if p.IsSetSession() { + l += thrift.Binary.FieldBeginLength() + l += p.Session.BLength() + } + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) field255Length() int { + l := 0 + if p.IsSetBase() { + l += thrift.Binary.FieldBeginLength() + l += p.Base.BLength() + } + return l +} + +func (p *ListExptInsightAnalysisRecordRequest) DeepCopy(s interface{}) error { + src, ok := s.(*ListExptInsightAnalysisRecordRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + if src.PageNumber != nil { + tmp := *src.PageNumber + p.PageNumber = &tmp + } + + if src.PageSize != nil { + tmp := *src.PageSize + p.PageSize = &tmp + } + + var _session *common.Session + if src.Session != nil { + _session = &common.Session{} + if err := _session.DeepCopy(src.Session); err != nil { + return err + } + } + p.Session = _session + + var _base *base.Base + if src.Base != nil { + _base = &base.Base{} + if err := _base.DeepCopy(src.Base); err != nil { + return err + } + } + p.Base = _base + + return nil +} + +func (p *ListExptInsightAnalysisRecordResponse) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetExptResultExportRecords bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptResultExportRecords = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 20: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField20(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetExptResultExportRecords { + fieldId = 1 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisRecordResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisRecordResponse[fieldId])) +} + +func (p *ListExptInsightAnalysisRecordResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + _field := make([]*expt.ExptInsightAnalysisRecord, 0, size) + values := make([]expt.ExptInsightAnalysisRecord, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + _field = append(_field, _elem) + } + p.ExptResultExportRecords = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordResponse) FastReadField20(buf []byte) (int, error) { + offset := 0 + + var _field *int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.Total = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordResponse) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBaseResp() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseResp = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisRecordResponse) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ListExptInsightAnalysisRecordResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField20(buf[offset:], w) + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ListExptInsightAnalysisRecordResponse) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field20Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ListExptInsightAnalysisRecordResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) + listBeginOffset := offset + offset += thrift.Binary.ListBeginLength() + var length int + for _, v := range p.ExptResultExportRecords { + length++ + offset += v.FastWriteNocopy(buf[offset:], w) + } + thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) + return offset +} + +func (p *ListExptInsightAnalysisRecordResponse) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetTotal() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 20) + offset += thrift.Binary.WriteI64(buf[offset:], *p.Total) + } + return offset +} + +func (p *ListExptInsightAnalysisRecordResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ListExptInsightAnalysisRecordResponse) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.ListBeginLength() + for _, v := range p.ExptResultExportRecords { + _ = v + l += v.BLength() + } + return l +} + +func (p *ListExptInsightAnalysisRecordResponse) field20Length() int { + l := 0 + if p.IsSetTotal() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + } + return l +} + +func (p *ListExptInsightAnalysisRecordResponse) field255Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() + return l +} + +func (p *ListExptInsightAnalysisRecordResponse) DeepCopy(s interface{}) error { + src, ok := s.(*ListExptInsightAnalysisRecordResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.ExptResultExportRecords != nil { + p.ExptResultExportRecords = make([]*expt.ExptInsightAnalysisRecord, 0, len(src.ExptResultExportRecords)) + for _, elem := range src.ExptResultExportRecords { + var _elem *expt.ExptInsightAnalysisRecord + if elem != nil { + _elem = &expt.ExptInsightAnalysisRecord{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.ExptResultExportRecords = append(p.ExptResultExportRecords, _elem) + } + } + + if src.Total != nil { + tmp := *src.Total + p.Total = &tmp + } + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp + + return nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 200: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField200(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteExptInsightAnalysisRecordRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_DeleteExptInsightAnalysisRecordRequest[fieldId])) +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.InsightAnalysisRecordID = _field + return offset, nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastReadField200(buf []byte) (int, error) { + offset := 0 + _field := common.NewSession() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Session = _field + return offset, nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Base = _field + return offset, nil +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *DeleteExptInsightAnalysisRecordRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField200(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *DeleteExptInsightAnalysisRecordRequest) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field200Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *DeleteExptInsightAnalysisRecordRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *DeleteExptInsightAnalysisRecordRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *DeleteExptInsightAnalysisRecordRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) + offset += thrift.Binary.WriteI64(buf[offset:], p.InsightAnalysisRecordID) + return offset +} + +func (p *DeleteExptInsightAnalysisRecordRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSession() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 200) + offset += p.Session.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *DeleteExptInsightAnalysisRecordRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBase() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.Base.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *DeleteExptInsightAnalysisRecordRequest) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *DeleteExptInsightAnalysisRecordRequest) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *DeleteExptInsightAnalysisRecordRequest) field3Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *DeleteExptInsightAnalysisRecordRequest) field200Length() int { + l := 0 + if p.IsSetSession() { + l += thrift.Binary.FieldBeginLength() + l += p.Session.BLength() + } + return l +} + +func (p *DeleteExptInsightAnalysisRecordRequest) field255Length() int { + l := 0 + if p.IsSetBase() { + l += thrift.Binary.FieldBeginLength() + l += p.Base.BLength() + } + return l +} + +func (p *DeleteExptInsightAnalysisRecordRequest) DeepCopy(s interface{}) error { + src, ok := s.(*DeleteExptInsightAnalysisRecordRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + p.InsightAnalysisRecordID = src.InsightAnalysisRecordID + + var _session *common.Session + if src.Session != nil { + _session = &common.Session{} + if err := _session.DeepCopy(src.Session); err != nil { + return err + } + } + p.Session = _session + + var _base *base.Base + if src.Base != nil { + _base = &base.Base{} + if err := _base.DeepCopy(src.Base); err != nil { + return err + } + } + p.Base = _base + + return nil +} + +func (p *DeleteExptInsightAnalysisRecordResponse) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteExptInsightAnalysisRecordResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *DeleteExptInsightAnalysisRecordResponse) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBaseResp() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseResp = _field + return offset, nil +} + +func (p *DeleteExptInsightAnalysisRecordResponse) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *DeleteExptInsightAnalysisRecordResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *DeleteExptInsightAnalysisRecordResponse) BLength() int { + l := 0 + if p != nil { + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *DeleteExptInsightAnalysisRecordResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *DeleteExptInsightAnalysisRecordResponse) field255Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() + return l +} + +func (p *DeleteExptInsightAnalysisRecordResponse) DeepCopy(s interface{}) error { + src, ok := s.(*DeleteExptInsightAnalysisRecordResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp + + return nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + var issetFeedbackActionType bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetFeedbackActionType = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.STRING { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 200: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField200(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetFeedbackActionType { + fieldId = 4 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_FeedbackExptInsightAnalysisReportRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_FeedbackExptInsightAnalysisReportRequest[fieldId])) +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.InsightAnalysisRecordID = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField4(buf []byte) (int, error) { + offset := 0 + + var _field expt.FeedbackActionType + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.FeedbackActionType = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField5(buf []byte) (int, error) { + offset := 0 + + var _field *string + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.Comment = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField200(buf []byte) (int, error) { + offset := 0 + _field := common.NewSession() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Session = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Base = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *FeedbackExptInsightAnalysisReportRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField4(buf[offset:], w) + offset += p.fastWriteField5(buf[offset:], w) + offset += p.fastWriteField200(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field200Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) + offset += thrift.Binary.WriteI64(buf[offset:], p.InsightAnalysisRecordID) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 4) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, p.FeedbackActionType) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetComment() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 5) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Comment) + } + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSession() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 200) + offset += p.Session.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBase() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.Base.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field3Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field4Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(p.FeedbackActionType) + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field5Length() int { + l := 0 + if p.IsSetComment() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(*p.Comment) + } + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field200Length() int { + l := 0 + if p.IsSetSession() { + l += thrift.Binary.FieldBeginLength() + l += p.Session.BLength() + } + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) field255Length() int { + l := 0 + if p.IsSetBase() { + l += thrift.Binary.FieldBeginLength() + l += p.Base.BLength() + } + return l +} + +func (p *FeedbackExptInsightAnalysisReportRequest) DeepCopy(s interface{}) error { + src, ok := s.(*FeedbackExptInsightAnalysisReportRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + p.InsightAnalysisRecordID = src.InsightAnalysisRecordID + + p.FeedbackActionType = src.FeedbackActionType + + if src.Comment != nil { + var tmp string + if *src.Comment != "" { + tmp = kutils.StringDeepCopy(*src.Comment) + } + p.Comment = &tmp + } + + var _session *common.Session + if src.Session != nil { + _session = &common.Session{} + if err := _session.DeepCopy(src.Session); err != nil { + return err + } + } + p.Session = _session + + var _base *base.Base + if src.Base != nil { + _base = &base.Base{} + if err := _base.DeepCopy(src.Base); err != nil { + return err + } + } + p.Base = _base + + return nil +} + +func (p *FeedbackExptInsightAnalysisReportResponse) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_FeedbackExptInsightAnalysisReportResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *FeedbackExptInsightAnalysisReportResponse) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBaseResp() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseResp = _field + return offset, nil +} + +func (p *FeedbackExptInsightAnalysisReportResponse) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *FeedbackExptInsightAnalysisReportResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportResponse) BLength() int { + l := 0 + if p != nil { + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *FeedbackExptInsightAnalysisReportResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *FeedbackExptInsightAnalysisReportResponse) field255Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() + return l +} + +func (p *FeedbackExptInsightAnalysisReportResponse) DeepCopy(s interface{}) error { + src, ok := s.(*FeedbackExptInsightAnalysisReportResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp + + return nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetExptID bool = false + var issetInsightAnalysisRecordID bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetWorkspaceID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 2: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField2(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetInsightAnalysisRecordID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 4: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField4(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 5: + if fieldTypeId == thrift.I32 { + l, err = p.FastReadField5(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 200: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField200(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetExptID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetInsightAnalysisRecordID { + fieldId = 3 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisCommentRequest[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisCommentRequest[fieldId])) +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField1(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.WorkspaceID = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField2(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.ExptID = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField3(buf []byte) (int, error) { + offset := 0 + + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = v + } + p.InsightAnalysisRecordID = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField4(buf []byte) (int, error) { + offset := 0 + + var _field *int32 + if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.PageNumber = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField5(buf []byte) (int, error) { + offset := 0 + + var _field *int32 + if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.PageSize = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField200(buf []byte) (int, error) { + offset := 0 + _field := common.NewSession() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Session = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Base = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentRequest) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ListExptInsightAnalysisCommentRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField4(buf[offset:], w) + offset += p.fastWriteField5(buf[offset:], w) + offset += p.fastWriteField200(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field2Length() + l += p.field3Length() + l += p.field4Length() + l += p.field5Length() + l += p.field200Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.ExptID) + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) + offset += thrift.Binary.WriteI64(buf[offset:], p.InsightAnalysisRecordID) + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetPageNumber() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 4) + offset += thrift.Binary.WriteI32(buf[offset:], *p.PageNumber) + } + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetPageSize() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 5) + offset += thrift.Binary.WriteI32(buf[offset:], *p.PageSize) + } + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSession() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 200) + offset += p.Session.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetBase() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.Base.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ListExptInsightAnalysisCommentRequest) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) field2Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) field3Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) field4Length() int { + l := 0 + if p.IsSetPageNumber() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() + } + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) field5Length() int { + l := 0 + if p.IsSetPageSize() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() + } + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) field200Length() int { + l := 0 + if p.IsSetSession() { + l += thrift.Binary.FieldBeginLength() + l += p.Session.BLength() + } + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) field255Length() int { + l := 0 + if p.IsSetBase() { + l += thrift.Binary.FieldBeginLength() + l += p.Base.BLength() + } + return l +} + +func (p *ListExptInsightAnalysisCommentRequest) DeepCopy(s interface{}) error { + src, ok := s.(*ListExptInsightAnalysisCommentRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + p.WorkspaceID = src.WorkspaceID + + p.ExptID = src.ExptID + + p.InsightAnalysisRecordID = src.InsightAnalysisRecordID + + if src.PageNumber != nil { + tmp := *src.PageNumber + p.PageNumber = &tmp + } + + if src.PageSize != nil { + tmp := *src.PageSize + p.PageSize = &tmp + } + + var _session *common.Session + if src.Session != nil { + _session = &common.Session{} + if err := _session.DeepCopy(src.Session); err != nil { + return err + } + } + p.Session = _session + + var _base *base.Base + if src.Base != nil { + _base = &base.Base{} + if err := _base.DeepCopy(src.Base); err != nil { + return err + } + } + p.Base = _base + + return nil +} + +func (p *ListExptInsightAnalysisCommentResponse) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + var issetExptInsightAnalysisFeedbackComments bool = false + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + issetExptInsightAnalysisFeedbackComments = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 20: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField20(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 255: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField255(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + if !issetExptInsightAnalysisFeedbackComments { + fieldId = 1 + goto RequiredFieldNotSetError + } + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListExptInsightAnalysisCommentResponse[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ListExptInsightAnalysisCommentResponse[fieldId])) +} + +func (p *ListExptInsightAnalysisCommentResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + + _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + _field := make([]*expt.ExptInsightAnalysisFeedbackComment, 0, size) + values := make([]expt.ExptInsightAnalysisFeedbackComment, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + if l, err := _elem.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + + _field = append(_field, _elem) + } + p.ExptInsightAnalysisFeedbackComments = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentResponse) FastReadField20(buf []byte) (int, error) { + offset := 0 + + var _field *int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.Total = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentResponse) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBaseResp() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.BaseResp = _field + return offset, nil +} + +func (p *ListExptInsightAnalysisCommentResponse) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ListExptInsightAnalysisCommentResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField20(buf[offset:], w) + offset += p.fastWriteField1(buf[offset:], w) + offset += p.fastWriteField255(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ListExptInsightAnalysisCommentResponse) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + l += p.field20Length() + l += p.field255Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ListExptInsightAnalysisCommentResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) + listBeginOffset := offset + offset += thrift.Binary.ListBeginLength() + var length int + for _, v := range p.ExptInsightAnalysisFeedbackComments { + length++ + offset += v.FastWriteNocopy(buf[offset:], w) + } + thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) + return offset +} + +func (p *ListExptInsightAnalysisCommentResponse) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetTotal() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 20) + offset += thrift.Binary.WriteI64(buf[offset:], *p.Total) + } + return offset +} + +func (p *ListExptInsightAnalysisCommentResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) + offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ListExptInsightAnalysisCommentResponse) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.ListBeginLength() + for _, v := range p.ExptInsightAnalysisFeedbackComments { + _ = v + l += v.BLength() + } + return l +} + +func (p *ListExptInsightAnalysisCommentResponse) field20Length() int { + l := 0 + if p.IsSetTotal() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + } + return l +} + +func (p *ListExptInsightAnalysisCommentResponse) field255Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() + return l +} + +func (p *ListExptInsightAnalysisCommentResponse) DeepCopy(s interface{}) error { + src, ok := s.(*ListExptInsightAnalysisCommentResponse) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + if src.ExptInsightAnalysisFeedbackComments != nil { + p.ExptInsightAnalysisFeedbackComments = make([]*expt.ExptInsightAnalysisFeedbackComment, 0, len(src.ExptInsightAnalysisFeedbackComments)) + for _, elem := range src.ExptInsightAnalysisFeedbackComments { + var _elem *expt.ExptInsightAnalysisFeedbackComment + if elem != nil { + _elem = &expt.ExptInsightAnalysisFeedbackComment{} + if err := _elem.DeepCopy(elem); err != nil { + return err + } + } + + p.ExptInsightAnalysisFeedbackComments = append(p.ExptInsightAnalysisFeedbackComments, _elem) + } + } + + if src.Total != nil { + tmp := *src.Total + p.Total = &tmp + } + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp + + return nil +} + func (p *ExperimentServiceCheckExperimentNameArgs) FastRead(buf []byte) (int, error) { var err error @@ -15767,14 +19069,1418 @@ func (p *ExperimentServiceCheckExperimentNameArgs) FastRead(buf []byte) (int, er ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceCheckExperimentNameArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := NewCheckExperimentNameRequest() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = _field + return offset, nil +} + +func (p *ExperimentServiceCheckExperimentNameArgs) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceCheckExperimentNameArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceCheckExperimentNameArgs) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceCheckExperimentNameArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ExperimentServiceCheckExperimentNameArgs) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.Req.BLength() + return l +} + +func (p *ExperimentServiceCheckExperimentNameArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCheckExperimentNameArgs) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _req *CheckExperimentNameRequest + if src.Req != nil { + _req = &CheckExperimentNameRequest{} + if err := _req.DeepCopy(src.Req); err != nil { + return err + } + } + p.Req = _req + + return nil +} + +func (p *ExperimentServiceCheckExperimentNameResult) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceCheckExperimentNameResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + _field := NewCheckExperimentNameResponse() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = _field + return offset, nil +} + +func (p *ExperimentServiceCheckExperimentNameResult) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceCheckExperimentNameResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField0(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceCheckExperimentNameResult) BLength() int { + l := 0 + if p != nil { + l += p.field0Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceCheckExperimentNameResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExperimentServiceCheckExperimentNameResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += thrift.Binary.FieldBeginLength() + l += p.Success.BLength() + } + return l +} + +func (p *ExperimentServiceCheckExperimentNameResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCheckExperimentNameResult) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _success *CheckExperimentNameResponse + if src.Success != nil { + _success = &CheckExperimentNameResponse{} + if err := _success.DeepCopy(src.Success); err != nil { + return err + } + } + p.Success = _success + + return nil +} + +func (p *ExperimentServiceCreateExperimentArgs) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceCreateExperimentArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := NewCreateExperimentRequest() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = _field + return offset, nil +} + +func (p *ExperimentServiceCreateExperimentArgs) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceCreateExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceCreateExperimentArgs) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceCreateExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ExperimentServiceCreateExperimentArgs) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.Req.BLength() + return l +} + +func (p *ExperimentServiceCreateExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCreateExperimentArgs) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _req *CreateExperimentRequest + if src.Req != nil { + _req = &CreateExperimentRequest{} + if err := _req.DeepCopy(src.Req); err != nil { + return err + } + } + p.Req = _req + + return nil +} + +func (p *ExperimentServiceCreateExperimentResult) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceCreateExperimentResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + _field := NewCreateExperimentResponse() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = _field + return offset, nil +} + +func (p *ExperimentServiceCreateExperimentResult) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceCreateExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField0(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceCreateExperimentResult) BLength() int { + l := 0 + if p != nil { + l += p.field0Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceCreateExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExperimentServiceCreateExperimentResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += thrift.Binary.FieldBeginLength() + l += p.Success.BLength() + } + return l +} + +func (p *ExperimentServiceCreateExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCreateExperimentResult) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _success *CreateExperimentResponse + if src.Success != nil { + _success = &CreateExperimentResponse{} + if err := _success.DeepCopy(src.Success); err != nil { + return err + } + } + p.Success = _success + + return nil +} + +func (p *ExperimentServiceSubmitExperimentArgs) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceSubmitExperimentArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := NewSubmitExperimentRequest() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = _field + return offset, nil +} + +func (p *ExperimentServiceSubmitExperimentArgs) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceSubmitExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceSubmitExperimentArgs) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceSubmitExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ExperimentServiceSubmitExperimentArgs) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.Req.BLength() + return l +} + +func (p *ExperimentServiceSubmitExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceSubmitExperimentArgs) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _req *SubmitExperimentRequest + if src.Req != nil { + _req = &SubmitExperimentRequest{} + if err := _req.DeepCopy(src.Req); err != nil { + return err + } + } + p.Req = _req + + return nil +} + +func (p *ExperimentServiceSubmitExperimentResult) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceSubmitExperimentResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + _field := NewSubmitExperimentResponse() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = _field + return offset, nil +} + +func (p *ExperimentServiceSubmitExperimentResult) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceSubmitExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField0(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceSubmitExperimentResult) BLength() int { + l := 0 + if p != nil { + l += p.field0Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceSubmitExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExperimentServiceSubmitExperimentResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += thrift.Binary.FieldBeginLength() + l += p.Success.BLength() + } + return l +} + +func (p *ExperimentServiceSubmitExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceSubmitExperimentResult) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _success *SubmitExperimentResponse + if src.Success != nil { + _success = &SubmitExperimentResponse{} + if err := _success.DeepCopy(src.Success); err != nil { + return err + } + } + p.Success = _success + + return nil +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := NewBatchGetExperimentsRequest() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = _field + return offset, nil +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.Req.BLength() + return l +} + +func (p *ExperimentServiceBatchGetExperimentsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchGetExperimentsArgs) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _req *BatchGetExperimentsRequest + if src.Req != nil { + _req = &BatchGetExperimentsRequest{} + if err := _req.DeepCopy(src.Req); err != nil { + return err + } + } + p.Req = _req + + return nil +} + +func (p *ExperimentServiceBatchGetExperimentsResult) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceBatchGetExperimentsResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + _field := NewBatchGetExperimentsResponse() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = _field + return offset, nil +} + +func (p *ExperimentServiceBatchGetExperimentsResult) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceBatchGetExperimentsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField0(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceBatchGetExperimentsResult) BLength() int { + l := 0 + if p != nil { + l += p.field0Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceBatchGetExperimentsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExperimentServiceBatchGetExperimentsResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += thrift.Binary.FieldBeginLength() + l += p.Success.BLength() + } + return l +} + +func (p *ExperimentServiceBatchGetExperimentsResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchGetExperimentsResult) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _success *BatchGetExperimentsResponse + if src.Success != nil { + _success = &BatchGetExperimentsResponse{} + if err := _success.DeepCopy(src.Success); err != nil { + return err + } + } + p.Success = _success + + return nil +} + +func (p *ExperimentServiceListExperimentsArgs) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceListExperimentsArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := NewListExperimentsRequest() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = _field + return offset, nil +} + +func (p *ExperimentServiceListExperimentsArgs) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceListExperimentsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceListExperimentsArgs) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceListExperimentsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ExperimentServiceListExperimentsArgs) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.Req.BLength() + return l +} + +func (p *ExperimentServiceListExperimentsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExperimentsArgs) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _req *ListExperimentsRequest + if src.Req != nil { + _req = &ListExperimentsRequest{} + if err := _req.DeepCopy(src.Req); err != nil { + return err + } + } + p.Req = _req + + return nil +} + +func (p *ExperimentServiceListExperimentsResult) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceListExperimentsResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + _field := NewListExperimentsResponse() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = _field + return offset, nil +} + +func (p *ExperimentServiceListExperimentsResult) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceListExperimentsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField0(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceListExperimentsResult) BLength() int { + l := 0 + if p != nil { + l += p.field0Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceListExperimentsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExperimentServiceListExperimentsResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += thrift.Binary.FieldBeginLength() + l += p.Success.BLength() + } + return l +} + +func (p *ExperimentServiceListExperimentsResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExperimentsResult) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _success *ListExperimentsResponse + if src.Success != nil { + _success = &ListExperimentsResponse{} + if err := _success.DeepCopy(src.Success); err != nil { + return err + } + } + p.Success = _success + + return nil +} + +func (p *ExperimentServiceUpdateExperimentArgs) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentArgs[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceUpdateExperimentArgs) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := NewUpdateExperimentRequest() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Req = _field + return offset, nil +} + +func (p *ExperimentServiceUpdateExperimentArgs) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceUpdateExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField1(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceUpdateExperimentArgs) BLength() int { + l := 0 + if p != nil { + l += p.field1Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceUpdateExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.Req.FastWriteNocopy(buf[offset:], w) + return offset +} + +func (p *ExperimentServiceUpdateExperimentArgs) field1Length() int { + l := 0 + l += thrift.Binary.FieldBeginLength() + l += p.Req.BLength() + return l +} + +func (p *ExperimentServiceUpdateExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceUpdateExperimentArgs) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _req *UpdateExperimentRequest + if src.Req != nil { + _req = &UpdateExperimentRequest{} + if err := _req.DeepCopy(src.Req); err != nil { + return err + } + } + p.Req = _req + + return nil +} + +func (p *ExperimentServiceUpdateExperimentResult) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 0: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField0(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentResult[fieldId]), err) +SkipFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +} + +func (p *ExperimentServiceUpdateExperimentResult) FastReadField0(buf []byte) (int, error) { + offset := 0 + _field := NewUpdateExperimentResponse() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.Success = _field + return offset, nil +} + +func (p *ExperimentServiceUpdateExperimentResult) FastWrite(buf []byte) int { + return p.FastWriteNocopy(buf, nil) +} + +func (p *ExperimentServiceUpdateExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p != nil { + offset += p.fastWriteField0(buf[offset:], w) + } + offset += thrift.Binary.WriteFieldStop(buf[offset:]) + return offset +} + +func (p *ExperimentServiceUpdateExperimentResult) BLength() int { + l := 0 + if p != nil { + l += p.field0Length() + } + l += thrift.Binary.FieldStopLength() + return l +} + +func (p *ExperimentServiceUpdateExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetSuccess() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) + offset += p.Success.FastWriteNocopy(buf[offset:], w) + } + return offset +} + +func (p *ExperimentServiceUpdateExperimentResult) field0Length() int { + l := 0 + if p.IsSetSuccess() { + l += thrift.Binary.FieldBeginLength() + l += p.Success.BLength() + } + return l +} + +func (p *ExperimentServiceUpdateExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceUpdateExperimentResult) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) + } + + var _success *UpdateExperimentResponse + if src.Success != nil { + _success = &UpdateExperimentResponse{} + if err := _success.DeepCopy(src.Success); err != nil { + return err + } + } + p.Success = _success + + return nil +} + +func (p *ExperimentServiceDeleteExperimentArgs) FastRead(buf []byte) (int, error) { + + var err error + var offset int + var l int + var fieldTypeId thrift.TType + var fieldId int16 + for { + fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } + switch fieldId { + case 1: + if fieldTypeId == thrift.STRUCT { + l, err = p.FastReadField1(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + default: + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + } + + return offset, nil +ReadFieldBeginError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) +ReadFieldError: + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCheckExperimentNameArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewCheckExperimentNameRequest() + _field := NewDeleteExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -15784,11 +20490,11 @@ func (p *ExperimentServiceCheckExperimentNameArgs) FastReadField1(buf []byte) (i return offset, nil } -func (p *ExperimentServiceCheckExperimentNameArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceDeleteExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCheckExperimentNameArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -15797,7 +20503,7 @@ func (p *ExperimentServiceCheckExperimentNameArgs) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceCheckExperimentNameArgs) BLength() int { +func (p *ExperimentServiceDeleteExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -15806,29 +20512,29 @@ func (p *ExperimentServiceCheckExperimentNameArgs) BLength() int { return l } -func (p *ExperimentServiceCheckExperimentNameArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceCheckExperimentNameArgs) field1Length() int { +func (p *ExperimentServiceDeleteExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceCheckExperimentNameArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCheckExperimentNameArgs) +func (p *ExperimentServiceDeleteExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceDeleteExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *CheckExperimentNameRequest + var _req *DeleteExperimentRequest if src.Req != nil { - _req = &CheckExperimentNameRequest{} + _req = &DeleteExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -15838,7 +20544,7 @@ func (p *ExperimentServiceCheckExperimentNameArgs) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceCheckExperimentNameResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -15882,14 +20588,14 @@ func (p *ExperimentServiceCheckExperimentNameResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCheckExperimentNameResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCheckExperimentNameResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewCheckExperimentNameResponse() + _field := NewDeleteExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -15899,11 +20605,11 @@ func (p *ExperimentServiceCheckExperimentNameResult) FastReadField0(buf []byte) return offset, nil } -func (p *ExperimentServiceCheckExperimentNameResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceDeleteExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCheckExperimentNameResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -15912,7 +20618,7 @@ func (p *ExperimentServiceCheckExperimentNameResult) FastWriteNocopy(buf []byte, return offset } -func (p *ExperimentServiceCheckExperimentNameResult) BLength() int { +func (p *ExperimentServiceDeleteExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -15921,7 +20627,7 @@ func (p *ExperimentServiceCheckExperimentNameResult) BLength() int { return l } -func (p *ExperimentServiceCheckExperimentNameResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -15930,7 +20636,7 @@ func (p *ExperimentServiceCheckExperimentNameResult) fastWriteField0(buf []byte, return offset } -func (p *ExperimentServiceCheckExperimentNameResult) field0Length() int { +func (p *ExperimentServiceDeleteExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -15939,15 +20645,15 @@ func (p *ExperimentServiceCheckExperimentNameResult) field0Length() int { return l } -func (p *ExperimentServiceCheckExperimentNameResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCheckExperimentNameResult) +func (p *ExperimentServiceDeleteExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceDeleteExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *CheckExperimentNameResponse + var _success *DeleteExperimentResponse if src.Success != nil { - _success = &CheckExperimentNameResponse{} + _success = &DeleteExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -15957,7 +20663,7 @@ func (p *ExperimentServiceCheckExperimentNameResult) DeepCopy(s interface{}) err return nil } -func (p *ExperimentServiceCreateExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16001,14 +20707,14 @@ func (p *ExperimentServiceCreateExperimentArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCreateExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewCreateExperimentRequest() + _field := NewBatchDeleteExperimentsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16018,11 +20724,11 @@ func (p *ExperimentServiceCreateExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceCreateExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCreateExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -16031,7 +20737,7 @@ func (p *ExperimentServiceCreateExperimentArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceCreateExperimentArgs) BLength() int { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -16040,29 +20746,29 @@ func (p *ExperimentServiceCreateExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceCreateExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceCreateExperimentArgs) field1Length() int { +func (p *ExperimentServiceBatchDeleteExperimentsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceCreateExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCreateExperimentArgs) +func (p *ExperimentServiceBatchDeleteExperimentsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchDeleteExperimentsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *CreateExperimentRequest + var _req *BatchDeleteExperimentsRequest if src.Req != nil { - _req = &CreateExperimentRequest{} + _req = &BatchDeleteExperimentsRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -16072,7 +20778,7 @@ func (p *ExperimentServiceCreateExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceCreateExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceBatchDeleteExperimentsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16116,14 +20822,14 @@ func (p *ExperimentServiceCreateExperimentResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCreateExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceBatchDeleteExperimentsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewCreateExperimentResponse() + _field := NewBatchDeleteExperimentsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16133,11 +20839,11 @@ func (p *ExperimentServiceCreateExperimentResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceCreateExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceBatchDeleteExperimentsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCreateExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchDeleteExperimentsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -16146,7 +20852,7 @@ func (p *ExperimentServiceCreateExperimentResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceCreateExperimentResult) BLength() int { +func (p *ExperimentServiceBatchDeleteExperimentsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -16155,7 +20861,7 @@ func (p *ExperimentServiceCreateExperimentResult) BLength() int { return l } -func (p *ExperimentServiceCreateExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchDeleteExperimentsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -16164,7 +20870,7 @@ func (p *ExperimentServiceCreateExperimentResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceCreateExperimentResult) field0Length() int { +func (p *ExperimentServiceBatchDeleteExperimentsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -16173,15 +20879,15 @@ func (p *ExperimentServiceCreateExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceCreateExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCreateExperimentResult) +func (p *ExperimentServiceBatchDeleteExperimentsResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchDeleteExperimentsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *CreateExperimentResponse + var _success *BatchDeleteExperimentsResponse if src.Success != nil { - _success = &CreateExperimentResponse{} + _success = &BatchDeleteExperimentsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -16191,7 +20897,7 @@ func (p *ExperimentServiceCreateExperimentResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceSubmitExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceCloneExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16235,14 +20941,14 @@ func (p *ExperimentServiceSubmitExperimentArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceSubmitExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceCloneExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewSubmitExperimentRequest() + _field := NewCloneExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16252,11 +20958,11 @@ func (p *ExperimentServiceSubmitExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceSubmitExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceCloneExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceSubmitExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCloneExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -16265,7 +20971,7 @@ func (p *ExperimentServiceSubmitExperimentArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceSubmitExperimentArgs) BLength() int { +func (p *ExperimentServiceCloneExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -16274,29 +20980,29 @@ func (p *ExperimentServiceSubmitExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceSubmitExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCloneExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceSubmitExperimentArgs) field1Length() int { +func (p *ExperimentServiceCloneExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceSubmitExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceSubmitExperimentArgs) +func (p *ExperimentServiceCloneExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCloneExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *SubmitExperimentRequest + var _req *CloneExperimentRequest if src.Req != nil { - _req = &SubmitExperimentRequest{} + _req = &CloneExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -16306,7 +21012,7 @@ func (p *ExperimentServiceSubmitExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceSubmitExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceCloneExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16350,14 +21056,14 @@ func (p *ExperimentServiceSubmitExperimentResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceSubmitExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceSubmitExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceCloneExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewSubmitExperimentResponse() + _field := NewCloneExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16367,11 +21073,11 @@ func (p *ExperimentServiceSubmitExperimentResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceSubmitExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceCloneExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceSubmitExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCloneExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -16380,7 +21086,7 @@ func (p *ExperimentServiceSubmitExperimentResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceSubmitExperimentResult) BLength() int { +func (p *ExperimentServiceCloneExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -16389,7 +21095,7 @@ func (p *ExperimentServiceSubmitExperimentResult) BLength() int { return l } -func (p *ExperimentServiceSubmitExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCloneExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -16398,7 +21104,7 @@ func (p *ExperimentServiceSubmitExperimentResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceSubmitExperimentResult) field0Length() int { +func (p *ExperimentServiceCloneExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -16407,15 +21113,15 @@ func (p *ExperimentServiceSubmitExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceSubmitExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceSubmitExperimentResult) +func (p *ExperimentServiceCloneExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCloneExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *SubmitExperimentResponse + var _success *CloneExperimentResponse if src.Success != nil { - _success = &SubmitExperimentResponse{} + _success = &CloneExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -16425,7 +21131,7 @@ func (p *ExperimentServiceSubmitExperimentResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceBatchGetExperimentsArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceRunExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16469,14 +21175,14 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) FastRead(buf []byte) (int, er ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchGetExperimentsArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceRunExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetExperimentsRequest() + _field := NewRunExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16486,11 +21192,11 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) FastReadField1(buf []byte) (i return offset, nil } -func (p *ExperimentServiceBatchGetExperimentsArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceRunExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchGetExperimentsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRunExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -16499,7 +21205,7 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceBatchGetExperimentsArgs) BLength() int { +func (p *ExperimentServiceRunExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -16508,29 +21214,29 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) BLength() int { return l } -func (p *ExperimentServiceBatchGetExperimentsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRunExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceBatchGetExperimentsArgs) field1Length() int { +func (p *ExperimentServiceRunExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceBatchGetExperimentsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchGetExperimentsArgs) +func (p *ExperimentServiceRunExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceRunExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *BatchGetExperimentsRequest + var _req *RunExperimentRequest if src.Req != nil { - _req = &BatchGetExperimentsRequest{} + _req = &RunExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -16540,7 +21246,7 @@ func (p *ExperimentServiceBatchGetExperimentsArgs) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceBatchGetExperimentsResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceRunExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16584,14 +21290,14 @@ func (p *ExperimentServiceBatchGetExperimentsResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchGetExperimentsResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceRunExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetExperimentsResponse() + _field := NewRunExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16601,11 +21307,11 @@ func (p *ExperimentServiceBatchGetExperimentsResult) FastReadField0(buf []byte) return offset, nil } -func (p *ExperimentServiceBatchGetExperimentsResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceRunExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchGetExperimentsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRunExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -16614,7 +21320,7 @@ func (p *ExperimentServiceBatchGetExperimentsResult) FastWriteNocopy(buf []byte, return offset } -func (p *ExperimentServiceBatchGetExperimentsResult) BLength() int { +func (p *ExperimentServiceRunExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -16623,7 +21329,7 @@ func (p *ExperimentServiceBatchGetExperimentsResult) BLength() int { return l } -func (p *ExperimentServiceBatchGetExperimentsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRunExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -16632,7 +21338,7 @@ func (p *ExperimentServiceBatchGetExperimentsResult) fastWriteField0(buf []byte, return offset } -func (p *ExperimentServiceBatchGetExperimentsResult) field0Length() int { +func (p *ExperimentServiceRunExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -16641,15 +21347,15 @@ func (p *ExperimentServiceBatchGetExperimentsResult) field0Length() int { return l } -func (p *ExperimentServiceBatchGetExperimentsResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchGetExperimentsResult) +func (p *ExperimentServiceRunExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceRunExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchGetExperimentsResponse + var _success *RunExperimentResponse if src.Success != nil { - _success = &BatchGetExperimentsResponse{} + _success = &RunExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -16659,7 +21365,7 @@ func (p *ExperimentServiceBatchGetExperimentsResult) DeepCopy(s interface{}) err return nil } -func (p *ExperimentServiceListExperimentsArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceRetryExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16703,14 +21409,14 @@ func (p *ExperimentServiceListExperimentsArgs) FastRead(buf []byte) (int, error) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceListExperimentsArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceRetryExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewListExperimentsRequest() + _field := NewRetryExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16720,11 +21426,11 @@ func (p *ExperimentServiceListExperimentsArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceListExperimentsArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceRetryExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceListExperimentsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRetryExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -16733,7 +21439,7 @@ func (p *ExperimentServiceListExperimentsArgs) FastWriteNocopy(buf []byte, w thr return offset } -func (p *ExperimentServiceListExperimentsArgs) BLength() int { +func (p *ExperimentServiceRetryExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -16742,29 +21448,29 @@ func (p *ExperimentServiceListExperimentsArgs) BLength() int { return l } -func (p *ExperimentServiceListExperimentsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRetryExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceListExperimentsArgs) field1Length() int { +func (p *ExperimentServiceRetryExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceListExperimentsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceListExperimentsArgs) +func (p *ExperimentServiceRetryExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceRetryExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *ListExperimentsRequest + var _req *RetryExperimentRequest if src.Req != nil { - _req = &ListExperimentsRequest{} + _req = &RetryExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -16774,7 +21480,7 @@ func (p *ExperimentServiceListExperimentsArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceListExperimentsResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceRetryExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16818,14 +21524,14 @@ func (p *ExperimentServiceListExperimentsResult) FastRead(buf []byte) (int, erro ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceListExperimentsResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceRetryExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewListExperimentsResponse() + _field := NewRetryExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16835,11 +21541,11 @@ func (p *ExperimentServiceListExperimentsResult) FastReadField0(buf []byte) (int return offset, nil } -func (p *ExperimentServiceListExperimentsResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceRetryExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceListExperimentsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRetryExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -16848,7 +21554,7 @@ func (p *ExperimentServiceListExperimentsResult) FastWriteNocopy(buf []byte, w t return offset } -func (p *ExperimentServiceListExperimentsResult) BLength() int { +func (p *ExperimentServiceRetryExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -16857,7 +21563,7 @@ func (p *ExperimentServiceListExperimentsResult) BLength() int { return l } -func (p *ExperimentServiceListExperimentsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceRetryExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -16866,7 +21572,7 @@ func (p *ExperimentServiceListExperimentsResult) fastWriteField0(buf []byte, w t return offset } -func (p *ExperimentServiceListExperimentsResult) field0Length() int { +func (p *ExperimentServiceRetryExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -16875,15 +21581,15 @@ func (p *ExperimentServiceListExperimentsResult) field0Length() int { return l } -func (p *ExperimentServiceListExperimentsResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceListExperimentsResult) +func (p *ExperimentServiceRetryExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceRetryExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ListExperimentsResponse + var _success *RetryExperimentResponse if src.Success != nil { - _success = &ListExperimentsResponse{} + _success = &RetryExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -16893,7 +21599,7 @@ func (p *ExperimentServiceListExperimentsResult) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceUpdateExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceKillExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -16937,14 +21643,14 @@ func (p *ExperimentServiceUpdateExperimentArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceUpdateExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceKillExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewUpdateExperimentRequest() + _field := NewKillExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -16954,11 +21660,11 @@ func (p *ExperimentServiceUpdateExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceUpdateExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceKillExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceUpdateExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceKillExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -16967,7 +21673,7 @@ func (p *ExperimentServiceUpdateExperimentArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceUpdateExperimentArgs) BLength() int { +func (p *ExperimentServiceKillExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -16976,29 +21682,29 @@ func (p *ExperimentServiceUpdateExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceUpdateExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceKillExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceUpdateExperimentArgs) field1Length() int { +func (p *ExperimentServiceKillExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceUpdateExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceUpdateExperimentArgs) +func (p *ExperimentServiceKillExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceKillExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *UpdateExperimentRequest + var _req *KillExperimentRequest if src.Req != nil { - _req = &UpdateExperimentRequest{} + _req = &KillExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -17008,7 +21714,7 @@ func (p *ExperimentServiceUpdateExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceUpdateExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceKillExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17052,14 +21758,14 @@ func (p *ExperimentServiceUpdateExperimentResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceUpdateExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceKillExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewUpdateExperimentResponse() + _field := NewKillExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17069,11 +21775,11 @@ func (p *ExperimentServiceUpdateExperimentResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceUpdateExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceKillExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceUpdateExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceKillExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -17082,7 +21788,7 @@ func (p *ExperimentServiceUpdateExperimentResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceUpdateExperimentResult) BLength() int { +func (p *ExperimentServiceKillExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -17091,7 +21797,7 @@ func (p *ExperimentServiceUpdateExperimentResult) BLength() int { return l } -func (p *ExperimentServiceUpdateExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceKillExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -17100,7 +21806,7 @@ func (p *ExperimentServiceUpdateExperimentResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceUpdateExperimentResult) field0Length() int { +func (p *ExperimentServiceKillExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -17109,15 +21815,15 @@ func (p *ExperimentServiceUpdateExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceUpdateExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceUpdateExperimentResult) +func (p *ExperimentServiceKillExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceKillExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *UpdateExperimentResponse + var _success *KillExperimentResponse if src.Success != nil { - _success = &UpdateExperimentResponse{} + _success = &KillExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -17127,7 +21833,7 @@ func (p *ExperimentServiceUpdateExperimentResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceDeleteExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17171,14 +21877,14 @@ func (p *ExperimentServiceDeleteExperimentArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceDeleteExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentResultArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewDeleteExperimentRequest() + _field := NewBatchGetExperimentResultRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17188,11 +21894,11 @@ func (p *ExperimentServiceDeleteExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceDeleteExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceBatchGetExperimentResultArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceDeleteExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -17201,7 +21907,7 @@ func (p *ExperimentServiceDeleteExperimentArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceDeleteExperimentArgs) BLength() int { +func (p *ExperimentServiceBatchGetExperimentResultArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -17210,29 +21916,29 @@ func (p *ExperimentServiceDeleteExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceDeleteExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceDeleteExperimentArgs) field1Length() int { +func (p *ExperimentServiceBatchGetExperimentResultArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceDeleteExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceDeleteExperimentArgs) +func (p *ExperimentServiceBatchGetExperimentResultArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchGetExperimentResultArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *DeleteExperimentRequest + var _req *BatchGetExperimentResultRequest if src.Req != nil { - _req = &DeleteExperimentRequest{} + _req = &BatchGetExperimentResultRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -17242,7 +21948,7 @@ func (p *ExperimentServiceDeleteExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceDeleteExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentResultResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17286,14 +21992,14 @@ func (p *ExperimentServiceDeleteExperimentResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceDeleteExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentResultResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewDeleteExperimentResponse() + _field := NewBatchGetExperimentResultResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17303,11 +22009,11 @@ func (p *ExperimentServiceDeleteExperimentResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceDeleteExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceBatchGetExperimentResultResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceDeleteExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -17316,7 +22022,7 @@ func (p *ExperimentServiceDeleteExperimentResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceDeleteExperimentResult) BLength() int { +func (p *ExperimentServiceBatchGetExperimentResultResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -17325,7 +22031,7 @@ func (p *ExperimentServiceDeleteExperimentResult) BLength() int { return l } -func (p *ExperimentServiceDeleteExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -17334,7 +22040,7 @@ func (p *ExperimentServiceDeleteExperimentResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceDeleteExperimentResult) field0Length() int { +func (p *ExperimentServiceBatchGetExperimentResultResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -17343,15 +22049,15 @@ func (p *ExperimentServiceDeleteExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceDeleteExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceDeleteExperimentResult) +func (p *ExperimentServiceBatchGetExperimentResultResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchGetExperimentResultResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *DeleteExperimentResponse + var _success *BatchGetExperimentResultResponse if src.Success != nil { - _success = &DeleteExperimentResponse{} + _success = &BatchGetExperimentResultResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -17361,7 +22067,7 @@ func (p *ExperimentServiceDeleteExperimentResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17405,14 +22111,14 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewBatchDeleteExperimentsRequest() + _field := NewBatchGetExperimentAggrResultRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17422,11 +22128,11 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastReadField1(buf []byte) return offset, nil } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -17435,7 +22141,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) FastWriteNocopy(buf []byte return offset } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) BLength() int { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -17444,29 +22150,29 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) BLength() int { return l } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) field1Length() int { +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceBatchDeleteExperimentsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchDeleteExperimentsArgs) +func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchGetExperimentAggrResultArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *BatchDeleteExperimentsRequest + var _req *BatchGetExperimentAggrResultRequest if src.Req != nil { - _req = &BatchDeleteExperimentsRequest{} + _req = &BatchGetExperimentAggrResultRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -17476,7 +22182,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsArgs) DeepCopy(s interface{}) er return nil } -func (p *ExperimentServiceBatchDeleteExperimentsResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17520,14 +22226,14 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) FastRead(buf []byte) (in ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchDeleteExperimentsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchDeleteExperimentsResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewBatchDeleteExperimentsResponse() + _field := NewBatchGetExperimentAggrResultResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17537,11 +22243,11 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) FastReadField0(buf []byt return offset, nil } -func (p *ExperimentServiceBatchDeleteExperimentsResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchDeleteExperimentsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -17550,7 +22256,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) FastWriteNocopy(buf []by return offset } -func (p *ExperimentServiceBatchDeleteExperimentsResult) BLength() int { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -17559,7 +22265,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) BLength() int { return l } -func (p *ExperimentServiceBatchDeleteExperimentsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -17568,7 +22274,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) fastWriteField0(buf []by return offset } -func (p *ExperimentServiceBatchDeleteExperimentsResult) field0Length() int { +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -17577,15 +22283,15 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) field0Length() int { return l } -func (p *ExperimentServiceBatchDeleteExperimentsResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchDeleteExperimentsResult) +func (p *ExperimentServiceBatchGetExperimentAggrResultResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceBatchGetExperimentAggrResultResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchDeleteExperimentsResponse + var _success *BatchGetExperimentAggrResultResponse if src.Success != nil { - _success = &BatchDeleteExperimentsResponse{} + _success = &BatchGetExperimentAggrResultResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -17595,7 +22301,7 @@ func (p *ExperimentServiceBatchDeleteExperimentsResult) DeepCopy(s interface{}) return nil } -func (p *ExperimentServiceCloneExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceInvokeExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17639,14 +22345,14 @@ func (p *ExperimentServiceCloneExperimentArgs) FastRead(buf []byte) (int, error) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCloneExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceInvokeExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewCloneExperimentRequest() + _field := NewInvokeExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17656,11 +22362,11 @@ func (p *ExperimentServiceCloneExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceCloneExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceInvokeExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCloneExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInvokeExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -17669,7 +22375,7 @@ func (p *ExperimentServiceCloneExperimentArgs) FastWriteNocopy(buf []byte, w thr return offset } -func (p *ExperimentServiceCloneExperimentArgs) BLength() int { +func (p *ExperimentServiceInvokeExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -17678,29 +22384,29 @@ func (p *ExperimentServiceCloneExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceCloneExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInvokeExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceCloneExperimentArgs) field1Length() int { +func (p *ExperimentServiceInvokeExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceCloneExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCloneExperimentArgs) +func (p *ExperimentServiceInvokeExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceInvokeExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *CloneExperimentRequest + var _req *InvokeExperimentRequest if src.Req != nil { - _req = &CloneExperimentRequest{} + _req = &InvokeExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -17710,7 +22416,7 @@ func (p *ExperimentServiceCloneExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceCloneExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceInvokeExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17754,14 +22460,14 @@ func (p *ExperimentServiceCloneExperimentResult) FastRead(buf []byte) (int, erro ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCloneExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCloneExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceInvokeExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewCloneExperimentResponse() + _field := NewInvokeExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17771,11 +22477,11 @@ func (p *ExperimentServiceCloneExperimentResult) FastReadField0(buf []byte) (int return offset, nil } -func (p *ExperimentServiceCloneExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceInvokeExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCloneExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInvokeExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -17784,7 +22490,7 @@ func (p *ExperimentServiceCloneExperimentResult) FastWriteNocopy(buf []byte, w t return offset } -func (p *ExperimentServiceCloneExperimentResult) BLength() int { +func (p *ExperimentServiceInvokeExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -17793,7 +22499,7 @@ func (p *ExperimentServiceCloneExperimentResult) BLength() int { return l } -func (p *ExperimentServiceCloneExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInvokeExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -17802,7 +22508,7 @@ func (p *ExperimentServiceCloneExperimentResult) fastWriteField0(buf []byte, w t return offset } -func (p *ExperimentServiceCloneExperimentResult) field0Length() int { +func (p *ExperimentServiceInvokeExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -17811,15 +22517,15 @@ func (p *ExperimentServiceCloneExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceCloneExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCloneExperimentResult) +func (p *ExperimentServiceInvokeExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceInvokeExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *CloneExperimentResponse + var _success *InvokeExperimentResponse if src.Success != nil { - _success = &CloneExperimentResponse{} + _success = &InvokeExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -17829,7 +22535,7 @@ func (p *ExperimentServiceCloneExperimentResult) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceRunExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceFinishExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17873,14 +22579,14 @@ func (p *ExperimentServiceRunExperimentArgs) FastRead(buf []byte) (int, error) { ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceRunExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceFinishExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewRunExperimentRequest() + _field := NewFinishExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -17890,11 +22596,11 @@ func (p *ExperimentServiceRunExperimentArgs) FastReadField1(buf []byte) (int, er return offset, nil } -func (p *ExperimentServiceRunExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceFinishExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceRunExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFinishExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -17903,7 +22609,7 @@ func (p *ExperimentServiceRunExperimentArgs) FastWriteNocopy(buf []byte, w thrif return offset } -func (p *ExperimentServiceRunExperimentArgs) BLength() int { +func (p *ExperimentServiceFinishExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -17912,29 +22618,29 @@ func (p *ExperimentServiceRunExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceRunExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFinishExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceRunExperimentArgs) field1Length() int { +func (p *ExperimentServiceFinishExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceRunExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceRunExperimentArgs) +func (p *ExperimentServiceFinishExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceFinishExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *RunExperimentRequest + var _req *FinishExperimentRequest if src.Req != nil { - _req = &RunExperimentRequest{} + _req = &FinishExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -17944,7 +22650,7 @@ func (p *ExperimentServiceRunExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceRunExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceFinishExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -17988,14 +22694,14 @@ func (p *ExperimentServiceRunExperimentResult) FastRead(buf []byte) (int, error) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRunExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceRunExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceFinishExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewRunExperimentResponse() + _field := NewFinishExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18005,11 +22711,11 @@ func (p *ExperimentServiceRunExperimentResult) FastReadField0(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceRunExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceFinishExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceRunExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFinishExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -18018,7 +22724,7 @@ func (p *ExperimentServiceRunExperimentResult) FastWriteNocopy(buf []byte, w thr return offset } -func (p *ExperimentServiceRunExperimentResult) BLength() int { +func (p *ExperimentServiceFinishExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -18027,7 +22733,7 @@ func (p *ExperimentServiceRunExperimentResult) BLength() int { return l } -func (p *ExperimentServiceRunExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFinishExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -18036,7 +22742,7 @@ func (p *ExperimentServiceRunExperimentResult) fastWriteField0(buf []byte, w thr return offset } -func (p *ExperimentServiceRunExperimentResult) field0Length() int { +func (p *ExperimentServiceFinishExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -18045,15 +22751,15 @@ func (p *ExperimentServiceRunExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceRunExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceRunExperimentResult) +func (p *ExperimentServiceFinishExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceFinishExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *RunExperimentResponse + var _success *FinishExperimentResponse if src.Success != nil { - _success = &RunExperimentResponse{} + _success = &FinishExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -18063,7 +22769,7 @@ func (p *ExperimentServiceRunExperimentResult) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceRetryExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExperimentStatsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18107,14 +22813,14 @@ func (p *ExperimentServiceRetryExperimentArgs) FastRead(buf []byte) (int, error) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceRetryExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceListExperimentStatsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewRetryExperimentRequest() + _field := NewListExperimentStatsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18124,11 +22830,11 @@ func (p *ExperimentServiceRetryExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceRetryExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExperimentStatsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceRetryExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExperimentStatsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -18137,7 +22843,7 @@ func (p *ExperimentServiceRetryExperimentArgs) FastWriteNocopy(buf []byte, w thr return offset } -func (p *ExperimentServiceRetryExperimentArgs) BLength() int { +func (p *ExperimentServiceListExperimentStatsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -18146,29 +22852,29 @@ func (p *ExperimentServiceRetryExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceRetryExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExperimentStatsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceRetryExperimentArgs) field1Length() int { +func (p *ExperimentServiceListExperimentStatsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceRetryExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceRetryExperimentArgs) +func (p *ExperimentServiceListExperimentStatsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExperimentStatsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *RetryExperimentRequest + var _req *ListExperimentStatsRequest if src.Req != nil { - _req = &RetryExperimentRequest{} + _req = &ListExperimentStatsRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -18178,7 +22884,7 @@ func (p *ExperimentServiceRetryExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceRetryExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExperimentStatsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18222,14 +22928,14 @@ func (p *ExperimentServiceRetryExperimentResult) FastRead(buf []byte) (int, erro ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceRetryExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceRetryExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceListExperimentStatsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewRetryExperimentResponse() + _field := NewListExperimentStatsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18239,11 +22945,11 @@ func (p *ExperimentServiceRetryExperimentResult) FastReadField0(buf []byte) (int return offset, nil } -func (p *ExperimentServiceRetryExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExperimentStatsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceRetryExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExperimentStatsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -18252,7 +22958,7 @@ func (p *ExperimentServiceRetryExperimentResult) FastWriteNocopy(buf []byte, w t return offset } -func (p *ExperimentServiceRetryExperimentResult) BLength() int { +func (p *ExperimentServiceListExperimentStatsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -18261,7 +22967,7 @@ func (p *ExperimentServiceRetryExperimentResult) BLength() int { return l } -func (p *ExperimentServiceRetryExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExperimentStatsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -18270,7 +22976,7 @@ func (p *ExperimentServiceRetryExperimentResult) fastWriteField0(buf []byte, w t return offset } -func (p *ExperimentServiceRetryExperimentResult) field0Length() int { +func (p *ExperimentServiceListExperimentStatsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -18279,15 +22985,15 @@ func (p *ExperimentServiceRetryExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceRetryExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceRetryExperimentResult) +func (p *ExperimentServiceListExperimentStatsResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExperimentStatsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *RetryExperimentResponse + var _success *ListExperimentStatsResponse if src.Success != nil { - _success = &RetryExperimentResponse{} + _success = &ListExperimentStatsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -18297,7 +23003,7 @@ func (p *ExperimentServiceRetryExperimentResult) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceKillExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18341,14 +23047,14 @@ func (p *ExperimentServiceKillExperimentArgs) FastRead(buf []byte) (int, error) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceKillExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewKillExperimentRequest() + _field := NewUpsertExptTurnResultFilterRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18358,11 +23064,11 @@ func (p *ExperimentServiceKillExperimentArgs) FastReadField1(buf []byte) (int, e return offset, nil } -func (p *ExperimentServiceKillExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceKillExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -18371,7 +23077,7 @@ func (p *ExperimentServiceKillExperimentArgs) FastWriteNocopy(buf []byte, w thri return offset } -func (p *ExperimentServiceKillExperimentArgs) BLength() int { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -18380,29 +23086,29 @@ func (p *ExperimentServiceKillExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceKillExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceKillExperimentArgs) field1Length() int { +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceKillExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceKillExperimentArgs) +func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceUpsertExptTurnResultFilterArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *KillExperimentRequest + var _req *UpsertExptTurnResultFilterRequest if src.Req != nil { - _req = &KillExperimentRequest{} + _req = &UpsertExptTurnResultFilterRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -18412,7 +23118,7 @@ func (p *ExperimentServiceKillExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceKillExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18456,14 +23162,14 @@ func (p *ExperimentServiceKillExperimentResult) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceKillExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceKillExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewKillExperimentResponse() + _field := NewUpsertExptTurnResultFilterResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18473,11 +23179,11 @@ func (p *ExperimentServiceKillExperimentResult) FastReadField0(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceKillExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceKillExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -18486,7 +23192,7 @@ func (p *ExperimentServiceKillExperimentResult) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceKillExperimentResult) BLength() int { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -18495,7 +23201,7 @@ func (p *ExperimentServiceKillExperimentResult) BLength() int { return l } -func (p *ExperimentServiceKillExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -18504,7 +23210,7 @@ func (p *ExperimentServiceKillExperimentResult) fastWriteField0(buf []byte, w th return offset } -func (p *ExperimentServiceKillExperimentResult) field0Length() int { +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -18513,15 +23219,15 @@ func (p *ExperimentServiceKillExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceKillExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceKillExperimentResult) +func (p *ExperimentServiceUpsertExptTurnResultFilterResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceUpsertExptTurnResultFilterResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *KillExperimentResponse + var _success *UpsertExptTurnResultFilterResponse if src.Success != nil { - _success = &KillExperimentResponse{} + _success = &UpsertExptTurnResultFilterResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -18531,7 +23237,7 @@ func (p *ExperimentServiceKillExperimentResult) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceBatchGetExperimentResultArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18575,14 +23281,14 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) FastRead(buf []byte) (in ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchGetExperimentResultArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceAssociateAnnotationTagArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetExperimentResultRequest() + _field := NewAssociateAnnotationTagReq() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18592,11 +23298,11 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) FastReadField1(buf []byt return offset, nil } -func (p *ExperimentServiceBatchGetExperimentResultArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceAssociateAnnotationTagArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchGetExperimentResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceAssociateAnnotationTagArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -18605,7 +23311,7 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) FastWriteNocopy(buf []by return offset } -func (p *ExperimentServiceBatchGetExperimentResultArgs) BLength() int { +func (p *ExperimentServiceAssociateAnnotationTagArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -18614,29 +23320,29 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) BLength() int { return l } -func (p *ExperimentServiceBatchGetExperimentResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceAssociateAnnotationTagArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceBatchGetExperimentResultArgs) field1Length() int { +func (p *ExperimentServiceAssociateAnnotationTagArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceBatchGetExperimentResultArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchGetExperimentResultArgs) +func (p *ExperimentServiceAssociateAnnotationTagArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceAssociateAnnotationTagArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *BatchGetExperimentResultRequest + var _req *AssociateAnnotationTagReq if src.Req != nil { - _req = &BatchGetExperimentResultRequest{} + _req = &AssociateAnnotationTagReq{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -18646,7 +23352,7 @@ func (p *ExperimentServiceBatchGetExperimentResultArgs) DeepCopy(s interface{}) return nil } -func (p *ExperimentServiceBatchGetExperimentResultResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceAssociateAnnotationTagResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18690,14 +23396,14 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) FastRead(buf []byte) ( ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentResultResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchGetExperimentResultResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceAssociateAnnotationTagResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetExperimentResultResponse() + _field := NewAssociateAnnotationTagResp() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18707,11 +23413,11 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) FastReadField0(buf []b return offset, nil } -func (p *ExperimentServiceBatchGetExperimentResultResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceAssociateAnnotationTagResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchGetExperimentResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceAssociateAnnotationTagResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -18720,7 +23426,7 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) FastWriteNocopy(buf [] return offset } -func (p *ExperimentServiceBatchGetExperimentResultResult) BLength() int { +func (p *ExperimentServiceAssociateAnnotationTagResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -18729,7 +23435,7 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) BLength() int { return l } -func (p *ExperimentServiceBatchGetExperimentResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceAssociateAnnotationTagResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -18738,7 +23444,7 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) fastWriteField0(buf [] return offset } -func (p *ExperimentServiceBatchGetExperimentResultResult) field0Length() int { +func (p *ExperimentServiceAssociateAnnotationTagResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -18747,15 +23453,15 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) field0Length() int { return l } -func (p *ExperimentServiceBatchGetExperimentResultResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchGetExperimentResultResult) +func (p *ExperimentServiceAssociateAnnotationTagResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceAssociateAnnotationTagResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchGetExperimentResultResponse + var _success *AssociateAnnotationTagResp if src.Success != nil { - _success = &BatchGetExperimentResultResponse{} + _success = &AssociateAnnotationTagResp{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -18765,7 +23471,7 @@ func (p *ExperimentServiceBatchGetExperimentResultResult) DeepCopy(s interface{} return nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18809,14 +23515,14 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteAnnotationTagArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetExperimentAggrResultRequest() + _field := NewDeleteAnnotationTagReq() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18826,11 +23532,11 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastReadField1(buf [ return offset, nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceDeleteAnnotationTagArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteAnnotationTagArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -18839,7 +23545,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) FastWriteNocopy(buf return offset } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) BLength() int { +func (p *ExperimentServiceDeleteAnnotationTagArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -18848,29 +23554,29 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) BLength() int { return l } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteAnnotationTagArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) field1Length() int { +func (p *ExperimentServiceDeleteAnnotationTagArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchGetExperimentAggrResultArgs) +func (p *ExperimentServiceDeleteAnnotationTagArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceDeleteAnnotationTagArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *BatchGetExperimentAggrResultRequest + var _req *DeleteAnnotationTagReq if src.Req != nil { - _req = &BatchGetExperimentAggrResultRequest{} + _req = &DeleteAnnotationTagReq{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -18880,7 +23586,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultArgs) DeepCopy(s interface return nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteAnnotationTagResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -18924,14 +23630,14 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastRead(buf []byt ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceBatchGetExperimentAggrResultResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteAnnotationTagResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetExperimentAggrResultResponse() + _field := NewDeleteAnnotationTagResp() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -18941,11 +23647,11 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastReadField0(buf return offset, nil } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceDeleteAnnotationTagResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteAnnotationTagResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -18954,7 +23660,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) FastWriteNocopy(bu return offset } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) BLength() int { +func (p *ExperimentServiceDeleteAnnotationTagResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -18963,7 +23669,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) BLength() int { return l } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteAnnotationTagResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -18972,7 +23678,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) fastWriteField0(bu return offset } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) field0Length() int { +func (p *ExperimentServiceDeleteAnnotationTagResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -18981,15 +23687,15 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) field0Length() int return l } -func (p *ExperimentServiceBatchGetExperimentAggrResultResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceBatchGetExperimentAggrResultResult) +func (p *ExperimentServiceDeleteAnnotationTagResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceDeleteAnnotationTagResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchGetExperimentAggrResultResponse + var _success *DeleteAnnotationTagResp if src.Success != nil { - _success = &BatchGetExperimentAggrResultResponse{} + _success = &DeleteAnnotationTagResp{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -18999,7 +23705,7 @@ func (p *ExperimentServiceBatchGetExperimentAggrResultResult) DeepCopy(s interfa return nil } -func (p *ExperimentServiceInvokeExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19043,14 +23749,14 @@ func (p *ExperimentServiceInvokeExperimentArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceInvokeExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceCreateAnnotateRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewInvokeExperimentRequest() + _field := NewCreateAnnotateRecordReq() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19060,11 +23766,11 @@ func (p *ExperimentServiceInvokeExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceInvokeExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceCreateAnnotateRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceInvokeExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCreateAnnotateRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -19073,7 +23779,7 @@ func (p *ExperimentServiceInvokeExperimentArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceInvokeExperimentArgs) BLength() int { +func (p *ExperimentServiceCreateAnnotateRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -19082,29 +23788,29 @@ func (p *ExperimentServiceInvokeExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceInvokeExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCreateAnnotateRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceInvokeExperimentArgs) field1Length() int { +func (p *ExperimentServiceCreateAnnotateRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceInvokeExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceInvokeExperimentArgs) +func (p *ExperimentServiceCreateAnnotateRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCreateAnnotateRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *InvokeExperimentRequest + var _req *CreateAnnotateRecordReq if src.Req != nil { - _req = &InvokeExperimentRequest{} + _req = &CreateAnnotateRecordReq{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -19114,7 +23820,7 @@ func (p *ExperimentServiceInvokeExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceInvokeExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceCreateAnnotateRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19158,14 +23864,14 @@ func (p *ExperimentServiceInvokeExperimentResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInvokeExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceInvokeExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceCreateAnnotateRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewInvokeExperimentResponse() + _field := NewCreateAnnotateRecordResp() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19175,11 +23881,11 @@ func (p *ExperimentServiceInvokeExperimentResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceInvokeExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceCreateAnnotateRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceInvokeExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCreateAnnotateRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -19188,7 +23894,7 @@ func (p *ExperimentServiceInvokeExperimentResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceInvokeExperimentResult) BLength() int { +func (p *ExperimentServiceCreateAnnotateRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -19197,7 +23903,7 @@ func (p *ExperimentServiceInvokeExperimentResult) BLength() int { return l } -func (p *ExperimentServiceInvokeExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceCreateAnnotateRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -19206,7 +23912,7 @@ func (p *ExperimentServiceInvokeExperimentResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceInvokeExperimentResult) field0Length() int { +func (p *ExperimentServiceCreateAnnotateRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -19215,15 +23921,15 @@ func (p *ExperimentServiceInvokeExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceInvokeExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceInvokeExperimentResult) +func (p *ExperimentServiceCreateAnnotateRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceCreateAnnotateRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *InvokeExperimentResponse + var _success *CreateAnnotateRecordResp if src.Success != nil { - _success = &InvokeExperimentResponse{} + _success = &CreateAnnotateRecordResp{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -19233,7 +23939,7 @@ func (p *ExperimentServiceInvokeExperimentResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceFinishExperimentArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19277,14 +23983,14 @@ func (p *ExperimentServiceFinishExperimentArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceFinishExperimentArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewFinishExperimentRequest() + _field := NewUpdateAnnotateRecordReq() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19294,11 +24000,11 @@ func (p *ExperimentServiceFinishExperimentArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceFinishExperimentArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceFinishExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -19307,7 +24013,7 @@ func (p *ExperimentServiceFinishExperimentArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceFinishExperimentArgs) BLength() int { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -19316,29 +24022,29 @@ func (p *ExperimentServiceFinishExperimentArgs) BLength() int { return l } -func (p *ExperimentServiceFinishExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceFinishExperimentArgs) field1Length() int { +func (p *ExperimentServiceUpdateAnnotateRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceFinishExperimentArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceFinishExperimentArgs) +func (p *ExperimentServiceUpdateAnnotateRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceUpdateAnnotateRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *FinishExperimentRequest + var _req *UpdateAnnotateRecordReq if src.Req != nil { - _req = &FinishExperimentRequest{} + _req = &UpdateAnnotateRecordReq{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -19348,7 +24054,7 @@ func (p *ExperimentServiceFinishExperimentArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceFinishExperimentResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceUpdateAnnotateRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19392,14 +24098,14 @@ func (p *ExperimentServiceFinishExperimentResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFinishExperimentResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceFinishExperimentResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceUpdateAnnotateRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewFinishExperimentResponse() + _field := NewUpdateAnnotateRecordResp() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19409,11 +24115,11 @@ func (p *ExperimentServiceFinishExperimentResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceFinishExperimentResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceUpdateAnnotateRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceFinishExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpdateAnnotateRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -19422,7 +24128,7 @@ func (p *ExperimentServiceFinishExperimentResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceFinishExperimentResult) BLength() int { +func (p *ExperimentServiceUpdateAnnotateRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -19431,7 +24137,7 @@ func (p *ExperimentServiceFinishExperimentResult) BLength() int { return l } -func (p *ExperimentServiceFinishExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceUpdateAnnotateRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -19440,7 +24146,7 @@ func (p *ExperimentServiceFinishExperimentResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceFinishExperimentResult) field0Length() int { +func (p *ExperimentServiceUpdateAnnotateRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -19449,15 +24155,15 @@ func (p *ExperimentServiceFinishExperimentResult) field0Length() int { return l } -func (p *ExperimentServiceFinishExperimentResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceFinishExperimentResult) +func (p *ExperimentServiceUpdateAnnotateRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceUpdateAnnotateRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *FinishExperimentResponse + var _success *UpdateAnnotateRecordResp if src.Success != nil { - _success = &FinishExperimentResponse{} + _success = &UpdateAnnotateRecordResp{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -19467,7 +24173,7 @@ func (p *ExperimentServiceFinishExperimentResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceListExperimentStatsArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceExportExptResultArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19511,14 +24217,14 @@ func (p *ExperimentServiceListExperimentStatsArgs) FastRead(buf []byte) (int, er ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceListExperimentStatsArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceExportExptResultArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewListExperimentStatsRequest() + _field := NewExportExptResultRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19528,11 +24234,11 @@ func (p *ExperimentServiceListExperimentStatsArgs) FastReadField1(buf []byte) (i return offset, nil } -func (p *ExperimentServiceListExperimentStatsArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceExportExptResultArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceListExperimentStatsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceExportExptResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -19541,7 +24247,7 @@ func (p *ExperimentServiceListExperimentStatsArgs) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceListExperimentStatsArgs) BLength() int { +func (p *ExperimentServiceExportExptResultArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -19550,29 +24256,29 @@ func (p *ExperimentServiceListExperimentStatsArgs) BLength() int { return l } -func (p *ExperimentServiceListExperimentStatsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceExportExptResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceListExperimentStatsArgs) field1Length() int { +func (p *ExperimentServiceExportExptResultArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceListExperimentStatsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceListExperimentStatsArgs) +func (p *ExperimentServiceExportExptResultArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceExportExptResultArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *ListExperimentStatsRequest + var _req *ExportExptResultRequest if src.Req != nil { - _req = &ListExperimentStatsRequest{} + _req = &ExportExptResultRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -19582,7 +24288,7 @@ func (p *ExperimentServiceListExperimentStatsArgs) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceListExperimentStatsResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceExportExptResultResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19626,14 +24332,14 @@ func (p *ExperimentServiceListExperimentStatsResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExperimentStatsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceListExperimentStatsResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceExportExptResultResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewListExperimentStatsResponse() + _field := NewExportExptResultResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19643,11 +24349,11 @@ func (p *ExperimentServiceListExperimentStatsResult) FastReadField0(buf []byte) return offset, nil } -func (p *ExperimentServiceListExperimentStatsResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceExportExptResultResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceListExperimentStatsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceExportExptResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -19656,7 +24362,7 @@ func (p *ExperimentServiceListExperimentStatsResult) FastWriteNocopy(buf []byte, return offset } -func (p *ExperimentServiceListExperimentStatsResult) BLength() int { +func (p *ExperimentServiceExportExptResultResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -19665,7 +24371,7 @@ func (p *ExperimentServiceListExperimentStatsResult) BLength() int { return l } -func (p *ExperimentServiceListExperimentStatsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceExportExptResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -19674,7 +24380,7 @@ func (p *ExperimentServiceListExperimentStatsResult) fastWriteField0(buf []byte, return offset } -func (p *ExperimentServiceListExperimentStatsResult) field0Length() int { +func (p *ExperimentServiceExportExptResultResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -19683,15 +24389,15 @@ func (p *ExperimentServiceListExperimentStatsResult) field0Length() int { return l } -func (p *ExperimentServiceListExperimentStatsResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceListExperimentStatsResult) +func (p *ExperimentServiceExportExptResultResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceExportExptResultResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ListExperimentStatsResponse + var _success *ExportExptResultResponse if src.Success != nil { - _success = &ListExperimentStatsResponse{} + _success = &ExportExptResultResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -19701,7 +24407,7 @@ func (p *ExperimentServiceListExperimentStatsResult) DeepCopy(s interface{}) err return nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExptResultExportRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19745,14 +24451,14 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastRead(buf []byte) ( ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceListExptResultExportRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewUpsertExptTurnResultFilterRequest() + _field := NewListExptResultExportRecordRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19762,11 +24468,11 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastReadField1(buf []b return offset, nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExptResultExportRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptResultExportRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -19775,7 +24481,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) FastWriteNocopy(buf [] return offset } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) BLength() int { +func (p *ExperimentServiceListExptResultExportRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -19784,29 +24490,29 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) BLength() int { return l } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptResultExportRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) field1Length() int { +func (p *ExperimentServiceListExptResultExportRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceUpsertExptTurnResultFilterArgs) +func (p *ExperimentServiceListExptResultExportRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExptResultExportRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *UpsertExptTurnResultFilterRequest + var _req *ListExptResultExportRecordRequest if src.Req != nil { - _req = &UpsertExptTurnResultFilterRequest{} + _req = &ListExptResultExportRecordRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -19816,7 +24522,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterArgs) DeepCopy(s interface{} return nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExptResultExportRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19860,14 +24566,14 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpsertExptTurnResultFilterResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceListExptResultExportRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewUpsertExptTurnResultFilterResponse() + _field := NewListExptResultExportRecordResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19877,11 +24583,11 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastReadField0(buf [ return offset, nil } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExptResultExportRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptResultExportRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -19890,7 +24596,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) FastWriteNocopy(buf return offset } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) BLength() int { +func (p *ExperimentServiceListExptResultExportRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -19899,7 +24605,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) BLength() int { return l } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptResultExportRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -19908,7 +24614,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) fastWriteField0(buf return offset } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) field0Length() int { +func (p *ExperimentServiceListExptResultExportRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -19917,15 +24623,15 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) field0Length() int { return l } -func (p *ExperimentServiceUpsertExptTurnResultFilterResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceUpsertExptTurnResultFilterResult) +func (p *ExperimentServiceListExptResultExportRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExptResultExportRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *UpsertExptTurnResultFilterResponse + var _success *ListExptResultExportRecordResponse if src.Success != nil { - _success = &UpsertExptTurnResultFilterResponse{} + _success = &ListExptResultExportRecordResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -19935,7 +24641,7 @@ func (p *ExperimentServiceUpsertExptTurnResultFilterResult) DeepCopy(s interface return nil } -func (p *ExperimentServiceAssociateAnnotationTagArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -19979,14 +24685,14 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceAssociateAnnotationTagArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptResultExportRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewAssociateAnnotationTagReq() + _field := NewGetExptResultExportRecordRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -19996,11 +24702,11 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) FastReadField1(buf []byte) return offset, nil } -func (p *ExperimentServiceAssociateAnnotationTagArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceGetExptResultExportRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceAssociateAnnotationTagArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptResultExportRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -20009,7 +24715,7 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) FastWriteNocopy(buf []byte return offset } -func (p *ExperimentServiceAssociateAnnotationTagArgs) BLength() int { +func (p *ExperimentServiceGetExptResultExportRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -20018,29 +24724,29 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) BLength() int { return l } -func (p *ExperimentServiceAssociateAnnotationTagArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptResultExportRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceAssociateAnnotationTagArgs) field1Length() int { +func (p *ExperimentServiceGetExptResultExportRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceAssociateAnnotationTagArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceAssociateAnnotationTagArgs) +func (p *ExperimentServiceGetExptResultExportRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceGetExptResultExportRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *AssociateAnnotationTagReq + var _req *GetExptResultExportRecordRequest if src.Req != nil { - _req = &AssociateAnnotationTagReq{} + _req = &GetExptResultExportRecordRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -20050,7 +24756,7 @@ func (p *ExperimentServiceAssociateAnnotationTagArgs) DeepCopy(s interface{}) er return nil } -func (p *ExperimentServiceAssociateAnnotationTagResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptResultExportRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20094,14 +24800,14 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) FastRead(buf []byte) (in ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceAssociateAnnotationTagResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceAssociateAnnotationTagResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptResultExportRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewAssociateAnnotationTagResp() + _field := NewGetExptResultExportRecordResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20111,11 +24817,11 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) FastReadField0(buf []byt return offset, nil } -func (p *ExperimentServiceAssociateAnnotationTagResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceGetExptResultExportRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceAssociateAnnotationTagResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptResultExportRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -20124,7 +24830,7 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) FastWriteNocopy(buf []by return offset } -func (p *ExperimentServiceAssociateAnnotationTagResult) BLength() int { +func (p *ExperimentServiceGetExptResultExportRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -20133,7 +24839,7 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) BLength() int { return l } -func (p *ExperimentServiceAssociateAnnotationTagResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptResultExportRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -20142,7 +24848,7 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) fastWriteField0(buf []by return offset } -func (p *ExperimentServiceAssociateAnnotationTagResult) field0Length() int { +func (p *ExperimentServiceGetExptResultExportRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -20151,15 +24857,15 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) field0Length() int { return l } -func (p *ExperimentServiceAssociateAnnotationTagResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceAssociateAnnotationTagResult) +func (p *ExperimentServiceGetExptResultExportRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceGetExptResultExportRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *AssociateAnnotationTagResp + var _success *GetExptResultExportRecordResponse if src.Success != nil { - _success = &AssociateAnnotationTagResp{} + _success = &GetExptResultExportRecordResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -20169,7 +24875,7 @@ func (p *ExperimentServiceAssociateAnnotationTagResult) DeepCopy(s interface{}) return nil } -func (p *ExperimentServiceDeleteAnnotationTagArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20213,14 +24919,14 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) FastRead(buf []byte) (int, er ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInsightAnalysisExperimentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceDeleteAnnotationTagArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewDeleteAnnotationTagReq() + _field := NewInsightAnalysisExperimentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20230,11 +24936,11 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) FastReadField1(buf []byte) (i return offset, nil } -func (p *ExperimentServiceDeleteAnnotationTagArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceDeleteAnnotationTagArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -20243,7 +24949,7 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceDeleteAnnotationTagArgs) BLength() int { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -20252,29 +24958,29 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) BLength() int { return l } -func (p *ExperimentServiceDeleteAnnotationTagArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceDeleteAnnotationTagArgs) field1Length() int { +func (p *ExperimentServiceInsightAnalysisExperimentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceDeleteAnnotationTagArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceDeleteAnnotationTagArgs) +func (p *ExperimentServiceInsightAnalysisExperimentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceInsightAnalysisExperimentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *DeleteAnnotationTagReq + var _req *InsightAnalysisExperimentRequest if src.Req != nil { - _req = &DeleteAnnotationTagReq{} + _req = &InsightAnalysisExperimentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -20284,7 +24990,7 @@ func (p *ExperimentServiceDeleteAnnotationTagArgs) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceDeleteAnnotationTagResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceInsightAnalysisExperimentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20328,14 +25034,14 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteAnnotationTagResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceInsightAnalysisExperimentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceDeleteAnnotationTagResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceInsightAnalysisExperimentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewDeleteAnnotationTagResp() + _field := NewInsightAnalysisExperimentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20345,11 +25051,11 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) FastReadField0(buf []byte) return offset, nil } -func (p *ExperimentServiceDeleteAnnotationTagResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceInsightAnalysisExperimentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceDeleteAnnotationTagResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInsightAnalysisExperimentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -20358,7 +25064,7 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) FastWriteNocopy(buf []byte, return offset } -func (p *ExperimentServiceDeleteAnnotationTagResult) BLength() int { +func (p *ExperimentServiceInsightAnalysisExperimentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -20367,7 +25073,7 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) BLength() int { return l } -func (p *ExperimentServiceDeleteAnnotationTagResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceInsightAnalysisExperimentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -20376,7 +25082,7 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) fastWriteField0(buf []byte, return offset } -func (p *ExperimentServiceDeleteAnnotationTagResult) field0Length() int { +func (p *ExperimentServiceInsightAnalysisExperimentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -20385,15 +25091,15 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) field0Length() int { return l } -func (p *ExperimentServiceDeleteAnnotationTagResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceDeleteAnnotationTagResult) +func (p *ExperimentServiceInsightAnalysisExperimentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceInsightAnalysisExperimentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *DeleteAnnotationTagResp + var _success *InsightAnalysisExperimentResponse if src.Success != nil { - _success = &DeleteAnnotationTagResp{} + _success = &InsightAnalysisExperimentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -20403,7 +25109,7 @@ func (p *ExperimentServiceDeleteAnnotationTagResult) DeepCopy(s interface{}) err return nil } -func (p *ExperimentServiceCreateAnnotateRecordArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20447,14 +25153,14 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) FastRead(buf []byte) (int, e ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCreateAnnotateRecordArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewCreateAnnotateRecordReq() + _field := NewListExptInsightAnalysisRecordRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20464,11 +25170,11 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) FastReadField1(buf []byte) ( return offset, nil } -func (p *ExperimentServiceCreateAnnotateRecordArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCreateAnnotateRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -20477,7 +25183,7 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) FastWriteNocopy(buf []byte, return offset } -func (p *ExperimentServiceCreateAnnotateRecordArgs) BLength() int { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -20486,29 +25192,29 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) BLength() int { return l } -func (p *ExperimentServiceCreateAnnotateRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceCreateAnnotateRecordArgs) field1Length() int { +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceCreateAnnotateRecordArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCreateAnnotateRecordArgs) +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExptInsightAnalysisRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *CreateAnnotateRecordReq + var _req *ListExptInsightAnalysisRecordRequest if src.Req != nil { - _req = &CreateAnnotateRecordReq{} + _req = &ListExptInsightAnalysisRecordRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -20518,7 +25224,7 @@ func (p *ExperimentServiceCreateAnnotateRecordArgs) DeepCopy(s interface{}) erro return nil } -func (p *ExperimentServiceCreateAnnotateRecordResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20562,14 +25268,14 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceCreateAnnotateRecordResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceCreateAnnotateRecordResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewCreateAnnotateRecordResp() + _field := NewListExptInsightAnalysisRecordResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20579,11 +25285,11 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) FastReadField0(buf []byte) return offset, nil } -func (p *ExperimentServiceCreateAnnotateRecordResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceCreateAnnotateRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -20592,7 +25298,7 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) FastWriteNocopy(buf []byte return offset } -func (p *ExperimentServiceCreateAnnotateRecordResult) BLength() int { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -20601,7 +25307,7 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) BLength() int { return l } -func (p *ExperimentServiceCreateAnnotateRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -20610,7 +25316,7 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) fastWriteField0(buf []byte return offset } -func (p *ExperimentServiceCreateAnnotateRecordResult) field0Length() int { +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -20619,15 +25325,15 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) field0Length() int { return l } -func (p *ExperimentServiceCreateAnnotateRecordResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceCreateAnnotateRecordResult) +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExptInsightAnalysisRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *CreateAnnotateRecordResp + var _success *ListExptInsightAnalysisRecordResponse if src.Success != nil { - _success = &CreateAnnotateRecordResp{} + _success = &ListExptInsightAnalysisRecordResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -20637,7 +25343,7 @@ func (p *ExperimentServiceCreateAnnotateRecordResult) DeepCopy(s interface{}) er return nil } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20681,14 +25387,14 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastRead(buf []byte) (int, e ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExptInsightAnalysisRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewUpdateAnnotateRecordReq() + _field := NewDeleteExptInsightAnalysisRecordRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20698,11 +25404,11 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastReadField1(buf []byte) ( return offset, nil } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -20711,7 +25417,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) FastWriteNocopy(buf []byte, return offset } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) BLength() int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -20720,29 +25426,29 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) BLength() int { return l } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) field1Length() int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceUpdateAnnotateRecordArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceUpdateAnnotateRecordArgs) +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceDeleteExptInsightAnalysisRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *UpdateAnnotateRecordReq + var _req *DeleteExptInsightAnalysisRecordRequest if src.Req != nil { - _req = &UpdateAnnotateRecordReq{} + _req = &DeleteExptInsightAnalysisRecordRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -20752,7 +25458,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordArgs) DeepCopy(s interface{}) erro return nil } -func (p *ExperimentServiceUpdateAnnotateRecordResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20796,14 +25502,14 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceUpdateAnnotateRecordResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceDeleteExptInsightAnalysisRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceUpdateAnnotateRecordResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewUpdateAnnotateRecordResp() + _field := NewDeleteExptInsightAnalysisRecordResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20813,11 +25519,11 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) FastReadField0(buf []byte) return offset, nil } -func (p *ExperimentServiceUpdateAnnotateRecordResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceUpdateAnnotateRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -20826,7 +25532,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) FastWriteNocopy(buf []byte return offset } -func (p *ExperimentServiceUpdateAnnotateRecordResult) BLength() int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -20835,7 +25541,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) BLength() int { return l } -func (p *ExperimentServiceUpdateAnnotateRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -20844,7 +25550,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) fastWriteField0(buf []byte return offset } -func (p *ExperimentServiceUpdateAnnotateRecordResult) field0Length() int { +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -20853,15 +25559,15 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) field0Length() int { return l } -func (p *ExperimentServiceUpdateAnnotateRecordResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceUpdateAnnotateRecordResult) +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceDeleteExptInsightAnalysisRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *UpdateAnnotateRecordResp + var _success *DeleteExptInsightAnalysisRecordResponse if src.Success != nil { - _success = &UpdateAnnotateRecordResp{} + _success = &DeleteExptInsightAnalysisRecordResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -20871,7 +25577,7 @@ func (p *ExperimentServiceUpdateAnnotateRecordResult) DeepCopy(s interface{}) er return nil } -func (p *ExperimentServiceExportExptResultArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -20915,14 +25621,14 @@ func (p *ExperimentServiceExportExptResultArgs) FastRead(buf []byte) (int, error ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptInsightAnalysisRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceExportExptResultArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewExportExptResultRequest() + _field := NewGetExptInsightAnalysisRecordRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -20932,11 +25638,11 @@ func (p *ExperimentServiceExportExptResultArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *ExperimentServiceExportExptResultArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceExportExptResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -20945,7 +25651,7 @@ func (p *ExperimentServiceExportExptResultArgs) FastWriteNocopy(buf []byte, w th return offset } -func (p *ExperimentServiceExportExptResultArgs) BLength() int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -20954,29 +25660,29 @@ func (p *ExperimentServiceExportExptResultArgs) BLength() int { return l } -func (p *ExperimentServiceExportExptResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceExportExptResultArgs) field1Length() int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceExportExptResultArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceExportExptResultArgs) +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceGetExptInsightAnalysisRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *ExportExptResultRequest + var _req *GetExptInsightAnalysisRecordRequest if src.Req != nil { - _req = &ExportExptResultRequest{} + _req = &GetExptInsightAnalysisRecordRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -20986,7 +25692,7 @@ func (p *ExperimentServiceExportExptResultArgs) DeepCopy(s interface{}) error { return nil } -func (p *ExperimentServiceExportExptResultResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -21030,14 +25736,14 @@ func (p *ExperimentServiceExportExptResultResult) FastRead(buf []byte) (int, err ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceExportExptResultResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptInsightAnalysisRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceExportExptResultResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewExportExptResultResponse() + _field := NewGetExptInsightAnalysisRecordResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -21047,11 +25753,11 @@ func (p *ExperimentServiceExportExptResultResult) FastReadField0(buf []byte) (in return offset, nil } -func (p *ExperimentServiceExportExptResultResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceExportExptResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -21060,7 +25766,7 @@ func (p *ExperimentServiceExportExptResultResult) FastWriteNocopy(buf []byte, w return offset } -func (p *ExperimentServiceExportExptResultResult) BLength() int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -21069,7 +25775,7 @@ func (p *ExperimentServiceExportExptResultResult) BLength() int { return l } -func (p *ExperimentServiceExportExptResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -21078,7 +25784,7 @@ func (p *ExperimentServiceExportExptResultResult) fastWriteField0(buf []byte, w return offset } -func (p *ExperimentServiceExportExptResultResult) field0Length() int { +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -21087,15 +25793,15 @@ func (p *ExperimentServiceExportExptResultResult) field0Length() int { return l } -func (p *ExperimentServiceExportExptResultResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceExportExptResultResult) +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceGetExptInsightAnalysisRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ExportExptResultResponse + var _success *GetExptInsightAnalysisRecordResponse if src.Success != nil { - _success = &ExportExptResultResponse{} + _success = &GetExptInsightAnalysisRecordResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -21105,7 +25811,7 @@ func (p *ExperimentServiceExportExptResultResult) DeepCopy(s interface{}) error return nil } -func (p *ExperimentServiceListExptResultExportRecordArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -21149,14 +25855,14 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) FastRead(buf []byte) ( ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFeedbackExptInsightAnalysisReportArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceListExptResultExportRecordArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewListExptResultExportRecordRequest() + _field := NewFeedbackExptInsightAnalysisReportRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -21166,11 +25872,11 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) FastReadField1(buf []b return offset, nil } -func (p *ExperimentServiceListExptResultExportRecordArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceListExptResultExportRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -21179,7 +25885,7 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) FastWriteNocopy(buf [] return offset } -func (p *ExperimentServiceListExptResultExportRecordArgs) BLength() int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -21188,29 +25894,29 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) BLength() int { return l } -func (p *ExperimentServiceListExptResultExportRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceListExptResultExportRecordArgs) field1Length() int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceListExptResultExportRecordArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceListExptResultExportRecordArgs) +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceFeedbackExptInsightAnalysisReportArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *ListExptResultExportRecordRequest + var _req *FeedbackExptInsightAnalysisReportRequest if src.Req != nil { - _req = &ListExptResultExportRecordRequest{} + _req = &FeedbackExptInsightAnalysisReportRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -21220,7 +25926,7 @@ func (p *ExperimentServiceListExptResultExportRecordArgs) DeepCopy(s interface{} return nil } -func (p *ExperimentServiceListExptResultExportRecordResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -21264,14 +25970,14 @@ func (p *ExperimentServiceListExptResultExportRecordResult) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptResultExportRecordResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceFeedbackExptInsightAnalysisReportResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceListExptResultExportRecordResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewListExptResultExportRecordResponse() + _field := NewFeedbackExptInsightAnalysisReportResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -21281,11 +25987,11 @@ func (p *ExperimentServiceListExptResultExportRecordResult) FastReadField0(buf [ return offset, nil } -func (p *ExperimentServiceListExptResultExportRecordResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceListExptResultExportRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -21294,7 +26000,7 @@ func (p *ExperimentServiceListExptResultExportRecordResult) FastWriteNocopy(buf return offset } -func (p *ExperimentServiceListExptResultExportRecordResult) BLength() int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -21303,7 +26009,7 @@ func (p *ExperimentServiceListExptResultExportRecordResult) BLength() int { return l } -func (p *ExperimentServiceListExptResultExportRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -21312,7 +26018,7 @@ func (p *ExperimentServiceListExptResultExportRecordResult) fastWriteField0(buf return offset } -func (p *ExperimentServiceListExptResultExportRecordResult) field0Length() int { +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -21321,15 +26027,15 @@ func (p *ExperimentServiceListExptResultExportRecordResult) field0Length() int { return l } -func (p *ExperimentServiceListExptResultExportRecordResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceListExptResultExportRecordResult) +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceFeedbackExptInsightAnalysisReportResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ListExptResultExportRecordResponse + var _success *FeedbackExptInsightAnalysisReportResponse if src.Success != nil { - _success = &ListExptResultExportRecordResponse{} + _success = &FeedbackExptInsightAnalysisReportResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -21339,7 +26045,7 @@ func (p *ExperimentServiceListExptResultExportRecordResult) DeepCopy(s interface return nil } -func (p *ExperimentServiceGetExptResultExportRecordArgs) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -21383,14 +26089,14 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) FastRead(buf []byte) (i ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisCommentArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceGetExptResultExportRecordArgs) FastReadField1(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewGetExptResultExportRecordRequest() + _field := NewListExptInsightAnalysisCommentRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -21400,11 +26106,11 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) FastReadField1(buf []by return offset, nil } -func (p *ExperimentServiceGetExptResultExportRecordArgs) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceGetExptResultExportRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -21413,7 +26119,7 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) FastWriteNocopy(buf []b return offset } -func (p *ExperimentServiceGetExptResultExportRecordArgs) BLength() int { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -21422,29 +26128,29 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) BLength() int { return l } -func (p *ExperimentServiceGetExptResultExportRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Req.FastWriteNocopy(buf[offset:], w) return offset } -func (p *ExperimentServiceGetExptResultExportRecordArgs) field1Length() int { +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Req.BLength() return l } -func (p *ExperimentServiceGetExptResultExportRecordArgs) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceGetExptResultExportRecordArgs) +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExptInsightAnalysisCommentArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *GetExptResultExportRecordRequest + var _req *ListExptInsightAnalysisCommentRequest if src.Req != nil { - _req = &GetExptResultExportRecordRequest{} + _req = &ListExptInsightAnalysisCommentRequest{} if err := _req.DeepCopy(src.Req); err != nil { return err } @@ -21454,7 +26160,7 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) DeepCopy(s interface{}) return nil } -func (p *ExperimentServiceGetExptResultExportRecordResult) FastRead(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -21498,14 +26204,14 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceGetExptResultExportRecordResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExperimentServiceListExptInsightAnalysisCommentResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *ExperimentServiceGetExptResultExportRecordResult) FastReadField0(buf []byte) (int, error) { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewGetExptResultExportRecordResponse() + _field := NewListExptInsightAnalysisCommentResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -21515,11 +26221,11 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) FastReadField0(buf [] return offset, nil } -func (p *ExperimentServiceGetExptResultExportRecordResult) FastWrite(buf []byte) int { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *ExperimentServiceGetExptResultExportRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -21528,7 +26234,7 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) FastWriteNocopy(buf [ return offset } -func (p *ExperimentServiceGetExptResultExportRecordResult) BLength() int { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -21537,7 +26243,7 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) BLength() int { return l } -func (p *ExperimentServiceGetExptResultExportRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -21546,7 +26252,7 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) fastWriteField0(buf [ return offset } -func (p *ExperimentServiceGetExptResultExportRecordResult) field0Length() int { +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -21555,15 +26261,15 @@ func (p *ExperimentServiceGetExptResultExportRecordResult) field0Length() int { return l } -func (p *ExperimentServiceGetExptResultExportRecordResult) DeepCopy(s interface{}) error { - src, ok := s.(*ExperimentServiceGetExptResultExportRecordResult) +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) DeepCopy(s interface{}) error { + src, ok := s.(*ExperimentServiceListExptInsightAnalysisCommentResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *GetExptResultExportRecordResponse + var _success *ListExptInsightAnalysisCommentResponse if src.Success != nil { - _success = &GetExptResultExportRecordResponse{} + _success = &ListExptInsightAnalysisCommentResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -21772,3 +26478,51 @@ func (p *ExperimentServiceGetExptResultExportRecordArgs) GetFirstArgument() inte func (p *ExperimentServiceGetExptResultExportRecordResult) GetResult() interface{} { return p.Success } + +func (p *ExperimentServiceInsightAnalysisExperimentArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *ExperimentServiceInsightAnalysisExperimentResult) GetResult() interface{} { + return p.Success +} + +func (p *ExperimentServiceListExptInsightAnalysisRecordArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *ExperimentServiceListExptInsightAnalysisRecordResult) GetResult() interface{} { + return p.Success +} + +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *ExperimentServiceDeleteExptInsightAnalysisRecordResult) GetResult() interface{} { + return p.Success +} + +func (p *ExperimentServiceGetExptInsightAnalysisRecordArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *ExperimentServiceGetExptInsightAnalysisRecordResult) GetResult() interface{} { + return p.Success +} + +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *ExperimentServiceFeedbackExptInsightAnalysisReportResult) GetResult() interface{} { + return p.Success +} + +func (p *ExperimentServiceListExptInsightAnalysisCommentArgs) GetFirstArgument() interface{} { + return p.Req +} + +func (p *ExperimentServiceListExptInsightAnalysisCommentResult) GetResult() interface{} { + return p.Success +} diff --git a/backend/loop_gen/coze/loop/evaluation/loexpt/local_experimentservice.go b/backend/loop_gen/coze/loop/evaluation/loexpt/local_experimentservice.go index b166900f5..88fa4539b 100644 --- a/backend/loop_gen/coze/loop/evaluation/loexpt/local_experimentservice.go +++ b/backend/loop_gen/coze/loop/evaluation/loexpt/local_experimentservice.go @@ -563,6 +563,134 @@ func (l *LocalExperimentService) GetExptResultExportRecord(ctx context.Context, return result.GetSuccess(), nil } +// InsightAnalysisExperiment +// 报告分析 +func (l *LocalExperimentService) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest, callOptions ...callopt.Option) (*expt.InsightAnalysisExperimentResponse, error) { + chain := l.mds(func(ctx context.Context, in, out interface{}) error { + arg := in.(*expt.ExperimentServiceInsightAnalysisExperimentArgs) + result := out.(*expt.ExperimentServiceInsightAnalysisExperimentResult) + resp, err := l.impl.InsightAnalysisExperiment(ctx, arg.Req) + if err != nil { + return err + } + result.SetSuccess(resp) + return nil + }) + + arg := &expt.ExperimentServiceInsightAnalysisExperimentArgs{Req: req} + result := &expt.ExperimentServiceInsightAnalysisExperimentResult{} + ctx = l.injectRPCInfo(ctx, "InsightAnalysisExperiment") + if err := chain(ctx, arg, result); err != nil { + return nil, err + } + return result.GetSuccess(), nil +} + +func (l *LocalExperimentService) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (*expt.ListExptInsightAnalysisRecordResponse, error) { + chain := l.mds(func(ctx context.Context, in, out interface{}) error { + arg := in.(*expt.ExperimentServiceListExptInsightAnalysisRecordArgs) + result := out.(*expt.ExperimentServiceListExptInsightAnalysisRecordResult) + resp, err := l.impl.ListExptInsightAnalysisRecord(ctx, arg.Req) + if err != nil { + return err + } + result.SetSuccess(resp) + return nil + }) + + arg := &expt.ExperimentServiceListExptInsightAnalysisRecordArgs{Req: req} + result := &expt.ExperimentServiceListExptInsightAnalysisRecordResult{} + ctx = l.injectRPCInfo(ctx, "ListExptInsightAnalysisRecord") + if err := chain(ctx, arg, result); err != nil { + return nil, err + } + return result.GetSuccess(), nil +} + +func (l *LocalExperimentService) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (*expt.DeleteExptInsightAnalysisRecordResponse, error) { + chain := l.mds(func(ctx context.Context, in, out interface{}) error { + arg := in.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs) + result := out.(*expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult) + resp, err := l.impl.DeleteExptInsightAnalysisRecord(ctx, arg.Req) + if err != nil { + return err + } + result.SetSuccess(resp) + return nil + }) + + arg := &expt.ExperimentServiceDeleteExptInsightAnalysisRecordArgs{Req: req} + result := &expt.ExperimentServiceDeleteExptInsightAnalysisRecordResult{} + ctx = l.injectRPCInfo(ctx, "DeleteExptInsightAnalysisRecord") + if err := chain(ctx, arg, result); err != nil { + return nil, err + } + return result.GetSuccess(), nil +} + +func (l *LocalExperimentService) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest, callOptions ...callopt.Option) (*expt.GetExptInsightAnalysisRecordResponse, error) { + chain := l.mds(func(ctx context.Context, in, out interface{}) error { + arg := in.(*expt.ExperimentServiceGetExptInsightAnalysisRecordArgs) + result := out.(*expt.ExperimentServiceGetExptInsightAnalysisRecordResult) + resp, err := l.impl.GetExptInsightAnalysisRecord(ctx, arg.Req) + if err != nil { + return err + } + result.SetSuccess(resp) + return nil + }) + + arg := &expt.ExperimentServiceGetExptInsightAnalysisRecordArgs{Req: req} + result := &expt.ExperimentServiceGetExptInsightAnalysisRecordResult{} + ctx = l.injectRPCInfo(ctx, "GetExptInsightAnalysisRecord") + if err := chain(ctx, arg, result); err != nil { + return nil, err + } + return result.GetSuccess(), nil +} + +func (l *LocalExperimentService) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest, callOptions ...callopt.Option) (*expt.FeedbackExptInsightAnalysisReportResponse, error) { + chain := l.mds(func(ctx context.Context, in, out interface{}) error { + arg := in.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs) + result := out.(*expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult) + resp, err := l.impl.FeedbackExptInsightAnalysisReport(ctx, arg.Req) + if err != nil { + return err + } + result.SetSuccess(resp) + return nil + }) + + arg := &expt.ExperimentServiceFeedbackExptInsightAnalysisReportArgs{Req: req} + result := &expt.ExperimentServiceFeedbackExptInsightAnalysisReportResult{} + ctx = l.injectRPCInfo(ctx, "FeedbackExptInsightAnalysisReport") + if err := chain(ctx, arg, result); err != nil { + return nil, err + } + return result.GetSuccess(), nil +} + +func (l *LocalExperimentService) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest, callOptions ...callopt.Option) (*expt.ListExptInsightAnalysisCommentResponse, error) { + chain := l.mds(func(ctx context.Context, in, out interface{}) error { + arg := in.(*expt.ExperimentServiceListExptInsightAnalysisCommentArgs) + result := out.(*expt.ExperimentServiceListExptInsightAnalysisCommentResult) + resp, err := l.impl.ListExptInsightAnalysisComment(ctx, arg.Req) + if err != nil { + return err + } + result.SetSuccess(resp) + return nil + }) + + arg := &expt.ExperimentServiceListExptInsightAnalysisCommentArgs{Req: req} + result := &expt.ExperimentServiceListExptInsightAnalysisCommentResult{} + ctx = l.injectRPCInfo(ctx, "ListExptInsightAnalysisComment") + if err := chain(ctx, arg, result); err != nil { + return nil, err + } + return result.GetSuccess(), nil +} + func (l *LocalExperimentService) injectRPCInfo(ctx context.Context, method string) context.Context { rpcStats := rpcinfo.AsMutableRPCStats(rpcinfo.NewRPCStats()) ri := rpcinfo.NewRPCInfo( diff --git a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go new file mode 100644 index 000000000..640ab93e3 --- /dev/null +++ b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go @@ -0,0 +1,85 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package experiment + +import ( + "fmt" + + domain_common "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" + domain_expt "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/expt" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" +) + +func ExptInsightAnalysisRecordDO2DTO(do *entity.ExptInsightAnalysisRecord) *domain_expt.ExptInsightAnalysisRecord { + dto := &domain_expt.ExptInsightAnalysisRecord{ + RecordID: do.ID, + WorkspaceID: do.SpaceID, + ExptID: do.ExptID, + AnalysisStatus: InsightAnalysisStatus2DTO(do.Status), + AnalysisReportID: do.AnalysisReportID, + AnalysisReportContent: ptr.Of(do.AnalysisReportContent), + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of(do.CreatedBy), + }, + CreatedAt: ptr.Of(do.CreatedAt.Unix()), + UpdatedAt: ptr.Of(do.UpdatedAt.Unix()), + }, + } + return dto +} + +func InsightAnalysisStatus2DTO(status entity.InsightAnalysisStatus) domain_expt.InsightAnalysisStatus { + switch status { + case entity.InsightAnalysisStatus_Unknown: + return domain_expt.InsightAnalysisStatusUnknown + case entity.InsightAnalysisStatus_Running: + return domain_expt.InsightAnalysisStatusRunning + case entity.InsightAnalysisStatus_Success: + return domain_expt.InsightAnalysisStatusSuccess + case entity.InsightAnalysisStatus_Failed: + return domain_expt.InsightAnalysisStatusFailed + default: + return domain_expt.InsightAnalysisStatusUnknown + } +} + +func FeedbackActionType2DO(action domain_expt.FeedbackActionType) (entity.FeedbackActionType, error) { + switch action { + case domain_expt.FeedbackActionTypeUpvote: + return entity.FeedbackActionType_Upvote, nil + case domain_expt.FeedbackActionTypeCancelUpvote: + return entity.FeedbackActionType_CancelUpvote, nil + case domain_expt.FeedbackActionTypeDownvote: + return entity.FeedbackActionType_Downvote, nil + case domain_expt.FeedbackActionTypeCancelDownvote: + return entity.FeedbackActionType_CancelDownvote, nil + case domain_expt.FeedbackActionTypeCreateComment: + return entity.FeedbackActionType_CreateComment, nil + case domain_expt.FeedbackActionTypeDeleteComment: + return entity.FeedbackActionType_Delete_Comment, nil + + default: + return 0, fmt.Errorf("unknown feedback action type") + } +} + +func ExptInsightAnalysisFeedbackCommentDO2DTO(do *entity.ExptInsightAnalysisFeedbackComment) *domain_expt.ExptInsightAnalysisFeedbackComment { + dto := &domain_expt.ExptInsightAnalysisFeedbackComment{ + CommentID: do.ID, + ExptID: do.ExptID, + WorkspaceID: do.SpaceID, + RecordID: do.AnalysisRecordID, + Content: do.Comment, + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of(do.CreatedBy), + }, + CreatedAt: ptr.Of(do.CreatedAt.Unix()), + UpdatedAt: ptr.Of(do.UpdatedAt.Unix()), + }, + } + return dto +} diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index 9dad21d34..c7b6b4b1c 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -57,9 +57,10 @@ type experimentApplication struct { service.IExptResultExportService userInfoService userinfo.UserInfoService - evalTargetService service.IEvalTargetService - evaluationSetItemService service.EvaluationSetItemService - annotateService service.IExptAnnotateService + evalTargetService service.IEvalTargetService + evaluationSetItemService service.EvaluationSetItemService + annotateService service.IExptAnnotateService + exptInsightAnalysisService service.IExptInsightAnalysisService } func NewExperimentApplication( @@ -78,23 +79,25 @@ func NewExperimentApplication( annotateService service.IExptAnnotateService, tagRPCAdapter rpc.ITagRPCAdapter, exptResultExportService service.IExptResultExportService, + exptInsightAnalysisService service.IExptInsightAnalysisService, ) IExperimentApplication { return &experimentApplication{ resultSvc: resultSvc, manager: manager, // tupleSvc: tupleSvc, - idgen: idgen, - configer: configer, - ExptAggrResultService: aggResultSvc, - ExptSchedulerEvent: scheduler, - ExptItemEvalEvent: recordEval, - auth: auth, - userInfoService: userInfoService, - evalTargetService: evalTargetService, - evaluationSetItemService: evaluationSetItemService, - annotateService: annotateService, - tagRPCAdapter: tagRPCAdapter, - IExptResultExportService: exptResultExportService, + idgen: idgen, + configer: configer, + ExptAggrResultService: aggResultSvc, + ExptSchedulerEvent: scheduler, + ExptItemEvalEvent: recordEval, + auth: auth, + userInfoService: userInfoService, + evalTargetService: evalTargetService, + evaluationSetItemService: evaluationSetItemService, + annotateService: annotateService, + tagRPCAdapter: tagRPCAdapter, + IExptResultExportService: exptResultExportService, + exptInsightAnalysisService: exptInsightAnalysisService, } } @@ -1077,3 +1080,174 @@ func (e *experimentApplication) GetExptResultExportRecord(ctx context.Context, r BaseResp: base.NewBaseResp(), }, nil } + +func (e *experimentApplication) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest) (r *expt.InsightAnalysisExperimentResponse, err error) { + session := entity.NewSession(ctx) + got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) + if err != nil { + return nil, err + } + + err = e.auth.AuthorizationWithoutSPI(ctx, &rpc.AuthorizationWithoutSPIParam{ + ObjectID: strconv.FormatInt(req.GetExptID(), 10), + SpaceID: req.GetWorkspaceID(), + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Edit), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationExperiment)}}, + OwnerID: gptr.Of(got.CreatedBy), + ResourceSpaceID: req.GetWorkspaceID(), + }) + if err != nil { + return nil, err + } + recordID, err := e.exptInsightAnalysisService.CreateAnalysisRecord(ctx, &entity.ExptInsightAnalysisRecord{ + SpaceID: req.GetWorkspaceID(), + ExptID: req.GetExptID(), + CreatedBy: session.UserID, + Status: entity.InsightAnalysisStatus_Running, + }, session) + if err != nil { + return nil, err + } + return &expt.InsightAnalysisExperimentResponse{ + InsightAnalysisRecordID: recordID, + BaseResp: base.NewBaseResp(), + }, nil +} + +func (e *experimentApplication) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { + session := entity.NewSession(ctx) + got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) + if err != nil { + return nil, err + } + + err = e.auth.AuthorizationWithoutSPI(ctx, &rpc.AuthorizationWithoutSPIParam{ + ObjectID: strconv.FormatInt(req.GetExptID(), 10), + SpaceID: req.GetWorkspaceID(), + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Edit), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationExperiment)}}, + OwnerID: gptr.Of(got.CreatedBy), + ResourceSpaceID: req.GetWorkspaceID(), + }) + if err != nil { + return nil, err + } + records, total, err := e.exptInsightAnalysisService.ListAnalysisRecord(ctx, req.GetWorkspaceID(), req.GetExptID(), entity.NewPage(int(req.GetPageNumber()), int(req.GetPageSize())), session) + if err != nil { + return nil, err + } + dtos := make([]*domain_expt.ExptInsightAnalysisRecord, 0) + for _, record := range records { + dtos = append(dtos, experiment.ExptInsightAnalysisRecordDO2DTO(record)) + } + return &expt.ListExptInsightAnalysisRecordResponse{ + ExptResultExportRecords: dtos, + Total: ptr.Of(total), + }, nil +} + +func (e *experimentApplication) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { + session := entity.NewSession(ctx) + got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) + if err != nil { + return nil, err + } + + err = e.auth.AuthorizationWithoutSPI(ctx, &rpc.AuthorizationWithoutSPIParam{ + ObjectID: strconv.FormatInt(req.GetExptID(), 10), + SpaceID: req.GetWorkspaceID(), + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Edit), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationExperiment)}}, + OwnerID: gptr.Of(got.CreatedBy), + ResourceSpaceID: req.GetWorkspaceID(), + }) + if err != nil { + return nil, err + } + err = e.exptInsightAnalysisService.DeleteAnalysisRecord(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID()) + if err != nil { + return nil, err + } + return &expt.DeleteExptInsightAnalysisRecordResponse{ + BaseResp: base.NewBaseResp(), + }, nil +} + +func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { + session := &entity.Session{UserID: strconv.FormatInt(req.GetSession().GetUserID(), 10)} + err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ + ObjectID: strconv.FormatInt(req.WorkspaceID, 10), + SpaceID: req.WorkspaceID, + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, + }) + if err != nil { + return nil, err + } + record, err := e.exptInsightAnalysisService.GetAnalysisRecordByID(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), session) + if err != nil { + return nil, err + } + return &expt.GetExptInsightAnalysisRecordResponse{ + ExptResultExportRecord: experiment.ExptInsightAnalysisRecordDO2DTO(record), + BaseResp: base.NewBaseResp(), + }, nil +} + +func (e *experimentApplication) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { + session := entity.NewSession(ctx) + got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) + if err != nil { + return nil, err + } + + err = e.auth.AuthorizationWithoutSPI(ctx, &rpc.AuthorizationWithoutSPIParam{ + ObjectID: strconv.FormatInt(req.GetExptID(), 10), + SpaceID: req.GetWorkspaceID(), + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Edit), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationExperiment)}}, + OwnerID: gptr.Of(got.CreatedBy), + ResourceSpaceID: req.GetWorkspaceID(), + }) + if err != nil { + return nil, err + } + actionType, err := experiment.FeedbackActionType2DO(req.GetFeedbackActionType()) + if err != nil { + return nil, err + } + param := &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: req.GetWorkspaceID(), + ExptID: req.GetExptID(), + AnalysisRecordID: req.GetInsightAnalysisRecordID(), + FeedbackActionType: actionType, + Comment: ptr.Of(req.GetComment()), + Session: session, + } + err = e.exptInsightAnalysisService.FeedbackExptInsightAnalysisReport(ctx, param) + if err != nil { + return nil, err + } + return &expt.FeedbackExptInsightAnalysisReportResponse{ + BaseResp: base.NewBaseResp(), + }, nil +} + +func (e *experimentApplication) ListExptInsightAnalysisComment(ctx context.Context, req *expt.ListExptInsightAnalysisCommentRequest) (r *expt.ListExptInsightAnalysisCommentResponse, err error) { + err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ + ObjectID: strconv.FormatInt(req.WorkspaceID, 10), + SpaceID: req.WorkspaceID, + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, + }) + if err != nil { + return nil, err + } + comments, total, err := e.exptInsightAnalysisService.ListExptInsightAnalysisFeedbackComment(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), entity.NewPage(int(req.GetPageNumber()), int(req.GetPageSize()))) + if err != nil { + return nil, err + } + dtos := make([]*domain_expt.ExptInsightAnalysisFeedbackComment, 0) + for _, comment := range comments { + dtos = append(dtos, experiment.ExptInsightAnalysisFeedbackCommentDO2DTO(comment)) + } + return &expt.ListExptInsightAnalysisCommentResponse{ + ExptInsightAnalysisFeedbackComments: dtos, + Total: ptr.Of(total), + BaseResp: base.NewBaseResp(), + }, nil +} diff --git a/backend/modules/evaluation/application/experiment_app_test.go b/backend/modules/evaluation/application/experiment_app_test.go index cde9e6253..cc30069b0 100644 --- a/backend/modules/evaluation/application/experiment_app_test.go +++ b/backend/modules/evaluation/application/experiment_app_test.go @@ -1785,6 +1785,7 @@ func TestExperimentApplication_RetryExperiment(t *testing.T) { nil, nil, nil, + nil, ) // 执行测试 @@ -1898,6 +1899,7 @@ func TestExperimentApplication_KillExperiment(t *testing.T) { nil, nil, nil, + nil, ) // 执行测试 diff --git a/backend/modules/evaluation/application/wire.go b/backend/modules/evaluation/application/wire.go index d58c938f1..c38e510d2 100644 --- a/backend/modules/evaluation/application/wire.go +++ b/backend/modules/evaluation/application/wire.go @@ -55,6 +55,7 @@ import ( iredis "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/idem/redis" targetrepo "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/target" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/target/mysql" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/agent" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/data" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/foundation" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/llm" @@ -78,6 +79,7 @@ var ( domainservice.NewExptRecordEvalService, domainservice.NewExptAnnotateService, domainservice.NewExptResultExportService, + domainservice.NewInsightAnalysisService, domainservice.NewSchedulerModeFactory, experiment.NewExptRepo, experiment.NewExptStatsRepo, @@ -88,6 +90,7 @@ var ( experiment.NewExptTurnResultFilterRepo, experiment.NewExptAnnotateRepo, experiment.NewExptResultExportRecordRepo, + experiment.NewExptInsightAnalysisRecordRepo, experiment.NewQuotaService, idem.NewIdempotentService, exptmysql.NewExptDAO, @@ -103,6 +106,9 @@ var ( exptmysql.NewAnnotateRecordDAO, exptmysql.NewExptTurnResultTagRefDAO, exptmysql.NewExptResultExportRecordDAO, + exptmysql.NewExptInsightAnalysisRecordDAO, + exptmysql.NewExptInsightAnalysisFeedbackVoteDAO, + exptmysql.NewExptInsightAnalysisFeedbackCommentDAO, exptredis.NewQuotaDAO, iredis.NewIdemDAO, exptck.NewExptTurnResultFilterDAO, @@ -113,6 +119,7 @@ var ( foundation.NewAuthRPCProvider, foundation.NewUserRPCProvider, tag.NewTagRPCProvider, + agent.NewAgentAdapter, userinfo.NewUserInfoServiceImpl, NewLock, evalSetDomainService, diff --git a/backend/modules/evaluation/application/wire_gen.go b/backend/modules/evaluation/application/wire_gen.go index 65af5d7a5..fd75ac897 100644 --- a/backend/modules/evaluation/application/wire_gen.go +++ b/backend/modules/evaluation/application/wire_gen.go @@ -7,6 +7,7 @@ package application import ( + "context" "github.com/coze-dev/coze-loop/backend/infra/ck" "github.com/coze-dev/coze-loop/backend/infra/db" "github.com/coze-dev/coze-loop/backend/infra/external/audit" @@ -48,6 +49,7 @@ import ( redis2 "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/idem/redis" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/target" mysql3 "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/target/mysql" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/agent" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/data" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/foundation" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/llm" @@ -55,7 +57,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/tag" conf2 "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/conf" "github.com/coze-dev/coze-loop/backend/pkg/conf" - "context" "github.com/google/wire" ) @@ -140,7 +141,13 @@ func InitExperimentApplication(ctx context.Context, idgen2 idgen.IIDGenerator, d exptResultExportRecordDAO := mysql.NewExptResultExportRecordDAO(db2) iExptResultExportRecordRepo := experiment.NewExptResultExportRecordRepo(exptResultExportRecordDAO, idgen2) iExptResultExportService := service.NewExptResultExportService(db2, iExptResultExportRecordRepo, iExperimentRepo, iExptTurnResultRepo, exptEventPublisher, exptResultService, objectStorage, componentIConfiger, benefitSvc) - iExperimentApplication := NewExperimentApplication(exptAggrResultService, exptResultService, iExptManager, exptSchedulerEvent, exptItemEvalEvent, idgen2, componentIConfiger, iAuthProvider, userInfoService, iEvalTargetService, evaluationSetItemService, iExptAnnotateService, iTagRPCAdapter, iExptResultExportService) + iExptInsightAnalysisRecordDAO := mysql.NewExptInsightAnalysisRecordDAO(db2) + iExptInsightAnalysisFeedbackCommentDAO := mysql.NewExptInsightAnalysisFeedbackCommentDAO(db2) + iExptInsightAnalysisFeedbackVoteDAO := mysql.NewExptInsightAnalysisFeedbackVoteDAO(db2) + iExptInsightAnalysisRecordRepo := experiment.NewExptInsightAnalysisRecordRepo(iExptInsightAnalysisRecordDAO, iExptInsightAnalysisFeedbackCommentDAO, iExptInsightAnalysisFeedbackVoteDAO, idgen2) + iAgentAdapter := agent.NewAgentAdapter() + iExptInsightAnalysisService := service.NewInsightAnalysisService(iExptInsightAnalysisRecordRepo, exptEventPublisher, objectStorage, iAgentAdapter, iExptResultExportService) + iExperimentApplication := NewExperimentApplication(exptAggrResultService, exptResultService, iExptManager, exptSchedulerEvent, exptItemEvalEvent, idgen2, componentIConfiger, iAuthProvider, userInfoService, iEvalTargetService, evaluationSetItemService, iExptAnnotateService, iTagRPCAdapter, iExptResultExportService, iExptInsightAnalysisService) return iExperimentApplication, nil } @@ -214,7 +221,7 @@ var ( flagSet = wire.NewSet(platestwrite.NewLatestWriteTracker) experimentSet = wire.NewSet( - NewExperimentApplication, service.NewExptManager, service.NewExptResultService, service.NewExptAggrResultService, service.NewExptSchedulerSvc, service.NewExptRecordEvalService, service.NewExptAnnotateService, service.NewExptResultExportService, service.NewSchedulerModeFactory, experiment.NewExptRepo, experiment.NewExptStatsRepo, experiment.NewExptAggrResultRepo, experiment.NewExptItemResultRepo, experiment.NewExptTurnResultRepo, experiment.NewExptRunLogRepo, experiment.NewExptTurnResultFilterRepo, experiment.NewExptAnnotateRepo, experiment.NewExptResultExportRecordRepo, experiment.NewQuotaService, idem.NewIdempotentService, mysql.NewExptDAO, mysql.NewExptEvaluatorRefDAO, mysql.NewExptRunLogDAO, mysql.NewExptStatsDAO, mysql.NewExptTurnResultDAO, mysql.NewExptItemResultDAO, mysql.NewExptTurnEvaluatorResultRefDAO, mysql.NewExptTurnResultFilterKeyMappingDAO, mysql.NewExptAggrResultDAO, mysql.NewExptTurnAnnotateRecordRefDAO, mysql.NewAnnotateRecordDAO, mysql.NewExptTurnResultTagRefDAO, mysql.NewExptResultExportRecordDAO, dao.NewQuotaDAO, redis2.NewIdemDAO, ck2.NewExptTurnResultFilterDAO, conf2.NewExptConfiger, producer.NewExptEventPublisher, metrics2.NewExperimentMetric, metrics3.NewEvalTargetMetrics, foundation.NewAuthRPCProvider, foundation.NewUserRPCProvider, tag.NewTagRPCProvider, userinfo.NewUserInfoServiceImpl, NewLock, + NewExperimentApplication, service.NewExptManager, service.NewExptResultService, service.NewExptAggrResultService, service.NewExptSchedulerSvc, service.NewExptRecordEvalService, service.NewExptAnnotateService, service.NewExptResultExportService, service.NewInsightAnalysisService, service.NewSchedulerModeFactory, experiment.NewExptRepo, experiment.NewExptStatsRepo, experiment.NewExptAggrResultRepo, experiment.NewExptItemResultRepo, experiment.NewExptTurnResultRepo, experiment.NewExptRunLogRepo, experiment.NewExptTurnResultFilterRepo, experiment.NewExptAnnotateRepo, experiment.NewExptResultExportRecordRepo, experiment.NewExptInsightAnalysisRecordRepo, experiment.NewQuotaService, idem.NewIdempotentService, mysql.NewExptDAO, mysql.NewExptEvaluatorRefDAO, mysql.NewExptRunLogDAO, mysql.NewExptStatsDAO, mysql.NewExptTurnResultDAO, mysql.NewExptItemResultDAO, mysql.NewExptTurnEvaluatorResultRefDAO, mysql.NewExptTurnResultFilterKeyMappingDAO, mysql.NewExptAggrResultDAO, mysql.NewExptTurnAnnotateRecordRefDAO, mysql.NewAnnotateRecordDAO, mysql.NewExptTurnResultTagRefDAO, mysql.NewExptResultExportRecordDAO, mysql.NewExptInsightAnalysisRecordDAO, mysql.NewExptInsightAnalysisFeedbackVoteDAO, mysql.NewExptInsightAnalysisFeedbackCommentDAO, dao.NewQuotaDAO, redis2.NewIdemDAO, ck2.NewExptTurnResultFilterDAO, conf2.NewExptConfiger, producer.NewExptEventPublisher, metrics2.NewExperimentMetric, metrics3.NewEvalTargetMetrics, foundation.NewAuthRPCProvider, foundation.NewUserRPCProvider, tag.NewTagRPCProvider, agent.NewAgentAdapter, userinfo.NewUserInfoServiceImpl, NewLock, evalSetDomainService, targetDomainService, evaluatorDomainService, diff --git a/backend/modules/evaluation/domain/component/rpc/trace_agent.go b/backend/modules/evaluation/domain/component/rpc/trace_agent.go new file mode 100644 index 000000000..7409e6893 --- /dev/null +++ b/backend/modules/evaluation/domain/component/rpc/trace_agent.go @@ -0,0 +1,16 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package rpc + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" +) + +//go:generate mockgen -destination=mocks/auth_provider.go -package=mocks . IAuthProvider +type IAgentAdapter interface { + CallTraceAgent(ctx context.Context, spaceID int64, url string) (int64, error) + GetReport(ctx context.Context, spaceID, reportID int64) (report string, status entity.ReportStatus, err error) +} diff --git a/backend/modules/evaluation/domain/entity/event.go b/backend/modules/evaluation/domain/entity/event.go index e78ad1caa..616c71240 100644 --- a/backend/modules/evaluation/domain/entity/event.go +++ b/backend/modules/evaluation/domain/entity/event.go @@ -120,5 +120,13 @@ type ExportCSVEvent struct { ExperimentID int64 SpaceID int64 - Session *Session + Session *Session + ExportScene ExportScene } + +type ExportScene int + +const ( + ExportSceneDefault ExportScene = 0 + ExportSceneInsightAnalysis ExportScene = 1 +) diff --git a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go new file mode 100644 index 000000000..7dc11de65 --- /dev/null +++ b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go @@ -0,0 +1,101 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package entity + +import "time" + +type InsightAnalysisStatus int + +const ( + InsightAnalysisStatus_Unknown InsightAnalysisStatus = 0 + InsightAnalysisStatus_Running InsightAnalysisStatus = 1 + InsightAnalysisStatus_Success InsightAnalysisStatus = 2 + InsightAnalysisStatus_Failed InsightAnalysisStatus = 3 +) + +type ExptInsightAnalysisRecord struct { + ID int64 + SpaceID int64 + ExptID int64 + Status InsightAnalysisStatus + ExptResultFilePath *string + AnalysisReportID *int64 + AnalysisReportContent string + CreatedBy string + CreatedAt time.Time + UpdatedAt time.Time + + ExptInsightAnalysisFeedback ExptInsightAnalysisFeedback +} + +type ExptInsightAnalysisFeedbackComment struct { + ID int64 + SpaceID int64 + ExptID int64 + AnalysisRecordID int64 + Comment string + CreatedBy string + CreatedAt time.Time + UpdatedAt time.Time +} + +// InsightAnalysisReportVoteType 洞察报告反馈类型 +type InsightAnalysisReportVoteType int + +const ( + None InsightAnalysisReportVoteType = 0 + Upvote InsightAnalysisReportVoteType = 1 + Downvote InsightAnalysisReportVoteType = 2 +) + +type ExptInsightAnalysisFeedbackVote struct { + ID int64 + SpaceID int64 + ExptID int64 + AnalysisRecordID int64 + VoteType InsightAnalysisReportVoteType + CreatedBy string + CreatedAt time.Time + UpdatedAt time.Time +} + +type ExptInsightAnalysisFeedback struct { + UpvoteCount int64 + DownvoteCount int64 + CurrentUserVoteType InsightAnalysisReportVoteType +} + +type FeedbackActionType int + +const ( + FeedbackActionType_Upvote FeedbackActionType = 1 + FeedbackActionType_CancelUpvote FeedbackActionType = 2 + FeedbackActionType_Downvote FeedbackActionType = 3 + FeedbackActionType_CancelDownvote FeedbackActionType = 4 + FeedbackActionType_CreateComment FeedbackActionType = 5 + FeedbackActionType_Update_Comment FeedbackActionType = 6 + FeedbackActionType_Delete_Comment FeedbackActionType = 7 +) + +type ExptInsightAnalysisFeedbackParam struct { + SpaceID int64 + ExptID int64 + AnalysisRecordID int64 + FeedbackActionType FeedbackActionType + Comment *string + Session *Session +} + +type ReportStatus int64 + +const ( + // 未定义 + ReportStatus_Undefined ReportStatus = 0 + // 生成成功 + ReportStatus_Success ReportStatus = 1 + // 进行中 + ReportStatus_InProgress ReportStatus = 2 + // 生成失败 + ReportStatus_Failure ReportStatus = 3 +) diff --git a/backend/modules/evaluation/domain/repo/expt.go b/backend/modules/evaluation/domain/repo/expt.go index dabec1b78..9bc877f0b 100644 --- a/backend/modules/evaluation/domain/repo/expt.go +++ b/backend/modules/evaluation/domain/repo/expt.go @@ -134,3 +134,22 @@ type IExptResultExportRecordRepo interface { List(ctx context.Context, spaceID, exptID int64, page entity.Page, csvExportStatus *int32) ([]*entity.ExptResultExportRecord, int64, error) Get(ctx context.Context, spaceID, exportID int64) (*entity.ExptResultExportRecord, error) } + +type IExptInsightAnalysisRecordRepo interface { + CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) (int64, error) + UpdateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error + GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64) (*entity.ExptInsightAnalysisRecord, error) + ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*entity.ExptInsightAnalysisRecord, int64, error) + DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error + + CreateFeedbackComment(ctx context.Context, feedbackComment *entity.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error + UpdateFeedbackComment(ctx context.Context, feedbackComment *entity.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error + GetFeedbackCommentByRecordID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*entity.ExptInsightAnalysisFeedbackComment, error) + DeleteFeedbackComment(ctx context.Context, spaceID, exptID, commentID int64) error + List(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) + + CreateFeedbackVote(ctx context.Context, feedbackVote *entity.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error + UpdateFeedbackVote(ctx context.Context, feedbackVote *entity.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error + GetFeedbackVoteByUser(ctx context.Context, spaceID, exptID, recordID int64, userID string, opts ...db.Option) (*entity.ExptInsightAnalysisFeedbackVote, error) + CountFeedbackVote(ctx context.Context, spaceID, exptID, recordID int64) (int64, int64, error) +} diff --git a/backend/modules/evaluation/domain/service/expt_export.go b/backend/modules/evaluation/domain/service/expt_export.go index 0a9e9bf54..afb5a170d 100644 --- a/backend/modules/evaluation/domain/service/expt_export.go +++ b/backend/modules/evaluation/domain/service/expt_export.go @@ -12,7 +12,8 @@ import ( //go:generate mockgen -destination ./mocks/expt_export.go --package mocks . IExptResultExportService type IExptResultExportService interface { ExportCSV(ctx context.Context, spaceID, exptID int64, session *entity.Session) (int64, error) - DoExportCSV(ctx context.Context, spaceID, exptID, exportID int64) error + DoExportCSV(ctx context.Context, spaceID, exptID int64, fileName string, withLogID bool) error + HandleExportEvent(ctx context.Context, spaceID, exptID, exportID int64) (err error) UpdateExportRecord(ctx context.Context, exportRecord *entity.ExptResultExportRecord) error ListExportRecord(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*entity.ExptResultExportRecord, int64, error) GetExptExportRecord(ctx context.Context, spaceID, exportID int64) (*entity.ExptResultExportRecord, error) diff --git a/backend/modules/evaluation/domain/service/expt_export_impl.go b/backend/modules/evaluation/domain/service/expt_export_impl.go index 08cd5d953..f0a1199ff 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl.go @@ -204,7 +204,7 @@ func (e ExptResultExportService) ListExportRecord(ctx context.Context, spaceID, return records, total, nil } -func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptID, exportID int64) (err error) { +func (e ExptResultExportService) HandleExportEvent(ctx context.Context, spaceID, exptID, exportID int64) (err error) { var fileName string defer func() { record := &entity.ExptResultExportRecord{ @@ -239,6 +239,24 @@ func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptI } }() + expt, err := e.exptRepo.GetByID(ctx, exptID, spaceID) + if err != nil { + return err + } + fileName, err = e.getFileName(ctx, expt.Name, exportID) + if err != nil { + return err + } + + err = e.DoExportCSV(ctx, spaceID, exptID, fileName, false) + if err != nil { + return err + } + + return nil +} + +func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptID int64, fileName string, withLogID bool) (err error) { var ( pageNum = 1 pageSize = 100 @@ -284,19 +302,10 @@ func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptI pageNum++ } - expt, err := e.exptRepo.GetByID(ctx, exptID, spaceID) - if err != nil { - return err - } - fileName, err = e.getFileName(ctx, expt.Name, exportID) - if err != nil { - return err - } - exportHelper := &exportCSVHelper{ - exportID: exportID, exptID: exptID, spaceID: spaceID, + withLogID: withLogID, exptRepo: e.exptRepo, exptTurnResultRepo: e.exptTurnResultRepo, exptPublisher: e.exptPublisher, @@ -319,10 +328,10 @@ func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptI } type exportCSVHelper struct { - exportID int64 - spaceID int64 - exptID int64 - fileName string + spaceID int64 + exptID int64 + fileName string + withLogID bool colEvaluators []*entity.ColumnEvaluator colEvalSetFields []*entity.ColumnEvalSetField @@ -364,8 +373,10 @@ func (e *exportCSVHelper) exportCSV(ctx context.Context) error { } const ( - columnNameID = "ID" - columnNameStatus = "status" + columnNameID = "ID" + columnNameStatus = "status" + columnNameLogID = "logID" + columnNameTargetTraceID = "targetTraceID" ) func (e exportCSVHelper) buildColumns(ctx context.Context) ([]string, error) { @@ -403,6 +414,12 @@ func (e exportCSVHelper) buildColumns(ctx context.Context) ([]string, error) { } + // logID for analysis report + if e.withLogID { + columns = append(columns, columnNameLogID) + columns = append(columns, columnNameTargetTraceID) + } + return columns, nil } @@ -492,6 +509,22 @@ func (e *exportCSVHelper) buildRows(ctx context.Context) ([][]string, error) { } } + // logID + if e.withLogID { + logID := "" + if payload.SystemInfo != nil { + logID = ptr.From(payload.SystemInfo.LogID) + } + traceID := "" + if payload.TargetOutput == nil || + payload.TargetOutput.EvalTargetRecord == nil { + traceID = payload.TargetOutput.EvalTargetRecord.TraceID + } + rowData = append(rowData, logID) + rowData = append(rowData, traceID) + + } + rows = append(rows, rowData) } } diff --git a/backend/modules/evaluation/domain/service/expt_export_impl.go.rej b/backend/modules/evaluation/domain/service/expt_export_impl.go.rej new file mode 100644 index 000000000..a710b1ff4 --- /dev/null +++ b/backend/modules/evaluation/domain/service/expt_export_impl.go.rej @@ -0,0 +1,10 @@ +diff a/backend/modules/evaluation/domain/service/expt_export_impl.go b/backend/modules/evaluation/domain/service/expt_export_impl.go (rejected hunks) +@@ -187,7 +187,7 @@ func (e ExptResultExportService) ListExportRecord(ctx context.Context, spaceID, + return records, total, nil + } + +-func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptID, exportID int64) (err error) { ++func (e ExptResultExportService) HandleExportEvent(ctx context.Context, spaceID, exptID, exportID int64) (err error) { + var ( + fileName string + ) diff --git a/backend/modules/evaluation/domain/service/expt_export_impl_test.go b/backend/modules/evaluation/domain/service/expt_export_impl_test.go index 6e105c8c7..b12bdf301 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl_test.go @@ -618,7 +618,7 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { svc := newTestExptResultExportService(ctrl) tt.setup(svc) - err := svc.DoExportCSV(context.Background(), tt.spaceID, tt.exptID, tt.exportID) + err := svc.DoExportCSV(context.Background(), tt.spaceID, tt.exptID, "file_name", true) if (err != nil) != tt.wantErr { t.Errorf("DoExportCSV() error = %v, wantErr %v", err, tt.wantErr) } diff --git a/backend/modules/evaluation/domain/service/expt_result_impl.go b/backend/modules/evaluation/domain/service/expt_result_impl.go index ef2cbb12b..0ac454f92 100644 --- a/backend/modules/evaluation/domain/service/expt_result_impl.go +++ b/backend/modules/evaluation/domain/service/expt_result_impl.go @@ -619,6 +619,7 @@ func (e ExptResultServiceImpl) getColumnAnnotations(ctx context.Context, spaceID } exptColumnAnnotations = append(exptColumnAnnotations, exptColumnAnnotation) } + ctx = contexts.WithCtxWriteDB(ctx) tagRefs, err := e.ExptAnnotateRepo.BatchGetExptTurnResultTagRefs(ctx, exptIDs, spaceID) if err != nil { return nil, err diff --git a/backend/modules/evaluation/domain/service/insight_analysis.go b/backend/modules/evaluation/domain/service/insight_analysis.go new file mode 100644 index 000000000..5ba8ec534 --- /dev/null +++ b/backend/modules/evaluation/domain/service/insight_analysis.go @@ -0,0 +1,20 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package service + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" +) + +type IExptInsightAnalysisService interface { + CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, session *entity.Session) (int64, error) + GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID int64) error + GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) + ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error) + DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error + FeedbackExptInsightAnalysisReport(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error + ListExptInsightAnalysisFeedbackComment(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) +} diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go new file mode 100644 index 000000000..45784bde6 --- /dev/null +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -0,0 +1,221 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package service + +import ( + "context" + "fmt" + "time" + + "github.com/bytedance/gg/gptr" + "github.com/coze-dev/coze-loop/backend/infra/fileserver" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/events" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" + "github.com/coze-dev/coze-loop/backend/pkg/errorx" + "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" +) + +type ExptInsightAnalysisServiceImpl struct { + repo repo.IExptInsightAnalysisRecordRepo + exptPublisher events.ExptEventPublisher + fileClient fileserver.ObjectStorage + agentAdapter rpc.IAgentAdapter + exptResultExportService IExptResultExportService +} + +func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo, + exptPublisher events.ExptEventPublisher, + fileClient fileserver.ObjectStorage, + agentAdapter rpc.IAgentAdapter, + exptResultExportService IExptResultExportService) IExptInsightAnalysisService { + return &ExptInsightAnalysisServiceImpl{ + repo: repo, + exptPublisher: exptPublisher, + fileClient: fileClient, + agentAdapter: agentAdapter, + exptResultExportService: exptResultExportService, + } +} + +func (e ExptInsightAnalysisServiceImpl) CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, session *entity.Session) (int64, error) { + recordID, err := e.repo.CreateAnalysisRecord(ctx, record) + if err != nil { + return 0, err + } + + exportEvent := &entity.ExportCSVEvent{ + ExportID: recordID, + ExperimentID: record.ExptID, + SpaceID: record.SpaceID, + ExportScene: entity.ExportSceneInsightAnalysis, + } + err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Second*3)) + if err != nil { + return 0, err + } + + return recordID, nil +} + +func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID int64) (err error) { + var ( + exptResultFilePath string + analysisReportID int64 + ) + defer func() { + record := &entity.ExptInsightAnalysisRecord{ + ID: recordID, + SpaceID: spaceID, + ExptID: exptID, + ExptResultFilePath: ptr.Of(exptResultFilePath), + AnalysisReportID: ptr.Of(analysisReportID), + Status: entity.InsightAnalysisStatus_Success, + } + if err != nil { + record.Status = entity.InsightAnalysisStatus_Failed + } + err1 := e.repo.UpdateAnalysisRecord(ctx, record) + if err1 != nil { + return + } + }() + + fileName := fmt.Sprintf("insight_analysis_%d_%d.csv", spaceID, recordID) + exptResultFilePath = fileName + err = e.exptResultExportService.DoExportCSV(ctx, spaceID, exptID, fileName, true) + if err != nil { + return err + } + + var ttl int64 = 24 * 60 * 60 + signOpt := fileserver.SignWithTTL(time.Duration(ttl) * time.Second) + + url, _, err := e.fileClient.SignDownloadReq(ctx, fileName, signOpt) + if err != nil { + return err + } + + reportID, err := e.agentAdapter.CallTraceAgent(ctx, spaceID, url) + if err != nil { + return err + } + + analysisReportID = reportID + + return nil +} + +func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) { + analysisRecord, err := e.repo.GetAnalysisRecordByID(ctx, spaceID, exptID, recordID) + if err != nil { + return nil, err + } + + if analysisRecord.Status != entity.InsightAnalysisStatus_Success { + return analysisRecord, nil + } + + report, status, err := e.agentAdapter.GetReport(ctx, spaceID, ptr.From(analysisRecord.AnalysisReportID)) + if err != nil { + return nil, err + } + // 聚合报告生成状态 + if status == entity.ReportStatus_Failure { + analysisRecord.Status = entity.InsightAnalysisStatus_Failed + return analysisRecord, nil + } + if status == entity.ReportStatus_InProgress { + analysisRecord.Status = entity.InsightAnalysisStatus_Running + return analysisRecord, nil + } + analysisRecord.AnalysisReportContent = report + + upvoteCount, downvoteCount, err := e.repo.CountFeedbackVote(ctx, spaceID, exptID, recordID) + if err != nil { + return nil, err + } + + curUserFeedbackVote, err := e.repo.GetFeedbackVoteByUser(ctx, spaceID, exptID, recordID, session.UserID) + if err != nil { + return nil, err + } + analysisRecord.ExptInsightAnalysisFeedback = entity.ExptInsightAnalysisFeedback{ + UpvoteCount: upvoteCount, + DownvoteCount: downvoteCount, + CurrentUserVoteType: curUserFeedbackVote.VoteType, + } + return analysisRecord, nil +} + +func (e ExptInsightAnalysisServiceImpl) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error) { + return e.repo.ListAnalysisRecord(ctx, spaceID, exptID, page) +} + +func (e ExptInsightAnalysisServiceImpl) DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error { + return e.repo.DeleteAnalysisRecord(ctx, spaceID, exptID, recordID) +} + +func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysisReport(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error { + if param.Session == nil { + return errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("empty session")) + } + switch param.FeedbackActionType { + case entity.FeedbackActionType_Upvote: + feedbackVote := &entity.ExptInsightAnalysisFeedbackVote{ + SpaceID: param.SpaceID, + ExptID: param.ExptID, + AnalysisRecordID: param.AnalysisRecordID, + CreatedBy: param.Session.UserID, + VoteType: entity.Upvote, + } + return e.repo.CreateFeedbackVote(ctx, feedbackVote) + case entity.FeedbackActionType_CancelUpvote, entity.FeedbackActionType_CancelDownvote: + feedbackVote := &entity.ExptInsightAnalysisFeedbackVote{ + SpaceID: param.SpaceID, + ExptID: param.ExptID, + AnalysisRecordID: param.AnalysisRecordID, + CreatedBy: param.Session.UserID, + VoteType: entity.None, + } + return e.repo.UpdateFeedbackVote(ctx, feedbackVote) + case entity.FeedbackActionType_Downvote: + feedbackVote := &entity.ExptInsightAnalysisFeedbackVote{ + SpaceID: param.SpaceID, + ExptID: param.ExptID, + AnalysisRecordID: param.AnalysisRecordID, + CreatedBy: param.Session.UserID, + VoteType: entity.Downvote, + } + return e.repo.CreateFeedbackVote(ctx, feedbackVote) + case entity.FeedbackActionType_CreateComment: + feedbackComment := &entity.ExptInsightAnalysisFeedbackComment{ + SpaceID: param.SpaceID, + ExptID: param.ExptID, + AnalysisRecordID: param.AnalysisRecordID, + CreatedBy: param.Session.UserID, + Comment: ptr.From(param.Comment), + } + return e.repo.CreateFeedbackComment(ctx, feedbackComment) + case entity.FeedbackActionType_Update_Comment: + feedbackComment := &entity.ExptInsightAnalysisFeedbackComment{ + SpaceID: param.SpaceID, + ExptID: param.ExptID, + AnalysisRecordID: param.AnalysisRecordID, + CreatedBy: param.Session.UserID, + Comment: ptr.From(param.Comment), + } + return e.repo.UpdateFeedbackComment(ctx, feedbackComment) + case entity.FeedbackActionType_Delete_Comment: + return e.repo.DeleteFeedbackComment(ctx, param.SpaceID, param.ExptID, param.AnalysisRecordID) + default: + return nil + } +} + +func (e ExptInsightAnalysisServiceImpl) ListExptInsightAnalysisFeedbackComment(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) { + return e.repo.List(ctx, spaceID, exptID, recordID, page) +} diff --git a/backend/modules/evaluation/domain/service/mocks/expt_export.go b/backend/modules/evaluation/domain/service/mocks/expt_export.go index 845369eea..b06e02b49 100644 --- a/backend/modules/evaluation/domain/service/mocks/expt_export.go +++ b/backend/modules/evaluation/domain/service/mocks/expt_export.go @@ -37,17 +37,17 @@ func (m *MockIExptResultExportService) EXPECT() *MockIExptResultExportServiceMoc } // DoExportCSV mocks base method. -func (m *MockIExptResultExportService) DoExportCSV(arg0 context.Context, arg1, arg2, arg3 int64) error { +func (m *MockIExptResultExportService) DoExportCSV(arg0 context.Context, arg1, arg2 int64, arg3 string, arg4 bool) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DoExportCSV", arg0, arg1, arg2, arg3) + ret := m.ctrl.Call(m, "DoExportCSV", arg0, arg1, arg2, arg3, arg4) ret0, _ := ret[0].(error) return ret0 } // DoExportCSV indicates an expected call of DoExportCSV. -func (mr *MockIExptResultExportServiceMockRecorder) DoExportCSV(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { +func (mr *MockIExptResultExportServiceMockRecorder) DoExportCSV(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DoExportCSV", reflect.TypeOf((*MockIExptResultExportService)(nil).DoExportCSV), arg0, arg1, arg2, arg3) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DoExportCSV", reflect.TypeOf((*MockIExptResultExportService)(nil).DoExportCSV), arg0, arg1, arg2, arg3, arg4) } // ExportCSV mocks base method. @@ -80,6 +80,20 @@ func (mr *MockIExptResultExportServiceMockRecorder) GetExptExportRecord(arg0, ar return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetExptExportRecord", reflect.TypeOf((*MockIExptResultExportService)(nil).GetExptExportRecord), arg0, arg1, arg2) } +// HandleExportEvent mocks base method. +func (m *MockIExptResultExportService) HandleExportEvent(arg0 context.Context, arg1, arg2, arg3 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "HandleExportEvent", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// HandleExportEvent indicates an expected call of HandleExportEvent. +func (mr *MockIExptResultExportServiceMockRecorder) HandleExportEvent(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HandleExportEvent", reflect.TypeOf((*MockIExptResultExportService)(nil).HandleExportEvent), arg0, arg1, arg2, arg3) +} + // ListExportRecord mocks base method. func (m *MockIExptResultExportService) ListExportRecord(arg0 context.Context, arg1, arg2 int64, arg3 entity.Page) ([]*entity.ExptResultExportRecord, int64, error) { m.ctrl.T.Helper() diff --git a/backend/modules/evaluation/domain/service/mocks/expt_export.go.rej b/backend/modules/evaluation/domain/service/mocks/expt_export.go.rej new file mode 100644 index 000000000..3d4f8e238 --- /dev/null +++ b/backend/modules/evaluation/domain/service/mocks/expt_export.go.rej @@ -0,0 +1,12 @@ +diff a/backend/modules/evaluation/domain/service/mocks/expt_export.go b/backend/modules/evaluation/domain/service/mocks/expt_export.go (rejected hunks) +@@ -8,9 +8,8 @@ import ( + context "context" + reflect "reflect" + +- gomock "go.uber.org/mock/gomock" +- + entity "code.byted.org/flowdevops/cozeloop/backend/modules/evaluation/domain/entity" ++ "go.uber.org/mock/gomock" + ) + + // MockIExptResultExportService is a mock of IExptResultExportService interface. diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go index f41b3d433..07d43b66a 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go @@ -16,7 +16,8 @@ import ( ) type ExptExportConsumer struct { - exptResultExportService service.IExptResultExportService + exptResultExportService service.IExptResultExportService + exptInsightAnalysisService service.IExptInsightAnalysisService } func NewExptExportConsumer(exptResultExportService service.IExptResultExportService) mq.IConsumerHandler { @@ -49,11 +50,20 @@ func (e *ExptExportConsumer) HandleMessage(ctx context.Context, ext *mq.MessageE } func (e *ExptExportConsumer) handleEvent(ctx context.Context, event *entity.ExportCSVEvent) (err error) { - err = e.exptResultExportService.DoExportCSV(ctx, event.SpaceID, event.ExperimentID, event.ExportID) - if err != nil { - // 不进行重试 - logs.CtxError(ctx, "ExptExportConsumer DoExportCSV fail, expt_id:%v, err: %v", event.ExperimentID, err) - return nil + switch event.ExportScene { + case entity.ExportSceneInsightAnalysis: + err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID) + if err != nil { + logs.CtxError(ctx, "ExptExportConsumer GenAnalysisReport fail, expt_id:%v, err: %v", event.ExperimentID, err) + return nil + } + default: + err = e.exptResultExportService.HandleExportEvent(ctx, event.SpaceID, event.ExperimentID, event.ExportID) + if err != nil { + // 不进行重试 + logs.CtxError(ctx, "ExptExportConsumer DoExportCSV fail, expt_id:%v, err: %v", event.ExperimentID, err) + return nil + } } return nil diff --git a/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go new file mode 100644 index 000000000..4fea0cd98 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go @@ -0,0 +1,143 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package experiment + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/infra/db" + "github.com/coze-dev/coze-loop/backend/infra/idgen" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/convert" +) + +type ExptInsightAnalysisRecordRepo struct { + exptInsightAnalysisRecordDAO mysql.IExptInsightAnalysisRecordDAO + exptInsightAnalysisFeedbackCommentDAO mysql.IExptInsightAnalysisFeedbackCommentDAO + exptInsightAnalysisFeedbackVoteDAO mysql.IExptInsightAnalysisFeedbackVoteDAO + idgenerator idgen.IIDGenerator +} + +func NewExptInsightAnalysisRecordRepo( + exptInsightAnalysisRecordDAO mysql.IExptInsightAnalysisRecordDAO, + exptInsightAnalysisFeedbackCommentDAO mysql.IExptInsightAnalysisFeedbackCommentDAO, + exptInsightAnalysisFeedbackVoteDAO mysql.IExptInsightAnalysisFeedbackVoteDAO, + idgenerator idgen.IIDGenerator, +) repo.IExptInsightAnalysisRecordRepo { + return &ExptInsightAnalysisRecordRepo{ + exptInsightAnalysisRecordDAO: exptInsightAnalysisRecordDAO, + exptInsightAnalysisFeedbackCommentDAO: exptInsightAnalysisFeedbackCommentDAO, + exptInsightAnalysisFeedbackVoteDAO: exptInsightAnalysisFeedbackVoteDAO, + idgenerator: idgenerator, + } +} + +func (e ExptInsightAnalysisRecordRepo) CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) (int64, error) { + id, err := e.idgenerator.GenID(ctx) + if err != nil { + return 0, err + } + record.ID = id + + err = e.exptInsightAnalysisRecordDAO.Create(ctx, convert.ExptInsightAnalysisRecordDOToPO(record), opts...) + if err != nil { + return 0, err + } + + return id, nil +} + +func (e ExptInsightAnalysisRecordRepo) UpdateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { + return e.exptInsightAnalysisRecordDAO.Update(ctx, convert.ExptInsightAnalysisRecordDOToPO(record), opts...) +} + +func (e ExptInsightAnalysisRecordRepo) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64) (*entity.ExptInsightAnalysisRecord, error) { + po, err := e.exptInsightAnalysisRecordDAO.GetByID(ctx, spaceID, exptID, recordID) + if err != nil { + return nil, err + } + + return convert.ExptInsightAnalysisRecordPOToDO(po), nil +} + +func (e ExptInsightAnalysisRecordRepo) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*entity.ExptInsightAnalysisRecord, int64, error) { + pos, total, err := e.exptInsightAnalysisRecordDAO.List(ctx, spaceID, exptID, page) + if err != nil { + return nil, 0, err + } + + dos := make([]*entity.ExptInsightAnalysisRecord, 0) + for _, po := range pos { + dos = append(dos, convert.ExptInsightAnalysisRecordPOToDO(po)) + } + return dos, total, nil +} + +func (e ExptInsightAnalysisRecordRepo) DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error { + return e.exptInsightAnalysisRecordDAO.Delete(ctx, spaceID, exptID, recordID) +} + +func (e ExptInsightAnalysisRecordRepo) CreateFeedbackComment(ctx context.Context, feedbackComment *entity.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error { + id, err := e.idgenerator.GenID(ctx) + if err != nil { + return err + } + feedbackComment.ID = id + return e.exptInsightAnalysisFeedbackCommentDAO.Create(ctx, convert.ExptInsightAnalysisFeedbackCommentDOToPO(feedbackComment), opts...) +} + +func (e ExptInsightAnalysisRecordRepo) UpdateFeedbackComment(ctx context.Context, feedbackComment *entity.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error { + return e.exptInsightAnalysisFeedbackCommentDAO.Update(ctx, convert.ExptInsightAnalysisFeedbackCommentDOToPO(feedbackComment), opts...) +} + +func (e ExptInsightAnalysisRecordRepo) GetFeedbackCommentByRecordID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*entity.ExptInsightAnalysisFeedbackComment, error) { + po, err := e.exptInsightAnalysisFeedbackCommentDAO.GetByRecordID(ctx, spaceID, exptID, recordID, opts...) + if err != nil { + return nil, err + } + return convert.ExptInsightAnalysisFeedbackCommentPOToDO(po), nil +} + +func (e ExptInsightAnalysisRecordRepo) DeleteFeedbackComment(ctx context.Context, spaceID, exptID, commentID int64) error { + return e.exptInsightAnalysisFeedbackCommentDAO.Delete(ctx, spaceID, exptID, commentID) +} + +func (e ExptInsightAnalysisRecordRepo) CreateFeedbackVote(ctx context.Context, feedbackVote *entity.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { + id, err := e.idgenerator.GenID(ctx) + if err != nil { + return err + } + feedbackVote.ID = id + return e.exptInsightAnalysisFeedbackVoteDAO.Create(ctx, convert.ExptInsightAnalysisFeedbackVoteDOToPO(feedbackVote), opts...) +} + +func (e ExptInsightAnalysisRecordRepo) UpdateFeedbackVote(ctx context.Context, feedbackVote *entity.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { + return e.exptInsightAnalysisFeedbackVoteDAO.Update(ctx, convert.ExptInsightAnalysisFeedbackVoteDOToPO(feedbackVote), opts...) +} + +func (e ExptInsightAnalysisRecordRepo) GetFeedbackVoteByUser(ctx context.Context, spaceID, exptID, recordID int64, userID string, opts ...db.Option) (*entity.ExptInsightAnalysisFeedbackVote, error) { + po, err := e.exptInsightAnalysisFeedbackVoteDAO.GetByUser(ctx, spaceID, exptID, recordID, userID, opts...) + if err != nil { + return nil, err + } + return convert.ExptInsightAnalysisFeedbackVotePOToDO(po), nil +} + +func (e ExptInsightAnalysisRecordRepo) CountFeedbackVote(ctx context.Context, spaceID, exptID, recordID int64) (int64, int64, error) { + return e.exptInsightAnalysisFeedbackVoteDAO.Count(ctx, spaceID, exptID, recordID) +} + +func (e ExptInsightAnalysisRecordRepo) List(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) { + pos, total, err := e.exptInsightAnalysisFeedbackCommentDAO.List(ctx, spaceID, exptID, recordID, page) + if err != nil { + return nil, 0, err + } + dos := make([]*entity.ExptInsightAnalysisFeedbackComment, 0) + for _, po := range pos { + dos = append(dos, convert.ExptInsightAnalysisFeedbackCommentPOToDO(po)) + } + return dos, total, nil +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go new file mode 100644 index 000000000..b82772159 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go @@ -0,0 +1,90 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package convert + +import ( + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" +) + +func ExptInsightAnalysisRecordDOToPO(record *entity.ExptInsightAnalysisRecord) *model.ExptInsightAnalysisRecord { + return &model.ExptInsightAnalysisRecord{ + ID: record.ID, + SpaceID: record.SpaceID, + ExptID: record.ExptID, + Status: int32(record.Status), + ExptResultFilePath: record.ExptResultFilePath, + AnalysisReportID: record.AnalysisReportID, + CreatedBy: record.CreatedBy, + CreatedAt: record.CreatedAt, + UpdatedAt: record.UpdatedAt, + } +} + +func ExptInsightAnalysisRecordPOToDO(record *model.ExptInsightAnalysisRecord) *entity.ExptInsightAnalysisRecord { + return &entity.ExptInsightAnalysisRecord{ + ID: record.ID, + SpaceID: record.SpaceID, + ExptID: record.ExptID, + Status: entity.InsightAnalysisStatus(record.Status), + ExptResultFilePath: record.ExptResultFilePath, + AnalysisReportID: record.AnalysisReportID, + CreatedBy: record.CreatedBy, + CreatedAt: record.CreatedAt, + UpdatedAt: record.UpdatedAt, + } +} + +func ExptInsightAnalysisFeedbackCommentDOToPO(comment *entity.ExptInsightAnalysisFeedbackComment) *model.ExptInsightAnalysisFeedbackComment { + return &model.ExptInsightAnalysisFeedbackComment{ + ID: comment.ID, + SpaceID: comment.SpaceID, + ExptID: comment.ExptID, + AnalysisRecordID: ptr.Of(comment.AnalysisRecordID), + Comment: ptr.Of(comment.Comment), + CreatedBy: comment.CreatedBy, + CreatedAt: comment.CreatedAt, + UpdatedAt: comment.UpdatedAt, + } +} + +func ExptInsightAnalysisFeedbackCommentPOToDO(comment *model.ExptInsightAnalysisFeedbackComment) *entity.ExptInsightAnalysisFeedbackComment { + return &entity.ExptInsightAnalysisFeedbackComment{ + ID: comment.ID, + SpaceID: comment.SpaceID, + ExptID: comment.ExptID, + AnalysisRecordID: ptr.From(comment.AnalysisRecordID), + Comment: ptr.From(comment.Comment), + CreatedBy: comment.CreatedBy, + CreatedAt: comment.CreatedAt, + UpdatedAt: comment.UpdatedAt, + } +} + +func ExptInsightAnalysisFeedbackVoteDOToPO(vote *entity.ExptInsightAnalysisFeedbackVote) *model.ExptInsightAnalysisFeedbackVote { + return &model.ExptInsightAnalysisFeedbackVote{ + ID: vote.ID, + SpaceID: vote.SpaceID, + ExptID: vote.ExptID, + VoteType: int32(vote.VoteType), + AnalysisRecordID: ptr.Of(vote.AnalysisRecordID), + CreatedBy: vote.CreatedBy, + CreatedAt: vote.CreatedAt, + UpdatedAt: vote.UpdatedAt, + } +} + +func ExptInsightAnalysisFeedbackVotePOToDO(vote *model.ExptInsightAnalysisFeedbackVote) *entity.ExptInsightAnalysisFeedbackVote { + return &entity.ExptInsightAnalysisFeedbackVote{ + ID: vote.ID, + SpaceID: vote.SpaceID, + ExptID: vote.ExptID, + VoteType: entity.InsightAnalysisReportVoteType(vote.VoteType), + AnalysisRecordID: ptr.From(vote.AnalysisRecordID), + CreatedBy: vote.CreatedBy, + CreatedAt: vote.CreatedAt, + UpdatedAt: vote.UpdatedAt, + } +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go new file mode 100644 index 000000000..c284a6317 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go @@ -0,0 +1,97 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package mysql + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/infra/db" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query" + "github.com/coze-dev/coze-loop/backend/pkg/errorx" + "github.com/coze-dev/coze-loop/backend/pkg/json" +) + +type IExptInsightAnalysisFeedbackCommentDAO interface { + Create(ctx context.Context, feedbackComment *model.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error + Update(ctx context.Context, feedbackComment *model.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error + GetByRecordID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*model.ExptInsightAnalysisFeedbackComment, error) + Delete(ctx context.Context, spaceID, exptID, commentID int64) error + List(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*model.ExptInsightAnalysisFeedbackComment, int64, error) +} + +func NewExptInsightAnalysisFeedbackCommentDAO(db db.Provider) IExptInsightAnalysisFeedbackCommentDAO { + return &exptInsightAnalysisFeedbackCommentDAO{ + db: db, + query: query.Use(db.NewSession(context.Background())), + } +} + +type exptInsightAnalysisFeedbackCommentDAO struct { + db db.Provider + query *query.Query +} + +func (e exptInsightAnalysisFeedbackCommentDAO) Create(ctx context.Context, feedbackComment *model.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error { + if err := e.db.NewSession(ctx, opts...).Create(feedbackComment).Error; err != nil { + return errorx.Wrapf(err, "exptInsightAnalysisFeedbackCommentDAO create fail, model: %v", json.Jsonify(feedbackComment)) + } + return nil +} + +func (e exptInsightAnalysisFeedbackCommentDAO) Update(ctx context.Context, feedbackComment *model.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error { + if err := e.db.NewSession(ctx, opts...).Model(&model.ExptInsightAnalysisFeedbackComment{}).Where("id = ?", feedbackComment.ID).Updates(feedbackComment).Error; err != nil { + return errorx.Wrapf(err, "exptInsightAnalysisFeedbackCommentDAO update fail, model: %v", json.Jsonify(feedbackComment)) + } + return nil +} + +func (e exptInsightAnalysisFeedbackCommentDAO) GetByRecordID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*model.ExptInsightAnalysisFeedbackComment, error) { + db := e.db.NewSession(ctx) + q := query.Use(db).ExptInsightAnalysisFeedbackComment + + feedbackVote, err := q.WithContext(ctx).Where( + q.SpaceID.Eq(spaceID), + q.ExptID.Eq(exptID), + q.AnalysisRecordID.Eq(recordID), + ).First() + if err != nil { + return nil, errorx.Wrapf(err, "exptInsightAnalysisFeedbackCommentDAO GetByRecordID fail, spaceID: %v, exptID: %v", spaceID, exptID) + } + + return feedbackVote, nil +} + +func (e exptInsightAnalysisFeedbackCommentDAO) Delete(ctx context.Context, spaceID, exptID, commentID int64) error { + po := &model.ExptInsightAnalysisFeedbackComment{} + db := e.db.NewSession(ctx) + err := db.Where("space_id = ? AND expt_id = ? AND id = ?", spaceID, exptID, commentID). + Delete(po).Error + if err != nil { + return err + } + + return nil +} + +func (e exptInsightAnalysisFeedbackCommentDAO) List(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*model.ExptInsightAnalysisFeedbackComment, int64, error) { + var ( + finds []*model.ExptInsightAnalysisFeedbackComment + total int64 + ) + db := e.db.NewSession(ctx).Model(&model.ExptInsightAnalysisFeedbackComment{}). + Where("space_id =?", spaceID). + Where("expt_id =?", exptID). + Where("analysis_record_id =?", recordID) + // 总记录数 + db = db.Count(&total) + // 分页 + db = db.Offset(page.Offset()).Limit(page.Limit()) + err := db.Find(&finds).Error + if err != nil { + return nil, 0, err + } + return finds, total, nil +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go new file mode 100644 index 000000000..6033f0a35 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -0,0 +1,83 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package mysql + +import ( + "context" + "fmt" + + "github.com/coze-dev/coze-loop/backend/infra/db" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query" + "github.com/coze-dev/coze-loop/backend/pkg/errorx" + "github.com/coze-dev/coze-loop/backend/pkg/json" +) + +type IExptInsightAnalysisFeedbackVoteDAO interface { + Create(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error + Update(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error + GetByUser(ctx context.Context, spaceID, exptID, recordID int64, userID string, opts ...db.Option) (*model.ExptInsightAnalysisFeedbackVote, error) + Count(ctx context.Context, spaceID, exptID, recordID int64) (int64, int64, error) +} + +func NewExptInsightAnalysisFeedbackVoteDAO(db db.Provider) IExptInsightAnalysisFeedbackVoteDAO { + return &exptInsightAnalysisFeedbackVoteDAO{ + db: db, + query: query.Use(db.NewSession(context.Background())), + } +} + +type exptInsightAnalysisFeedbackVoteDAO struct { + db db.Provider + query *query.Query +} + +func (e exptInsightAnalysisFeedbackVoteDAO) Create(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { + if err := e.db.NewSession(ctx, opts...).Save(feedbackVote).Error; err != nil { + return errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO create fail, model: %v", json.Jsonify(feedbackVote)) + } + return nil +} + +func (e exptInsightAnalysisFeedbackVoteDAO) Update(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { + if err := e.db.NewSession(ctx, opts...).Model(&model.ExptInsightAnalysisFeedbackVote{}).Where("id = ?", feedbackVote.ID).Updates(feedbackVote).Error; err != nil { + return errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO update fail, model: %v", json.Jsonify(feedbackVote)) + } + return nil +} + +func (e exptInsightAnalysisFeedbackVoteDAO) GetByUser(ctx context.Context, spaceID, exptID, recordID int64, userID string, opts ...db.Option) (*model.ExptInsightAnalysisFeedbackVote, error) { + db := e.db.NewSession(ctx) + q := query.Use(db).ExptInsightAnalysisFeedbackVote + + feedbackVote, err := q.WithContext(ctx).Where( + q.SpaceID.Eq(spaceID), + q.ExptID.Eq(exptID), + q.AnalysisRecordID.Eq(recordID), + q.CreatedBy.Eq(userID), + ).First() + if err != nil { + return nil, errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO GetByUser fail, spaceID: %v, exptID: %v", spaceID, exptID) + } + + return feedbackVote, nil +} + +func (e exptInsightAnalysisFeedbackVoteDAO) Count(ctx context.Context, spaceID, exptID, recordID int64) (int64, int64, error) { + db := e.db.NewSession(ctx) + type VoteStatistic struct { + UpvoteCount int64 `json:"upvote_count"` + DownvoteCount int64 `json:"downvote_count"` + } + voteStatistic := &VoteStatistic{} + err := db.WithContext(ctx).Model(&VoteStatistic{}). + Select(fmt.Sprintf("SUM(CASE WHEN vote_type = %v THEN 1 ELSE 0 END) AS upvote_count, SUM(CASE WHEN vote_type = %v THEN 1 ELSE 0 END) AS downvote_count", entity.Upvote, entity.Downvote)). + Where("space_id = ? AND expt_id = ? AND analysis_record_id = ?", spaceID, exptID, recordID). + Scan(voteStatistic).Error + if err != nil { + return 0, 0, errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO Count fail, spaceID: %v, exptID: %v", spaceID, exptID) + } + return voteStatistic.UpvoteCount, voteStatistic.DownvoteCount, nil +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go new file mode 100644 index 000000000..b8fea1ee4 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go @@ -0,0 +1,97 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package mysql + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/infra/db" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query" + "github.com/coze-dev/coze-loop/backend/pkg/errorx" + "github.com/coze-dev/coze-loop/backend/pkg/json" +) + +type IExptInsightAnalysisRecordDAO interface { + Create(ctx context.Context, record *model.ExptInsightAnalysisRecord, opts ...db.Option) error + Update(ctx context.Context, record *model.ExptInsightAnalysisRecord, opts ...db.Option) error + GetByID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*model.ExptInsightAnalysisRecord, error) + List(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*model.ExptInsightAnalysisRecord, int64, error) + Delete(ctx context.Context, spaceID, exptID, recordID int64) error +} + +func NewExptInsightAnalysisRecordDAO(db db.Provider) IExptInsightAnalysisRecordDAO { + return &exptInsightAnalysisRecordDAO{ + db: db, + query: query.Use(db.NewSession(context.Background())), + } +} + +type exptInsightAnalysisRecordDAO struct { + db db.Provider + query *query.Query +} + +func (e exptInsightAnalysisRecordDAO) Create(ctx context.Context, record *model.ExptInsightAnalysisRecord, opts ...db.Option) error { + if err := e.db.NewSession(ctx, opts...).Create(record).Error; err != nil { + return errorx.Wrapf(err, "exptInsightAnalysisRecordDAO create fail, model: %v", json.Jsonify(record)) + } + return nil +} + +func (e exptInsightAnalysisRecordDAO) Update(ctx context.Context, record *model.ExptInsightAnalysisRecord, opts ...db.Option) error { + if err := e.db.NewSession(ctx, opts...).Model(&model.ExptInsightAnalysisRecord{}).Where("id = ?", record.ID).Updates(record).Error; err != nil { + return errorx.Wrapf(err, "exptInsightAnalysisRecordDAO update fail, model: %v", json.Jsonify(record)) + } + return nil +} + +func (e exptInsightAnalysisRecordDAO) GetByID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*model.ExptInsightAnalysisRecord, error) { + db := e.db.NewSession(ctx) + q := query.Use(db).ExptInsightAnalysisRecord + + record, err := q.WithContext(ctx).Where( + q.SpaceID.Eq(spaceID), + q.ExptID.Eq(exptID), + q.ID.Eq(recordID), + ).First() + if err != nil { + return nil, errorx.Wrapf(err, "exptInsightAnalysisRecordDAO GetByID fail, recordID: %v", recordID) + } + + return record, nil +} + +func (e exptInsightAnalysisRecordDAO) List(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*model.ExptInsightAnalysisRecord, int64, error) { + var ( + finds []*model.ExptInsightAnalysisRecord + total int64 + ) + + db := e.db.NewSession(ctx).Model(&model.ExptInsightAnalysisRecord{}).Where("space_id = ?", spaceID).Where("expt_id = ?", exptID) + + db = db.Order("created_at desc") + // 总记录数 + db = db.Count(&total) + // 分页 + db = db.Offset(page.Offset()).Limit(page.Limit()) + err := db.Find(&finds).Error + if err != nil { + return nil, 0, err + } + return finds, total, nil +} + +func (e exptInsightAnalysisRecordDAO) Delete(ctx context.Context, spaceID, exptID, recordID int64) error { + po := &model.ExptInsightAnalysisRecord{} + db := e.db.NewSession(ctx) + err := db.Where("space_id = ? AND expt_id = ? AND record_id = ?", spaceID, exptID, recordID). + Delete(po).Error + if err != nil { + return err + } + + return nil +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_turn_result_tag_ref.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_turn_result_tag_ref.go index 7bef83f0d..0a6186029 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_turn_result_tag_ref.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_turn_result_tag_ref.go @@ -105,10 +105,13 @@ func (e exptTurnResultTagRefDAO) GetByExptID(ctx context.Context, exptID int64, } func (e exptTurnResultTagRefDAO) BatchGetByExptIDs(ctx context.Context, exptIDs []int64, spaceID int64) ([]*model.ExptTurnResultTagRef, error) { - ref := e.query.ExptTurnResultTagRef - query := ref.WithContext(ctx) + db := e.db.NewSession(ctx) + if contexts.CtxWriteDB(ctx) { + db = db.Clauses(dbresolver.Write) + } + q := query.Use(db).ExptTurnResultTagRef - found, err := query.Where(ref.SpaceID.Eq(spaceID)).Where(ref.ExptID.In(exptIDs...)).Find() + found, err := q.WithContext(ctx).Where(q.SpaceID.Eq(spaceID)).Where(q.ExptID.In(exptIDs...)).Find() if err != nil { return nil, errorx.Wrapf(err, "BatchGetByExptIDs ExptTurnResultTagRef fail, expt_id: %v", exptIDs) } diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_comment.gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_comment.gen.go new file mode 100644 index 000000000..394c756c9 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_comment.gen.go @@ -0,0 +1,31 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package model + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameExptInsightAnalysisFeedbackComment = "expt_insight_analysis_feedback_comment" + +// ExptInsightAnalysisFeedbackComment 实验洞察分析反馈评论表 +type ExptInsightAnalysisFeedbackComment struct { + ID int64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;comment:唯一标识 idgen生成" json:"id"` // 唯一标识 idgen生成 + SpaceID int64 `gorm:"column:space_id;type:bigint(20) unsigned;not null;index:idx_space_id_expt_id_analysis_record_id_created_by,priority:1;comment:SpaceID" json:"space_id"` // SpaceID + ExptID int64 `gorm:"column:expt_id;type:bigint(20) unsigned;not null;index:idx_space_id_expt_id_analysis_record_id_created_by,priority:2;comment:exptID" json:"expt_id"` // exptID + AnalysisRecordID *int64 `gorm:"column:analysis_record_id;type:bigint(20) unsigned;index:idx_space_id_expt_id_analysis_record_id_created_by,priority:3;comment:洞察分析记录ID" json:"analysis_record_id"` // 洞察分析记录ID + Comment *string `gorm:"column:comment;type:varchar(255);comment:评论内容" json:"comment"` // 评论内容 + CreatedBy string `gorm:"column:created_by;type:varchar(128);not null;index:idx_space_id_expt_id_analysis_record_id_created_by,priority:4;comment:创建者 id" json:"created_by"` // 创建者 id + CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间 + UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间 + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:timestamp;comment:删除时间" json:"deleted_at"` // 删除时间 +} + +// TableName ExptInsightAnalysisFeedbackComment's table name +func (*ExptInsightAnalysisFeedbackComment) TableName() string { + return TableNameExptInsightAnalysisFeedbackComment +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_vote.gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_vote.gen.go new file mode 100644 index 000000000..1f3412651 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_feedback_vote.gen.go @@ -0,0 +1,31 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package model + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameExptInsightAnalysisFeedbackVote = "expt_insight_analysis_feedback_vote" + +// ExptInsightAnalysisFeedbackVote 实验洞察分析反馈点赞表 +type ExptInsightAnalysisFeedbackVote struct { + ID int64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;comment:唯一标识 idgen生成" json:"id"` // 唯一标识 idgen生成 + SpaceID int64 `gorm:"column:space_id;type:bigint(20) unsigned;not null;uniqueIndex:uniq_space_id_expt_id_analysis_record_id_created_by,priority:1;comment:SpaceID" json:"space_id"` // SpaceID + ExptID int64 `gorm:"column:expt_id;type:bigint(20) unsigned;not null;uniqueIndex:uniq_space_id_expt_id_analysis_record_id_created_by,priority:2;comment:exptID" json:"expt_id"` // exptID + VoteType int32 `gorm:"column:vote_type;type:int(11);not null;comment:反馈类型" json:"vote_type"` // 反馈类型 + AnalysisRecordID *int64 `gorm:"column:analysis_record_id;type:bigint(20) unsigned;uniqueIndex:uniq_space_id_expt_id_analysis_record_id_created_by,priority:3;comment:洞察分析记录ID" json:"analysis_record_id"` // 洞察分析记录ID + CreatedBy string `gorm:"column:created_by;type:varchar(128);not null;uniqueIndex:uniq_space_id_expt_id_analysis_record_id_created_by,priority:4;comment:创建者 id" json:"created_by"` // 创建者 id + CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间 + UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间 + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:timestamp;comment:删除时间" json:"deleted_at"` // 删除时间 +} + +// TableName ExptInsightAnalysisFeedbackVote's table name +func (*ExptInsightAnalysisFeedbackVote) TableName() string { + return TableNameExptInsightAnalysisFeedbackVote +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_record.gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_record.gen.go new file mode 100644 index 000000000..a6ae84e11 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model/expt_insight_analysis_record.gen.go @@ -0,0 +1,32 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package model + +import ( + "time" + + "gorm.io/gorm" +) + +const TableNameExptInsightAnalysisRecord = "expt_insight_analysis_record" + +// ExptInsightAnalysisRecord 实验洞察分析记录表 +type ExptInsightAnalysisRecord struct { + ID int64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;comment:唯一标识 idgen生成" json:"id"` // 唯一标识 idgen生成 + SpaceID int64 `gorm:"column:space_id;type:bigint(20) unsigned;not null;index:idx_space_id_expt_id,priority:1;comment:SpaceID" json:"space_id"` // SpaceID + ExptID int64 `gorm:"column:expt_id;type:bigint(20) unsigned;not null;index:idx_space_id_expt_id,priority:2;comment:exptID" json:"expt_id"` // exptID + Status int32 `gorm:"column:status;type:int(11);not null;comment:状态" json:"status"` // 状态 + ExptResultFilePath *string `gorm:"column:expt_result_file_path;type:varchar(255);comment:原始报告文件路径" json:"expt_result_file_path"` // 原始报告文件路径 + AnalysisReportID *int64 `gorm:"column:analysis_report_id;type:bigint(20) unsigned;comment:洞察分析报告ID" json:"analysis_report_id"` // 洞察分析报告ID + CreatedBy string `gorm:"column:created_by;type:varchar(128);not null;comment:创建者 id" json:"created_by"` // 创建者 id + CreatedAt time.Time `gorm:"column:created_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间 + UpdatedAt time.Time `gorm:"column:updated_at;type:timestamp;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间 + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:timestamp;comment:删除时间" json:"deleted_at"` // 删除时间 +} + +// TableName ExptInsightAnalysisRecord's table name +func (*ExptInsightAnalysisRecord) TableName() string { + return TableNameExptInsightAnalysisRecord +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_comment.gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_comment.gen.go new file mode 100644 index 000000000..806838632 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_comment.gen.go @@ -0,0 +1,368 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" +) + +func newExptInsightAnalysisFeedbackComment(db *gorm.DB, opts ...gen.DOOption) exptInsightAnalysisFeedbackComment { + _exptInsightAnalysisFeedbackComment := exptInsightAnalysisFeedbackComment{} + + _exptInsightAnalysisFeedbackComment.exptInsightAnalysisFeedbackCommentDo.UseDB(db, opts...) + _exptInsightAnalysisFeedbackComment.exptInsightAnalysisFeedbackCommentDo.UseModel(&model.ExptInsightAnalysisFeedbackComment{}) + + tableName := _exptInsightAnalysisFeedbackComment.exptInsightAnalysisFeedbackCommentDo.TableName() + _exptInsightAnalysisFeedbackComment.ALL = field.NewAsterisk(tableName) + _exptInsightAnalysisFeedbackComment.ID = field.NewInt64(tableName, "id") + _exptInsightAnalysisFeedbackComment.SpaceID = field.NewInt64(tableName, "space_id") + _exptInsightAnalysisFeedbackComment.ExptID = field.NewInt64(tableName, "expt_id") + _exptInsightAnalysisFeedbackComment.AnalysisRecordID = field.NewInt64(tableName, "analysis_record_id") + _exptInsightAnalysisFeedbackComment.Comment = field.NewString(tableName, "comment") + _exptInsightAnalysisFeedbackComment.CreatedBy = field.NewString(tableName, "created_by") + _exptInsightAnalysisFeedbackComment.CreatedAt = field.NewTime(tableName, "created_at") + _exptInsightAnalysisFeedbackComment.UpdatedAt = field.NewTime(tableName, "updated_at") + _exptInsightAnalysisFeedbackComment.DeletedAt = field.NewField(tableName, "deleted_at") + + _exptInsightAnalysisFeedbackComment.fillFieldMap() + + return _exptInsightAnalysisFeedbackComment +} + +// exptInsightAnalysisFeedbackComment 实验洞察分析反馈评论表 +type exptInsightAnalysisFeedbackComment struct { + exptInsightAnalysisFeedbackCommentDo exptInsightAnalysisFeedbackCommentDo + + ALL field.Asterisk + ID field.Int64 // 唯一标识 idgen生成 + SpaceID field.Int64 // SpaceID + ExptID field.Int64 // exptID + AnalysisRecordID field.Int64 // 洞察分析记录ID + Comment field.String // 评论内容 + CreatedBy field.String // 创建者 id + CreatedAt field.Time // 创建时间 + UpdatedAt field.Time // 更新时间 + DeletedAt field.Field // 删除时间 + + fieldMap map[string]field.Expr +} + +func (e exptInsightAnalysisFeedbackComment) Table(newTableName string) *exptInsightAnalysisFeedbackComment { + e.exptInsightAnalysisFeedbackCommentDo.UseTable(newTableName) + return e.updateTableName(newTableName) +} + +func (e exptInsightAnalysisFeedbackComment) As(alias string) *exptInsightAnalysisFeedbackComment { + e.exptInsightAnalysisFeedbackCommentDo.DO = *(e.exptInsightAnalysisFeedbackCommentDo.As(alias).(*gen.DO)) + return e.updateTableName(alias) +} + +func (e *exptInsightAnalysisFeedbackComment) updateTableName(table string) *exptInsightAnalysisFeedbackComment { + e.ALL = field.NewAsterisk(table) + e.ID = field.NewInt64(table, "id") + e.SpaceID = field.NewInt64(table, "space_id") + e.ExptID = field.NewInt64(table, "expt_id") + e.AnalysisRecordID = field.NewInt64(table, "analysis_record_id") + e.Comment = field.NewString(table, "comment") + e.CreatedBy = field.NewString(table, "created_by") + e.CreatedAt = field.NewTime(table, "created_at") + e.UpdatedAt = field.NewTime(table, "updated_at") + e.DeletedAt = field.NewField(table, "deleted_at") + + e.fillFieldMap() + + return e +} + +func (e *exptInsightAnalysisFeedbackComment) WithContext(ctx context.Context) *exptInsightAnalysisFeedbackCommentDo { + return e.exptInsightAnalysisFeedbackCommentDo.WithContext(ctx) +} + +func (e exptInsightAnalysisFeedbackComment) TableName() string { + return e.exptInsightAnalysisFeedbackCommentDo.TableName() +} + +func (e exptInsightAnalysisFeedbackComment) Alias() string { + return e.exptInsightAnalysisFeedbackCommentDo.Alias() +} + +func (e exptInsightAnalysisFeedbackComment) Columns(cols ...field.Expr) gen.Columns { + return e.exptInsightAnalysisFeedbackCommentDo.Columns(cols...) +} + +func (e *exptInsightAnalysisFeedbackComment) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := e.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (e *exptInsightAnalysisFeedbackComment) fillFieldMap() { + e.fieldMap = make(map[string]field.Expr, 9) + e.fieldMap["id"] = e.ID + e.fieldMap["space_id"] = e.SpaceID + e.fieldMap["expt_id"] = e.ExptID + e.fieldMap["analysis_record_id"] = e.AnalysisRecordID + e.fieldMap["comment"] = e.Comment + e.fieldMap["created_by"] = e.CreatedBy + e.fieldMap["created_at"] = e.CreatedAt + e.fieldMap["updated_at"] = e.UpdatedAt + e.fieldMap["deleted_at"] = e.DeletedAt +} + +func (e exptInsightAnalysisFeedbackComment) clone(db *gorm.DB) exptInsightAnalysisFeedbackComment { + e.exptInsightAnalysisFeedbackCommentDo.ReplaceConnPool(db.Statement.ConnPool) + return e +} + +func (e exptInsightAnalysisFeedbackComment) replaceDB(db *gorm.DB) exptInsightAnalysisFeedbackComment { + e.exptInsightAnalysisFeedbackCommentDo.ReplaceDB(db) + return e +} + +type exptInsightAnalysisFeedbackCommentDo struct{ gen.DO } + +func (e exptInsightAnalysisFeedbackCommentDo) Debug() *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Debug()) +} + +func (e exptInsightAnalysisFeedbackCommentDo) WithContext(ctx context.Context) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.WithContext(ctx)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) ReadDB() *exptInsightAnalysisFeedbackCommentDo { + return e.Clauses(dbresolver.Read) +} + +func (e exptInsightAnalysisFeedbackCommentDo) WriteDB() *exptInsightAnalysisFeedbackCommentDo { + return e.Clauses(dbresolver.Write) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Session(config *gorm.Session) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Session(config)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Clauses(conds ...clause.Expression) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Clauses(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Returning(value interface{}, columns ...string) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Returning(value, columns...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Not(conds ...gen.Condition) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Not(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Or(conds ...gen.Condition) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Or(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Select(conds ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Select(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Where(conds ...gen.Condition) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Where(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Order(conds ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Order(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Distinct(cols ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Distinct(cols...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Omit(cols ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Omit(cols...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Join(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Join(table, on...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) LeftJoin(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.LeftJoin(table, on...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) RightJoin(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.RightJoin(table, on...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Group(cols ...field.Expr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Group(cols...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Having(conds ...gen.Condition) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Having(conds...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Limit(limit int) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Limit(limit)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Offset(offset int) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Offset(offset)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Scopes(funcs...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Unscoped() *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Unscoped()) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Create(values ...*model.ExptInsightAnalysisFeedbackComment) error { + if len(values) == 0 { + return nil + } + return e.DO.Create(values) +} + +func (e exptInsightAnalysisFeedbackCommentDo) CreateInBatches(values []*model.ExptInsightAnalysisFeedbackComment, batchSize int) error { + return e.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (e exptInsightAnalysisFeedbackCommentDo) Save(values ...*model.ExptInsightAnalysisFeedbackComment) error { + if len(values) == 0 { + return nil + } + return e.DO.Save(values) +} + +func (e exptInsightAnalysisFeedbackCommentDo) First() (*model.ExptInsightAnalysisFeedbackComment, error) { + if result, err := e.DO.First(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackComment), nil + } +} + +func (e exptInsightAnalysisFeedbackCommentDo) Take() (*model.ExptInsightAnalysisFeedbackComment, error) { + if result, err := e.DO.Take(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackComment), nil + } +} + +func (e exptInsightAnalysisFeedbackCommentDo) Last() (*model.ExptInsightAnalysisFeedbackComment, error) { + if result, err := e.DO.Last(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackComment), nil + } +} + +func (e exptInsightAnalysisFeedbackCommentDo) Find() ([]*model.ExptInsightAnalysisFeedbackComment, error) { + result, err := e.DO.Find() + return result.([]*model.ExptInsightAnalysisFeedbackComment), err +} + +func (e exptInsightAnalysisFeedbackCommentDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.ExptInsightAnalysisFeedbackComment, err error) { + buf := make([]*model.ExptInsightAnalysisFeedbackComment, 0, batchSize) + err = e.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (e exptInsightAnalysisFeedbackCommentDo) FindInBatches(result *[]*model.ExptInsightAnalysisFeedbackComment, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return e.DO.FindInBatches(result, batchSize, fc) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Attrs(attrs ...field.AssignExpr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Attrs(attrs...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Assign(attrs ...field.AssignExpr) *exptInsightAnalysisFeedbackCommentDo { + return e.withDO(e.DO.Assign(attrs...)) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Joins(fields ...field.RelationField) *exptInsightAnalysisFeedbackCommentDo { + for _, _f := range fields { + e = *e.withDO(e.DO.Joins(_f)) + } + return &e +} + +func (e exptInsightAnalysisFeedbackCommentDo) Preload(fields ...field.RelationField) *exptInsightAnalysisFeedbackCommentDo { + for _, _f := range fields { + e = *e.withDO(e.DO.Preload(_f)) + } + return &e +} + +func (e exptInsightAnalysisFeedbackCommentDo) FirstOrInit() (*model.ExptInsightAnalysisFeedbackComment, error) { + if result, err := e.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackComment), nil + } +} + +func (e exptInsightAnalysisFeedbackCommentDo) FirstOrCreate() (*model.ExptInsightAnalysisFeedbackComment, error) { + if result, err := e.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackComment), nil + } +} + +func (e exptInsightAnalysisFeedbackCommentDo) FindByPage(offset int, limit int) (result []*model.ExptInsightAnalysisFeedbackComment, count int64, err error) { + result, err = e.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = e.Offset(-1).Limit(-1).Count() + return +} + +func (e exptInsightAnalysisFeedbackCommentDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = e.Count() + if err != nil { + return + } + + err = e.Offset(offset).Limit(limit).Scan(result) + return +} + +func (e exptInsightAnalysisFeedbackCommentDo) Scan(result interface{}) (err error) { + return e.DO.Scan(result) +} + +func (e exptInsightAnalysisFeedbackCommentDo) Delete(models ...*model.ExptInsightAnalysisFeedbackComment) (result gen.ResultInfo, err error) { + return e.DO.Delete(models) +} + +func (e *exptInsightAnalysisFeedbackCommentDo) withDO(do gen.Dao) *exptInsightAnalysisFeedbackCommentDo { + e.DO = *do.(*gen.DO) + return e +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_vote.gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_vote.gen.go new file mode 100644 index 000000000..aa419bf70 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_feedback_vote.gen.go @@ -0,0 +1,368 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" +) + +func newExptInsightAnalysisFeedbackVote(db *gorm.DB, opts ...gen.DOOption) exptInsightAnalysisFeedbackVote { + _exptInsightAnalysisFeedbackVote := exptInsightAnalysisFeedbackVote{} + + _exptInsightAnalysisFeedbackVote.exptInsightAnalysisFeedbackVoteDo.UseDB(db, opts...) + _exptInsightAnalysisFeedbackVote.exptInsightAnalysisFeedbackVoteDo.UseModel(&model.ExptInsightAnalysisFeedbackVote{}) + + tableName := _exptInsightAnalysisFeedbackVote.exptInsightAnalysisFeedbackVoteDo.TableName() + _exptInsightAnalysisFeedbackVote.ALL = field.NewAsterisk(tableName) + _exptInsightAnalysisFeedbackVote.ID = field.NewInt64(tableName, "id") + _exptInsightAnalysisFeedbackVote.SpaceID = field.NewInt64(tableName, "space_id") + _exptInsightAnalysisFeedbackVote.ExptID = field.NewInt64(tableName, "expt_id") + _exptInsightAnalysisFeedbackVote.VoteType = field.NewInt32(tableName, "vote_type") + _exptInsightAnalysisFeedbackVote.AnalysisRecordID = field.NewInt64(tableName, "analysis_record_id") + _exptInsightAnalysisFeedbackVote.CreatedBy = field.NewString(tableName, "created_by") + _exptInsightAnalysisFeedbackVote.CreatedAt = field.NewTime(tableName, "created_at") + _exptInsightAnalysisFeedbackVote.UpdatedAt = field.NewTime(tableName, "updated_at") + _exptInsightAnalysisFeedbackVote.DeletedAt = field.NewField(tableName, "deleted_at") + + _exptInsightAnalysisFeedbackVote.fillFieldMap() + + return _exptInsightAnalysisFeedbackVote +} + +// exptInsightAnalysisFeedbackVote 实验洞察分析反馈点赞表 +type exptInsightAnalysisFeedbackVote struct { + exptInsightAnalysisFeedbackVoteDo exptInsightAnalysisFeedbackVoteDo + + ALL field.Asterisk + ID field.Int64 // 唯一标识 idgen生成 + SpaceID field.Int64 // SpaceID + ExptID field.Int64 // exptID + VoteType field.Int32 // 反馈类型 + AnalysisRecordID field.Int64 // 洞察分析记录ID + CreatedBy field.String // 创建者 id + CreatedAt field.Time // 创建时间 + UpdatedAt field.Time // 更新时间 + DeletedAt field.Field // 删除时间 + + fieldMap map[string]field.Expr +} + +func (e exptInsightAnalysisFeedbackVote) Table(newTableName string) *exptInsightAnalysisFeedbackVote { + e.exptInsightAnalysisFeedbackVoteDo.UseTable(newTableName) + return e.updateTableName(newTableName) +} + +func (e exptInsightAnalysisFeedbackVote) As(alias string) *exptInsightAnalysisFeedbackVote { + e.exptInsightAnalysisFeedbackVoteDo.DO = *(e.exptInsightAnalysisFeedbackVoteDo.As(alias).(*gen.DO)) + return e.updateTableName(alias) +} + +func (e *exptInsightAnalysisFeedbackVote) updateTableName(table string) *exptInsightAnalysisFeedbackVote { + e.ALL = field.NewAsterisk(table) + e.ID = field.NewInt64(table, "id") + e.SpaceID = field.NewInt64(table, "space_id") + e.ExptID = field.NewInt64(table, "expt_id") + e.VoteType = field.NewInt32(table, "vote_type") + e.AnalysisRecordID = field.NewInt64(table, "analysis_record_id") + e.CreatedBy = field.NewString(table, "created_by") + e.CreatedAt = field.NewTime(table, "created_at") + e.UpdatedAt = field.NewTime(table, "updated_at") + e.DeletedAt = field.NewField(table, "deleted_at") + + e.fillFieldMap() + + return e +} + +func (e *exptInsightAnalysisFeedbackVote) WithContext(ctx context.Context) *exptInsightAnalysisFeedbackVoteDo { + return e.exptInsightAnalysisFeedbackVoteDo.WithContext(ctx) +} + +func (e exptInsightAnalysisFeedbackVote) TableName() string { + return e.exptInsightAnalysisFeedbackVoteDo.TableName() +} + +func (e exptInsightAnalysisFeedbackVote) Alias() string { + return e.exptInsightAnalysisFeedbackVoteDo.Alias() +} + +func (e exptInsightAnalysisFeedbackVote) Columns(cols ...field.Expr) gen.Columns { + return e.exptInsightAnalysisFeedbackVoteDo.Columns(cols...) +} + +func (e *exptInsightAnalysisFeedbackVote) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := e.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (e *exptInsightAnalysisFeedbackVote) fillFieldMap() { + e.fieldMap = make(map[string]field.Expr, 9) + e.fieldMap["id"] = e.ID + e.fieldMap["space_id"] = e.SpaceID + e.fieldMap["expt_id"] = e.ExptID + e.fieldMap["vote_type"] = e.VoteType + e.fieldMap["analysis_record_id"] = e.AnalysisRecordID + e.fieldMap["created_by"] = e.CreatedBy + e.fieldMap["created_at"] = e.CreatedAt + e.fieldMap["updated_at"] = e.UpdatedAt + e.fieldMap["deleted_at"] = e.DeletedAt +} + +func (e exptInsightAnalysisFeedbackVote) clone(db *gorm.DB) exptInsightAnalysisFeedbackVote { + e.exptInsightAnalysisFeedbackVoteDo.ReplaceConnPool(db.Statement.ConnPool) + return e +} + +func (e exptInsightAnalysisFeedbackVote) replaceDB(db *gorm.DB) exptInsightAnalysisFeedbackVote { + e.exptInsightAnalysisFeedbackVoteDo.ReplaceDB(db) + return e +} + +type exptInsightAnalysisFeedbackVoteDo struct{ gen.DO } + +func (e exptInsightAnalysisFeedbackVoteDo) Debug() *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Debug()) +} + +func (e exptInsightAnalysisFeedbackVoteDo) WithContext(ctx context.Context) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.WithContext(ctx)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) ReadDB() *exptInsightAnalysisFeedbackVoteDo { + return e.Clauses(dbresolver.Read) +} + +func (e exptInsightAnalysisFeedbackVoteDo) WriteDB() *exptInsightAnalysisFeedbackVoteDo { + return e.Clauses(dbresolver.Write) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Session(config *gorm.Session) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Session(config)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Clauses(conds ...clause.Expression) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Clauses(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Returning(value interface{}, columns ...string) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Returning(value, columns...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Not(conds ...gen.Condition) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Not(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Or(conds ...gen.Condition) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Or(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Select(conds ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Select(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Where(conds ...gen.Condition) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Where(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Order(conds ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Order(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Distinct(cols ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Distinct(cols...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Omit(cols ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Omit(cols...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Join(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Join(table, on...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) LeftJoin(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.LeftJoin(table, on...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) RightJoin(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.RightJoin(table, on...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Group(cols ...field.Expr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Group(cols...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Having(conds ...gen.Condition) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Having(conds...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Limit(limit int) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Limit(limit)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Offset(offset int) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Offset(offset)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Scopes(funcs...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Unscoped() *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Unscoped()) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Create(values ...*model.ExptInsightAnalysisFeedbackVote) error { + if len(values) == 0 { + return nil + } + return e.DO.Create(values) +} + +func (e exptInsightAnalysisFeedbackVoteDo) CreateInBatches(values []*model.ExptInsightAnalysisFeedbackVote, batchSize int) error { + return e.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (e exptInsightAnalysisFeedbackVoteDo) Save(values ...*model.ExptInsightAnalysisFeedbackVote) error { + if len(values) == 0 { + return nil + } + return e.DO.Save(values) +} + +func (e exptInsightAnalysisFeedbackVoteDo) First() (*model.ExptInsightAnalysisFeedbackVote, error) { + if result, err := e.DO.First(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackVote), nil + } +} + +func (e exptInsightAnalysisFeedbackVoteDo) Take() (*model.ExptInsightAnalysisFeedbackVote, error) { + if result, err := e.DO.Take(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackVote), nil + } +} + +func (e exptInsightAnalysisFeedbackVoteDo) Last() (*model.ExptInsightAnalysisFeedbackVote, error) { + if result, err := e.DO.Last(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackVote), nil + } +} + +func (e exptInsightAnalysisFeedbackVoteDo) Find() ([]*model.ExptInsightAnalysisFeedbackVote, error) { + result, err := e.DO.Find() + return result.([]*model.ExptInsightAnalysisFeedbackVote), err +} + +func (e exptInsightAnalysisFeedbackVoteDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.ExptInsightAnalysisFeedbackVote, err error) { + buf := make([]*model.ExptInsightAnalysisFeedbackVote, 0, batchSize) + err = e.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (e exptInsightAnalysisFeedbackVoteDo) FindInBatches(result *[]*model.ExptInsightAnalysisFeedbackVote, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return e.DO.FindInBatches(result, batchSize, fc) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Attrs(attrs ...field.AssignExpr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Attrs(attrs...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Assign(attrs ...field.AssignExpr) *exptInsightAnalysisFeedbackVoteDo { + return e.withDO(e.DO.Assign(attrs...)) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Joins(fields ...field.RelationField) *exptInsightAnalysisFeedbackVoteDo { + for _, _f := range fields { + e = *e.withDO(e.DO.Joins(_f)) + } + return &e +} + +func (e exptInsightAnalysisFeedbackVoteDo) Preload(fields ...field.RelationField) *exptInsightAnalysisFeedbackVoteDo { + for _, _f := range fields { + e = *e.withDO(e.DO.Preload(_f)) + } + return &e +} + +func (e exptInsightAnalysisFeedbackVoteDo) FirstOrInit() (*model.ExptInsightAnalysisFeedbackVote, error) { + if result, err := e.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackVote), nil + } +} + +func (e exptInsightAnalysisFeedbackVoteDo) FirstOrCreate() (*model.ExptInsightAnalysisFeedbackVote, error) { + if result, err := e.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisFeedbackVote), nil + } +} + +func (e exptInsightAnalysisFeedbackVoteDo) FindByPage(offset int, limit int) (result []*model.ExptInsightAnalysisFeedbackVote, count int64, err error) { + result, err = e.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = e.Offset(-1).Limit(-1).Count() + return +} + +func (e exptInsightAnalysisFeedbackVoteDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = e.Count() + if err != nil { + return + } + + err = e.Offset(offset).Limit(limit).Scan(result) + return +} + +func (e exptInsightAnalysisFeedbackVoteDo) Scan(result interface{}) (err error) { + return e.DO.Scan(result) +} + +func (e exptInsightAnalysisFeedbackVoteDo) Delete(models ...*model.ExptInsightAnalysisFeedbackVote) (result gen.ResultInfo, err error) { + return e.DO.Delete(models) +} + +func (e *exptInsightAnalysisFeedbackVoteDo) withDO(do gen.Dao) *exptInsightAnalysisFeedbackVoteDo { + e.DO = *do.(*gen.DO) + return e +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_record.gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_record.gen.go new file mode 100644 index 000000000..58dabb13e --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/expt_insight_analysis_record.gen.go @@ -0,0 +1,370 @@ +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. +// Code generated by gorm.io/gen. DO NOT EDIT. + +package query + +import ( + "context" + + "gorm.io/gorm" + "gorm.io/gorm/clause" + "gorm.io/gorm/schema" + + "gorm.io/gen" + "gorm.io/gen/field" + + "gorm.io/plugin/dbresolver" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" +) + +func newExptInsightAnalysisRecord(db *gorm.DB, opts ...gen.DOOption) exptInsightAnalysisRecord { + _exptInsightAnalysisRecord := exptInsightAnalysisRecord{} + + _exptInsightAnalysisRecord.exptInsightAnalysisRecordDo.UseDB(db, opts...) + _exptInsightAnalysisRecord.exptInsightAnalysisRecordDo.UseModel(&model.ExptInsightAnalysisRecord{}) + + tableName := _exptInsightAnalysisRecord.exptInsightAnalysisRecordDo.TableName() + _exptInsightAnalysisRecord.ALL = field.NewAsterisk(tableName) + _exptInsightAnalysisRecord.ID = field.NewInt64(tableName, "id") + _exptInsightAnalysisRecord.SpaceID = field.NewInt64(tableName, "space_id") + _exptInsightAnalysisRecord.ExptID = field.NewInt64(tableName, "expt_id") + _exptInsightAnalysisRecord.Status = field.NewInt32(tableName, "status") + _exptInsightAnalysisRecord.ExptResultFilePath = field.NewString(tableName, "expt_result_file_path") + _exptInsightAnalysisRecord.AnalysisReportID = field.NewInt64(tableName, "analysis_report_id") + _exptInsightAnalysisRecord.CreatedBy = field.NewString(tableName, "created_by") + _exptInsightAnalysisRecord.CreatedAt = field.NewTime(tableName, "created_at") + _exptInsightAnalysisRecord.UpdatedAt = field.NewTime(tableName, "updated_at") + _exptInsightAnalysisRecord.DeletedAt = field.NewField(tableName, "deleted_at") + + _exptInsightAnalysisRecord.fillFieldMap() + + return _exptInsightAnalysisRecord +} + +// exptInsightAnalysisRecord 实验洞察分析记录表 +type exptInsightAnalysisRecord struct { + exptInsightAnalysisRecordDo exptInsightAnalysisRecordDo + + ALL field.Asterisk + ID field.Int64 // 唯一标识 idgen生成 + SpaceID field.Int64 // SpaceID + ExptID field.Int64 // exptID + Status field.Int32 // 状态 + ExptResultFilePath field.String // 原始报告文件路径 + AnalysisReportID field.Int64 // 洞察分析报告ID + CreatedBy field.String // 创建者 id + CreatedAt field.Time // 创建时间 + UpdatedAt field.Time // 更新时间 + DeletedAt field.Field // 删除时间 + + fieldMap map[string]field.Expr +} + +func (e exptInsightAnalysisRecord) Table(newTableName string) *exptInsightAnalysisRecord { + e.exptInsightAnalysisRecordDo.UseTable(newTableName) + return e.updateTableName(newTableName) +} + +func (e exptInsightAnalysisRecord) As(alias string) *exptInsightAnalysisRecord { + e.exptInsightAnalysisRecordDo.DO = *(e.exptInsightAnalysisRecordDo.As(alias).(*gen.DO)) + return e.updateTableName(alias) +} + +func (e *exptInsightAnalysisRecord) updateTableName(table string) *exptInsightAnalysisRecord { + e.ALL = field.NewAsterisk(table) + e.ID = field.NewInt64(table, "id") + e.SpaceID = field.NewInt64(table, "space_id") + e.ExptID = field.NewInt64(table, "expt_id") + e.Status = field.NewInt32(table, "status") + e.ExptResultFilePath = field.NewString(table, "expt_result_file_path") + e.AnalysisReportID = field.NewInt64(table, "analysis_report_id") + e.CreatedBy = field.NewString(table, "created_by") + e.CreatedAt = field.NewTime(table, "created_at") + e.UpdatedAt = field.NewTime(table, "updated_at") + e.DeletedAt = field.NewField(table, "deleted_at") + + e.fillFieldMap() + + return e +} + +func (e *exptInsightAnalysisRecord) WithContext(ctx context.Context) *exptInsightAnalysisRecordDo { + return e.exptInsightAnalysisRecordDo.WithContext(ctx) +} + +func (e exptInsightAnalysisRecord) TableName() string { + return e.exptInsightAnalysisRecordDo.TableName() +} + +func (e exptInsightAnalysisRecord) Alias() string { return e.exptInsightAnalysisRecordDo.Alias() } + +func (e exptInsightAnalysisRecord) Columns(cols ...field.Expr) gen.Columns { + return e.exptInsightAnalysisRecordDo.Columns(cols...) +} + +func (e *exptInsightAnalysisRecord) GetFieldByName(fieldName string) (field.OrderExpr, bool) { + _f, ok := e.fieldMap[fieldName] + if !ok || _f == nil { + return nil, false + } + _oe, ok := _f.(field.OrderExpr) + return _oe, ok +} + +func (e *exptInsightAnalysisRecord) fillFieldMap() { + e.fieldMap = make(map[string]field.Expr, 10) + e.fieldMap["id"] = e.ID + e.fieldMap["space_id"] = e.SpaceID + e.fieldMap["expt_id"] = e.ExptID + e.fieldMap["status"] = e.Status + e.fieldMap["expt_result_file_path"] = e.ExptResultFilePath + e.fieldMap["analysis_report_id"] = e.AnalysisReportID + e.fieldMap["created_by"] = e.CreatedBy + e.fieldMap["created_at"] = e.CreatedAt + e.fieldMap["updated_at"] = e.UpdatedAt + e.fieldMap["deleted_at"] = e.DeletedAt +} + +func (e exptInsightAnalysisRecord) clone(db *gorm.DB) exptInsightAnalysisRecord { + e.exptInsightAnalysisRecordDo.ReplaceConnPool(db.Statement.ConnPool) + return e +} + +func (e exptInsightAnalysisRecord) replaceDB(db *gorm.DB) exptInsightAnalysisRecord { + e.exptInsightAnalysisRecordDo.ReplaceDB(db) + return e +} + +type exptInsightAnalysisRecordDo struct{ gen.DO } + +func (e exptInsightAnalysisRecordDo) Debug() *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Debug()) +} + +func (e exptInsightAnalysisRecordDo) WithContext(ctx context.Context) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.WithContext(ctx)) +} + +func (e exptInsightAnalysisRecordDo) ReadDB() *exptInsightAnalysisRecordDo { + return e.Clauses(dbresolver.Read) +} + +func (e exptInsightAnalysisRecordDo) WriteDB() *exptInsightAnalysisRecordDo { + return e.Clauses(dbresolver.Write) +} + +func (e exptInsightAnalysisRecordDo) Session(config *gorm.Session) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Session(config)) +} + +func (e exptInsightAnalysisRecordDo) Clauses(conds ...clause.Expression) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Clauses(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Returning(value interface{}, columns ...string) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Returning(value, columns...)) +} + +func (e exptInsightAnalysisRecordDo) Not(conds ...gen.Condition) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Not(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Or(conds ...gen.Condition) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Or(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Select(conds ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Select(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Where(conds ...gen.Condition) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Where(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Order(conds ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Order(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Distinct(cols ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Distinct(cols...)) +} + +func (e exptInsightAnalysisRecordDo) Omit(cols ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Omit(cols...)) +} + +func (e exptInsightAnalysisRecordDo) Join(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Join(table, on...)) +} + +func (e exptInsightAnalysisRecordDo) LeftJoin(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.LeftJoin(table, on...)) +} + +func (e exptInsightAnalysisRecordDo) RightJoin(table schema.Tabler, on ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.RightJoin(table, on...)) +} + +func (e exptInsightAnalysisRecordDo) Group(cols ...field.Expr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Group(cols...)) +} + +func (e exptInsightAnalysisRecordDo) Having(conds ...gen.Condition) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Having(conds...)) +} + +func (e exptInsightAnalysisRecordDo) Limit(limit int) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Limit(limit)) +} + +func (e exptInsightAnalysisRecordDo) Offset(offset int) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Offset(offset)) +} + +func (e exptInsightAnalysisRecordDo) Scopes(funcs ...func(gen.Dao) gen.Dao) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Scopes(funcs...)) +} + +func (e exptInsightAnalysisRecordDo) Unscoped() *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Unscoped()) +} + +func (e exptInsightAnalysisRecordDo) Create(values ...*model.ExptInsightAnalysisRecord) error { + if len(values) == 0 { + return nil + } + return e.DO.Create(values) +} + +func (e exptInsightAnalysisRecordDo) CreateInBatches(values []*model.ExptInsightAnalysisRecord, batchSize int) error { + return e.DO.CreateInBatches(values, batchSize) +} + +// Save : !!! underlying implementation is different with GORM +// The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values) +func (e exptInsightAnalysisRecordDo) Save(values ...*model.ExptInsightAnalysisRecord) error { + if len(values) == 0 { + return nil + } + return e.DO.Save(values) +} + +func (e exptInsightAnalysisRecordDo) First() (*model.ExptInsightAnalysisRecord, error) { + if result, err := e.DO.First(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisRecord), nil + } +} + +func (e exptInsightAnalysisRecordDo) Take() (*model.ExptInsightAnalysisRecord, error) { + if result, err := e.DO.Take(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisRecord), nil + } +} + +func (e exptInsightAnalysisRecordDo) Last() (*model.ExptInsightAnalysisRecord, error) { + if result, err := e.DO.Last(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisRecord), nil + } +} + +func (e exptInsightAnalysisRecordDo) Find() ([]*model.ExptInsightAnalysisRecord, error) { + result, err := e.DO.Find() + return result.([]*model.ExptInsightAnalysisRecord), err +} + +func (e exptInsightAnalysisRecordDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.ExptInsightAnalysisRecord, err error) { + buf := make([]*model.ExptInsightAnalysisRecord, 0, batchSize) + err = e.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error { + defer func() { results = append(results, buf...) }() + return fc(tx, batch) + }) + return results, err +} + +func (e exptInsightAnalysisRecordDo) FindInBatches(result *[]*model.ExptInsightAnalysisRecord, batchSize int, fc func(tx gen.Dao, batch int) error) error { + return e.DO.FindInBatches(result, batchSize, fc) +} + +func (e exptInsightAnalysisRecordDo) Attrs(attrs ...field.AssignExpr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Attrs(attrs...)) +} + +func (e exptInsightAnalysisRecordDo) Assign(attrs ...field.AssignExpr) *exptInsightAnalysisRecordDo { + return e.withDO(e.DO.Assign(attrs...)) +} + +func (e exptInsightAnalysisRecordDo) Joins(fields ...field.RelationField) *exptInsightAnalysisRecordDo { + for _, _f := range fields { + e = *e.withDO(e.DO.Joins(_f)) + } + return &e +} + +func (e exptInsightAnalysisRecordDo) Preload(fields ...field.RelationField) *exptInsightAnalysisRecordDo { + for _, _f := range fields { + e = *e.withDO(e.DO.Preload(_f)) + } + return &e +} + +func (e exptInsightAnalysisRecordDo) FirstOrInit() (*model.ExptInsightAnalysisRecord, error) { + if result, err := e.DO.FirstOrInit(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisRecord), nil + } +} + +func (e exptInsightAnalysisRecordDo) FirstOrCreate() (*model.ExptInsightAnalysisRecord, error) { + if result, err := e.DO.FirstOrCreate(); err != nil { + return nil, err + } else { + return result.(*model.ExptInsightAnalysisRecord), nil + } +} + +func (e exptInsightAnalysisRecordDo) FindByPage(offset int, limit int) (result []*model.ExptInsightAnalysisRecord, count int64, err error) { + result, err = e.Offset(offset).Limit(limit).Find() + if err != nil { + return + } + + if size := len(result); 0 < limit && 0 < size && size < limit { + count = int64(size + offset) + return + } + + count, err = e.Offset(-1).Limit(-1).Count() + return +} + +func (e exptInsightAnalysisRecordDo) ScanByPage(result interface{}, offset int, limit int) (count int64, err error) { + count, err = e.Count() + if err != nil { + return + } + + err = e.Offset(offset).Limit(limit).Scan(result) + return +} + +func (e exptInsightAnalysisRecordDo) Scan(result interface{}) (err error) { + return e.DO.Scan(result) +} + +func (e exptInsightAnalysisRecordDo) Delete(models ...*model.ExptInsightAnalysisRecord) (result gen.ResultInfo, err error) { + return e.DO.Delete(models) +} + +func (e *exptInsightAnalysisRecordDo) withDO(do gen.Dao) *exptInsightAnalysisRecordDo { + e.DO = *do.(*gen.DO) + return e +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go index 9cc5c1772..311f150f6 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go @@ -17,65 +17,74 @@ import ( func Use(db *gorm.DB, opts ...gen.DOOption) *Query { return &Query{ - db: db, - AnnotateRecord: newAnnotateRecord(db, opts...), - Experiment: newExperiment(db, opts...), - ExptAggrResult: newExptAggrResult(db, opts...), - ExptEvaluatorRef: newExptEvaluatorRef(db, opts...), - ExptItemResult: newExptItemResult(db, opts...), - ExptItemResultRunLog: newExptItemResultRunLog(db, opts...), - ExptResultExportRecord: newExptResultExportRecord(db, opts...), - ExptRunLog: newExptRunLog(db, opts...), - ExptStats: newExptStats(db, opts...), - ExptTurnAnnotateRecordRef: newExptTurnAnnotateRecordRef(db, opts...), - ExptTurnEvaluatorResultRef: newExptTurnEvaluatorResultRef(db, opts...), - ExptTurnResult: newExptTurnResult(db, opts...), - ExptTurnResultFilterKeyMapping: newExptTurnResultFilterKeyMapping(db, opts...), - ExptTurnResultRunLog: newExptTurnResultRunLog(db, opts...), - ExptTurnResultTagRef: newExptTurnResultTagRef(db, opts...), + db: db, + AnnotateRecord: newAnnotateRecord(db, opts...), + Experiment: newExperiment(db, opts...), + ExptAggrResult: newExptAggrResult(db, opts...), + ExptEvaluatorRef: newExptEvaluatorRef(db, opts...), + ExptInsightAnalysisFeedbackComment: newExptInsightAnalysisFeedbackComment(db, opts...), + ExptInsightAnalysisFeedbackVote: newExptInsightAnalysisFeedbackVote(db, opts...), + ExptInsightAnalysisRecord: newExptInsightAnalysisRecord(db, opts...), + ExptItemResult: newExptItemResult(db, opts...), + ExptItemResultRunLog: newExptItemResultRunLog(db, opts...), + ExptResultExportRecord: newExptResultExportRecord(db, opts...), + ExptRunLog: newExptRunLog(db, opts...), + ExptStats: newExptStats(db, opts...), + ExptTurnAnnotateRecordRef: newExptTurnAnnotateRecordRef(db, opts...), + ExptTurnEvaluatorResultRef: newExptTurnEvaluatorResultRef(db, opts...), + ExptTurnResult: newExptTurnResult(db, opts...), + ExptTurnResultFilterKeyMapping: newExptTurnResultFilterKeyMapping(db, opts...), + ExptTurnResultRunLog: newExptTurnResultRunLog(db, opts...), + ExptTurnResultTagRef: newExptTurnResultTagRef(db, opts...), } } type Query struct { db *gorm.DB - AnnotateRecord annotateRecord - Experiment experiment - ExptAggrResult exptAggrResult - ExptEvaluatorRef exptEvaluatorRef - ExptItemResult exptItemResult - ExptItemResultRunLog exptItemResultRunLog - ExptResultExportRecord exptResultExportRecord - ExptRunLog exptRunLog - ExptStats exptStats - ExptTurnAnnotateRecordRef exptTurnAnnotateRecordRef - ExptTurnEvaluatorResultRef exptTurnEvaluatorResultRef - ExptTurnResult exptTurnResult - ExptTurnResultFilterKeyMapping exptTurnResultFilterKeyMapping - ExptTurnResultRunLog exptTurnResultRunLog - ExptTurnResultTagRef exptTurnResultTagRef + AnnotateRecord annotateRecord + Experiment experiment + ExptAggrResult exptAggrResult + ExptEvaluatorRef exptEvaluatorRef + ExptInsightAnalysisFeedbackComment exptInsightAnalysisFeedbackComment + ExptInsightAnalysisFeedbackVote exptInsightAnalysisFeedbackVote + ExptInsightAnalysisRecord exptInsightAnalysisRecord + ExptItemResult exptItemResult + ExptItemResultRunLog exptItemResultRunLog + ExptResultExportRecord exptResultExportRecord + ExptRunLog exptRunLog + ExptStats exptStats + ExptTurnAnnotateRecordRef exptTurnAnnotateRecordRef + ExptTurnEvaluatorResultRef exptTurnEvaluatorResultRef + ExptTurnResult exptTurnResult + ExptTurnResultFilterKeyMapping exptTurnResultFilterKeyMapping + ExptTurnResultRunLog exptTurnResultRunLog + ExptTurnResultTagRef exptTurnResultTagRef } func (q *Query) Available() bool { return q.db != nil } func (q *Query) clone(db *gorm.DB) *Query { return &Query{ - db: db, - AnnotateRecord: q.AnnotateRecord.clone(db), - Experiment: q.Experiment.clone(db), - ExptAggrResult: q.ExptAggrResult.clone(db), - ExptEvaluatorRef: q.ExptEvaluatorRef.clone(db), - ExptItemResult: q.ExptItemResult.clone(db), - ExptItemResultRunLog: q.ExptItemResultRunLog.clone(db), - ExptResultExportRecord: q.ExptResultExportRecord.clone(db), - ExptRunLog: q.ExptRunLog.clone(db), - ExptStats: q.ExptStats.clone(db), - ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.clone(db), - ExptTurnEvaluatorResultRef: q.ExptTurnEvaluatorResultRef.clone(db), - ExptTurnResult: q.ExptTurnResult.clone(db), - ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.clone(db), - ExptTurnResultRunLog: q.ExptTurnResultRunLog.clone(db), - ExptTurnResultTagRef: q.ExptTurnResultTagRef.clone(db), + db: db, + AnnotateRecord: q.AnnotateRecord.clone(db), + Experiment: q.Experiment.clone(db), + ExptAggrResult: q.ExptAggrResult.clone(db), + ExptEvaluatorRef: q.ExptEvaluatorRef.clone(db), + ExptInsightAnalysisFeedbackComment: q.ExptInsightAnalysisFeedbackComment.clone(db), + ExptInsightAnalysisFeedbackVote: q.ExptInsightAnalysisFeedbackVote.clone(db), + ExptInsightAnalysisRecord: q.ExptInsightAnalysisRecord.clone(db), + ExptItemResult: q.ExptItemResult.clone(db), + ExptItemResultRunLog: q.ExptItemResultRunLog.clone(db), + ExptResultExportRecord: q.ExptResultExportRecord.clone(db), + ExptRunLog: q.ExptRunLog.clone(db), + ExptStats: q.ExptStats.clone(db), + ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.clone(db), + ExptTurnEvaluatorResultRef: q.ExptTurnEvaluatorResultRef.clone(db), + ExptTurnResult: q.ExptTurnResult.clone(db), + ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.clone(db), + ExptTurnResultRunLog: q.ExptTurnResultRunLog.clone(db), + ExptTurnResultTagRef: q.ExptTurnResultTagRef.clone(db), } } @@ -89,60 +98,69 @@ func (q *Query) WriteDB() *Query { func (q *Query) ReplaceDB(db *gorm.DB) *Query { return &Query{ - db: db, - AnnotateRecord: q.AnnotateRecord.replaceDB(db), - Experiment: q.Experiment.replaceDB(db), - ExptAggrResult: q.ExptAggrResult.replaceDB(db), - ExptEvaluatorRef: q.ExptEvaluatorRef.replaceDB(db), - ExptItemResult: q.ExptItemResult.replaceDB(db), - ExptItemResultRunLog: q.ExptItemResultRunLog.replaceDB(db), - ExptResultExportRecord: q.ExptResultExportRecord.replaceDB(db), - ExptRunLog: q.ExptRunLog.replaceDB(db), - ExptStats: q.ExptStats.replaceDB(db), - ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.replaceDB(db), - ExptTurnEvaluatorResultRef: q.ExptTurnEvaluatorResultRef.replaceDB(db), - ExptTurnResult: q.ExptTurnResult.replaceDB(db), - ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.replaceDB(db), - ExptTurnResultRunLog: q.ExptTurnResultRunLog.replaceDB(db), - ExptTurnResultTagRef: q.ExptTurnResultTagRef.replaceDB(db), + db: db, + AnnotateRecord: q.AnnotateRecord.replaceDB(db), + Experiment: q.Experiment.replaceDB(db), + ExptAggrResult: q.ExptAggrResult.replaceDB(db), + ExptEvaluatorRef: q.ExptEvaluatorRef.replaceDB(db), + ExptInsightAnalysisFeedbackComment: q.ExptInsightAnalysisFeedbackComment.replaceDB(db), + ExptInsightAnalysisFeedbackVote: q.ExptInsightAnalysisFeedbackVote.replaceDB(db), + ExptInsightAnalysisRecord: q.ExptInsightAnalysisRecord.replaceDB(db), + ExptItemResult: q.ExptItemResult.replaceDB(db), + ExptItemResultRunLog: q.ExptItemResultRunLog.replaceDB(db), + ExptResultExportRecord: q.ExptResultExportRecord.replaceDB(db), + ExptRunLog: q.ExptRunLog.replaceDB(db), + ExptStats: q.ExptStats.replaceDB(db), + ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.replaceDB(db), + ExptTurnEvaluatorResultRef: q.ExptTurnEvaluatorResultRef.replaceDB(db), + ExptTurnResult: q.ExptTurnResult.replaceDB(db), + ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.replaceDB(db), + ExptTurnResultRunLog: q.ExptTurnResultRunLog.replaceDB(db), + ExptTurnResultTagRef: q.ExptTurnResultTagRef.replaceDB(db), } } type queryCtx struct { - AnnotateRecord *annotateRecordDo - Experiment *experimentDo - ExptAggrResult *exptAggrResultDo - ExptEvaluatorRef *exptEvaluatorRefDo - ExptItemResult *exptItemResultDo - ExptItemResultRunLog *exptItemResultRunLogDo - ExptResultExportRecord *exptResultExportRecordDo - ExptRunLog *exptRunLogDo - ExptStats *exptStatsDo - ExptTurnAnnotateRecordRef *exptTurnAnnotateRecordRefDo - ExptTurnEvaluatorResultRef *exptTurnEvaluatorResultRefDo - ExptTurnResult *exptTurnResultDo - ExptTurnResultFilterKeyMapping *exptTurnResultFilterKeyMappingDo - ExptTurnResultRunLog *exptTurnResultRunLogDo - ExptTurnResultTagRef *exptTurnResultTagRefDo + AnnotateRecord *annotateRecordDo + Experiment *experimentDo + ExptAggrResult *exptAggrResultDo + ExptEvaluatorRef *exptEvaluatorRefDo + ExptInsightAnalysisFeedbackComment *exptInsightAnalysisFeedbackCommentDo + ExptInsightAnalysisFeedbackVote *exptInsightAnalysisFeedbackVoteDo + ExptInsightAnalysisRecord *exptInsightAnalysisRecordDo + ExptItemResult *exptItemResultDo + ExptItemResultRunLog *exptItemResultRunLogDo + ExptResultExportRecord *exptResultExportRecordDo + ExptRunLog *exptRunLogDo + ExptStats *exptStatsDo + ExptTurnAnnotateRecordRef *exptTurnAnnotateRecordRefDo + ExptTurnEvaluatorResultRef *exptTurnEvaluatorResultRefDo + ExptTurnResult *exptTurnResultDo + ExptTurnResultFilterKeyMapping *exptTurnResultFilterKeyMappingDo + ExptTurnResultRunLog *exptTurnResultRunLogDo + ExptTurnResultTagRef *exptTurnResultTagRefDo } func (q *Query) WithContext(ctx context.Context) *queryCtx { return &queryCtx{ - AnnotateRecord: q.AnnotateRecord.WithContext(ctx), - Experiment: q.Experiment.WithContext(ctx), - ExptAggrResult: q.ExptAggrResult.WithContext(ctx), - ExptEvaluatorRef: q.ExptEvaluatorRef.WithContext(ctx), - ExptItemResult: q.ExptItemResult.WithContext(ctx), - ExptItemResultRunLog: q.ExptItemResultRunLog.WithContext(ctx), - ExptResultExportRecord: q.ExptResultExportRecord.WithContext(ctx), - ExptRunLog: q.ExptRunLog.WithContext(ctx), - ExptStats: q.ExptStats.WithContext(ctx), - ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.WithContext(ctx), - ExptTurnEvaluatorResultRef: q.ExptTurnEvaluatorResultRef.WithContext(ctx), - ExptTurnResult: q.ExptTurnResult.WithContext(ctx), - ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.WithContext(ctx), - ExptTurnResultRunLog: q.ExptTurnResultRunLog.WithContext(ctx), - ExptTurnResultTagRef: q.ExptTurnResultTagRef.WithContext(ctx), + AnnotateRecord: q.AnnotateRecord.WithContext(ctx), + Experiment: q.Experiment.WithContext(ctx), + ExptAggrResult: q.ExptAggrResult.WithContext(ctx), + ExptEvaluatorRef: q.ExptEvaluatorRef.WithContext(ctx), + ExptInsightAnalysisFeedbackComment: q.ExptInsightAnalysisFeedbackComment.WithContext(ctx), + ExptInsightAnalysisFeedbackVote: q.ExptInsightAnalysisFeedbackVote.WithContext(ctx), + ExptInsightAnalysisRecord: q.ExptInsightAnalysisRecord.WithContext(ctx), + ExptItemResult: q.ExptItemResult.WithContext(ctx), + ExptItemResultRunLog: q.ExptItemResultRunLog.WithContext(ctx), + ExptResultExportRecord: q.ExptResultExportRecord.WithContext(ctx), + ExptRunLog: q.ExptRunLog.WithContext(ctx), + ExptStats: q.ExptStats.WithContext(ctx), + ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.WithContext(ctx), + ExptTurnEvaluatorResultRef: q.ExptTurnEvaluatorResultRef.WithContext(ctx), + ExptTurnResult: q.ExptTurnResult.WithContext(ctx), + ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.WithContext(ctx), + ExptTurnResultRunLog: q.ExptTurnResultRunLog.WithContext(ctx), + ExptTurnResultTagRef: q.ExptTurnResultTagRef.WithContext(ctx), } } diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go.rej b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go.rej new file mode 100644 index 000000000..b8d744074 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go.rej @@ -0,0 +1,109 @@ +diff a/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go b/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query/gen.go (rejected hunks) +@@ -29,10 +29,13 @@ func Use(db *gorm.DB, opts ...gen.DOOption) *Query { + ExptTurnResult: newExptTurnResult(db, opts...), + ExptTurnResultFilterKeyMapping: newExptTurnResultFilterKeyMapping(db, opts...), + ExptTurnResultRunLog: newExptTurnResultRunLog(db, opts...), +- ExptTurnResultTagRef: newExptTurnResultTagRef(db, opts...), +- ExptTurnAnnotateRecordRef: newExptTurnAnnotateRecordRef(db, opts...), +- AnnotateRecord: newAnnotateRecord(db, opts...), +- ExptResultExportRecord: newExptResultExportRecord(db, opts...), ++ ExptTurnResultTagRef: newExptTurnResultTagRef(db, opts...), ++ ExptTurnAnnotateRecordRef: newExptTurnAnnotateRecordRef(db, opts...), ++ AnnotateRecord: newAnnotateRecord(db, opts...), ++ ExptResultExportRecord: newExptResultExportRecord(db, opts...), ++ ExptInsightAnalysisRecord: newExptInsightAnalysisRecord(db, opts...), ++ ExptInsightAnalysisFeedbackComment: newExptInsightAnalysisFeedbackComment(db, opts...), ++ ExptInsightAnalysisFeedbackVote: newExptInsightAnalysisFeedbackVote(db, opts...), + } + } + +@@ -50,10 +53,13 @@ type Query struct { + ExptTurnResult exptTurnResult + ExptTurnResultFilterKeyMapping exptTurnResultFilterKeyMapping + ExptTurnResultRunLog exptTurnResultRunLog +- ExptTurnResultTagRef exptTurnResultTagRef +- ExptTurnAnnotateRecordRef exptTurnAnnotateRecordRef +- AnnotateRecord annotateRecord +- ExptResultExportRecord exptResultExportRecord ++ ExptTurnResultTagRef exptTurnResultTagRef ++ ExptTurnAnnotateRecordRef exptTurnAnnotateRecordRef ++ AnnotateRecord annotateRecord ++ ExptResultExportRecord exptResultExportRecord ++ ExptInsightAnalysisRecord exptInsightAnalysisRecord ++ ExptInsightAnalysisFeedbackComment exptInsightAnalysisFeedbackComment ++ ExptInsightAnalysisFeedbackVote exptInsightAnalysisFeedbackVote + } + + func (q *Query) Available() bool { return q.db != nil } +@@ -72,10 +78,13 @@ func (q *Query) clone(db *gorm.DB) *Query { + ExptTurnResult: q.ExptTurnResult.clone(db), + ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.clone(db), + ExptTurnResultRunLog: q.ExptTurnResultRunLog.clone(db), +- ExptTurnResultTagRef: q.ExptTurnResultTagRef.clone(db), +- ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.clone(db), +- AnnotateRecord: q.AnnotateRecord.clone(db), +- ExptResultExportRecord: q.ExptResultExportRecord.clone(db), ++ ExptTurnResultTagRef: q.ExptTurnResultTagRef.clone(db), ++ ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.clone(db), ++ AnnotateRecord: q.AnnotateRecord.clone(db), ++ ExptResultExportRecord: q.ExptResultExportRecord.clone(db), ++ ExptInsightAnalysisRecord: q.ExptInsightAnalysisRecord.clone(db), ++ ExptInsightAnalysisFeedbackComment: q.ExptInsightAnalysisFeedbackComment.clone(db), ++ ExptInsightAnalysisFeedbackVote: q.ExptInsightAnalysisFeedbackVote.clone(db), + } + } + +@@ -101,10 +110,13 @@ func (q *Query) ReplaceDB(db *gorm.DB) *Query { + ExptTurnResult: q.ExptTurnResult.replaceDB(db), + ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.replaceDB(db), + ExptTurnResultRunLog: q.ExptTurnResultRunLog.replaceDB(db), +- ExptTurnResultTagRef: q.ExptTurnResultTagRef.replaceDB(db), +- ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.replaceDB(db), +- AnnotateRecord: q.AnnotateRecord.replaceDB(db), +- ExptResultExportRecord: q.ExptResultExportRecord.replaceDB(db), ++ ExptTurnResultTagRef: q.ExptTurnResultTagRef.replaceDB(db), ++ ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.replaceDB(db), ++ AnnotateRecord: q.AnnotateRecord.replaceDB(db), ++ ExptResultExportRecord: q.ExptResultExportRecord.replaceDB(db), ++ ExptInsightAnalysisRecord: q.ExptInsightAnalysisRecord.replaceDB(db), ++ ExptInsightAnalysisFeedbackComment: q.ExptInsightAnalysisFeedbackComment.replaceDB(db), ++ ExptInsightAnalysisFeedbackVote: q.ExptInsightAnalysisFeedbackVote.replaceDB(db), + } + } + +@@ -120,10 +132,13 @@ type queryCtx struct { + ExptTurnResult *exptTurnResultDo + ExptTurnResultFilterKeyMapping *exptTurnResultFilterKeyMappingDo + ExptTurnResultRunLog *exptTurnResultRunLogDo +- ExptTurnResultTagRef *exptTurnResultTagRefDo +- ExptTurnAnnotateRecordRef *exptTurnAnnotateRecordRefDo +- AnnotateRecord *annotateRecordDo +- ExptResultExportRecord *exptResultExportRecordDo ++ ExptTurnResultTagRef *exptTurnResultTagRefDo ++ ExptTurnAnnotateRecordRef *exptTurnAnnotateRecordRefDo ++ AnnotateRecord *annotateRecordDo ++ ExptResultExportRecord *exptResultExportRecordDo ++ ExptInsightAnalysisRecord *exptInsightAnalysisRecordDo ++ ExptInsightAnalysisFeedbackComment *exptInsightAnalysisFeedbackCommentDo ++ ExptInsightAnalysisFeedbackVote *exptInsightAnalysisFeedbackVoteDo + } + + func (q *Query) WithContext(ctx context.Context) *queryCtx { +@@ -139,10 +154,13 @@ func (q *Query) WithContext(ctx context.Context) *queryCtx { + ExptTurnResult: q.ExptTurnResult.WithContext(ctx), + ExptTurnResultFilterKeyMapping: q.ExptTurnResultFilterKeyMapping.WithContext(ctx), + ExptTurnResultRunLog: q.ExptTurnResultRunLog.WithContext(ctx), +- ExptTurnResultTagRef: q.ExptTurnResultTagRef.WithContext(ctx), +- ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.WithContext(ctx), +- AnnotateRecord: q.AnnotateRecord.WithContext(ctx), +- ExptResultExportRecord: q.ExptResultExportRecord.WithContext(ctx), ++ ExptTurnResultTagRef: q.ExptTurnResultTagRef.WithContext(ctx), ++ ExptTurnAnnotateRecordRef: q.ExptTurnAnnotateRecordRef.WithContext(ctx), ++ AnnotateRecord: q.AnnotateRecord.WithContext(ctx), ++ ExptResultExportRecord: q.ExptResultExportRecord.WithContext(ctx), ++ ExptInsightAnalysisRecord: q.ExptInsightAnalysisRecord.WithContext(ctx), ++ ExptInsightAnalysisFeedbackComment: q.ExptInsightAnalysisFeedbackComment.WithContext(ctx), ++ ExptInsightAnalysisFeedbackVote: q.ExptInsightAnalysisFeedbackVote.WithContext(ctx), + } + } + diff --git a/backend/modules/evaluation/infra/rpc/agent/agent.go b/backend/modules/evaluation/infra/rpc/agent/agent.go new file mode 100644 index 000000000..c0e7c70c6 --- /dev/null +++ b/backend/modules/evaluation/infra/rpc/agent/agent.go @@ -0,0 +1,52 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package agent + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" +) + +type AgentAdapter struct { + //traceagentservice.Client +} + +func NewAgentAdapter() rpc.IAgentAdapter { + return &AgentAdapter{} +} + +func (a AgentAdapter) CallTraceAgent(ctx context.Context, spaceID int64, url string) (int64, error) { + //req := &trace_agent.CallTraceAgentRequest{ + // SpaceID: ptr.Of(spaceID), + // CsvURL: ptr.Of(url), + //} + //resp, err := a.Client.CallTraceAgent(ctx, req) + //if err != nil { + // return 0, err + //} + // + //if resp.ReportID == nil { + // return 0, fmt.Errorf("empty report id") + //} + // + //return ptr.From(resp.ReportID), nil + return 0, nil +} + +func (a AgentAdapter) GetReport(ctx context.Context, spaceID, reportID int64) (report string, status entity.ReportStatus, err error) { + //req := &trace_agent.GetReportRequest{ + // SpaceID: ptr.Of(spaceID), + // ReportID: ptr.Of(reportID), + //} + //resp, err := a.Client.GetReport(ctx, req) + //if err != nil { + // return "", 0, err + //} + // + //return ptr.From(resp.Report), entity.ReportStatus(ptr.From(resp.Status)), nil + + return "", 0, nil +} diff --git a/backend/modules/prompt/infra/repo/mysql/gorm_gen/model/prompt_label.gen.go b/backend/modules/prompt/infra/repo/mysql/gorm_gen/model/prompt_label.gen.go index 44b95dca9..240bca8c9 100644 --- a/backend/modules/prompt/infra/repo/mysql/gorm_gen/model/prompt_label.gen.go +++ b/backend/modules/prompt/infra/repo/mysql/gorm_gen/model/prompt_label.gen.go @@ -14,14 +14,14 @@ const TableNamePromptLabel = "prompt_label" // PromptLabel Prompt Label表 type PromptLabel struct { - ID int64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true;comment:主键ID" json:"id"` // 主键ID - SpaceID int64 `gorm:"column:space_id;type:bigint(20) unsigned;not null;uniqueIndex:uniq_space_id_label_key,priority:1;comment:空间ID" json:"space_id"` // 空间ID - LabelKey string `gorm:"column:label_key;type:varchar(128);not null;uniqueIndex:uniq_space_id_label_key,priority:2;comment:Label唯一标识" json:"label_key"` // Label唯一标识 - CreatedBy string `gorm:"column:created_by;type:varchar(128);not null;comment:创建人" json:"created_by"` // 创建人 - CreatedAt time.Time `gorm:"column:created_at;type:datetime;not null;index:idx_created_at,priority:1;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间 - UpdatedBy string `gorm:"column:updated_by;type:varchar(128);not null;comment:更新人" json:"updated_by"` // 更新人 - UpdatedAt time.Time `gorm:"column:updated_at;type:datetime;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间 - DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:bigint(20);not null;uniqueIndex:uniq_space_id_label_key,priority:3;column:deleted_at;not null;default:0;softDelete:milli;comment:删除时间" json:"deleted_at"` // 删除时间 + ID int64 `gorm:"column:id;type:bigint(20) unsigned;primaryKey;autoIncrement:true;comment:主键ID" json:"id"` // 主键ID + SpaceID int64 `gorm:"column:space_id;type:bigint(20) unsigned;not null;uniqueIndex:uniq_space_id_label_key_deleted_at,priority:1;comment:空间ID" json:"space_id"` // 空间ID + LabelKey string `gorm:"column:label_key;type:varchar(128);not null;uniqueIndex:uniq_space_id_label_key_deleted_at,priority:2;comment:Label唯一标识" json:"label_key"` // Label唯一标识 + CreatedBy string `gorm:"column:created_by;type:varchar(128);not null;comment:创建人" json:"created_by"` // 创建人 + CreatedAt time.Time `gorm:"column:created_at;type:datetime;not null;index:idx_created_at,priority:1;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间 + UpdatedBy string `gorm:"column:updated_by;type:varchar(128);not null;comment:更新人" json:"updated_by"` // 更新人 + UpdatedAt time.Time `gorm:"column:updated_at;type:datetime;not null;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间 + DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at;type:bigint(20);not null;uniqueIndex:uniq_space_id_label_key_deleted_at,priority:3;column:deleted_at;not null;default:0;softDelete:milli;comment:删除时间" json:"deleted_at"` // 删除时间 } // TableName PromptLabel's table name diff --git a/backend/script/gorm_gen/generate.go b/backend/script/gorm_gen/generate.go index ba10161ba..86b3e8eae 100644 --- a/backend/script/gorm_gen/generate.go +++ b/backend/script/gorm_gen/generate.go @@ -199,6 +199,9 @@ func generateForEvaluationExpt(db *gorm.DB) { "expt_turn_result_tag_ref", "expt_turn_annotate_record_ref", "expt_result_export_record", + "expt_insight_analysis_record", + "expt_insight_analysis_feedback_comment", + "expt_insight_analysis_feedback_vote", } var models []any diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index a555edcea..a68e9898e 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -451,6 +451,100 @@ struct GetExptResultExportRecordResponse { } +struct GetExptInsightAnalysisRecordRequest { + 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') + 3: required i64 insight_analysis_record_id (api.path = 'insight_analysis_record_id', api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') + + + 200: optional common.Session session + 255: optional base.Base Base +} + +struct GetExptInsightAnalysisRecordResponse { + 1: optional expt.ExptInsightAnalysisRecord expt_result_export_record + + 255: base.BaseResp BaseResp +} + +struct InsightAnalysisExperimentRequest { + 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') + + 200: optional common.Session session + 255: optional base.Base Base +} + +struct InsightAnalysisExperimentResponse { + 1: required i64 insight_analysis_record_id (api.body = "insight_analysis_record_id", api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') + + 255: base.BaseResp BaseResp +} + +struct ListExptInsightAnalysisRecordRequest { + 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') + 3: optional i32 page_number (api.body='page_number') + 4: optional i32 page_size (api.body='page_size') + + 200: optional common.Session session + 255: optional base.Base Base +} + +struct ListExptInsightAnalysisRecordResponse { + 1: required list expt_result_export_records + 20: optional i64 total (api.body = "total", go.tag = 'json:"total"') + 255: base.BaseResp BaseResp +} + +struct DeleteExptInsightAnalysisRecordRequest { + 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') + 3: required i64 insight_analysis_record_id (api.path = 'insight_analysis_record_id', api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') + + + 200: optional common.Session session + 255: optional base.Base Base +} + +struct DeleteExptInsightAnalysisRecordResponse { + + 255: base.BaseResp BaseResp +} + +struct FeedbackExptInsightAnalysisReportRequest { + 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') + 3: required i64 insight_analysis_record_id (api.path = 'export_id', api.js_conv = 'true', go.tag = 'json:"export_id"') + 4: required expt.FeedbackActionType FeedbackActionType + 5: optional string comment + + + 200: optional common.Session session + 255: optional base.Base Base +} + +struct FeedbackExptInsightAnalysisReportResponse { + + 255: base.BaseResp BaseResp +} + +struct ListExptInsightAnalysisCommentRequest { + 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') + 3: required i64 insight_analysis_record_id (api.path = 'export_id', api.js_conv = 'true', go.tag = 'json:"export_id"') + 4: optional i32 page_number (api.body='page_number') + 5: optional i32 page_size (api.body='page_size') + + 200: optional common.Session session + 255: optional base.Base Base +} + +struct ListExptInsightAnalysisCommentResponse { + 1: required list expt_insight_analysis_feedback_comments + 20: optional i64 total (api.body = "total", go.tag = 'json:"total"') + 255: base.BaseResp BaseResp +} service ExperimentService { @@ -506,5 +600,13 @@ service ExperimentService { ExportExptResultResponse ExportExptResult(1: ExportExptResultRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/results/export") ListExptResultExportRecordResponse ListExptResultExportRecord(1: ListExptResultExportRecordRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/export_records/list") GetExptResultExportRecordResponse GetExptResultExportRecord(1: GetExptResultExportRecordRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/export_records/:export_id") + + // 报告分析 + InsightAnalysisExperimentResponse InsightAnalysisExperiment(1: InsightAnalysisExperimentRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/insight_analysis") + ListExptInsightAnalysisRecordResponse ListExptInsightAnalysisRecord(1: ListExptInsightAnalysisRecordRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/list") + DeleteExptInsightAnalysisRecordResponse DeleteExptInsightAnalysisRecord(1: DeleteExptInsightAnalysisRecordRequest req) (api.delete="/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id") + GetExptInsightAnalysisRecordResponse GetExptInsightAnalysisRecord(1: GetExptInsightAnalysisRecordRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id") + FeedbackExptInsightAnalysisReportResponse FeedbackExptInsightAnalysisReport(1: FeedbackExptInsightAnalysisReportRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id/feedback") + ListExptInsightAnalysisCommentResponse ListExptInsightAnalysisComment(1: ListExptInsightAnalysisCommentRequest req) (api.post="/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id/comments/list") } diff --git a/idl/thrift/coze/loop/evaluation/domain/expt.thrift b/idl/thrift/coze/loop/evaluation/domain/expt.thrift index b6fb2f082..d0ba2561f 100644 --- a/idl/thrift/coze/loop/evaluation/domain/expt.thrift +++ b/idl/thrift/coze/loop/evaluation/domain/expt.thrift @@ -447,3 +447,63 @@ struct ExptResultExportRecord { 9: optional bool expired 10: optional RunError error } + +// 分析任务状态 +typedef string InsightAnalysisStatus(ts.enum="true") + +const InsightAnalysisStatus InsightAnalysisStatus_Unknown = "Unknown" +const InsightAnalysisStatus InsightAnalysisStatus_Running = "Running" +const InsightAnalysisStatus InsightAnalysisStatus_Success = "Success" +const InsightAnalysisStatus InsightAnalysisStatus_Failed = "Failed" + +// 投票类型 +typedef string InsightAnalysisReportVoteType(ts.enum="true") + +// 未投票 +const InsightAnalysisReportVoteType InsightAnalysisReportVoteType_None = "None" +// 点赞 +const InsightAnalysisReportVoteType InsightAnalysisReportVoteType_Upvote = "Upvote" +// 点踩 +const InsightAnalysisReportVoteType InsightAnalysisReportVoteType_Downvote = "Downvote" + +// 洞察分析记录 +struct ExptInsightAnalysisRecord { + 1: required i64 record_id (api.js_conv='true', go.tag='json:"record_id"') + 2: required i64 workspace_id (api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 3: required i64 expt_id (api.js_conv = 'true', go.tag = 'json:"expt_id"') + 4: required InsightAnalysisStatus analysis_status + 5: optional i64 analysis_report_id (api.js_conv = 'true', go.tag = 'json:"analysis_report_id"') + 6: optional string analysis_report_content + 7: optional ExptInsightAnalysisFeedback expt_insight_analysis_feedback + 8: optional common.BaseInfo base_info +} + +// 洞察分析反馈统计 +struct ExptInsightAnalysisFeedback { + 1: optional i32 upvote_cnt + 2: optional i32 downvote_cnt + // 当前用户点赞状态,用于展示用户是否已点赞点踩 + 3: optional InsightAnalysisReportVoteType current_user_vote_type +} + +// 洞察分析反馈评论 +struct ExptInsightAnalysisFeedbackComment { + 1: required i64 comment_id (api.js_conv='true', go.tag='json:"comment_id"') + 2: required i64 workspace_id (api.js_conv = 'true', go.tag = 'json:"workspace_id"') + 3: required i64 expt_id (api.js_conv = 'true', go.tag = 'json:"expt_id"') + 4: required i64 record_id (api.js_conv='true', go.tag='json:"record_id"') + 5: required string content + 6: optional common.BaseInfo base_info +} + +// 反馈动作 +typedef string FeedbackActionType(ts.enum="true") + +const FeedbackActionType FeedbackActionType_Upvote = "Upvote" +const FeedbackActionType FeedbackActionType_Cancel_Upvote = "CancelUpvote" +const FeedbackActionType FeedbackActionType_Downvote = "Downvote" +const FeedbackActionType FeedbackActionType_Cancel_Downvote = "CancelDownvote" +const FeedbackActionType FeedbackActionType_Create_Comment = "Create_Comment" +const FeedbackActionType FeedbackActionType_Update_Comment = "Update_Comment" +const FeedbackActionType FeedbackActionType_Delete_Comment = "Delete_Comment" + diff --git a/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_comment.sql b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_comment.sql new file mode 100644 index 000000000..025484574 --- /dev/null +++ b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_comment.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS `expt_insight_analysis_feedback_comment` ( + `id` bigint unsigned NOT NULL COMMENT '唯一标识 idgen生成', + `space_id` bigint unsigned NOT NULL COMMENT 'SpaceID', + `expt_id` bigint unsigned NOT NULL COMMENT 'exptID', + `analysis_record_id` bigint unsigned COMMENT '洞察分析记录ID', + `comment` varchar(255) COMMENT '评论内容', + `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者 id', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + KEY `idx_space_id_expt_id_analysis_record_id_created_by` (`space_id`,`expt_id`,`analysis_record_id`,`created_by`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析反馈评论表'; \ No newline at end of file diff --git a/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql new file mode 100644 index 000000000..3694c750e --- /dev/null +++ b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS `expt_insight_analysis_feedback_vote` ( + `id` bigint unsigned NOT NULL COMMENT '唯一标识 idgen生成', + `space_id` bigint unsigned NOT NULL COMMENT 'SpaceID', + `expt_id` bigint unsigned NOT NULL COMMENT 'exptID', + `vote_type` int NOT NULL COMMENT '反馈类型', + `analysis_record_id` bigint unsigned COMMENT '洞察分析记录ID', + `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者 id', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + Unique KEY `uniq_space_id_expt_id_analysis_record_id_created_by` (`space_id`,`expt_id`,`analysis_record_id`,`created_by`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析反馈点赞表' \ No newline at end of file diff --git a/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_record.sql b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_record.sql new file mode 100644 index 000000000..29a2bf7e4 --- /dev/null +++ b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_record.sql @@ -0,0 +1,14 @@ +CREATE TABLE IF NOT EXISTS `expt_insight_analysis_record` ( + `id` bigint unsigned NOT NULL COMMENT '唯一标识 idgen生成', + `space_id` bigint unsigned NOT NULL COMMENT 'SpaceID', + `expt_id` bigint unsigned NOT NULL COMMENT 'exptID', + `status` int NOT NULL COMMENT '状态', + `expt_result_file_path` varchar(255) COMMENT '原始报告文件路径', + `analysis_report_id` bigint unsigned COMMENT '洞察分析报告ID', + `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者 id', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + KEY `idx_space_id_expt_id` (`space_id`,`expt_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析记录表'; \ No newline at end of file From 24d1e5bc80b543120d6933c04a6345d8751288dc Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 11:47:25 +0800 Subject: [PATCH 02/42] update --- .../evaluation/domain/service/insight_analysis_impl.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 45784bde6..f1b494bf0 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -17,6 +17,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" + "github.com/coze-dev/coze-loop/backend/pkg/logs" ) type ExptInsightAnalysisServiceImpl struct { @@ -58,6 +59,12 @@ func (e ExptInsightAnalysisServiceImpl) CreateAnalysisRecord(ctx context.Context return 0, err } + time.Sleep(time.Second) + err = e.GenAnalysisReport(ctx, record.SpaceID, record.ExptID, recordID) + if err != nil { + logs.CtxError(ctx, "GenAnalysisReport err: %v", err) + } + return recordID, nil } From 068eca978838924824e1ceeb98ca92032c059d34 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 12:03:03 +0800 Subject: [PATCH 03/42] update --- .../domain/service/insight_analysis_impl.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index f1b494bf0..9bc0e8768 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -17,7 +17,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" - "github.com/coze-dev/coze-loop/backend/pkg/logs" ) type ExptInsightAnalysisServiceImpl struct { @@ -59,11 +58,11 @@ func (e ExptInsightAnalysisServiceImpl) CreateAnalysisRecord(ctx context.Context return 0, err } - time.Sleep(time.Second) - err = e.GenAnalysisReport(ctx, record.SpaceID, record.ExptID, recordID) - if err != nil { - logs.CtxError(ctx, "GenAnalysisReport err: %v", err) - } + //time.Sleep(time.Second) + //err = e.GenAnalysisReport(ctx, record.SpaceID, record.ExptID, recordID) + //if err != nil { + // logs.CtxError(ctx, "GenAnalysisReport err: %v", err) + //} return recordID, nil } From b823d20cf3e83b30f717583bbe55795718611487 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 12:31:19 +0800 Subject: [PATCH 04/42] update --- .../evaluation/application/experiment_app.go | 49 ++++++++++--------- .../domain/service/expt_export_impl.go.rej | 10 ---- .../domain/service/insight_analysis.go | 2 +- .../domain/service/insight_analysis_impl.go | 2 +- .../infra/mq/rocket/consumer/consumer.go | 2 +- .../infra/mq/rocket/consumer/expt_export.go | 5 +- 6 files changed, 31 insertions(+), 39 deletions(-) delete mode 100644 backend/modules/evaluation/domain/service/expt_export_impl.go.rej diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index c7b6b4b1c..e8661981a 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -40,6 +40,7 @@ type IExperimentApplication interface { service.ExptItemEvalEvent service.ExptAggrResultService service.IExptResultExportService + service.IExptInsightAnalysisService } type experimentApplication struct { @@ -56,11 +57,11 @@ type experimentApplication struct { service.ExptAggrResultService service.IExptResultExportService userInfoService userinfo.UserInfoService + service.IExptInsightAnalysisService - evalTargetService service.IEvalTargetService - evaluationSetItemService service.EvaluationSetItemService - annotateService service.IExptAnnotateService - exptInsightAnalysisService service.IExptInsightAnalysisService + evalTargetService service.IEvalTargetService + evaluationSetItemService service.EvaluationSetItemService + annotateService service.IExptAnnotateService } func NewExperimentApplication( @@ -69,7 +70,7 @@ func NewExperimentApplication( manager service.IExptManager, scheduler service.ExptSchedulerEvent, recordEval service.ExptItemEvalEvent, - // tupleSvc service.IExptTupleService, +// tupleSvc service.IExptTupleService, idgen idgen.IIDGenerator, configer component.IConfiger, auth rpc.IAuthProvider, @@ -85,19 +86,19 @@ func NewExperimentApplication( resultSvc: resultSvc, manager: manager, // tupleSvc: tupleSvc, - idgen: idgen, - configer: configer, - ExptAggrResultService: aggResultSvc, - ExptSchedulerEvent: scheduler, - ExptItemEvalEvent: recordEval, - auth: auth, - userInfoService: userInfoService, - evalTargetService: evalTargetService, - evaluationSetItemService: evaluationSetItemService, - annotateService: annotateService, - tagRPCAdapter: tagRPCAdapter, - IExptResultExportService: exptResultExportService, - exptInsightAnalysisService: exptInsightAnalysisService, + idgen: idgen, + configer: configer, + ExptAggrResultService: aggResultSvc, + ExptSchedulerEvent: scheduler, + ExptItemEvalEvent: recordEval, + auth: auth, + userInfoService: userInfoService, + evalTargetService: evalTargetService, + evaluationSetItemService: evaluationSetItemService, + annotateService: annotateService, + tagRPCAdapter: tagRPCAdapter, + IExptResultExportService: exptResultExportService, + IExptInsightAnalysisService: exptInsightAnalysisService, } } @@ -1098,7 +1099,7 @@ func (e *experimentApplication) InsightAnalysisExperiment(ctx context.Context, r if err != nil { return nil, err } - recordID, err := e.exptInsightAnalysisService.CreateAnalysisRecord(ctx, &entity.ExptInsightAnalysisRecord{ + recordID, err := e.CreateAnalysisRecord(ctx, &entity.ExptInsightAnalysisRecord{ SpaceID: req.GetWorkspaceID(), ExptID: req.GetExptID(), CreatedBy: session.UserID, @@ -1130,7 +1131,7 @@ func (e *experimentApplication) ListExptInsightAnalysisRecord(ctx context.Contex if err != nil { return nil, err } - records, total, err := e.exptInsightAnalysisService.ListAnalysisRecord(ctx, req.GetWorkspaceID(), req.GetExptID(), entity.NewPage(int(req.GetPageNumber()), int(req.GetPageSize())), session) + records, total, err := e.ListAnalysisRecord(ctx, req.GetWorkspaceID(), req.GetExptID(), entity.NewPage(int(req.GetPageNumber()), int(req.GetPageSize())), session) if err != nil { return nil, err } @@ -1161,7 +1162,7 @@ func (e *experimentApplication) DeleteExptInsightAnalysisRecord(ctx context.Cont if err != nil { return nil, err } - err = e.exptInsightAnalysisService.DeleteAnalysisRecord(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID()) + err = e.DeleteAnalysisRecord(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID()) if err != nil { return nil, err } @@ -1180,7 +1181,7 @@ func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context if err != nil { return nil, err } - record, err := e.exptInsightAnalysisService.GetAnalysisRecordByID(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), session) + record, err := e.GetAnalysisRecordByID(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), session) if err != nil { return nil, err } @@ -1219,7 +1220,7 @@ func (e *experimentApplication) FeedbackExptInsightAnalysisReport(ctx context.Co Comment: ptr.Of(req.GetComment()), Session: session, } - err = e.exptInsightAnalysisService.FeedbackExptInsightAnalysisReport(ctx, param) + err = e.FeedbackExptInsightAnalysis(ctx, param) if err != nil { return nil, err } @@ -1237,7 +1238,7 @@ func (e *experimentApplication) ListExptInsightAnalysisComment(ctx context.Conte if err != nil { return nil, err } - comments, total, err := e.exptInsightAnalysisService.ListExptInsightAnalysisFeedbackComment(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), entity.NewPage(int(req.GetPageNumber()), int(req.GetPageSize()))) + comments, total, err := e.ListExptInsightAnalysisFeedbackComment(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), entity.NewPage(int(req.GetPageNumber()), int(req.GetPageSize()))) if err != nil { return nil, err } diff --git a/backend/modules/evaluation/domain/service/expt_export_impl.go.rej b/backend/modules/evaluation/domain/service/expt_export_impl.go.rej deleted file mode 100644 index a710b1ff4..000000000 --- a/backend/modules/evaluation/domain/service/expt_export_impl.go.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/backend/modules/evaluation/domain/service/expt_export_impl.go b/backend/modules/evaluation/domain/service/expt_export_impl.go (rejected hunks) -@@ -187,7 +187,7 @@ func (e ExptResultExportService) ListExportRecord(ctx context.Context, spaceID, - return records, total, nil - } - --func (e ExptResultExportService) DoExportCSV(ctx context.Context, spaceID, exptID, exportID int64) (err error) { -+func (e ExptResultExportService) HandleExportEvent(ctx context.Context, spaceID, exptID, exportID int64) (err error) { - var ( - fileName string - ) diff --git a/backend/modules/evaluation/domain/service/insight_analysis.go b/backend/modules/evaluation/domain/service/insight_analysis.go index 5ba8ec534..6bbcfbb7b 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis.go +++ b/backend/modules/evaluation/domain/service/insight_analysis.go @@ -15,6 +15,6 @@ type IExptInsightAnalysisService interface { GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error) DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error - FeedbackExptInsightAnalysisReport(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error + FeedbackExptInsightAnalysis(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error ListExptInsightAnalysisFeedbackComment(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) } diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 9bc0e8768..957d6fbcb 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -165,7 +165,7 @@ func (e ExptInsightAnalysisServiceImpl) DeleteAnalysisRecord(ctx context.Context return e.repo.DeleteAnalysisRecord(ctx, spaceID, exptID, recordID) } -func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysisReport(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error { +func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysis(ctx context.Context, param *entity.ExptInsightAnalysisFeedbackParam) error { if param.Session == nil { return errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("empty session")) } diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/consumer.go b/backend/modules/evaluation/infra/mq/rocket/consumer/consumer.go index e54b99ea9..483971cc2 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/consumer.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/consumer.go @@ -29,7 +29,7 @@ func NewConsumerWorkers( newExptRecordEvalEventConsumer(NewExptRecordEvalConsumer(exptApp), loader), newExptAggrCalculateEventConsumer(NewAggrCalculateConsumer(exptApp), loader), newExptTurnResultFilterEventConsumer(NewExptTurnResultFilterConsumer(exptApp), loader), - newExptExportEventConsumer(NewExptExportConsumer(exptApp), loader), + newExptExportEventConsumer(NewExptExportConsumer(exptApp, exptApp), loader), }, nil } diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go index 07d43b66a..00d63c842 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go @@ -20,9 +20,10 @@ type ExptExportConsumer struct { exptInsightAnalysisService service.IExptInsightAnalysisService } -func NewExptExportConsumer(exptResultExportService service.IExptResultExportService) mq.IConsumerHandler { +func NewExptExportConsumer(exptResultExportService service.IExptResultExportService, exptInsightAnalysisService service.IExptInsightAnalysisService) mq.IConsumerHandler { return &ExptExportConsumer{ - exptResultExportService: exptResultExportService, + exptResultExportService: exptResultExportService, + exptInsightAnalysisService: exptInsightAnalysisService, } } From a097daff8ee44dd4acbece69d74a78b50bdb5681 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 15:08:31 +0800 Subject: [PATCH 05/42] update --- .../experiment/mysql/expt_insight_analysis_feedback_vote.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go index 6033f0a35..b695e1c32 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -72,7 +72,7 @@ func (e exptInsightAnalysisFeedbackVoteDAO) Count(ctx context.Context, spaceID, DownvoteCount int64 `json:"downvote_count"` } voteStatistic := &VoteStatistic{} - err := db.WithContext(ctx).Model(&VoteStatistic{}). + err := db.WithContext(ctx).Model(&model.ExptInsightAnalysisFeedbackVote{}). Select(fmt.Sprintf("SUM(CASE WHEN vote_type = %v THEN 1 ELSE 0 END) AS upvote_count, SUM(CASE WHEN vote_type = %v THEN 1 ELSE 0 END) AS downvote_count", entity.Upvote, entity.Downvote)). Where("space_id = ? AND expt_id = ? AND analysis_record_id = ?", spaceID, exptID, recordID). Scan(voteStatistic).Error From 93d5283678cb0946dfb4286ebef45f91f44c0554 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 15:46:39 +0800 Subject: [PATCH 06/42] update --- .../modules/evaluation/domain/service/insight_analysis_impl.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 957d6fbcb..e6aae8b79 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -17,6 +17,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" + "github.com/coze-dev/coze-loop/backend/pkg/logs" ) type ExptInsightAnalysisServiceImpl struct { @@ -104,6 +105,7 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s if err != nil { return err } + logs.CtxInfo(ctx, "GenAnalysisReport get csv url=%v", url) reportID, err := e.agentAdapter.CallTraceAgent(ctx, spaceID, url) if err != nil { From 6c73f937e93793d622c97d7346f4d39469e4d8ef Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 17:36:03 +0800 Subject: [PATCH 07/42] update --- .../domain/entity/expt_insight_analysis_record.go | 10 +++++----- .../evaluation/domain/service/insight_analysis_impl.go | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go index 7dc11de65..62e8fe200 100644 --- a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go @@ -91,11 +91,11 @@ type ReportStatus int64 const ( // 未定义 - ReportStatus_Undefined ReportStatus = 0 - // 生成成功 - ReportStatus_Success ReportStatus = 1 + ReportStatus_Unknown ReportStatus = 0 // 进行中 - ReportStatus_InProgress ReportStatus = 2 + ReportStatus_Running ReportStatus = 1 + // 生成成功 + ReportStatus_Success ReportStatus = 2 // 生成失败 - ReportStatus_Failure ReportStatus = 3 + ReportStatus_Failed ReportStatus = 3 ) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index e6aae8b79..886b4bd91 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -132,11 +132,11 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex return nil, err } // 聚合报告生成状态 - if status == entity.ReportStatus_Failure { + if status == entity.ReportStatus_Failed { analysisRecord.Status = entity.InsightAnalysisStatus_Failed return analysisRecord, nil } - if status == entity.ReportStatus_InProgress { + if status == entity.ReportStatus_Running { analysisRecord.Status = entity.InsightAnalysisStatus_Running return analysisRecord, nil } From c0485e27897caf7bad57dc159af0bbf7fe10b40a Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 18:26:25 +0800 Subject: [PATCH 08/42] update --- .../evaluation/domain/service/insight_analysis_impl.go | 7 ++++++- .../mysql/convert/expt_insight_analysis_record.go | 3 +++ .../mysql/expt_insight_analysis_feedback_vote.go | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 886b4bd91..42ef6485c 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -154,8 +154,13 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex analysisRecord.ExptInsightAnalysisFeedback = entity.ExptInsightAnalysisFeedback{ UpvoteCount: upvoteCount, DownvoteCount: downvoteCount, - CurrentUserVoteType: curUserFeedbackVote.VoteType, + CurrentUserVoteType: entity.None, } + + if curUserFeedbackVote != nil { + analysisRecord.ExptInsightAnalysisFeedback.CurrentUserVoteType = curUserFeedbackVote.VoteType + } + return analysisRecord, nil } diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go index b82772159..a99c45fbd 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go @@ -77,6 +77,9 @@ func ExptInsightAnalysisFeedbackVoteDOToPO(vote *entity.ExptInsightAnalysisFeedb } func ExptInsightAnalysisFeedbackVotePOToDO(vote *model.ExptInsightAnalysisFeedbackVote) *entity.ExptInsightAnalysisFeedbackVote { + if vote == nil { + return nil + } return &entity.ExptInsightAnalysisFeedbackVote{ ID: vote.ID, SpaceID: vote.SpaceID, diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go index b695e1c32..8118f4bcb 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -5,6 +5,7 @@ package mysql import ( "context" + "errors" "fmt" "github.com/coze-dev/coze-loop/backend/infra/db" @@ -13,6 +14,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/query" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/json" + "gorm.io/gorm" ) type IExptInsightAnalysisFeedbackVoteDAO interface { @@ -59,6 +61,9 @@ func (e exptInsightAnalysisFeedbackVoteDAO) GetByUser(ctx context.Context, space q.CreatedBy.Eq(userID), ).First() if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return nil, nil + } return nil, errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO GetByUser fail, spaceID: %v, exptID: %v", spaceID, exptID) } From cadda2a058147996e4608effcc3cc6a2eca0740b Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 19:08:30 +0800 Subject: [PATCH 09/42] update --- .../coze/loop/evaluation/coze.loop.evaluation.expt.thrift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index a68e9898e..30e45717f 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -515,7 +515,7 @@ struct DeleteExptInsightAnalysisRecordResponse { struct FeedbackExptInsightAnalysisReportRequest { 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') - 3: required i64 insight_analysis_record_id (api.path = 'export_id', api.js_conv = 'true', go.tag = 'json:"export_id"') + 3: required i64 insight_analysis_record_id (api.path = 'insight_analysis_record_id', api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') 4: required expt.FeedbackActionType FeedbackActionType 5: optional string comment From c245d00e14a646eda47691c8da494ca6f1a219c6 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 19:27:54 +0800 Subject: [PATCH 10/42] update --- .../experiment/expt_insight_analysis.go | 35 +++++++++++++++---- .../evaluation/application/experiment_app.go | 22 +++++++++++- 2 files changed, 50 insertions(+), 7 deletions(-) diff --git a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go index 640ab93e3..0ce722156 100644 --- a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go +++ b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go @@ -14,12 +14,13 @@ import ( func ExptInsightAnalysisRecordDO2DTO(do *entity.ExptInsightAnalysisRecord) *domain_expt.ExptInsightAnalysisRecord { dto := &domain_expt.ExptInsightAnalysisRecord{ - RecordID: do.ID, - WorkspaceID: do.SpaceID, - ExptID: do.ExptID, - AnalysisStatus: InsightAnalysisStatus2DTO(do.Status), - AnalysisReportID: do.AnalysisReportID, - AnalysisReportContent: ptr.Of(do.AnalysisReportContent), + RecordID: do.ID, + WorkspaceID: do.SpaceID, + ExptID: do.ExptID, + AnalysisStatus: InsightAnalysisStatus2DTO(do.Status), + AnalysisReportID: do.AnalysisReportID, + AnalysisReportContent: ptr.Of(do.AnalysisReportContent), + ExptInsightAnalysisFeedback: ExptInsightAnalysisFeedbackDO2DTO(do.ExptInsightAnalysisFeedback), BaseInfo: &domain_common.BaseInfo{ CreatedBy: &domain_common.UserInfo{ UserID: ptr.Of(do.CreatedBy), @@ -31,6 +32,15 @@ func ExptInsightAnalysisRecordDO2DTO(do *entity.ExptInsightAnalysisRecord) *doma return dto } +func ExptInsightAnalysisFeedbackDO2DTO(do entity.ExptInsightAnalysisFeedback) *domain_expt.ExptInsightAnalysisFeedback { + dto := &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(do.UpvoteCount)), + DownvoteCnt: ptr.Of(int32(do.DownvoteCount)), + CurrentUserVoteType: ptr.Of(InsightAnalysisReportVoteType2DTO(do.CurrentUserVoteType)), + } + return dto +} + func InsightAnalysisStatus2DTO(status entity.InsightAnalysisStatus) domain_expt.InsightAnalysisStatus { switch status { case entity.InsightAnalysisStatus_Unknown: @@ -66,6 +76,19 @@ func FeedbackActionType2DO(action domain_expt.FeedbackActionType) (entity.Feedba } } +func InsightAnalysisReportVoteType2DTO(voteType entity.InsightAnalysisReportVoteType) domain_expt.InsightAnalysisReportVoteType { + switch voteType { + case entity.None: + return domain_expt.InsightAnalysisReportVoteTypeNone + case entity.Upvote: + return domain_expt.InsightAnalysisReportVoteTypeUpvote + case entity.Downvote: + return domain_expt.InsightAnalysisReportVoteTypeDownvote + default: + return domain_expt.InsightAnalysisReportVoteTypeNone + } +} + func ExptInsightAnalysisFeedbackCommentDO2DTO(do *entity.ExptInsightAnalysisFeedbackComment) *domain_expt.ExptInsightAnalysisFeedbackComment { dto := &domain_expt.ExptInsightAnalysisFeedbackComment{ CommentID: do.ID, diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index e8661981a..6308c7a31 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -70,7 +70,7 @@ func NewExperimentApplication( manager service.IExptManager, scheduler service.ExptSchedulerEvent, recordEval service.ExptItemEvalEvent, -// tupleSvc service.IExptTupleService, + // tupleSvc service.IExptTupleService, idgen idgen.IIDGenerator, configer component.IConfiger, auth rpc.IAuthProvider, @@ -1084,6 +1084,11 @@ func (e *experimentApplication) GetExptResultExportRecord(ctx context.Context, r func (e *experimentApplication) InsightAnalysisExperiment(ctx context.Context, req *expt.InsightAnalysisExperimentRequest) (r *expt.InsightAnalysisExperimentResponse, err error) { session := entity.NewSession(ctx) + if req.Session != nil && req.Session.UserID != nil { + session = &entity.Session{ + UserID: strconv.FormatInt(gptr.Indirect(req.Session.UserID), 10), + } + } got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) if err != nil { return nil, err @@ -1116,6 +1121,11 @@ func (e *experimentApplication) InsightAnalysisExperiment(ctx context.Context, r func (e *experimentApplication) ListExptInsightAnalysisRecord(ctx context.Context, req *expt.ListExptInsightAnalysisRecordRequest) (r *expt.ListExptInsightAnalysisRecordResponse, err error) { session := entity.NewSession(ctx) + if req.Session != nil && req.Session.UserID != nil { + session = &entity.Session{ + UserID: strconv.FormatInt(gptr.Indirect(req.Session.UserID), 10), + } + } got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) if err != nil { return nil, err @@ -1147,6 +1157,11 @@ func (e *experimentApplication) ListExptInsightAnalysisRecord(ctx context.Contex func (e *experimentApplication) DeleteExptInsightAnalysisRecord(ctx context.Context, req *expt.DeleteExptInsightAnalysisRecordRequest) (r *expt.DeleteExptInsightAnalysisRecordResponse, err error) { session := entity.NewSession(ctx) + if req.Session != nil && req.Session.UserID != nil { + session = &entity.Session{ + UserID: strconv.FormatInt(gptr.Indirect(req.Session.UserID), 10), + } + } got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) if err != nil { return nil, err @@ -1193,6 +1208,11 @@ func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context func (e *experimentApplication) FeedbackExptInsightAnalysisReport(ctx context.Context, req *expt.FeedbackExptInsightAnalysisReportRequest) (r *expt.FeedbackExptInsightAnalysisReportResponse, err error) { session := entity.NewSession(ctx) + if req.Session != nil && req.Session.UserID != nil { + session = &entity.Session{ + UserID: strconv.FormatInt(gptr.Indirect(req.Session.UserID), 10), + } + } got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) if err != nil { return nil, err From 7013cb8688f79f0e86da8812f6a4c5566adea87e Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 4 Sep 2025 19:34:59 +0800 Subject: [PATCH 11/42] update --- .../coze/loop/evaluation/coze.loop.evaluation.expt.thrift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index 30e45717f..b6b261632 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -462,7 +462,7 @@ struct GetExptInsightAnalysisRecordRequest { } struct GetExptInsightAnalysisRecordResponse { - 1: optional expt.ExptInsightAnalysisRecord expt_result_export_record + 1: optional expt.ExptInsightAnalysisRecord expt_insight_analysis_record 255: base.BaseResp BaseResp } From 837a85d8eba6cb161539832917f12ba1d3380638 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Fri, 5 Sep 2025 11:39:21 +0800 Subject: [PATCH 12/42] update --- .../experiment/mysql/expt_insight_analysis_feedback_vote.go | 6 +++++- .../coze/loop/evaluation/coze.loop.evaluation.expt.thrift | 2 +- idl/thrift/coze/loop/evaluation/domain/expt.thrift | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go index 8118f4bcb..98bdcf7f3 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -44,7 +44,11 @@ func (e exptInsightAnalysisFeedbackVoteDAO) Create(ctx context.Context, feedback } func (e exptInsightAnalysisFeedbackVoteDAO) Update(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { - if err := e.db.NewSession(ctx, opts...).Model(&model.ExptInsightAnalysisFeedbackVote{}).Where("id = ?", feedbackVote.ID).Updates(feedbackVote).Error; err != nil { + if err := e.db.NewSession(ctx, opts...).Model(&model.ExptInsightAnalysisFeedbackVote{}). + Where("space_id = ?", feedbackVote.SpaceID). + Where("expt_id = ?", feedbackVote.ExptID). + Where("analysis_record_id = ?", feedbackVote.AnalysisRecordID). + Where("created_by = ?", feedbackVote.CreatedBy).Updates(feedbackVote).Error; err != nil { return errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO update fail, model: %v", json.Jsonify(feedbackVote)) } return nil diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index b6b261632..4dcc90962 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -532,7 +532,7 @@ struct FeedbackExptInsightAnalysisReportResponse { struct ListExptInsightAnalysisCommentRequest { 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') - 3: required i64 insight_analysis_record_id (api.path = 'export_id', api.js_conv = 'true', go.tag = 'json:"export_id"') + 3: required i64 insight_analysis_record_id (api.path = 'insight_analysis_record_id', api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') 4: optional i32 page_number (api.body='page_number') 5: optional i32 page_size (api.body='page_size') diff --git a/idl/thrift/coze/loop/evaluation/domain/expt.thrift b/idl/thrift/coze/loop/evaluation/domain/expt.thrift index d0ba2561f..4869d46e9 100644 --- a/idl/thrift/coze/loop/evaluation/domain/expt.thrift +++ b/idl/thrift/coze/loop/evaluation/domain/expt.thrift @@ -500,9 +500,9 @@ struct ExptInsightAnalysisFeedbackComment { typedef string FeedbackActionType(ts.enum="true") const FeedbackActionType FeedbackActionType_Upvote = "Upvote" -const FeedbackActionType FeedbackActionType_Cancel_Upvote = "CancelUpvote" +const FeedbackActionType FeedbackActionType_Cancel_Upvote = "Cancel_Upvote" const FeedbackActionType FeedbackActionType_Downvote = "Downvote" -const FeedbackActionType FeedbackActionType_Cancel_Downvote = "CancelDownvote" +const FeedbackActionType FeedbackActionType_Cancel_Downvote = "Cancel_Downvote" const FeedbackActionType FeedbackActionType_Create_Comment = "Create_Comment" const FeedbackActionType FeedbackActionType_Update_Comment = "Update_Comment" const FeedbackActionType FeedbackActionType_Delete_Comment = "Delete_Comment" From f2fdd79a852dae5f86b68d304050302e7f7fb175 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Fri, 5 Sep 2025 11:59:29 +0800 Subject: [PATCH 13/42] update --- .../coze/loop/evaluation/domain/expt/expt.go | 4 +- .../expt/coze.loop.evaluation.expt.go | 122 ++++++++++++++---- .../coze.loop.evaluation.expt_validator.go | 6 +- .../expt/k-coze.loop.evaluation.expt.go | 73 +++++++++-- .../evaluation/application/experiment_app.go | 7 +- .../entity/expt_insight_analysis_record.go | 1 + .../domain/service/insight_analysis_impl.go | 1 + .../coze.loop.evaluation.expt.thrift | 1 + 8 files changed, 175 insertions(+), 40 deletions(-) diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go b/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go index 829a15cf0..3b06088bc 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/expt/expt.go @@ -42,11 +42,11 @@ const ( FeedbackActionTypeUpvote = "Upvote" - FeedbackActionTypeCancelUpvote = "CancelUpvote" + FeedbackActionTypeCancelUpvote = "Cancel_Upvote" FeedbackActionTypeDownvote = "Downvote" - FeedbackActionTypeCancelDownvote = "CancelDownvote" + FeedbackActionTypeCancelDownvote = "Cancel_Downvote" FeedbackActionTypeCreateComment = "Create_Comment" diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go index 8c02837b4..01bb55e5c 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go @@ -21937,8 +21937,8 @@ func (p *GetExptInsightAnalysisRecordRequest) Field255DeepEqual(src *base.Base) } type GetExptInsightAnalysisRecordResponse struct { - ExptResultExportRecord *expt.ExptInsightAnalysisRecord `thrift:"expt_result_export_record,1,optional" frugal:"1,optional,expt.ExptInsightAnalysisRecord" form:"expt_result_export_record" json:"expt_result_export_record,omitempty" query:"expt_result_export_record"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` + ExptInsightAnalysisRecord *expt.ExptInsightAnalysisRecord `thrift:"expt_insight_analysis_record,1,optional" frugal:"1,optional,expt.ExptInsightAnalysisRecord" form:"expt_insight_analysis_record" json:"expt_insight_analysis_record,omitempty" query:"expt_insight_analysis_record"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } func NewGetExptInsightAnalysisRecordResponse() *GetExptInsightAnalysisRecordResponse { @@ -21948,16 +21948,16 @@ func NewGetExptInsightAnalysisRecordResponse() *GetExptInsightAnalysisRecordResp func (p *GetExptInsightAnalysisRecordResponse) InitDefault() { } -var GetExptInsightAnalysisRecordResponse_ExptResultExportRecord_DEFAULT *expt.ExptInsightAnalysisRecord +var GetExptInsightAnalysisRecordResponse_ExptInsightAnalysisRecord_DEFAULT *expt.ExptInsightAnalysisRecord -func (p *GetExptInsightAnalysisRecordResponse) GetExptResultExportRecord() (v *expt.ExptInsightAnalysisRecord) { +func (p *GetExptInsightAnalysisRecordResponse) GetExptInsightAnalysisRecord() (v *expt.ExptInsightAnalysisRecord) { if p == nil { return } - if !p.IsSetExptResultExportRecord() { - return GetExptInsightAnalysisRecordResponse_ExptResultExportRecord_DEFAULT + if !p.IsSetExptInsightAnalysisRecord() { + return GetExptInsightAnalysisRecordResponse_ExptInsightAnalysisRecord_DEFAULT } - return p.ExptResultExportRecord + return p.ExptInsightAnalysisRecord } var GetExptInsightAnalysisRecordResponse_BaseResp_DEFAULT *base.BaseResp @@ -21971,20 +21971,20 @@ func (p *GetExptInsightAnalysisRecordResponse) GetBaseResp() (v *base.BaseResp) } return p.BaseResp } -func (p *GetExptInsightAnalysisRecordResponse) SetExptResultExportRecord(val *expt.ExptInsightAnalysisRecord) { - p.ExptResultExportRecord = val +func (p *GetExptInsightAnalysisRecordResponse) SetExptInsightAnalysisRecord(val *expt.ExptInsightAnalysisRecord) { + p.ExptInsightAnalysisRecord = val } func (p *GetExptInsightAnalysisRecordResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } var fieldIDToName_GetExptInsightAnalysisRecordResponse = map[int16]string{ - 1: "expt_result_export_record", + 1: "expt_insight_analysis_record", 255: "BaseResp", } -func (p *GetExptInsightAnalysisRecordResponse) IsSetExptResultExportRecord() bool { - return p.ExptResultExportRecord != nil +func (p *GetExptInsightAnalysisRecordResponse) IsSetExptInsightAnalysisRecord() bool { + return p.ExptInsightAnalysisRecord != nil } func (p *GetExptInsightAnalysisRecordResponse) IsSetBaseResp() bool { @@ -22059,7 +22059,7 @@ func (p *GetExptInsightAnalysisRecordResponse) ReadField1(iprot thrift.TProtocol if err := _field.Read(iprot); err != nil { return err } - p.ExptResultExportRecord = _field + p.ExptInsightAnalysisRecord = _field return nil } func (p *GetExptInsightAnalysisRecordResponse) ReadField255(iprot thrift.TProtocol) error { @@ -22104,11 +22104,11 @@ WriteStructEndError: } func (p *GetExptInsightAnalysisRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetExptResultExportRecord() { - if err = oprot.WriteFieldBegin("expt_result_export_record", thrift.STRUCT, 1); err != nil { + if p.IsSetExptInsightAnalysisRecord() { + if err = oprot.WriteFieldBegin("expt_insight_analysis_record", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } - if err := p.ExptResultExportRecord.Write(oprot); err != nil { + if err := p.ExptInsightAnalysisRecord.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -22152,7 +22152,7 @@ func (p *GetExptInsightAnalysisRecordResponse) DeepEqual(ano *GetExptInsightAnal } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.ExptResultExportRecord) { + if !p.Field1DeepEqual(ano.ExptInsightAnalysisRecord) { return false } if !p.Field255DeepEqual(ano.BaseResp) { @@ -22163,7 +22163,7 @@ func (p *GetExptInsightAnalysisRecordResponse) DeepEqual(ano *GetExptInsightAnal func (p *GetExptInsightAnalysisRecordResponse) Field1DeepEqual(src *expt.ExptInsightAnalysisRecord) bool { - if !p.ExptResultExportRecord.DeepEqual(src) { + if !p.ExptInsightAnalysisRecord.DeepEqual(src) { return false } return true @@ -24292,11 +24292,13 @@ func (p *DeleteExptInsightAnalysisRecordResponse) Field255DeepEqual(src *base.Ba type FeedbackExptInsightAnalysisReportRequest struct { WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` - InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"export_id" path:"export_id,required" ` + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"insight_analysis_record_id" path:"insight_analysis_record_id,required" ` FeedbackActionType expt.FeedbackActionType `thrift:"FeedbackActionType,4,required" frugal:"4,required,string" form:"FeedbackActionType,required" json:"FeedbackActionType,required" query:"FeedbackActionType,required"` Comment *string `thrift:"comment,5,optional" frugal:"5,optional,string" form:"comment" json:"comment,omitempty" query:"comment"` - Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` + // 用于更新comment + CommentID *int64 `thrift:"comment_id,6,optional" frugal:"6,optional,i64" json:"comment_id" form:"comment_id" ` + Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } func NewFeedbackExptInsightAnalysisReportRequest() *FeedbackExptInsightAnalysisReportRequest { @@ -24346,6 +24348,18 @@ func (p *FeedbackExptInsightAnalysisReportRequest) GetComment() (v string) { return *p.Comment } +var FeedbackExptInsightAnalysisReportRequest_CommentID_DEFAULT int64 + +func (p *FeedbackExptInsightAnalysisReportRequest) GetCommentID() (v int64) { + if p == nil { + return + } + if !p.IsSetCommentID() { + return FeedbackExptInsightAnalysisReportRequest_CommentID_DEFAULT + } + return *p.CommentID +} + var FeedbackExptInsightAnalysisReportRequest_Session_DEFAULT *common.Session func (p *FeedbackExptInsightAnalysisReportRequest) GetSession() (v *common.Session) { @@ -24384,6 +24398,9 @@ func (p *FeedbackExptInsightAnalysisReportRequest) SetFeedbackActionType(val exp func (p *FeedbackExptInsightAnalysisReportRequest) SetComment(val *string) { p.Comment = val } +func (p *FeedbackExptInsightAnalysisReportRequest) SetCommentID(val *int64) { + p.CommentID = val +} func (p *FeedbackExptInsightAnalysisReportRequest) SetSession(val *common.Session) { p.Session = val } @@ -24397,6 +24414,7 @@ var fieldIDToName_FeedbackExptInsightAnalysisReportRequest = map[int16]string{ 3: "insight_analysis_record_id", 4: "FeedbackActionType", 5: "comment", + 6: "comment_id", 200: "session", 255: "Base", } @@ -24405,6 +24423,10 @@ func (p *FeedbackExptInsightAnalysisReportRequest) IsSetComment() bool { return p.Comment != nil } +func (p *FeedbackExptInsightAnalysisReportRequest) IsSetCommentID() bool { + return p.CommentID != nil +} + func (p *FeedbackExptInsightAnalysisReportRequest) IsSetSession() bool { return p.Session != nil } @@ -24479,6 +24501,14 @@ func (p *FeedbackExptInsightAnalysisReportRequest) Read(iprot thrift.TProtocol) } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } + case 6: + if fieldTypeId == thrift.I64 { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } case 200: if fieldTypeId == thrift.STRUCT { if err = p.ReadField200(iprot); err != nil { @@ -24600,6 +24630,17 @@ func (p *FeedbackExptInsightAnalysisReportRequest) ReadField5(iprot thrift.TProt p.Comment = _field return nil } +func (p *FeedbackExptInsightAnalysisReportRequest) ReadField6(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.CommentID = _field + return nil +} func (p *FeedbackExptInsightAnalysisReportRequest) ReadField200(iprot thrift.TProtocol) error { _field := common.NewSession() if err := _field.Read(iprot); err != nil { @@ -24643,6 +24684,10 @@ func (p *FeedbackExptInsightAnalysisReportRequest) Write(oprot thrift.TProtocol) fieldId = 5 goto WriteFieldError } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } if err = p.writeField200(oprot); err != nil { fieldId = 200 goto WriteFieldError @@ -24751,6 +24796,24 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } +func (p *FeedbackExptInsightAnalysisReportRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetCommentID() { + if err = oprot.WriteFieldBegin("comment_id", thrift.I64, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.CommentID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} func (p *FeedbackExptInsightAnalysisReportRequest) writeField200(oprot thrift.TProtocol) (err error) { if p.IsSetSession() { if err = oprot.WriteFieldBegin("session", thrift.STRUCT, 200); err != nil { @@ -24817,6 +24880,9 @@ func (p *FeedbackExptInsightAnalysisReportRequest) DeepEqual(ano *FeedbackExptIn if !p.Field5DeepEqual(ano.Comment) { return false } + if !p.Field6DeepEqual(ano.CommentID) { + return false + } if !p.Field200DeepEqual(ano.Session) { return false } @@ -24866,6 +24932,18 @@ func (p *FeedbackExptInsightAnalysisReportRequest) Field5DeepEqual(src *string) } return true } +func (p *FeedbackExptInsightAnalysisReportRequest) Field6DeepEqual(src *int64) bool { + + if p.CommentID == src { + return true + } else if p.CommentID == nil || src == nil { + return false + } + if *p.CommentID != *src { + return false + } + return true +} func (p *FeedbackExptInsightAnalysisReportRequest) Field200DeepEqual(src *common.Session) bool { if !p.Session.DeepEqual(src) { @@ -25055,7 +25133,7 @@ func (p *FeedbackExptInsightAnalysisReportResponse) Field255DeepEqual(src *base. type ListExptInsightAnalysisCommentRequest struct { WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` - InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"export_id" path:"export_id,required" ` + InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"insight_analysis_record_id" path:"insight_analysis_record_id,required" ` PageNumber *int32 `thrift:"page_number,4,optional" frugal:"4,optional,i32" form:"page_number" json:"page_number,omitempty"` PageSize *int32 `thrift:"page_size,5,optional" frugal:"5,optional,i32" form:"page_size" json:"page_size,omitempty"` Session *common.Session `thrift:"session,200,optional" frugal:"200,optional,common.Session" form:"session" json:"session,omitempty" query:"session"` diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go index c4dada673..ff22acd7d 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt_validator.go @@ -576,9 +576,9 @@ func (p *GetExptInsightAnalysisRecordRequest) IsValid() error { return nil } func (p *GetExptInsightAnalysisRecordResponse) IsValid() error { - if p.ExptResultExportRecord != nil { - if err := p.ExptResultExportRecord.IsValid(); err != nil { - return fmt.Errorf("field ExptResultExportRecord not valid, %w", err) + if p.ExptInsightAnalysisRecord != nil { + if err := p.ExptInsightAnalysisRecord.IsValid(); err != nil { + return fmt.Errorf("field ExptInsightAnalysisRecord not valid, %w", err) } } if p.BaseResp != nil { diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go index eec9bb0e3..2e7fedf15 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go @@ -16128,7 +16128,7 @@ func (p *GetExptInsightAnalysisRecordResponse) FastReadField1(buf []byte) (int, } else { offset += l } - p.ExptResultExportRecord = _field + p.ExptInsightAnalysisRecord = _field return offset, nil } @@ -16170,9 +16170,9 @@ func (p *GetExptInsightAnalysisRecordResponse) BLength() int { func (p *GetExptInsightAnalysisRecordResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetExptResultExportRecord() { + if p.IsSetExptInsightAnalysisRecord() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.ExptResultExportRecord.FastWriteNocopy(buf[offset:], w) + offset += p.ExptInsightAnalysisRecord.FastWriteNocopy(buf[offset:], w) } return offset } @@ -16186,9 +16186,9 @@ func (p *GetExptInsightAnalysisRecordResponse) fastWriteField255(buf []byte, w t func (p *GetExptInsightAnalysisRecordResponse) field1Length() int { l := 0 - if p.IsSetExptResultExportRecord() { + if p.IsSetExptInsightAnalysisRecord() { l += thrift.Binary.FieldBeginLength() - l += p.ExptResultExportRecord.BLength() + l += p.ExptInsightAnalysisRecord.BLength() } return l } @@ -16206,14 +16206,14 @@ func (p *GetExptInsightAnalysisRecordResponse) DeepCopy(s interface{}) error { return fmt.Errorf("%T's type not matched %T", s, p) } - var _exptResultExportRecord *expt.ExptInsightAnalysisRecord - if src.ExptResultExportRecord != nil { - _exptResultExportRecord = &expt.ExptInsightAnalysisRecord{} - if err := _exptResultExportRecord.DeepCopy(src.ExptResultExportRecord); err != nil { + var _exptInsightAnalysisRecord *expt.ExptInsightAnalysisRecord + if src.ExptInsightAnalysisRecord != nil { + _exptInsightAnalysisRecord = &expt.ExptInsightAnalysisRecord{} + if err := _exptInsightAnalysisRecord.DeepCopy(src.ExptInsightAnalysisRecord); err != nil { return err } } - p.ExptResultExportRecord = _exptResultExportRecord + p.ExptInsightAnalysisRecord = _exptInsightAnalysisRecord var _baseResp *base.BaseResp if src.BaseResp != nil { @@ -17865,6 +17865,20 @@ func (p *FeedbackExptInsightAnalysisReportRequest) FastRead(buf []byte) (int, er goto SkipFieldError } } + case 6: + if fieldTypeId == thrift.I64 { + l, err = p.FastReadField6(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } case 200: if fieldTypeId == thrift.STRUCT { l, err = p.FastReadField200(buf[offset:]) @@ -18002,6 +18016,20 @@ func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField5(buf []byte) (i return offset, nil } +func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField6(buf []byte) (int, error) { + offset := 0 + + var _field *int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _field = &v + } + p.CommentID = _field + return offset, nil +} + func (p *FeedbackExptInsightAnalysisReportRequest) FastReadField200(buf []byte) (int, error) { offset := 0 _field := common.NewSession() @@ -18036,6 +18064,7 @@ func (p *FeedbackExptInsightAnalysisReportRequest) FastWriteNocopy(buf []byte, w offset += p.fastWriteField1(buf[offset:], w) offset += p.fastWriteField2(buf[offset:], w) offset += p.fastWriteField3(buf[offset:], w) + offset += p.fastWriteField6(buf[offset:], w) offset += p.fastWriteField4(buf[offset:], w) offset += p.fastWriteField5(buf[offset:], w) offset += p.fastWriteField200(buf[offset:], w) @@ -18053,6 +18082,7 @@ func (p *FeedbackExptInsightAnalysisReportRequest) BLength() int { l += p.field3Length() l += p.field4Length() l += p.field5Length() + l += p.field6Length() l += p.field200Length() l += p.field255Length() } @@ -18097,6 +18127,15 @@ func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField5(buf []byte, w return offset } +func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { + offset := 0 + if p.IsSetCommentID() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 6) + offset += thrift.Binary.WriteI64(buf[offset:], *p.CommentID) + } + return offset +} + func (p *FeedbackExptInsightAnalysisReportRequest) fastWriteField200(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSession() { @@ -18152,6 +18191,15 @@ func (p *FeedbackExptInsightAnalysisReportRequest) field5Length() int { return l } +func (p *FeedbackExptInsightAnalysisReportRequest) field6Length() int { + l := 0 + if p.IsSetCommentID() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() + } + return l +} + func (p *FeedbackExptInsightAnalysisReportRequest) field200Length() int { l := 0 if p.IsSetSession() { @@ -18192,6 +18240,11 @@ func (p *FeedbackExptInsightAnalysisReportRequest) DeepCopy(s interface{}) error p.Comment = &tmp } + if src.CommentID != nil { + tmp := *src.CommentID + p.CommentID = &tmp + } + var _session *common.Session if src.Session != nil { _session = &common.Session{} diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index 6308c7a31..0776bf481 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -1201,8 +1201,8 @@ func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context return nil, err } return &expt.GetExptInsightAnalysisRecordResponse{ - ExptResultExportRecord: experiment.ExptInsightAnalysisRecordDO2DTO(record), - BaseResp: base.NewBaseResp(), + ExptInsightAnalysisRecord: experiment.ExptInsightAnalysisRecordDO2DTO(record), + BaseResp: base.NewBaseResp(), }, nil } @@ -1237,7 +1237,8 @@ func (e *experimentApplication) FeedbackExptInsightAnalysisReport(ctx context.Co ExptID: req.GetExptID(), AnalysisRecordID: req.GetInsightAnalysisRecordID(), FeedbackActionType: actionType, - Comment: ptr.Of(req.GetComment()), + Comment: req.Comment, + CommentID: req.CommentID, Session: session, } err = e.FeedbackExptInsightAnalysis(ctx, param) diff --git a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go index 62e8fe200..b07c0d601 100644 --- a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go @@ -84,6 +84,7 @@ type ExptInsightAnalysisFeedbackParam struct { AnalysisRecordID int64 FeedbackActionType FeedbackActionType Comment *string + CommentID *int64 Session *Session } diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 42ef6485c..1f9920c9e 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -215,6 +215,7 @@ func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysis(ctx context. return e.repo.CreateFeedbackComment(ctx, feedbackComment) case entity.FeedbackActionType_Update_Comment: feedbackComment := &entity.ExptInsightAnalysisFeedbackComment{ + ID: ptr.From(param.CommentID), SpaceID: param.SpaceID, ExptID: param.ExptID, AnalysisRecordID: param.AnalysisRecordID, diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index 4dcc90962..2e731b34b 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -518,6 +518,7 @@ struct FeedbackExptInsightAnalysisReportRequest { 3: required i64 insight_analysis_record_id (api.path = 'insight_analysis_record_id', api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') 4: required expt.FeedbackActionType FeedbackActionType 5: optional string comment + 6: optional i64 comment_id (api.body = 'comment_id', api.js_conv = 'true', go.tag = 'json:"comment_id"') // 用于更新comment 200: optional common.Session session From 7b910e64647497b926c0678838af20342692cd4b Mon Sep 17 00:00:00 2001 From: Han Xu Date: Fri, 5 Sep 2025 17:22:23 +0800 Subject: [PATCH 14/42] update --- .../application/convertor/experiment/expt_insight_analysis.go | 2 ++ .../experiment/mysql/expt_insight_analysis_feedback_vote.go | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go index 0ce722156..726d673d7 100644 --- a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go +++ b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go @@ -68,6 +68,8 @@ func FeedbackActionType2DO(action domain_expt.FeedbackActionType) (entity.Feedba return entity.FeedbackActionType_CancelDownvote, nil case domain_expt.FeedbackActionTypeCreateComment: return entity.FeedbackActionType_CreateComment, nil + case domain_expt.FeedbackActionTypeUpdateComment: + return entity.FeedbackActionType_Update_Comment, nil case domain_expt.FeedbackActionTypeDeleteComment: return entity.FeedbackActionType_Delete_Comment, nil diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go index 98bdcf7f3..8e2e4c271 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -48,7 +48,9 @@ func (e exptInsightAnalysisFeedbackVoteDAO) Update(ctx context.Context, feedback Where("space_id = ?", feedbackVote.SpaceID). Where("expt_id = ?", feedbackVote.ExptID). Where("analysis_record_id = ?", feedbackVote.AnalysisRecordID). - Where("created_by = ?", feedbackVote.CreatedBy).Updates(feedbackVote).Error; err != nil { + Where("created_by = ?", feedbackVote.CreatedBy).Updates(map[string]interface{}{ + "vote_type": feedbackVote.VoteType, + }).Error; err != nil { return errorx.Wrapf(err, "exptInsightAnalysisFeedbackVoteDAO update fail, model: %v", json.Jsonify(feedbackVote)) } return nil From 96fcc6e8ef4bd66a772578ee0aeaad3b6684df59 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Fri, 5 Sep 2025 17:33:12 +0800 Subject: [PATCH 15/42] update --- .../modules/evaluation/domain/service/insight_analysis_impl.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 1f9920c9e..e8cd8fa23 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -224,7 +224,7 @@ func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysis(ctx context. } return e.repo.UpdateFeedbackComment(ctx, feedbackComment) case entity.FeedbackActionType_Delete_Comment: - return e.repo.DeleteFeedbackComment(ctx, param.SpaceID, param.ExptID, param.AnalysisRecordID) + return e.repo.DeleteFeedbackComment(ctx, param.SpaceID, param.ExptID, ptr.From(param.CommentID)) default: return nil } From b07bbdd052b6b8e8b3a5cc2de43f16f50b8a836e Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 12:14:16 +0800 Subject: [PATCH 16/42] update --- .../evaluation/domain/component/rpc/notify.go | 7 +++++++ .../evaluation/infra/rpc/notify/notify.go | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 backend/modules/evaluation/domain/component/rpc/notify.go create mode 100644 backend/modules/evaluation/infra/rpc/notify/notify.go diff --git a/backend/modules/evaluation/domain/component/rpc/notify.go b/backend/modules/evaluation/domain/component/rpc/notify.go new file mode 100644 index 000000000..e0e1908e0 --- /dev/null +++ b/backend/modules/evaluation/domain/component/rpc/notify.go @@ -0,0 +1,7 @@ +package rpc + +import "context" + +type INotifyRPCAdapter interface { + SendLarkMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error +} diff --git a/backend/modules/evaluation/infra/rpc/notify/notify.go b/backend/modules/evaluation/infra/rpc/notify/notify.go new file mode 100644 index 000000000..50dbc32fe --- /dev/null +++ b/backend/modules/evaluation/infra/rpc/notify/notify.go @@ -0,0 +1,18 @@ +package notify + +import ( + "context" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" +) + +type NotifyRPCAdapter struct { +} + +func NewNotifyRPCAdapter() rpc.INotifyRPCAdapter { + return NotifyRPCAdapter{} +} + +func (n NotifyRPCAdapter) SendLarkMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error { + return nil +} From 9c9fdb73b78885b76a20c5a359de75068411969f Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 12:25:39 +0800 Subject: [PATCH 17/42] update --- .../modules/evaluation/domain/service/insight_analysis_impl.go | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index e8cd8fa23..87ab21d04 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -87,6 +87,7 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s } err1 := e.repo.UpdateAnalysisRecord(ctx, record) if err1 != nil { + logs.CtxError(ctx, "UpdateAnalysisRecord failed: %v", err1) return } }() From 588bb164e57d88373df4daf0b76f5ca207f2fa9b Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 17:47:30 +0800 Subject: [PATCH 18/42] update --- .../modules/evaluation/application/wire.go | 2 ++ .../evaluation/application/wire_gen.go | 6 ++-- .../domain/service/insight_analysis_impl.go | 33 ++++++++++++++++++- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/backend/modules/evaluation/application/wire.go b/backend/modules/evaluation/application/wire.go index c38e510d2..5b13a176c 100644 --- a/backend/modules/evaluation/application/wire.go +++ b/backend/modules/evaluation/application/wire.go @@ -9,6 +9,7 @@ package application import ( "context" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/notify" "github.com/google/wire" "github.com/coze-dev/coze-loop/backend/infra/ck" @@ -120,6 +121,7 @@ var ( foundation.NewUserRPCProvider, tag.NewTagRPCProvider, agent.NewAgentAdapter, + notify.NewNotifyRPCAdapter, userinfo.NewUserInfoServiceImpl, NewLock, evalSetDomainService, diff --git a/backend/modules/evaluation/application/wire_gen.go b/backend/modules/evaluation/application/wire_gen.go index fd75ac897..818cafa8f 100644 --- a/backend/modules/evaluation/application/wire_gen.go +++ b/backend/modules/evaluation/application/wire_gen.go @@ -53,6 +53,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/data" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/foundation" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/llm" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/notify" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/prompt" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/tag" conf2 "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/conf" @@ -146,7 +147,8 @@ func InitExperimentApplication(ctx context.Context, idgen2 idgen.IIDGenerator, d iExptInsightAnalysisFeedbackVoteDAO := mysql.NewExptInsightAnalysisFeedbackVoteDAO(db2) iExptInsightAnalysisRecordRepo := experiment.NewExptInsightAnalysisRecordRepo(iExptInsightAnalysisRecordDAO, iExptInsightAnalysisFeedbackCommentDAO, iExptInsightAnalysisFeedbackVoteDAO, idgen2) iAgentAdapter := agent.NewAgentAdapter() - iExptInsightAnalysisService := service.NewInsightAnalysisService(iExptInsightAnalysisRecordRepo, exptEventPublisher, objectStorage, iAgentAdapter, iExptResultExportService) + iNotifyRPCAdapter := notify.NewNotifyRPCAdapter() + iExptInsightAnalysisService := service.NewInsightAnalysisService(iExptInsightAnalysisRecordRepo, exptEventPublisher, objectStorage, iAgentAdapter, iExptResultExportService, iNotifyRPCAdapter, iUserProvider) iExperimentApplication := NewExperimentApplication(exptAggrResultService, exptResultService, iExptManager, exptSchedulerEvent, exptItemEvalEvent, idgen2, componentIConfiger, iAuthProvider, userInfoService, iEvalTargetService, evaluationSetItemService, iExptAnnotateService, iTagRPCAdapter, iExptResultExportService, iExptInsightAnalysisService) return iExperimentApplication, nil } @@ -221,7 +223,7 @@ var ( flagSet = wire.NewSet(platestwrite.NewLatestWriteTracker) experimentSet = wire.NewSet( - NewExperimentApplication, service.NewExptManager, service.NewExptResultService, service.NewExptAggrResultService, service.NewExptSchedulerSvc, service.NewExptRecordEvalService, service.NewExptAnnotateService, service.NewExptResultExportService, service.NewInsightAnalysisService, service.NewSchedulerModeFactory, experiment.NewExptRepo, experiment.NewExptStatsRepo, experiment.NewExptAggrResultRepo, experiment.NewExptItemResultRepo, experiment.NewExptTurnResultRepo, experiment.NewExptRunLogRepo, experiment.NewExptTurnResultFilterRepo, experiment.NewExptAnnotateRepo, experiment.NewExptResultExportRecordRepo, experiment.NewExptInsightAnalysisRecordRepo, experiment.NewQuotaService, idem.NewIdempotentService, mysql.NewExptDAO, mysql.NewExptEvaluatorRefDAO, mysql.NewExptRunLogDAO, mysql.NewExptStatsDAO, mysql.NewExptTurnResultDAO, mysql.NewExptItemResultDAO, mysql.NewExptTurnEvaluatorResultRefDAO, mysql.NewExptTurnResultFilterKeyMappingDAO, mysql.NewExptAggrResultDAO, mysql.NewExptTurnAnnotateRecordRefDAO, mysql.NewAnnotateRecordDAO, mysql.NewExptTurnResultTagRefDAO, mysql.NewExptResultExportRecordDAO, mysql.NewExptInsightAnalysisRecordDAO, mysql.NewExptInsightAnalysisFeedbackVoteDAO, mysql.NewExptInsightAnalysisFeedbackCommentDAO, dao.NewQuotaDAO, redis2.NewIdemDAO, ck2.NewExptTurnResultFilterDAO, conf2.NewExptConfiger, producer.NewExptEventPublisher, metrics2.NewExperimentMetric, metrics3.NewEvalTargetMetrics, foundation.NewAuthRPCProvider, foundation.NewUserRPCProvider, tag.NewTagRPCProvider, agent.NewAgentAdapter, userinfo.NewUserInfoServiceImpl, NewLock, + NewExperimentApplication, service.NewExptManager, service.NewExptResultService, service.NewExptAggrResultService, service.NewExptSchedulerSvc, service.NewExptRecordEvalService, service.NewExptAnnotateService, service.NewExptResultExportService, service.NewInsightAnalysisService, service.NewSchedulerModeFactory, experiment.NewExptRepo, experiment.NewExptStatsRepo, experiment.NewExptAggrResultRepo, experiment.NewExptItemResultRepo, experiment.NewExptTurnResultRepo, experiment.NewExptRunLogRepo, experiment.NewExptTurnResultFilterRepo, experiment.NewExptAnnotateRepo, experiment.NewExptResultExportRecordRepo, experiment.NewExptInsightAnalysisRecordRepo, experiment.NewQuotaService, idem.NewIdempotentService, mysql.NewExptDAO, mysql.NewExptEvaluatorRefDAO, mysql.NewExptRunLogDAO, mysql.NewExptStatsDAO, mysql.NewExptTurnResultDAO, mysql.NewExptItemResultDAO, mysql.NewExptTurnEvaluatorResultRefDAO, mysql.NewExptTurnResultFilterKeyMappingDAO, mysql.NewExptAggrResultDAO, mysql.NewExptTurnAnnotateRecordRefDAO, mysql.NewAnnotateRecordDAO, mysql.NewExptTurnResultTagRefDAO, mysql.NewExptResultExportRecordDAO, mysql.NewExptInsightAnalysisRecordDAO, mysql.NewExptInsightAnalysisFeedbackVoteDAO, mysql.NewExptInsightAnalysisFeedbackCommentDAO, dao.NewQuotaDAO, redis2.NewIdemDAO, ck2.NewExptTurnResultFilterDAO, conf2.NewExptConfiger, producer.NewExptEventPublisher, metrics2.NewExperimentMetric, metrics3.NewEvalTargetMetrics, foundation.NewAuthRPCProvider, foundation.NewUserRPCProvider, tag.NewTagRPCProvider, agent.NewAgentAdapter, notify.NewNotifyRPCAdapter, userinfo.NewUserInfoServiceImpl, NewLock, evalSetDomainService, targetDomainService, evaluatorDomainService, diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 87ab21d04..1895b0e05 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -26,19 +26,25 @@ type ExptInsightAnalysisServiceImpl struct { fileClient fileserver.ObjectStorage agentAdapter rpc.IAgentAdapter exptResultExportService IExptResultExportService + notifyRPCAdapter rpc.INotifyRPCAdapter + userProvider rpc.IUserProvider } func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo, exptPublisher events.ExptEventPublisher, fileClient fileserver.ObjectStorage, agentAdapter rpc.IAgentAdapter, - exptResultExportService IExptResultExportService) IExptInsightAnalysisService { + exptResultExportService IExptResultExportService, + notifyRPCAdapter rpc.INotifyRPCAdapter, + userProvider rpc.IUserProvider) IExptInsightAnalysisService { return &ExptInsightAnalysisServiceImpl{ repo: repo, exptPublisher: exptPublisher, fileClient: fileClient, agentAdapter: agentAdapter, exptResultExportService: exptResultExportService, + notifyRPCAdapter: notifyRPCAdapter, + userProvider: userProvider, } } @@ -162,9 +168,34 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex analysisRecord.ExptInsightAnalysisFeedback.CurrentUserVoteType = curUserFeedbackVote.VoteType } + err = e.notifyAnalysisComplete(ctx, session.UserID) + if err != nil { + logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) + } + return analysisRecord, nil } +func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Context, userID string) error { + userInfos, err := e.userProvider.MGetUserInfo(ctx, []string{userID}) + if err != nil { + return err + } + + if len(userInfos) != 1 || userInfos[0] == nil { + return nil + } + + userInfo := userInfos[0] + logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) + + err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.Email), "AAq9DvIYd2qHu", map[string]string{ + "expt_name": "实验名称", + }) + + return err +} + func (e ExptInsightAnalysisServiceImpl) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error) { return e.repo.ListAnalysisRecord(ctx, spaceID, exptID, page) } From 06b52ad6ffcfd7b7a9a405e58f5ce39ef141ad0b Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 19:21:35 +0800 Subject: [PATCH 19/42] update --- .../domain/service/insight_analysis_impl.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 1895b0e05..7bca4532a 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -130,6 +130,11 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex return nil, err } + err = e.notifyAnalysisComplete(ctx, session.UserID) + if err != nil { + logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) + } + if analysisRecord.Status != entity.InsightAnalysisStatus_Success { return analysisRecord, nil } @@ -168,10 +173,10 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex analysisRecord.ExptInsightAnalysisFeedback.CurrentUserVoteType = curUserFeedbackVote.VoteType } - err = e.notifyAnalysisComplete(ctx, session.UserID) - if err != nil { - logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) - } + //err = e.notifyAnalysisComplete(ctx, session.UserID) + //if err != nil { + // logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) + //} return analysisRecord, nil } From 1915ff9e13ddfd9856653720da8657ac03cfa138 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 19:54:32 +0800 Subject: [PATCH 20/42] update --- .../evaluation/application/experiment_app.go | 18 +++++++++--------- .../domain/service/insight_analysis_impl.go | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index 0776bf481..a51a22cbb 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -70,7 +70,7 @@ func NewExperimentApplication( manager service.IExptManager, scheduler service.ExptSchedulerEvent, recordEval service.ExptItemEvalEvent, - // tupleSvc service.IExptTupleService, +// tupleSvc service.IExptTupleService, idgen idgen.IIDGenerator, configer component.IConfiger, auth rpc.IAuthProvider, @@ -1188,14 +1188,14 @@ func (e *experimentApplication) DeleteExptInsightAnalysisRecord(ctx context.Cont func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { session := &entity.Session{UserID: strconv.FormatInt(req.GetSession().GetUserID(), 10)} - err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(req.WorkspaceID, 10), - SpaceID: req.WorkspaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - }) - if err != nil { - return nil, err - } + //err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ + // ObjectID: strconv.FormatInt(req.WorkspaceID, 10), + // SpaceID: req.WorkspaceID, + // ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, + //}) + //if err != nil { + // return nil, err + //} record, err := e.GetAnalysisRecordByID(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), session) if err != nil { return nil, err diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 7bca4532a..62b0fb3a8 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -186,6 +186,7 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte if err != nil { return err } + logs.CtxInfo(ctx, "notifyAnalysisComplete userInfos: %v", userInfos) if len(userInfos) != 1 || userInfos[0] == nil { return nil From c30431fb7902ed6dc2dd3c97366a2ce04696b8a5 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 20:01:18 +0800 Subject: [PATCH 21/42] update --- backend/modules/evaluation/application/experiment_app.go | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index a51a22cbb..cf65ed01f 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -1196,6 +1196,7 @@ func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context //if err != nil { // return nil, err //} + record, err := e.GetAnalysisRecordByID(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), session) if err != nil { return nil, err From f7d397a5ce18aceffb514cc8ec54347ac897ecbe Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 20:48:11 +0800 Subject: [PATCH 22/42] update --- .../evaluation/domain/service/insight_analysis_impl.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 62b0fb3a8..f626f4ba3 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -125,14 +125,14 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s } func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) { - analysisRecord, err := e.repo.GetAnalysisRecordByID(ctx, spaceID, exptID, recordID) + err := e.notifyAnalysisComplete(ctx, session.UserID) if err != nil { - return nil, err + logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) } - err = e.notifyAnalysisComplete(ctx, session.UserID) + analysisRecord, err := e.repo.GetAnalysisRecordByID(ctx, spaceID, exptID, recordID) if err != nil { - logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) + return nil, err } if analysisRecord.Status != entity.InsightAnalysisStatus_Success { @@ -195,7 +195,7 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte userInfo := userInfos[0] logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) - err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.Email), "AAq9DvIYd2qHu", map[string]string{ + err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.), "AAq9DvIYd2qHu", map[string]string{ "expt_name": "实验名称", }) From 2dce0ce53002fd348993961681586216b0c66349 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Mon, 8 Sep 2025 20:50:35 +0800 Subject: [PATCH 23/42] update --- .../modules/evaluation/domain/service/insight_analysis_impl.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index f626f4ba3..ca082d9fd 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -195,7 +195,7 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte userInfo := userInfos[0] logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) - err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.), "AAq9DvIYd2qHu", map[string]string{ + err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.Email), "AAq9DvIYd2qHu", map[string]string{ "expt_name": "实验名称", }) From 734b7d507c9746a7f4d45c87305a8e7d8e47ac84 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Tue, 9 Sep 2025 11:45:18 +0800 Subject: [PATCH 24/42] update --- .../domain/service/insight_analysis_impl.go | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index ca082d9fd..b4754f404 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -6,6 +6,7 @@ package service import ( "context" "fmt" + "strconv" "time" "github.com/bytedance/gg/gptr" @@ -28,6 +29,7 @@ type ExptInsightAnalysisServiceImpl struct { exptResultExportService IExptResultExportService notifyRPCAdapter rpc.INotifyRPCAdapter userProvider rpc.IUserProvider + exptRepo repo.IExperimentRepo } func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo, @@ -36,7 +38,8 @@ func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo, agentAdapter rpc.IAgentAdapter, exptResultExportService IExptResultExportService, notifyRPCAdapter rpc.INotifyRPCAdapter, - userProvider rpc.IUserProvider) IExptInsightAnalysisService { + userProvider rpc.IUserProvider, + exptRepo repo.IExperimentRepo) IExptInsightAnalysisService { return &ExptInsightAnalysisServiceImpl{ repo: repo, exptPublisher: exptPublisher, @@ -45,6 +48,7 @@ func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo, exptResultExportService: exptResultExportService, notifyRPCAdapter: notifyRPCAdapter, userProvider: userProvider, + exptRepo: exptRepo, } } @@ -125,7 +129,8 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s } func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) { - err := e.notifyAnalysisComplete(ctx, session.UserID) + // todo get userID form db + err := e.notifyAnalysisComplete(ctx, session.UserID, spaceID, exptID) if err != nil { logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) } @@ -181,7 +186,11 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex return analysisRecord, nil } -func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Context, userID string) error { +func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Context, userID string, spaceID, exptID int64) error { + expt, err := e.exptRepo.GetByID(ctx, exptID, spaceID) + if err != nil { + return err + } userInfos, err := e.userProvider.MGetUserInfo(ctx, []string{userID}) if err != nil { return err @@ -194,9 +203,11 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte userInfo := userInfos[0] logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) - - err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.Email), "AAq9DvIYd2qHu", map[string]string{ - "expt_name": "实验名称", + const cardID = "AAq9DvIYd2qHu" + err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.Email), cardID, map[string]string{ + "expt_name": expt.Name, + "space_id": strconv.FormatInt(spaceID, 10), + "expt_id": strconv.FormatInt(exptID, 10), }) return err From 391ccdec7915927a8182654f744282abd9df11a9 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Tue, 9 Sep 2025 11:51:16 +0800 Subject: [PATCH 25/42] update --- backend/modules/evaluation/application/wire_gen.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/modules/evaluation/application/wire_gen.go b/backend/modules/evaluation/application/wire_gen.go index 818cafa8f..7e7972eea 100644 --- a/backend/modules/evaluation/application/wire_gen.go +++ b/backend/modules/evaluation/application/wire_gen.go @@ -148,7 +148,7 @@ func InitExperimentApplication(ctx context.Context, idgen2 idgen.IIDGenerator, d iExptInsightAnalysisRecordRepo := experiment.NewExptInsightAnalysisRecordRepo(iExptInsightAnalysisRecordDAO, iExptInsightAnalysisFeedbackCommentDAO, iExptInsightAnalysisFeedbackVoteDAO, idgen2) iAgentAdapter := agent.NewAgentAdapter() iNotifyRPCAdapter := notify.NewNotifyRPCAdapter() - iExptInsightAnalysisService := service.NewInsightAnalysisService(iExptInsightAnalysisRecordRepo, exptEventPublisher, objectStorage, iAgentAdapter, iExptResultExportService, iNotifyRPCAdapter, iUserProvider) + iExptInsightAnalysisService := service.NewInsightAnalysisService(iExptInsightAnalysisRecordRepo, exptEventPublisher, objectStorage, iAgentAdapter, iExptResultExportService, iNotifyRPCAdapter, iUserProvider, iExperimentRepo) iExperimentApplication := NewExperimentApplication(exptAggrResultService, exptResultService, iExptManager, exptSchedulerEvent, exptItemEvalEvent, idgen2, componentIConfiger, iAuthProvider, userInfoService, iEvalTargetService, evaluationSetItemService, iExptAnnotateService, iTagRPCAdapter, iExptResultExportService, iExptInsightAnalysisService) return iExperimentApplication, nil } From 7ecd93ca2ee8951be6d726554dd4d38e03501470 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Tue, 9 Sep 2025 14:42:41 +0800 Subject: [PATCH 26/42] update --- .../modules/evaluation/domain/entity/event.go | 1 + .../domain/service/insight_analysis.go | 2 +- .../domain/service/insight_analysis_impl.go | 100 +++++++++++++----- .../infra/mq/rocket/consumer/expt_export.go | 2 +- .../evaluation/infra/rpc/agent/agent.go | 25 ----- 5 files changed, 76 insertions(+), 54 deletions(-) diff --git a/backend/modules/evaluation/domain/entity/event.go b/backend/modules/evaluation/domain/entity/event.go index 616c71240..eb0497221 100644 --- a/backend/modules/evaluation/domain/entity/event.go +++ b/backend/modules/evaluation/domain/entity/event.go @@ -122,6 +122,7 @@ type ExportCSVEvent struct { Session *Session ExportScene ExportScene + CreateAt int64 } type ExportScene int diff --git a/backend/modules/evaluation/domain/service/insight_analysis.go b/backend/modules/evaluation/domain/service/insight_analysis.go index 6bbcfbb7b..8b742b999 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis.go +++ b/backend/modules/evaluation/domain/service/insight_analysis.go @@ -11,7 +11,7 @@ import ( type IExptInsightAnalysisService interface { CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, session *entity.Session) (int64, error) - GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID int64) error + GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID, CreateAt int64) error GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page, session *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error) DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index b4754f404..fe1dc5605 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -63,22 +63,25 @@ func (e ExptInsightAnalysisServiceImpl) CreateAnalysisRecord(ctx context.Context ExperimentID: record.ExptID, SpaceID: record.SpaceID, ExportScene: entity.ExportSceneInsightAnalysis, + CreateAt: time.Now().Unix(), } err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Second*3)) if err != nil { return 0, err } - //time.Sleep(time.Second) - //err = e.GenAnalysisReport(ctx, record.SpaceID, record.ExptID, recordID) - //if err != nil { - // logs.CtxError(ctx, "GenAnalysisReport err: %v", err) - //} - return recordID, nil } -func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID int64) (err error) { +func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, spaceID, exptID, recordID, CreateAt int64) (err error) { + analysisRecord, err := e.repo.GetAnalysisRecordByID(ctx, spaceID, exptID, recordID) + if err != nil { + return err + } + if analysisRecord.AnalysisReportID != nil { + return e.checkAnalysisReportGenStatus(ctx, analysisRecord, CreateAt) + } + var ( exptResultFilePath string analysisReportID int64 @@ -90,7 +93,7 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s ExptID: exptID, ExptResultFilePath: ptr.Of(exptResultFilePath), AnalysisReportID: ptr.Of(analysisReportID), - Status: entity.InsightAnalysisStatus_Success, + Status: entity.InsightAnalysisStatus_Running, } if err != nil { record.Status = entity.InsightAnalysisStatus_Failed @@ -125,38 +128,86 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s analysisReportID = reportID + // 发送时间检查分析报告生成状态 + exportEvent := &entity.ExportCSVEvent{ + ExportID: recordID, + ExperimentID: exptID, + SpaceID: spaceID, + ExportScene: entity.ExportSceneInsightAnalysis, + CreateAt: CreateAt, + } + err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Minute*3)) + if err != nil { + return err + } + return nil } -func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) { - // todo get userID form db - err := e.notifyAnalysisComplete(ctx, session.UserID, spaceID, exptID) +func (e ExptInsightAnalysisServiceImpl) checkAnalysisReportGenStatus(ctx context.Context, record *entity.ExptInsightAnalysisRecord, CreateAt int64) (err error) { + _, status, err := e.agentAdapter.GetReport(ctx, record.SpaceID, ptr.From(record.AnalysisReportID)) if err != nil { - logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) + return err + } + if status == entity.ReportStatus_Failed { + record.Status = entity.InsightAnalysisStatus_Failed + return e.repo.UpdateAnalysisRecord(ctx, record) + } + if status == entity.ReportStatus_Success { + err = e.notifyAnalysisComplete(ctx, record.CreatedBy, record.SpaceID, record.ExptID) + if err != nil { + logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) + } + record.Status = entity.InsightAnalysisStatus_Success + return e.repo.UpdateAnalysisRecord(ctx, record) } + defaultIntervalSecond := 60 * 60 * 1 + if time.Now().Unix()-CreateAt >= int64(defaultIntervalSecond) { + logs.CtxWarn(ctx, "checkAnalysisReportGenStatus found timeout event, expt_id: %v, record_id: %v", record.ExptID, record.ID) + record.Status = entity.InsightAnalysisStatus_Failed + return e.repo.UpdateAnalysisRecord(ctx, record) + } + + exportEvent := &entity.ExportCSVEvent{ + ExportID: record.ID, + ExperimentID: record.ExptID, + SpaceID: record.SpaceID, + ExportScene: entity.ExportSceneInsightAnalysis, + CreateAt: CreateAt, + } + err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Minute*1)) + if err != nil { + return err + } + + return nil +} + +func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64, session *entity.Session) (*entity.ExptInsightAnalysisRecord, error) { analysisRecord, err := e.repo.GetAnalysisRecordByID(ctx, spaceID, exptID, recordID) if err != nil { return nil, err } - if analysisRecord.Status != entity.InsightAnalysisStatus_Success { + if analysisRecord.Status == entity.InsightAnalysisStatus_Running || + analysisRecord.Status == entity.InsightAnalysisStatus_Failed { return analysisRecord, nil } - report, status, err := e.agentAdapter.GetReport(ctx, spaceID, ptr.From(analysisRecord.AnalysisReportID)) + report, _, err := e.agentAdapter.GetReport(ctx, spaceID, ptr.From(analysisRecord.AnalysisReportID)) if err != nil { return nil, err } // 聚合报告生成状态 - if status == entity.ReportStatus_Failed { - analysisRecord.Status = entity.InsightAnalysisStatus_Failed - return analysisRecord, nil - } - if status == entity.ReportStatus_Running { - analysisRecord.Status = entity.InsightAnalysisStatus_Running - return analysisRecord, nil - } + //if status == entity.ReportStatus_Failed { + // analysisRecord.Status = entity.InsightAnalysisStatus_Failed + // return analysisRecord, nil + //} + //if status == entity.ReportStatus_Running { + // analysisRecord.Status = entity.InsightAnalysisStatus_Running + // return analysisRecord, nil + //} analysisRecord.AnalysisReportContent = report upvoteCount, downvoteCount, err := e.repo.CountFeedbackVote(ctx, spaceID, exptID, recordID) @@ -178,11 +229,6 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex analysisRecord.ExptInsightAnalysisFeedback.CurrentUserVoteType = curUserFeedbackVote.VoteType } - //err = e.notifyAnalysisComplete(ctx, session.UserID) - //if err != nil { - // logs.CtxWarn(ctx, "notifyAnalysisComplete failed, err=%v", err) - //} - return analysisRecord, nil } diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go index 00d63c842..a34b4fe76 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go @@ -53,7 +53,7 @@ func (e *ExptExportConsumer) HandleMessage(ctx context.Context, ext *mq.MessageE func (e *ExptExportConsumer) handleEvent(ctx context.Context, event *entity.ExportCSVEvent) (err error) { switch event.ExportScene { case entity.ExportSceneInsightAnalysis: - err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID) + err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID, event.CreateAt) if err != nil { logs.CtxError(ctx, "ExptExportConsumer GenAnalysisReport fail, expt_id:%v, err: %v", event.ExperimentID, err) return nil diff --git a/backend/modules/evaluation/infra/rpc/agent/agent.go b/backend/modules/evaluation/infra/rpc/agent/agent.go index c0e7c70c6..23cfe578b 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent.go @@ -19,34 +19,9 @@ func NewAgentAdapter() rpc.IAgentAdapter { } func (a AgentAdapter) CallTraceAgent(ctx context.Context, spaceID int64, url string) (int64, error) { - //req := &trace_agent.CallTraceAgentRequest{ - // SpaceID: ptr.Of(spaceID), - // CsvURL: ptr.Of(url), - //} - //resp, err := a.Client.CallTraceAgent(ctx, req) - //if err != nil { - // return 0, err - //} - // - //if resp.ReportID == nil { - // return 0, fmt.Errorf("empty report id") - //} - // - //return ptr.From(resp.ReportID), nil return 0, nil } func (a AgentAdapter) GetReport(ctx context.Context, spaceID, reportID int64) (report string, status entity.ReportStatus, err error) { - //req := &trace_agent.GetReportRequest{ - // SpaceID: ptr.Of(spaceID), - // ReportID: ptr.Of(reportID), - //} - //resp, err := a.Client.GetReport(ctx, req) - //if err != nil { - // return "", 0, err - //} - // - //return ptr.From(resp.Report), entity.ReportStatus(ptr.From(resp.Status)), nil - return "", 0, nil } From cc9d2a79b10d559542c3901b1e7227e804bf3091 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Tue, 9 Sep 2025 20:37:43 +0800 Subject: [PATCH 27/42] update --- .../modules/evaluation/domain/service/insight_analysis_impl.go | 3 +++ .../modules/evaluation/infra/mq/rocket/consumer/expt_export.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index fe1dc5605..af08c6e2a 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -97,6 +97,8 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s } if err != nil { record.Status = entity.InsightAnalysisStatus_Failed + // 不重试 + err = nil } err1 := e.repo.UpdateAnalysisRecord(ctx, record) if err1 != nil { @@ -125,6 +127,7 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s if err != nil { return err } + logs.CtxInfo(ctx, "[GenAnalysisReport] CallTraceAgent success, expt_id=%v, record_id=%v, report_id=%v, csv url=%v", exptID, recordID, reportID, url) analysisReportID = reportID diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go index a34b4fe76..8bd1bd5a9 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go @@ -56,7 +56,7 @@ func (e *ExptExportConsumer) handleEvent(ctx context.Context, event *entity.Expo err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID, event.CreateAt) if err != nil { logs.CtxError(ctx, "ExptExportConsumer GenAnalysisReport fail, expt_id:%v, err: %v", event.ExperimentID, err) - return nil + return err } default: err = e.exptResultExportService.HandleExportEvent(ctx, event.SpaceID, event.ExperimentID, event.ExportID) From 62c5f9067a389882d5fb755dedea20054d4978b6 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Wed, 17 Sep 2025 17:57:26 +0800 Subject: [PATCH 28/42] update --- .../evaluation/application/experiment_app.go | 16 +- .../evaluation/application/insight_test.go | 190 +++++++ .../domain/component/rpc/mocks/notify.go | 49 ++ .../domain/component/rpc/mocks/trace_agent.go | 67 +++ .../evaluation/domain/component/rpc/notify.go | 1 + .../domain/component/rpc/trace_agent.go | 2 +- .../modules/evaluation/domain/repo/expt.go | 2 +- .../evaluation/domain/repo/mocks/expt.go | 269 +++++++++ .../service/insight_analysis_impl_test.go | 531 ++++++++++++++++++ .../domain/service/mocks/insight_analysis.go | 140 +++++ .../expt_insight_analysis_record_test.go | 315 +++++++++++ .../expt_insight_analysis_feedback_comment.go | 1 + .../expt_insight_analysis_feedback_vote.go | 1 + .../mysql/expt_insight_analysis_record.go | 1 + .../expt_insight_analysis_feedback_comment.go | 126 +++++ .../expt_insight_analysis_feedback_vote.go | 111 ++++ .../mocks/expt_insight_analysis_record.go | 126 +++++ .../evaluation/infra/rpc/agent/agent_test.go | 96 ++++ .../infra/rpc/notify/notify_test.go | 106 ++++ 19 files changed, 2140 insertions(+), 10 deletions(-) create mode 100644 backend/modules/evaluation/application/insight_test.go create mode 100644 backend/modules/evaluation/domain/component/rpc/mocks/notify.go create mode 100644 backend/modules/evaluation/domain/component/rpc/mocks/trace_agent.go create mode 100644 backend/modules/evaluation/domain/service/insight_analysis_impl_test.go create mode 100644 backend/modules/evaluation/domain/service/mocks/insight_analysis.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_comment.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_vote.go create mode 100644 backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_record.go create mode 100644 backend/modules/evaluation/infra/rpc/agent/agent_test.go create mode 100644 backend/modules/evaluation/infra/rpc/notify/notify_test.go diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index cf65ed01f..3a6e51a77 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -1188,14 +1188,14 @@ func (e *experimentApplication) DeleteExptInsightAnalysisRecord(ctx context.Cont func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { session := &entity.Session{UserID: strconv.FormatInt(req.GetSession().GetUserID(), 10)} - //err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ - // ObjectID: strconv.FormatInt(req.WorkspaceID, 10), - // SpaceID: req.WorkspaceID, - // ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - //}) - //if err != nil { - // return nil, err - //} + err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ + ObjectID: strconv.FormatInt(req.WorkspaceID, 10), + SpaceID: req.WorkspaceID, + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, + }) + if err != nil { + return nil, err + } record, err := e.GetAnalysisRecordByID(ctx, req.GetWorkspaceID(), req.GetExptID(), req.GetInsightAnalysisRecordID(), session) if err != nil { diff --git a/backend/modules/evaluation/application/insight_test.go b/backend/modules/evaluation/application/insight_test.go new file mode 100644 index 000000000..9705eddf1 --- /dev/null +++ b/backend/modules/evaluation/application/insight_test.go @@ -0,0 +1,190 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + +package application + +import ( + "context" + "testing" + + "go.uber.org/mock/gomock" + + "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" + domain_expt "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/expt" + exptpb "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + repo_mocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" + servicemocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" + rpcmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" +) + +func setupTestApp(t *testing.T) (context.Context, *experimentApplication, *servicemocks.MockIExptManager, *repo_mocks.MockIExperimentRepo, *servicemocks.MockIExptInsightAnalysisService, *rpcmocks.MockIAuthProvider) { + ctrl := gomock.NewController(t) + mockManager := servicemocks.NewMockIExptManager(ctrl) + mockRepo := repo_mocks.NewMockIExperimentRepo(ctrl) + mockInsightService := servicemocks.NewMockIExptInsightAnalysisService(ctrl) + mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) + + app := &experimentApplication{ + manager: mockManager, + IExptInsightAnalysisService: mockInsightService, + auth: mockAuth, + } + + return context.Background(), app, mockManager, mockRepo, mockInsightService, mockAuth +} + +func TestInsightAnalysisExperiment(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.InsightAnalysisExperimentRequest{ + WorkspaceID: 123, + ExptID: 456, + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + // Mock the CreateAnalysisRecord call + mockInsightService.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) + + _, err := app.InsightAnalysisExperiment(ctx, req) + if err != nil { + t.Errorf("InsightAnalysisExperiment failed: %v", err) + } +} + +func TestListExptInsightAnalysisRecord(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.ListExptInsightAnalysisRecordRequest{ + WorkspaceID: 123, + ExptID: 456, + PageNumber: &[]int32{1}[0], + PageSize: &[]int32{10}[0], + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{}, int64(0), nil) + + _, err := app.ListExptInsightAnalysisRecord(ctx, req) + if err != nil { + t.Errorf("ListExptInsightAnalysisRecord failed: %v", err) + } +} + +func TestGetExptInsightAnalysisRecord(t *testing.T) { + ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) + + userID := int64(789) + req := &exptpb.GetExptInsightAnalysisRecordRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + Session: &common.Session{ + UserID: &userID, + }, + } + + // Mock the auth.Authorization call + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + // Mock the service call + mockInsightService.EXPECT().GetAnalysisRecordByID(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.ExptInsightAnalysisRecord{ + ID: 789, + ExptID: 456, + SpaceID: 123, + Status: entity.InsightAnalysisStatus_Running, + CreatedBy: "test-user", + }, nil) + + resp, err := app.GetExptInsightAnalysisRecord(ctx, req) + if err != nil { + t.Errorf("GetExptInsightAnalysisRecord failed: %v", err) + } + if resp == nil { + t.Error("Expected non-nil response") + } +} + +func TestDeleteExptInsightAnalysisRecord(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.DeleteExptInsightAnalysisRecordRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().DeleteAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + + _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) + if err != nil { + t.Errorf("DeleteExptInsightAnalysisRecord failed: %v", err) + } +} + +func TestFeedbackExptInsightAnalysisReport(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.FeedbackExptInsightAnalysisReportRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + FeedbackActionType: domain_expt.FeedbackActionTypeUpvote, + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().FeedbackExptInsightAnalysis(gomock.Any(), gomock.Any()).Return(nil) + + _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) + if err != nil { + t.Errorf("FeedbackExptInsightAnalysisReport failed: %v", err) + } +} + +func TestListExptInsightAnalysisComment(t *testing.T) { + ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.ListExptInsightAnalysisCommentRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + PageNumber: &[]int32{1}[0], + PageSize: &[]int32{10}[0], + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the auth.Authorization call + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListExptInsightAnalysisFeedbackComment(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisFeedbackComment{}, int64(0), nil) + + _, err := app.ListExptInsightAnalysisComment(ctx, req) + if err != nil { + t.Errorf("ListExptInsightAnalysisComment failed: %v", err) + } +} \ No newline at end of file diff --git a/backend/modules/evaluation/domain/component/rpc/mocks/notify.go b/backend/modules/evaluation/domain/component/rpc/mocks/notify.go new file mode 100644 index 000000000..e590df8d9 --- /dev/null +++ b/backend/modules/evaluation/domain/component/rpc/mocks/notify.go @@ -0,0 +1,49 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc (interfaces: INotifyRPCAdapter) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + gomock "go.uber.org/mock/gomock" +) + +// MockINotifyRPCAdapter is a mock of INotifyRPCAdapter interface. +type MockINotifyRPCAdapter struct { + ctrl *gomock.Controller + recorder *MockINotifyRPCAdapterMockRecorder +} + +// MockINotifyRPCAdapterMockRecorder is the mock recorder for MockINotifyRPCAdapter. +type MockINotifyRPCAdapterMockRecorder struct { + mock *MockINotifyRPCAdapter +} + +// NewMockINotifyRPCAdapter creates a new mock instance. +func NewMockINotifyRPCAdapter(ctrl *gomock.Controller) *MockINotifyRPCAdapter { + mock := &MockINotifyRPCAdapter{ctrl: ctrl} + mock.recorder = &MockINotifyRPCAdapterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockINotifyRPCAdapter) EXPECT() *MockINotifyRPCAdapterMockRecorder { + return m.recorder +} + +// SendLarkMessageCard mocks base method. +func (m *MockINotifyRPCAdapter) SendLarkMessageCard(arg0 context.Context, arg1, arg2 string, arg3 map[string]string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendLarkMessageCard", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendLarkMessageCard indicates an expected call of SendLarkMessageCard. +func (mr *MockINotifyRPCAdapterMockRecorder) SendLarkMessageCard(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendLarkMessageCard", reflect.TypeOf((*MockINotifyRPCAdapter)(nil).SendLarkMessageCard), arg0, arg1, arg2, arg3) +} diff --git a/backend/modules/evaluation/domain/component/rpc/mocks/trace_agent.go b/backend/modules/evaluation/domain/component/rpc/mocks/trace_agent.go new file mode 100644 index 000000000..bc75d1ede --- /dev/null +++ b/backend/modules/evaluation/domain/component/rpc/mocks/trace_agent.go @@ -0,0 +1,67 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc (interfaces: IAgentAdapter) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + entity "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockIAgentAdapter is a mock of IAgentAdapter interface. +type MockIAgentAdapter struct { + ctrl *gomock.Controller + recorder *MockIAgentAdapterMockRecorder +} + +// MockIAgentAdapterMockRecorder is the mock recorder for MockIAgentAdapter. +type MockIAgentAdapterMockRecorder struct { + mock *MockIAgentAdapter +} + +// NewMockIAgentAdapter creates a new mock instance. +func NewMockIAgentAdapter(ctrl *gomock.Controller) *MockIAgentAdapter { + mock := &MockIAgentAdapter{ctrl: ctrl} + mock.recorder = &MockIAgentAdapterMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIAgentAdapter) EXPECT() *MockIAgentAdapterMockRecorder { + return m.recorder +} + +// CallTraceAgent mocks base method. +func (m *MockIAgentAdapter) CallTraceAgent(arg0 context.Context, arg1 int64, arg2 string) (int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CallTraceAgent", arg0, arg1, arg2) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CallTraceAgent indicates an expected call of CallTraceAgent. +func (mr *MockIAgentAdapterMockRecorder) CallTraceAgent(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CallTraceAgent", reflect.TypeOf((*MockIAgentAdapter)(nil).CallTraceAgent), arg0, arg1, arg2) +} + +// GetReport mocks base method. +func (m *MockIAgentAdapter) GetReport(arg0 context.Context, arg1, arg2 int64) (string, entity.ReportStatus, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetReport", arg0, arg1, arg2) + ret0, _ := ret[0].(string) + ret1, _ := ret[1].(entity.ReportStatus) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// GetReport indicates an expected call of GetReport. +func (mr *MockIAgentAdapterMockRecorder) GetReport(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetReport", reflect.TypeOf((*MockIAgentAdapter)(nil).GetReport), arg0, arg1, arg2) +} diff --git a/backend/modules/evaluation/domain/component/rpc/notify.go b/backend/modules/evaluation/domain/component/rpc/notify.go index e0e1908e0..b9d4b5c2c 100644 --- a/backend/modules/evaluation/domain/component/rpc/notify.go +++ b/backend/modules/evaluation/domain/component/rpc/notify.go @@ -2,6 +2,7 @@ package rpc import "context" +//go:generate mockgen -destination=mocks/notify.go -package=mocks . INotifyRPCAdapter type INotifyRPCAdapter interface { SendLarkMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error } diff --git a/backend/modules/evaluation/domain/component/rpc/trace_agent.go b/backend/modules/evaluation/domain/component/rpc/trace_agent.go index 7409e6893..8ad523285 100644 --- a/backend/modules/evaluation/domain/component/rpc/trace_agent.go +++ b/backend/modules/evaluation/domain/component/rpc/trace_agent.go @@ -9,7 +9,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" ) -//go:generate mockgen -destination=mocks/auth_provider.go -package=mocks . IAuthProvider +//go:generate mockgen -destination=mocks/trace_agent.go -package=mocks . IAgentAdapter type IAgentAdapter interface { CallTraceAgent(ctx context.Context, spaceID int64, url string) (int64, error) GetReport(ctx context.Context, spaceID, reportID int64) (report string, status entity.ReportStatus, err error) diff --git a/backend/modules/evaluation/domain/repo/expt.go b/backend/modules/evaluation/domain/repo/expt.go index 9bc877f0b..0eb3075b6 100644 --- a/backend/modules/evaluation/domain/repo/expt.go +++ b/backend/modules/evaluation/domain/repo/expt.go @@ -10,7 +10,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" ) -//go:generate mockgen -destination ./mocks/expt.go --package mocks . IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo +//go:generate mockgen -destination ./mocks/expt.go --package mocks . IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo,IExptInsightAnalysisRecordRepo type IExperimentRepo interface { Create(ctx context.Context, expt *entity.Experiment, exptEvaluatorRefs []*entity.ExptEvaluatorRef) error Update(ctx context.Context, expt *entity.Experiment) error diff --git a/backend/modules/evaluation/domain/repo/mocks/expt.go b/backend/modules/evaluation/domain/repo/mocks/expt.go index f8cee62d8..eeff4bb2d 100644 --- a/backend/modules/evaluation/domain/repo/mocks/expt.go +++ b/backend/modules/evaluation/domain/repo/mocks/expt.go @@ -1603,3 +1603,272 @@ func (mr *MockIExptResultExportRecordRepoMockRecorder) Update(ctx, exportRecord varargs := append([]any{ctx, exportRecord}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockIExptResultExportRecordRepo)(nil).Update), varargs...) } + +// MockIExptInsightAnalysisRecordRepo is a mock of IExptInsightAnalysisRecordRepo interface. +type MockIExptInsightAnalysisRecordRepo struct { + ctrl *gomock.Controller + recorder *MockIExptInsightAnalysisRecordRepoMockRecorder +} + +// MockIExptInsightAnalysisRecordRepoMockRecorder is the mock recorder for MockIExptInsightAnalysisRecordRepo. +type MockIExptInsightAnalysisRecordRepoMockRecorder struct { + mock *MockIExptInsightAnalysisRecordRepo +} + +// NewMockIExptInsightAnalysisRecordRepo creates a new mock instance. +func NewMockIExptInsightAnalysisRecordRepo(ctrl *gomock.Controller) *MockIExptInsightAnalysisRecordRepo { + mock := &MockIExptInsightAnalysisRecordRepo{ctrl: ctrl} + mock.recorder = &MockIExptInsightAnalysisRecordRepoMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIExptInsightAnalysisRecordRepo) EXPECT() *MockIExptInsightAnalysisRecordRepoMockRecorder { + return m.recorder +} + +// CountFeedbackVote mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) CountFeedbackVote(arg0 context.Context, arg1, arg2, arg3 int64) (int64, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CountFeedbackVote", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// CountFeedbackVote indicates an expected call of CountFeedbackVote. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CountFeedbackVote(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CountFeedbackVote), arg0, arg1, arg2, arg3) +} + +// CreateAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) CreateAnalysisRecord(arg0 context.Context, arg1 *entity.ExptInsightAnalysisRecord, arg2 ...db.Option) (int64, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateAnalysisRecord", varargs...) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateAnalysisRecord indicates an expected call of CreateAnalysisRecord. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateAnalysisRecord(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CreateAnalysisRecord), varargs...) +} + +// CreateFeedbackComment mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackComment(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackComment, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateFeedbackComment", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFeedbackComment indicates an expected call of CreateFeedbackComment. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateFeedbackComment(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CreateFeedbackComment), varargs...) +} + +// CreateFeedbackVote mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackVote(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackVote, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateFeedbackVote", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// CreateFeedbackVote indicates an expected call of CreateFeedbackVote. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateFeedbackVote(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CreateFeedbackVote), varargs...) +} + +// DeleteAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) DeleteAnalysisRecord(arg0 context.Context, arg1, arg2, arg3 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteAnalysisRecord", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAnalysisRecord indicates an expected call of DeleteAnalysisRecord. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) DeleteAnalysisRecord(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).DeleteAnalysisRecord), arg0, arg1, arg2, arg3) +} + +// DeleteFeedbackComment mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) DeleteFeedbackComment(arg0 context.Context, arg1, arg2, arg3 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteFeedbackComment", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteFeedbackComment indicates an expected call of DeleteFeedbackComment. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) DeleteFeedbackComment(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).DeleteFeedbackComment), arg0, arg1, arg2, arg3) +} + +// GetAnalysisRecordByID mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) GetAnalysisRecordByID(arg0 context.Context, arg1, arg2, arg3 int64) (*entity.ExptInsightAnalysisRecord, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAnalysisRecordByID", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(*entity.ExptInsightAnalysisRecord) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAnalysisRecordByID indicates an expected call of GetAnalysisRecordByID. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetAnalysisRecordByID(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnalysisRecordByID", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetAnalysisRecordByID), arg0, arg1, arg2, arg3) +} + +// GetFeedbackCommentByRecordID mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackCommentByRecordID(arg0 context.Context, arg1, arg2, arg3 int64, arg4 ...db.Option) (*entity.ExptInsightAnalysisFeedbackComment, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2, arg3} + for _, a := range arg4 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetFeedbackCommentByRecordID", varargs...) + ret0, _ := ret[0].(*entity.ExptInsightAnalysisFeedbackComment) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetFeedbackCommentByRecordID indicates an expected call of GetFeedbackCommentByRecordID. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetFeedbackCommentByRecordID(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeedbackCommentByRecordID", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetFeedbackCommentByRecordID), varargs...) +} + +// GetFeedbackVoteByUser mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackVoteByUser(arg0 context.Context, arg1, arg2, arg3 int64, arg4 string, arg5 ...db.Option) (*entity.ExptInsightAnalysisFeedbackVote, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2, arg3, arg4} + for _, a := range arg5 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetFeedbackVoteByUser", varargs...) + ret0, _ := ret[0].(*entity.ExptInsightAnalysisFeedbackVote) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetFeedbackVoteByUser indicates an expected call of GetFeedbackVoteByUser. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetFeedbackVoteByUser(arg0, arg1, arg2, arg3, arg4 interface{}, arg5 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2, arg3, arg4}, arg5...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeedbackVoteByUser", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetFeedbackVoteByUser), varargs...) +} + +// List mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) List(arg0 context.Context, arg1, arg2, arg3 int64, arg4 entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "List", arg0, arg1, arg2, arg3, arg4) + ret0, _ := ret[0].([]*entity.ExptInsightAnalysisFeedbackComment) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// List indicates an expected call of List. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) List(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).List), arg0, arg1, arg2, arg3, arg4) +} + +// ListAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) ListAnalysisRecord(arg0 context.Context, arg1, arg2 int64, arg3 entity.Page) ([]*entity.ExptInsightAnalysisRecord, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListAnalysisRecord", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].([]*entity.ExptInsightAnalysisRecord) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// ListAnalysisRecord indicates an expected call of ListAnalysisRecord. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) ListAnalysisRecord(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).ListAnalysisRecord), arg0, arg1, arg2, arg3) +} + +// UpdateAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) UpdateAnalysisRecord(arg0 context.Context, arg1 *entity.ExptInsightAnalysisRecord, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateAnalysisRecord", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateAnalysisRecord indicates an expected call of UpdateAnalysisRecord. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateAnalysisRecord(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).UpdateAnalysisRecord), varargs...) +} + +// UpdateFeedbackComment mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackComment(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackComment, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFeedbackComment", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFeedbackComment indicates an expected call of UpdateFeedbackComment. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateFeedbackComment(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).UpdateFeedbackComment), varargs...) +} + +// UpdateFeedbackVote mocks base method. +func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackVote(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackVote, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateFeedbackVote", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// UpdateFeedbackVote indicates an expected call of UpdateFeedbackVote. +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateFeedbackVote(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).UpdateFeedbackVote), varargs...) +} diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go new file mode 100644 index 000000000..0b8c37953 --- /dev/null +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -0,0 +1,531 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + +package service + +import ( + "context" + "errors" + "testing" + "time" + + "github.com/bytedance/gg/gptr" + "go.uber.org/mock/gomock" + "github.com/stretchr/testify/assert" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + eventsMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/events/mocks" + fileMocks "github.com/coze-dev/coze-loop/backend/infra/fileserver/mocks" + repoMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" + rpcMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" + serviceMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" + "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" +) + + + +func newTestInsightAnalysisService(ctrl *gomock.Controller) (*ExptInsightAnalysisServiceImpl, *testInsightAnalysisServiceMocks) { + mockRepo := repoMocks.NewMockIExptInsightAnalysisRecordRepo(ctrl) + mockPublisher := eventsMocks.NewMockExptEventPublisher(ctrl) + mockFileClient := fileMocks.NewMockObjectStorage(ctrl) + mockExptResultExportService := serviceMocks.NewMockIExptResultExportService(ctrl) + mockExptRepo := repoMocks.NewMockIExperimentRepo(ctrl) + mockAgentAdapter := rpcMocks.NewMockIAgentAdapter(ctrl) + mockNotifyRPCAdapter := rpcMocks.NewMockINotifyRPCAdapter(ctrl) + mockUserProvider := rpcMocks.NewMockIUserProvider(ctrl) + + service := &ExptInsightAnalysisServiceImpl{ + repo: mockRepo, + exptPublisher: mockPublisher, + fileClient: mockFileClient, + agentAdapter: mockAgentAdapter, + exptResultExportService: mockExptResultExportService, + notifyRPCAdapter: mockNotifyRPCAdapter, + userProvider: mockUserProvider, + exptRepo: mockExptRepo, + } + + return service, &testInsightAnalysisServiceMocks{ + repo: mockRepo, + publisher: mockPublisher, + fileClient: mockFileClient, + exptResultExportService: mockExptResultExportService, + exptRepo: mockExptRepo, + agentAdapter: mockAgentAdapter, + notifyRPCAdapter: mockNotifyRPCAdapter, + userProvider: mockUserProvider, + } +} + +type testInsightAnalysisServiceMocks struct { + repo *repoMocks.MockIExptInsightAnalysisRecordRepo + publisher *eventsMocks.MockExptEventPublisher + fileClient *fileMocks.MockObjectStorage + exptResultExportService *serviceMocks.MockIExptResultExportService + exptRepo *repoMocks.MockIExperimentRepo + agentAdapter *rpcMocks.MockIAgentAdapter + notifyRPCAdapter *rpcMocks.MockINotifyRPCAdapter + userProvider *rpcMocks.MockIUserProvider +} + +func TestExptInsightAnalysisServiceImpl_CreateAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + record *entity.ExptInsightAnalysisRecord + session *entity.Session + wantErr bool + wantID int64 + }{ + { + name: "success", + setup: func() { + mocks.repo.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any()).Return(int64(1), nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + }, + record: &entity.ExptInsightAnalysisRecord{ + SpaceID: 1, + ExptID: 1, + CreatedBy: "user1", + Status: entity.InsightAnalysisStatus_Unknown, + }, + session: &entity.Session{UserID: "user1"}, + wantErr: false, + wantID: 1, + }, + { + name: "repo error", + setup: func() { + mocks.repo.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any()).Return(int64(0), errors.New("repo error")) + }, + record: &entity.ExptInsightAnalysisRecord{ + SpaceID: 1, + ExptID: 1, + CreatedBy: "user1", + Status: entity.InsightAnalysisStatus_Unknown, + }, + session: &entity.Session{UserID: "user1"}, + wantErr: true, + wantID: 0, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + result, err := service.CreateAnalysisRecord(ctx, tt.record, tt.session) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.wantID, result) + } + }) + } +} + +func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + spaceID int64 + exptID int64 + recordID int64 + createAt int64 + wantErr bool + }{ + { + name: "success - pending record", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Unknown, + }, nil) + mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("http://test-url.com", make(map[string][]string), nil) + mocks.agentAdapter.EXPECT().CallTraceAgent(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "success - record with report ID", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Running, + AnalysisReportID: gptr.Of(int64(123)), + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("", entity.ReportStatus_Running, nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "repo error", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(nil, errors.New("repo error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + err := service.GenAnalysisReport(ctx, tt.spaceID, tt.exptID, tt.recordID, tt.createAt) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + }) + } +} + +func TestExptInsightAnalysisServiceImpl_GetAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + spaceID int64 + exptID int64 + recordID int64 + session *entity.Session + wantErr bool + }{ + { + name: "success", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("test report content", entity.ReportStatus_Success, nil) + mocks.repo.EXPECT().CountFeedbackVote(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(5), int64(2), nil) + mocks.repo.EXPECT().GetFeedbackVoteByUser(gomock.Any(), int64(1), int64(1), int64(1), "user1").Return(nil, nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: false, + }, + { + name: "repo error", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(nil, errors.New("repo error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + result, err := service.GetAnalysisRecordByID(ctx, tt.spaceID, tt.exptID, tt.recordID, tt.session) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.NotNil(t, result) + assert.Equal(t, int64(1), result.ID) + } + }) + } +} + +func TestExptInsightAnalysisServiceImpl_ListAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + spaceID int64 + exptID int64 + page entity.Page + session *entity.Session + wantErr bool + }{ + { + name: "success", + setup: func() { + mocks.repo.EXPECT().ListAnalysisRecord(gomock.Any(), int64(1), int64(1), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{ + {ID: 1, SpaceID: 1, ExptID: 1}, + {ID: 2, SpaceID: 1, ExptID: 1}, + }, int64(2), nil) + }, + spaceID: 1, + exptID: 1, + page: entity.NewPage(0, 10), + session: &entity.Session{UserID: "user1"}, + wantErr: false, + }, + { + name: "repo error", + setup: func() { + mocks.repo.EXPECT().ListAnalysisRecord(gomock.Any(), int64(1), int64(1), gomock.Any()).Return(nil, int64(0), errors.New("repo error")) + }, + spaceID: 1, + exptID: 1, + page: entity.NewPage(0, 10), + session: &entity.Session{UserID: "user1"}, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + result, total, err := service.ListAnalysisRecord(ctx, tt.spaceID, tt.exptID, tt.page, tt.session) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.NotNil(t, result) + assert.Equal(t, int64(2), total) + } + }) + } +} + +func TestExptInsightAnalysisServiceImpl_DeleteAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + spaceID int64 + exptID int64 + recordID int64 + wantErr bool + }{ + { + name: "success", + setup: func() { + mocks.repo.EXPECT().DeleteAnalysisRecord(gomock.Any(), int64(1), int64(1), int64(1)).Return(nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + wantErr: false, + }, + { + name: "repo error", + setup: func() { + mocks.repo.EXPECT().DeleteAnalysisRecord(gomock.Any(), int64(1), int64(1), int64(1)).Return(errors.New("repo error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + err := service.DeleteAnalysisRecord(ctx, tt.spaceID, tt.exptID, tt.recordID) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + }) + } +} + +func TestExptInsightAnalysisServiceImpl_FeedbackExptInsightAnalysis(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + param *entity.ExptInsightAnalysisFeedbackParam + wantErr bool + }{ + { + name: "success - create comment", + setup: func() { + mocks.repo.EXPECT().CreateFeedbackComment(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_CreateComment, + Comment: ptr.Of("test comment"), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - update comment", + setup: func() { + mocks.repo.EXPECT().UpdateFeedbackComment(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Update_Comment, + Comment: ptr.Of("updated comment"), + CommentID: ptr.Of(int64(1)), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - delete comment", + setup: func() { + mocks.repo.EXPECT().DeleteFeedbackComment(gomock.Any(), int64(1), int64(1), int64(1)).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Delete_Comment, + CommentID: ptr.Of(int64(1)), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - create vote", + setup: func() { + mocks.repo.EXPECT().CreateFeedbackVote(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Upvote, + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + err := service.FeedbackExptInsightAnalysis(ctx, tt.param) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + }) + } +} + +func TestExptInsightAnalysisServiceImpl_ListExptInsightAnalysisFeedbackComment(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + spaceID int64 + exptID int64 + recordID int64 + page entity.Page + wantErr bool + }{ + { + name: "success", + setup: func() { + mocks.repo.EXPECT().List(gomock.Any(), int64(1), int64(1), int64(1), gomock.Any()).Return([]*entity.ExptInsightAnalysisFeedbackComment{ + {ID: 1, SpaceID: 1, ExptID: 1, AnalysisRecordID: 1, Comment: "test comment"}, + }, int64(1), nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + page: entity.NewPage(0, 10), + wantErr: false, + }, + { + name: "repo error", + setup: func() { + mocks.repo.EXPECT().List(gomock.Any(), int64(1), int64(1), int64(1), gomock.Any()).Return(nil, int64(0), errors.New("repo error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + page: entity.NewPage(0, 10), + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + result, total, err := service.ListExptInsightAnalysisFeedbackComment(ctx, tt.spaceID, tt.exptID, tt.recordID, tt.page) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.NotNil(t, result) + assert.Equal(t, int64(1), total) + } + }) + } +} \ No newline at end of file diff --git a/backend/modules/evaluation/domain/service/mocks/insight_analysis.go b/backend/modules/evaluation/domain/service/mocks/insight_analysis.go new file mode 100644 index 000000000..78d1223d8 --- /dev/null +++ b/backend/modules/evaluation/domain/service/mocks/insight_analysis.go @@ -0,0 +1,140 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service (interfaces: IExptInsightAnalysisService) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + entity "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + gomock "go.uber.org/mock/gomock" +) + +// MockIExptInsightAnalysisService is a mock of IExptInsightAnalysisService interface. +type MockIExptInsightAnalysisService struct { + ctrl *gomock.Controller + recorder *MockIExptInsightAnalysisServiceMockRecorder +} + +// MockIExptInsightAnalysisServiceMockRecorder is the mock recorder for MockIExptInsightAnalysisService. +type MockIExptInsightAnalysisServiceMockRecorder struct { + mock *MockIExptInsightAnalysisService +} + +// NewMockIExptInsightAnalysisService creates a new mock instance. +func NewMockIExptInsightAnalysisService(ctrl *gomock.Controller) *MockIExptInsightAnalysisService { + mock := &MockIExptInsightAnalysisService{ctrl: ctrl} + mock.recorder = &MockIExptInsightAnalysisServiceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIExptInsightAnalysisService) EXPECT() *MockIExptInsightAnalysisServiceMockRecorder { + return m.recorder +} + +// CreateAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisService) CreateAnalysisRecord(arg0 context.Context, arg1 *entity.ExptInsightAnalysisRecord, arg2 *entity.Session) (int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateAnalysisRecord", arg0, arg1, arg2) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateAnalysisRecord indicates an expected call of CreateAnalysisRecord. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) CreateAnalysisRecord(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).CreateAnalysisRecord), arg0, arg1, arg2) +} + +// DeleteAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisService) DeleteAnalysisRecord(arg0 context.Context, arg1, arg2, arg3 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteAnalysisRecord", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAnalysisRecord indicates an expected call of DeleteAnalysisRecord. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) DeleteAnalysisRecord(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).DeleteAnalysisRecord), arg0, arg1, arg2, arg3) +} + +// FeedbackExptInsightAnalysis mocks base method. +func (m *MockIExptInsightAnalysisService) FeedbackExptInsightAnalysis(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackParam) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FeedbackExptInsightAnalysis", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// FeedbackExptInsightAnalysis indicates an expected call of FeedbackExptInsightAnalysis. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) FeedbackExptInsightAnalysis(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FeedbackExptInsightAnalysis", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).FeedbackExptInsightAnalysis), arg0, arg1) +} + +// GenAnalysisReport mocks base method. +func (m *MockIExptInsightAnalysisService) GenAnalysisReport(arg0 context.Context, arg1, arg2, arg3, arg4 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GenAnalysisReport", arg0, arg1, arg2, arg3, arg4) + ret0, _ := ret[0].(error) + return ret0 +} + +// GenAnalysisReport indicates an expected call of GenAnalysisReport. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) GenAnalysisReport(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenAnalysisReport", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).GenAnalysisReport), arg0, arg1, arg2, arg3, arg4) +} + +// GetAnalysisRecordByID mocks base method. +func (m *MockIExptInsightAnalysisService) GetAnalysisRecordByID(arg0 context.Context, arg1, arg2, arg3 int64, arg4 *entity.Session) (*entity.ExptInsightAnalysisRecord, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetAnalysisRecordByID", arg0, arg1, arg2, arg3, arg4) + ret0, _ := ret[0].(*entity.ExptInsightAnalysisRecord) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetAnalysisRecordByID indicates an expected call of GetAnalysisRecordByID. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) GetAnalysisRecordByID(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnalysisRecordByID", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).GetAnalysisRecordByID), arg0, arg1, arg2, arg3, arg4) +} + +// ListAnalysisRecord mocks base method. +func (m *MockIExptInsightAnalysisService) ListAnalysisRecord(arg0 context.Context, arg1, arg2 int64, arg3 entity.Page, arg4 *entity.Session) ([]*entity.ExptInsightAnalysisRecord, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListAnalysisRecord", arg0, arg1, arg2, arg3, arg4) + ret0, _ := ret[0].([]*entity.ExptInsightAnalysisRecord) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// ListAnalysisRecord indicates an expected call of ListAnalysisRecord. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) ListAnalysisRecord(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).ListAnalysisRecord), arg0, arg1, arg2, arg3, arg4) +} + +// ListExptInsightAnalysisFeedbackComment mocks base method. +func (m *MockIExptInsightAnalysisService) ListExptInsightAnalysisFeedbackComment(arg0 context.Context, arg1, arg2, arg3 int64, arg4 entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListExptInsightAnalysisFeedbackComment", arg0, arg1, arg2, arg3, arg4) + ret0, _ := ret[0].([]*entity.ExptInsightAnalysisFeedbackComment) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// ListExptInsightAnalysisFeedbackComment indicates an expected call of ListExptInsightAnalysisFeedbackComment. +func (mr *MockIExptInsightAnalysisServiceMockRecorder) ListExptInsightAnalysisFeedbackComment(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListExptInsightAnalysisFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisService)(nil).ListExptInsightAnalysisFeedbackComment), arg0, arg1, arg2, arg3, arg4) +} diff --git a/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go new file mode 100644 index 000000000..0f8a9ef6a --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go @@ -0,0 +1,315 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + +package experiment + +import ( + "context" + "testing" + "time" + + "go.uber.org/mock/gomock" + "github.com/stretchr/testify/assert" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/mocks" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" + mockidgen "github.com/coze-dev/coze-loop/backend/infra/idgen/mocks" +) + +type testMocks struct { + analysisRecordDAO *mocks.MockIExptInsightAnalysisRecordDAO + feedbackCommentDAO *mocks.MockIExptInsightAnalysisFeedbackCommentDAO + feedbackVoteDAO *mocks.MockIExptInsightAnalysisFeedbackVoteDAO + idGenerator *mockidgen.MockIIDGenerator +} + +func newTestExptInsightAnalysisRecordRepo(ctrl *gomock.Controller) (*ExptInsightAnalysisRecordRepo, *testMocks) { + mocks := &testMocks{ + analysisRecordDAO: mocks.NewMockIExptInsightAnalysisRecordDAO(ctrl), + feedbackCommentDAO: mocks.NewMockIExptInsightAnalysisFeedbackCommentDAO(ctrl), + feedbackVoteDAO: mocks.NewMockIExptInsightAnalysisFeedbackVoteDAO(ctrl), + idGenerator: mockidgen.NewMockIIDGenerator(ctrl), + } + + repo := &ExptInsightAnalysisRecordRepo{ + exptInsightAnalysisRecordDAO: mocks.analysisRecordDAO, + exptInsightAnalysisFeedbackCommentDAO: mocks.feedbackCommentDAO, + exptInsightAnalysisFeedbackVoteDAO: mocks.feedbackVoteDAO, + idgenerator: mocks.idGenerator, + } + + return repo, mocks +} + +func TestExptInsightAnalysisRecordRepo_CreateAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + record := &entity.ExptInsightAnalysisRecord{ + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Running, + AnalysisReportContent: "test content", + CreatedBy: "user123", + } + + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(123), nil) + mocks.analysisRecordDAO.EXPECT().Create(gomock.Any(), gomock.Any()).Return(nil) + + id, err := repo.CreateAnalysisRecord(context.Background(), record) + + assert.NoError(t, err) + assert.Equal(t, int64(123), id) + assert.Equal(t, int64(123), record.ID) +} + +func TestExptInsightAnalysisRecordRepo_UpdateAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + record := &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportContent: "updated content", + } + + mocks.analysisRecordDAO.EXPECT().Update(gomock.Any(), gomock.Any()).Return(nil) + + err := repo.UpdateAnalysisRecord(context.Background(), record) + + assert.NoError(t, err) +} + +func TestExptInsightAnalysisRecordRepo_GetAnalysisRecordByID(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.analysisRecordDAO.EXPECT().GetByID(gomock.Any(), int64(1), int64(1), int64(1), gomock.Any()).Return(&model.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: int32(entity.InsightAnalysisStatus_Success), + CreatedBy: "test-user", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }, nil) + + record, err := repo.GetAnalysisRecordByID(context.Background(), 1, 1, 1) + + assert.NoError(t, err) + assert.NotNil(t, record) + assert.Equal(t, int64(1), record.ID) +} + +func TestExptInsightAnalysisRecordRepo_ListAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.analysisRecordDAO.EXPECT().List(gomock.Any(), int64(1), int64(1), entity.NewPage(1, 10)).Return([]*model.ExptInsightAnalysisRecord{ + { + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: int32(entity.InsightAnalysisStatus_Success), + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }, + }, int64(1), nil) + + records, total, err := repo.ListAnalysisRecord(context.Background(), 1, 1, entity.NewPage(1, 10)) + + assert.NoError(t, err) + assert.Len(t, records, 1) + assert.Equal(t, int64(1), total) +} + +func TestExptInsightAnalysisRecordRepo_DeleteAnalysisRecord(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.analysisRecordDAO.EXPECT().Delete(gomock.Any(), int64(1), int64(1), int64(1)).Return(nil) + + err := repo.DeleteAnalysisRecord(context.Background(), 1, 1, 1) + + assert.NoError(t, err) +} + +func TestExptInsightAnalysisRecordRepo_CreateFeedbackComment(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + comment := &entity.ExptInsightAnalysisFeedbackComment{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + Comment: "test comment", + CreatedBy: "user123", + } + + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(456), nil) + mocks.feedbackCommentDAO.EXPECT().Create(gomock.Any(), gomock.Any()).Return(nil) + + err := repo.CreateFeedbackComment(context.Background(), comment) + + assert.NoError(t, err) + assert.Equal(t, int64(456), comment.ID) +} + +func TestExptInsightAnalysisRecordRepo_UpdateFeedbackComment(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + comment := &entity.ExptInsightAnalysisFeedbackComment{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + Comment: "updated comment", + } + + mocks.feedbackCommentDAO.EXPECT().Update(gomock.Any(), gomock.Any()).Return(nil) + + err := repo.UpdateFeedbackComment(context.Background(), comment) + + assert.NoError(t, err) +} + +func TestExptInsightAnalysisRecordRepo_DeleteFeedbackComment(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackCommentDAO.EXPECT().Delete(gomock.Any(), int64(1), int64(1), int64(1)).Return(nil) + + err := repo.DeleteFeedbackComment(context.Background(), 1, 1, 1) + + assert.NoError(t, err) +} + +func TestExptInsightAnalysisRecordRepo_CreateFeedbackVote(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + vote := &entity.ExptInsightAnalysisFeedbackVote{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + VoteType: entity.Upvote, + CreatedBy: "user123", + } + + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(789), nil) + mocks.feedbackVoteDAO.EXPECT().Create(gomock.Any(), gomock.Any()).Return(nil) + + err := repo.CreateFeedbackVote(context.Background(), vote) + + assert.NoError(t, err) + assert.Equal(t, int64(789), vote.ID) +} + +func TestExptInsightAnalysisRecordRepo_UpdateFeedbackVote(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + vote := &entity.ExptInsightAnalysisFeedbackVote{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + VoteType: entity.Downvote, + } + + mocks.feedbackVoteDAO.EXPECT().Update(gomock.Any(), gomock.Any()).Return(nil) + + err := repo.UpdateFeedbackVote(context.Background(), vote) + + assert.NoError(t, err) +} + +func TestExptInsightAnalysisRecordRepo_GetFeedbackVoteByUser(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackVoteDAO.EXPECT().GetByUser(gomock.Any(), int64(1), int64(1), int64(1), "user123", gomock.Any()).Return(&model.ExptInsightAnalysisFeedbackVote{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: ptr.Of(int64(1)), + VoteType: int32(entity.Upvote), + CreatedBy: "user123", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }, nil) + + vote, err := repo.GetFeedbackVoteByUser(context.Background(), 1, 1, 1, "user123") + + assert.NoError(t, err) + assert.NotNil(t, vote) + assert.Equal(t, entity.Upvote, vote.VoteType) +} + +func TestExptInsightAnalysisRecordRepo_CountFeedbackVote(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackVoteDAO.EXPECT().Count(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(3), int64(2), nil) + + upVoteCount, downVoteCount, err := repo.CountFeedbackVote(context.Background(), 1, 1, 1) + + assert.NoError(t, err) + assert.Equal(t, int64(3), upVoteCount) + assert.Equal(t, int64(2), downVoteCount) +} + +func TestExptInsightAnalysisRecordRepo_List(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackCommentDAO.EXPECT().List(gomock.Any(), int64(1), int64(1), int64(1), entity.NewPage(1, 10)).Return([]*model.ExptInsightAnalysisFeedbackComment{ + { + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: ptr.Of(int64(1)), + Comment: ptr.Of("test comment"), + CreatedBy: "user123", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }, + }, int64(1), nil) + + comments, total, err := repo.List(context.Background(), 1, 1, 1, entity.NewPage(1, 10)) + + assert.NoError(t, err) + assert.Len(t, comments, 1) + assert.Equal(t, int64(1), total) +} \ No newline at end of file diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go index c284a6317..8d448e15d 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go @@ -14,6 +14,7 @@ import ( "github.com/coze-dev/coze-loop/backend/pkg/json" ) +//go:generate mockgen -destination=mocks/expt_insight_analysis_feedback_comment.go -package mocks . IExptInsightAnalysisFeedbackCommentDAO type IExptInsightAnalysisFeedbackCommentDAO interface { Create(ctx context.Context, feedbackComment *model.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error Update(ctx context.Context, feedbackComment *model.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go index 8e2e4c271..665ac9da7 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -17,6 +17,7 @@ import ( "gorm.io/gorm" ) +//go:generate mockgen -destination=mocks/expt_insight_analysis_feedback_vote.go -package mocks . IExptInsightAnalysisFeedbackVoteDAO type IExptInsightAnalysisFeedbackVoteDAO interface { Create(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error Update(ctx context.Context, feedbackVote *model.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go index b8fea1ee4..0c2abb046 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go @@ -14,6 +14,7 @@ import ( "github.com/coze-dev/coze-loop/backend/pkg/json" ) +//go:generate mockgen -destination=mocks/expt_insight_analysis_record.go -package mocks . IExptInsightAnalysisRecordDAO type IExptInsightAnalysisRecordDAO interface { Create(ctx context.Context, record *model.ExptInsightAnalysisRecord, opts ...db.Option) error Update(ctx context.Context, record *model.ExptInsightAnalysisRecord, opts ...db.Option) error diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_comment.go b/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_comment.go new file mode 100644 index 000000000..faee0a332 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_comment.go @@ -0,0 +1,126 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql (interfaces: IExptInsightAnalysisFeedbackCommentDAO) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + db "github.com/coze-dev/coze-loop/backend/infra/db" + entity "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + model "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + gomock "go.uber.org/mock/gomock" +) + +// MockIExptInsightAnalysisFeedbackCommentDAO is a mock of IExptInsightAnalysisFeedbackCommentDAO interface. +type MockIExptInsightAnalysisFeedbackCommentDAO struct { + ctrl *gomock.Controller + recorder *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder +} + +// MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder is the mock recorder for MockIExptInsightAnalysisFeedbackCommentDAO. +type MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder struct { + mock *MockIExptInsightAnalysisFeedbackCommentDAO +} + +// NewMockIExptInsightAnalysisFeedbackCommentDAO creates a new mock instance. +func NewMockIExptInsightAnalysisFeedbackCommentDAO(ctrl *gomock.Controller) *MockIExptInsightAnalysisFeedbackCommentDAO { + mock := &MockIExptInsightAnalysisFeedbackCommentDAO{ctrl: ctrl} + mock.recorder = &MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIExptInsightAnalysisFeedbackCommentDAO) EXPECT() *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockIExptInsightAnalysisFeedbackCommentDAO) Create(arg0 context.Context, arg1 *model.ExptInsightAnalysisFeedbackComment, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Create", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder) Create(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackCommentDAO)(nil).Create), varargs...) +} + +// Delete mocks base method. +func (m *MockIExptInsightAnalysisFeedbackCommentDAO) Delete(arg0 context.Context, arg1, arg2, arg3 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delete", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// Delete indicates an expected call of Delete. +func (mr *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder) Delete(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackCommentDAO)(nil).Delete), arg0, arg1, arg2, arg3) +} + +// GetByRecordID mocks base method. +func (m *MockIExptInsightAnalysisFeedbackCommentDAO) GetByRecordID(arg0 context.Context, arg1, arg2, arg3 int64, arg4 ...db.Option) (*model.ExptInsightAnalysisFeedbackComment, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2, arg3} + for _, a := range arg4 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetByRecordID", varargs...) + ret0, _ := ret[0].(*model.ExptInsightAnalysisFeedbackComment) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetByRecordID indicates an expected call of GetByRecordID. +func (mr *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder) GetByRecordID(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByRecordID", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackCommentDAO)(nil).GetByRecordID), varargs...) +} + +// List mocks base method. +func (m *MockIExptInsightAnalysisFeedbackCommentDAO) List(arg0 context.Context, arg1, arg2, arg3 int64, arg4 entity.Page) ([]*model.ExptInsightAnalysisFeedbackComment, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "List", arg0, arg1, arg2, arg3, arg4) + ret0, _ := ret[0].([]*model.ExptInsightAnalysisFeedbackComment) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// List indicates an expected call of List. +func (mr *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder) List(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackCommentDAO)(nil).List), arg0, arg1, arg2, arg3, arg4) +} + +// Update mocks base method. +func (m *MockIExptInsightAnalysisFeedbackCommentDAO) Update(arg0 context.Context, arg1 *model.ExptInsightAnalysisFeedbackComment, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Update", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Update indicates an expected call of Update. +func (mr *MockIExptInsightAnalysisFeedbackCommentDAOMockRecorder) Update(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackCommentDAO)(nil).Update), varargs...) +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_vote.go new file mode 100644 index 000000000..addd54589 --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_feedback_vote.go @@ -0,0 +1,111 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql (interfaces: IExptInsightAnalysisFeedbackVoteDAO) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + db "github.com/coze-dev/coze-loop/backend/infra/db" + model "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + gomock "go.uber.org/mock/gomock" +) + +// MockIExptInsightAnalysisFeedbackVoteDAO is a mock of IExptInsightAnalysisFeedbackVoteDAO interface. +type MockIExptInsightAnalysisFeedbackVoteDAO struct { + ctrl *gomock.Controller + recorder *MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder +} + +// MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder is the mock recorder for MockIExptInsightAnalysisFeedbackVoteDAO. +type MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder struct { + mock *MockIExptInsightAnalysisFeedbackVoteDAO +} + +// NewMockIExptInsightAnalysisFeedbackVoteDAO creates a new mock instance. +func NewMockIExptInsightAnalysisFeedbackVoteDAO(ctrl *gomock.Controller) *MockIExptInsightAnalysisFeedbackVoteDAO { + mock := &MockIExptInsightAnalysisFeedbackVoteDAO{ctrl: ctrl} + mock.recorder = &MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIExptInsightAnalysisFeedbackVoteDAO) EXPECT() *MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder { + return m.recorder +} + +// Count mocks base method. +func (m *MockIExptInsightAnalysisFeedbackVoteDAO) Count(arg0 context.Context, arg1, arg2, arg3 int64) (int64, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Count", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(int64) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// Count indicates an expected call of Count. +func (mr *MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder) Count(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Count", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackVoteDAO)(nil).Count), arg0, arg1, arg2, arg3) +} + +// Create mocks base method. +func (m *MockIExptInsightAnalysisFeedbackVoteDAO) Create(arg0 context.Context, arg1 *model.ExptInsightAnalysisFeedbackVote, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Create", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder) Create(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackVoteDAO)(nil).Create), varargs...) +} + +// GetByUser mocks base method. +func (m *MockIExptInsightAnalysisFeedbackVoteDAO) GetByUser(arg0 context.Context, arg1, arg2, arg3 int64, arg4 string, arg5 ...db.Option) (*model.ExptInsightAnalysisFeedbackVote, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2, arg3, arg4} + for _, a := range arg5 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetByUser", varargs...) + ret0, _ := ret[0].(*model.ExptInsightAnalysisFeedbackVote) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetByUser indicates an expected call of GetByUser. +func (mr *MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder) GetByUser(arg0, arg1, arg2, arg3, arg4 interface{}, arg5 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2, arg3, arg4}, arg5...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByUser", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackVoteDAO)(nil).GetByUser), varargs...) +} + +// Update mocks base method. +func (m *MockIExptInsightAnalysisFeedbackVoteDAO) Update(arg0 context.Context, arg1 *model.ExptInsightAnalysisFeedbackVote, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Update", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Update indicates an expected call of Update. +func (mr *MockIExptInsightAnalysisFeedbackVoteDAOMockRecorder) Update(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockIExptInsightAnalysisFeedbackVoteDAO)(nil).Update), varargs...) +} diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_record.go new file mode 100644 index 000000000..ccffbe7fc --- /dev/null +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/mocks/expt_insight_analysis_record.go @@ -0,0 +1,126 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql (interfaces: IExptInsightAnalysisRecordDAO) + +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + db "github.com/coze-dev/coze-loop/backend/infra/db" + entity "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + model "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + gomock "go.uber.org/mock/gomock" +) + +// MockIExptInsightAnalysisRecordDAO is a mock of IExptInsightAnalysisRecordDAO interface. +type MockIExptInsightAnalysisRecordDAO struct { + ctrl *gomock.Controller + recorder *MockIExptInsightAnalysisRecordDAOMockRecorder +} + +// MockIExptInsightAnalysisRecordDAOMockRecorder is the mock recorder for MockIExptInsightAnalysisRecordDAO. +type MockIExptInsightAnalysisRecordDAOMockRecorder struct { + mock *MockIExptInsightAnalysisRecordDAO +} + +// NewMockIExptInsightAnalysisRecordDAO creates a new mock instance. +func NewMockIExptInsightAnalysisRecordDAO(ctrl *gomock.Controller) *MockIExptInsightAnalysisRecordDAO { + mock := &MockIExptInsightAnalysisRecordDAO{ctrl: ctrl} + mock.recorder = &MockIExptInsightAnalysisRecordDAOMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockIExptInsightAnalysisRecordDAO) EXPECT() *MockIExptInsightAnalysisRecordDAOMockRecorder { + return m.recorder +} + +// Create mocks base method. +func (m *MockIExptInsightAnalysisRecordDAO) Create(arg0 context.Context, arg1 *model.ExptInsightAnalysisRecord, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Create", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Create indicates an expected call of Create. +func (mr *MockIExptInsightAnalysisRecordDAOMockRecorder) Create(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockIExptInsightAnalysisRecordDAO)(nil).Create), varargs...) +} + +// Delete mocks base method. +func (m *MockIExptInsightAnalysisRecordDAO) Delete(arg0 context.Context, arg1, arg2, arg3 int64) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Delete", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(error) + return ret0 +} + +// Delete indicates an expected call of Delete. +func (mr *MockIExptInsightAnalysisRecordDAOMockRecorder) Delete(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockIExptInsightAnalysisRecordDAO)(nil).Delete), arg0, arg1, arg2, arg3) +} + +// GetByID mocks base method. +func (m *MockIExptInsightAnalysisRecordDAO) GetByID(arg0 context.Context, arg1, arg2, arg3 int64, arg4 ...db.Option) (*model.ExptInsightAnalysisRecord, error) { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1, arg2, arg3} + for _, a := range arg4 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetByID", varargs...) + ret0, _ := ret[0].(*model.ExptInsightAnalysisRecord) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetByID indicates an expected call of GetByID. +func (mr *MockIExptInsightAnalysisRecordDAOMockRecorder) GetByID(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByID", reflect.TypeOf((*MockIExptInsightAnalysisRecordDAO)(nil).GetByID), varargs...) +} + +// List mocks base method. +func (m *MockIExptInsightAnalysisRecordDAO) List(arg0 context.Context, arg1, arg2 int64, arg3 entity.Page) ([]*model.ExptInsightAnalysisRecord, int64, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "List", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].([]*model.ExptInsightAnalysisRecord) + ret1, _ := ret[1].(int64) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// List indicates an expected call of List. +func (mr *MockIExptInsightAnalysisRecordDAOMockRecorder) List(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIExptInsightAnalysisRecordDAO)(nil).List), arg0, arg1, arg2, arg3) +} + +// Update mocks base method. +func (m *MockIExptInsightAnalysisRecordDAO) Update(arg0 context.Context, arg1 *model.ExptInsightAnalysisRecord, arg2 ...db.Option) error { + m.ctrl.T.Helper() + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Update", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Update indicates an expected call of Update. +func (mr *MockIExptInsightAnalysisRecordDAOMockRecorder) Update(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{arg0, arg1}, arg2...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockIExptInsightAnalysisRecordDAO)(nil).Update), varargs...) +} diff --git a/backend/modules/evaluation/infra/rpc/agent/agent_test.go b/backend/modules/evaluation/infra/rpc/agent/agent_test.go new file mode 100644 index 000000000..c5a7c0cb4 --- /dev/null +++ b/backend/modules/evaluation/infra/rpc/agent/agent_test.go @@ -0,0 +1,96 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package agent + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" +) + +func TestAgentAdapter_CallTraceAgent(t *testing.T) { + tests := []struct { + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool + errCheck func(t *testing.T, err error) + }{ + { + name: "success case", + setup: func(ctx context.Context) (*AgentAdapter, context.Context) { + adapter := &AgentAdapter{} + return adapter, ctx + }, + wantErr: false, + errCheck: func(t *testing.T, err error) { + assert.NoError(t, err) + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctx := context.Background() + adapter, ctx := tt.setup(ctx) + + result, err := adapter.CallTraceAgent(ctx, 123, "http://example.com") + + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.Equal(t, int64(0), result) + } + + if tt.errCheck != nil { + tt.errCheck(t, err) + } + }) + } +} + +func TestAgentAdapter_GetReport(t *testing.T) { + tests := []struct { + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool + errCheck func(t *testing.T, err error) + }{ + { + name: "success case", + setup: func(ctx context.Context) (*AgentAdapter, context.Context) { + adapter := &AgentAdapter{} + return adapter, ctx + }, + wantErr: false, + errCheck: func(t *testing.T, err error) { + assert.NoError(t, err) + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctx := context.Background() + adapter, ctx := tt.setup(ctx) + + report, status, err := adapter.GetReport(ctx, 123, 456) + + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.Equal(t, "", report) + assert.Equal(t, entity.ReportStatus_Unknown, status) + } + + if tt.errCheck != nil { + tt.errCheck(t, err) + } + }) + } +} \ No newline at end of file diff --git a/backend/modules/evaluation/infra/rpc/notify/notify_test.go b/backend/modules/evaluation/infra/rpc/notify/notify_test.go new file mode 100644 index 000000000..b75f93290 --- /dev/null +++ b/backend/modules/evaluation/infra/rpc/notify/notify_test.go @@ -0,0 +1,106 @@ +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// SPDX-License-Identifier: Apache-2.0 + +package notify + +import ( + "context" + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { + tests := []struct { + name string + setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) + wantErr bool + errCheck func(t *testing.T, err error) + }{ + { + name: "success case", + setup: func(ctx context.Context) (*NotifyRPCAdapter, context.Context) { + adapter := &NotifyRPCAdapter{} + return adapter, ctx + }, + wantErr: false, + errCheck: func(t *testing.T, err error) { + assert.NoError(t, err) + }, + }, + { + name: "with empty userID", + setup: func(ctx context.Context) (*NotifyRPCAdapter, context.Context) { + adapter := &NotifyRPCAdapter{} + return adapter, ctx + }, + wantErr: false, + errCheck: func(t *testing.T, err error) { + assert.NoError(t, err) + }, + }, + { + name: "with empty cardID", + setup: func(ctx context.Context) (*NotifyRPCAdapter, context.Context) { + adapter := &NotifyRPCAdapter{} + return adapter, ctx + }, + wantErr: false, + errCheck: func(t *testing.T, err error) { + assert.NoError(t, err) + }, + }, + { + name: "with nil param", + setup: func(ctx context.Context) (*NotifyRPCAdapter, context.Context) { + adapter := &NotifyRPCAdapter{} + return adapter, ctx + }, + wantErr: false, + errCheck: func(t *testing.T, err error) { + assert.NoError(t, err) + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctx := context.Background() + adapter, ctx := tt.setup(ctx) + + var userID, cardID string + var param map[string]string + + switch tt.name { + case "success case": + userID = "user123" + cardID = "card456" + param = map[string]string{"key": "value"} + case "with empty userID": + userID = "" + cardID = "card456" + param = map[string]string{"key": "value"} + case "with empty cardID": + userID = "user123" + cardID = "" + param = map[string]string{"key": "value"} + case "with nil param": + userID = "user123" + cardID = "card456" + param = nil + } + + err := adapter.SendLarkMessageCard(ctx, userID, cardID, param) + + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + + if tt.errCheck != nil { + tt.errCheck(t, err) + } + }) + } +} \ No newline at end of file From f2f9b3ab04f40a4d1eec246e943484588a0b7b27 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Wed, 17 Sep 2025 20:17:31 +0800 Subject: [PATCH 29/42] update --- .../experiment/expt_insight_analysis.go | 2 +- .../evaluation/application/experiment_app.go | 1 - .../application/experiment_app_test.go | 172 ++++++++++++++++ .../evaluation/application/insight_test.go | 190 ------------------ .../evaluation/domain/component/rpc/notify.go | 3 + .../domain/component/rpc/trace_agent.go | 2 +- .../entity/expt_insight_analysis_record.go | 2 +- .../domain/service/expt_export_impl_test.go | 56 +----- .../domain/service/insight_analysis.go | 2 +- .../domain/service/insight_analysis_impl.go | 2 +- .../service/insight_analysis_impl_test.go | 54 +++-- .../expt_insight_analysis_record.go | 2 +- .../convert/expt_insight_analysis_record.go | 2 +- .../expt_insight_analysis_feedback_comment.go | 2 +- .../expt_insight_analysis_feedback_vote.go | 2 +- .../mysql/expt_insight_analysis_record.go | 2 +- .../evaluation/infra/rpc/agent/agent.go | 2 +- .../evaluation/infra/rpc/agent/agent_test.go | 16 +- .../infra/rpc/notify/notify_test.go | 10 +- 19 files changed, 233 insertions(+), 291 deletions(-) delete mode 100644 backend/modules/evaluation/application/insight_test.go diff --git a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go index 726d673d7..249311f85 100644 --- a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go +++ b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package experiment diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index 3a6e51a77..939c2cdda 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -70,7 +70,6 @@ func NewExperimentApplication( manager service.IExptManager, scheduler service.ExptSchedulerEvent, recordEval service.ExptItemEvalEvent, -// tupleSvc service.IExptTupleService, idgen idgen.IIDGenerator, configer component.IConfiger, auth rpc.IAuthProvider, diff --git a/backend/modules/evaluation/application/experiment_app_test.go b/backend/modules/evaluation/application/experiment_app_test.go index cc30069b0..ef18b4b56 100644 --- a/backend/modules/evaluation/application/experiment_app_test.go +++ b/backend/modules/evaluation/application/experiment_app_test.go @@ -12,6 +12,7 @@ import ( "testing" "github.com/bytedance/gg/gptr" + repo_mocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" @@ -3564,3 +3565,174 @@ func TestExperimentApplication_AssociateAnnotationTag(t *testing.T) { }) } } + +func setupTestApp(t *testing.T) (context.Context, *experimentApplication, *servicemocks.MockIExptManager, *repo_mocks.MockIExperimentRepo, *servicemocks.MockIExptInsightAnalysisService, *rpcmocks.MockIAuthProvider) { + ctrl := gomock.NewController(t) + mockManager := servicemocks.NewMockIExptManager(ctrl) + mockRepo := repo_mocks.NewMockIExperimentRepo(ctrl) + mockInsightService := servicemocks.NewMockIExptInsightAnalysisService(ctrl) + mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) + + app := &experimentApplication{ + manager: mockManager, + IExptInsightAnalysisService: mockInsightService, + auth: mockAuth, + } + + return context.Background(), app, mockManager, mockRepo, mockInsightService, mockAuth +} + +func TestInsightAnalysisExperiment(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.InsightAnalysisExperimentRequest{ + WorkspaceID: 123, + ExptID: 456, + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + // Mock the CreateAnalysisRecord call + mockInsightService.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) + + _, err := app.InsightAnalysisExperiment(ctx, req) + if err != nil { + t.Errorf("InsightAnalysisExperiment failed: %v", err) + } +} + +func TestListExptInsightAnalysisRecord(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.ListExptInsightAnalysisRecordRequest{ + WorkspaceID: 123, + ExptID: 456, + PageNumber: &[]int32{1}[0], + PageSize: &[]int32{10}[0], + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{}, int64(0), nil) + + _, err := app.ListExptInsightAnalysisRecord(ctx, req) + if err != nil { + t.Errorf("ListExptInsightAnalysisRecord failed: %v", err) + } +} + +func TestGetExptInsightAnalysisRecord(t *testing.T) { + ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) + + userID := int64(789) + req := &exptpb.GetExptInsightAnalysisRecordRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + Session: &common.Session{ + UserID: &userID, + }, + } + + // Mock the auth.Authorization call + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + // Mock the service call + mockInsightService.EXPECT().GetAnalysisRecordByID(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.ExptInsightAnalysisRecord{ + ID: 789, + ExptID: 456, + SpaceID: 123, + Status: entity.InsightAnalysisStatus_Running, + CreatedBy: "test-user", + }, nil) + + resp, err := app.GetExptInsightAnalysisRecord(ctx, req) + if err != nil { + t.Errorf("GetExptInsightAnalysisRecord failed: %v", err) + } + if resp == nil { + t.Error("Expected non-nil response") + } +} + +func TestDeleteExptInsightAnalysisRecord(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.DeleteExptInsightAnalysisRecordRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().DeleteAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + + _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) + if err != nil { + t.Errorf("DeleteExptInsightAnalysisRecord failed: %v", err) + } +} + +func TestFeedbackExptInsightAnalysisReport(t *testing.T) { + ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.FeedbackExptInsightAnalysisReportRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + FeedbackActionType: expt.FeedbackActionTypeUpvote, + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().FeedbackExptInsightAnalysis(gomock.Any(), gomock.Any()).Return(nil) + + _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) + if err != nil { + t.Errorf("FeedbackExptInsightAnalysisReport failed: %v", err) + } +} + +func TestListExptInsightAnalysisComment(t *testing.T) { + ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) + + req := &exptpb.ListExptInsightAnalysisCommentRequest{ + WorkspaceID: 123, + ExptID: 456, + InsightAnalysisRecordID: 789, + PageNumber: &[]int32{1}[0], + PageSize: &[]int32{10}[0], + Session: &common.Session{ + UserID: &[]int64{789}[0], + }, + } + + // Mock the auth.Authorization call + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListExptInsightAnalysisFeedbackComment(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisFeedbackComment{}, int64(0), nil) + + _, err := app.ListExptInsightAnalysisComment(ctx, req) + if err != nil { + t.Errorf("ListExptInsightAnalysisComment failed: %v", err) + } +} diff --git a/backend/modules/evaluation/application/insight_test.go b/backend/modules/evaluation/application/insight_test.go deleted file mode 100644 index 9705eddf1..000000000 --- a/backend/modules/evaluation/application/insight_test.go +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package application - -import ( - "context" - "testing" - - "go.uber.org/mock/gomock" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" - domain_expt "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/expt" - exptpb "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - repo_mocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" - servicemocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" - rpcmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" -) - -func setupTestApp(t *testing.T) (context.Context, *experimentApplication, *servicemocks.MockIExptManager, *repo_mocks.MockIExperimentRepo, *servicemocks.MockIExptInsightAnalysisService, *rpcmocks.MockIAuthProvider) { - ctrl := gomock.NewController(t) - mockManager := servicemocks.NewMockIExptManager(ctrl) - mockRepo := repo_mocks.NewMockIExperimentRepo(ctrl) - mockInsightService := servicemocks.NewMockIExptInsightAnalysisService(ctrl) - mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) - - app := &experimentApplication{ - manager: mockManager, - IExptInsightAnalysisService: mockInsightService, - auth: mockAuth, - } - - return context.Background(), app, mockManager, mockRepo, mockInsightService, mockAuth -} - -func TestInsightAnalysisExperiment(t *testing.T) { - ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) - - req := &exptpb.InsightAnalysisExperimentRequest{ - WorkspaceID: 123, - ExptID: 456, - Session: &common.Session{ - UserID: &[]int64{789}[0], - }, - } - - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - // Mock the CreateAnalysisRecord call - mockInsightService.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) - - _, err := app.InsightAnalysisExperiment(ctx, req) - if err != nil { - t.Errorf("InsightAnalysisExperiment failed: %v", err) - } -} - -func TestListExptInsightAnalysisRecord(t *testing.T) { - ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) - - req := &exptpb.ListExptInsightAnalysisRecordRequest{ - WorkspaceID: 123, - ExptID: 456, - PageNumber: &[]int32{1}[0], - PageSize: &[]int32{10}[0], - Session: &common.Session{ - UserID: &[]int64{789}[0], - }, - } - - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{}, int64(0), nil) - - _, err := app.ListExptInsightAnalysisRecord(ctx, req) - if err != nil { - t.Errorf("ListExptInsightAnalysisRecord failed: %v", err) - } -} - -func TestGetExptInsightAnalysisRecord(t *testing.T) { - ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) - - userID := int64(789) - req := &exptpb.GetExptInsightAnalysisRecordRequest{ - WorkspaceID: 123, - ExptID: 456, - InsightAnalysisRecordID: 789, - Session: &common.Session{ - UserID: &userID, - }, - } - - // Mock the auth.Authorization call - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - // Mock the service call - mockInsightService.EXPECT().GetAnalysisRecordByID(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.ExptInsightAnalysisRecord{ - ID: 789, - ExptID: 456, - SpaceID: 123, - Status: entity.InsightAnalysisStatus_Running, - CreatedBy: "test-user", - }, nil) - - resp, err := app.GetExptInsightAnalysisRecord(ctx, req) - if err != nil { - t.Errorf("GetExptInsightAnalysisRecord failed: %v", err) - } - if resp == nil { - t.Error("Expected non-nil response") - } -} - -func TestDeleteExptInsightAnalysisRecord(t *testing.T) { - ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) - - req := &exptpb.DeleteExptInsightAnalysisRecordRequest{ - WorkspaceID: 123, - ExptID: 456, - InsightAnalysisRecordID: 789, - Session: &common.Session{ - UserID: &[]int64{789}[0], - }, - } - - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().DeleteAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - - _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) - if err != nil { - t.Errorf("DeleteExptInsightAnalysisRecord failed: %v", err) - } -} - -func TestFeedbackExptInsightAnalysisReport(t *testing.T) { - ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) - - req := &exptpb.FeedbackExptInsightAnalysisReportRequest{ - WorkspaceID: 123, - ExptID: 456, - InsightAnalysisRecordID: 789, - FeedbackActionType: domain_expt.FeedbackActionTypeUpvote, - Session: &common.Session{ - UserID: &[]int64{789}[0], - }, - } - - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().FeedbackExptInsightAnalysis(gomock.Any(), gomock.Any()).Return(nil) - - _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) - if err != nil { - t.Errorf("FeedbackExptInsightAnalysisReport failed: %v", err) - } -} - -func TestListExptInsightAnalysisComment(t *testing.T) { - ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) - - req := &exptpb.ListExptInsightAnalysisCommentRequest{ - WorkspaceID: 123, - ExptID: 456, - InsightAnalysisRecordID: 789, - PageNumber: &[]int32{1}[0], - PageSize: &[]int32{10}[0], - Session: &common.Session{ - UserID: &[]int64{789}[0], - }, - } - - // Mock the auth.Authorization call - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().ListExptInsightAnalysisFeedbackComment(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisFeedbackComment{}, int64(0), nil) - - _, err := app.ListExptInsightAnalysisComment(ctx, req) - if err != nil { - t.Errorf("ListExptInsightAnalysisComment failed: %v", err) - } -} \ No newline at end of file diff --git a/backend/modules/evaluation/domain/component/rpc/notify.go b/backend/modules/evaluation/domain/component/rpc/notify.go index b9d4b5c2c..bb7d98b28 100644 --- a/backend/modules/evaluation/domain/component/rpc/notify.go +++ b/backend/modules/evaluation/domain/component/rpc/notify.go @@ -1,3 +1,6 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + package rpc import "context" diff --git a/backend/modules/evaluation/domain/component/rpc/trace_agent.go b/backend/modules/evaluation/domain/component/rpc/trace_agent.go index 8ad523285..658736cae 100644 --- a/backend/modules/evaluation/domain/component/rpc/trace_agent.go +++ b/backend/modules/evaluation/domain/component/rpc/trace_agent.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package rpc diff --git a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go index b07c0d601..ff35af7c8 100644 --- a/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/domain/entity/expt_insight_analysis_record.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package entity diff --git a/backend/modules/evaluation/domain/service/expt_export_impl_test.go b/backend/modules/evaluation/domain/service/expt_export_impl_test.go index b12bdf301..f45a4cbc2 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl_test.go @@ -424,9 +424,6 @@ func TestExptResultExportService_ListExportRecord(t *testing.T) { } func TestExptResultExportService_DoExportCSV(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - tests := []struct { name string spaceID int64 @@ -441,17 +438,7 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { exptID: 123, exportID: 456, setup: func(svc *ExptResultExportService) { - // 获取实验信息 - expt := &entity.Experiment{ - ID: 123, - Name: "test_expt", - } - svc.exptRepo.(*repoMocks.MockIExperimentRepo).EXPECT(). - GetByID(gomock.Any(), int64(123), int64(1)). - Return(expt, nil). - Times(1) - - // 新增MGetExperimentResult模拟调用 + // MGetExperimentResult模拟调用 colEvaluators := []*entity.ColumnEvaluator{{EvaluatorVersionID: 1, Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} colAnnotation := []*entity.ColumnAnnotation{{TagKeyID: 1, TagName: "test_tag"}} @@ -551,11 +538,7 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { // Return([]*entity.ExptTurnResult{}, int64(0), nil). // Times(1) - // 更新导出记录为成功 - svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). - Update(gomock.Any(), gomock.Any()). - Return(nil). - Times(1) + }, wantErr: false, }, @@ -573,41 +556,15 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { // wantErr: true, // }, { - name: "获取实验信息失败", + name: "MGetExperimentResult失败", spaceID: 1, exptID: 123, exportID: 456, setup: func(svc *ExptResultExportService) { - // record := &entity.ExptResultExportRecord{ - // ID: 456, - // SpaceID: 1, - // ExptID: 123, - // CsvExportStatus: entity.CSVExportStatus_Running, - // } - // svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). - // Get(gomock.Any(), int64(1), int64(456)). - // Return(record, nil) - - // svc.exptRepo.(*repoMocks.MockIExperimentRepo).EXPECT(). - // GetByID(gomock.Any(), int64(123), int64(1)). - // Return(nil, errors.New("get expt error")) - colEvaluators := []*entity.ColumnEvaluator{{Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} - colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} - colAnnotation := []*entity.ColumnAnnotation{{TagName: "test_tag"}} - exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 1, ColumnAnnotations: colAnnotation}} - itemResults := []*entity.ItemResult{{ItemID: 1}} + // MGetExperimentResult返回错误 svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). MGetExperimentResult(gomock.Any(), gomock.Any()). - Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults, int64(len(itemResults)), fmt.Errorf("err")) - // 更新导出记录为失败 - svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). - Update(gomock.Any(), gomock.Any()). - Return(nil) - svc.configer.(*componentMocks.MockIConfiger).EXPECT().GetErrCtrl(gomock.Any()).Return(&entity.ExptErrCtrl{ - ResultErrConverts: []*entity.ResultErrConvert{{MatchedText: "err", ToErrMsg: "err"}}, - SpaceErrRetryCtrl: map[int64]*entity.ErrRetryCtrl{1: {RetryConf: &entity.RetryConf{RetryTimes: 2}}}, - ErrRetryCtrl: &entity.ErrRetryCtrl{RetryConf: &entity.RetryConf{RetryTimes: 1}}, - }) + Return(nil, nil, nil, nil, nil, int64(0), fmt.Errorf("MGetExperimentResult error")) }, wantErr: true, }, @@ -615,6 +572,9 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + svc := newTestExptResultExportService(ctrl) tt.setup(svc) diff --git a/backend/modules/evaluation/domain/service/insight_analysis.go b/backend/modules/evaluation/domain/service/insight_analysis.go index 8b742b999..e345fd7be 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis.go +++ b/backend/modules/evaluation/domain/service/insight_analysis.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package service diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index af08c6e2a..5d2078083 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package service diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go index 0b8c37953..969971c81 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -10,20 +10,18 @@ import ( "time" "github.com/bytedance/gg/gptr" - "go.uber.org/mock/gomock" "github.com/stretchr/testify/assert" + "go.uber.org/mock/gomock" + fileMocks "github.com/coze-dev/coze-loop/backend/infra/fileserver/mocks" + rpcMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" eventsMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/events/mocks" - fileMocks "github.com/coze-dev/coze-loop/backend/infra/fileserver/mocks" repoMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" - rpcMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" serviceMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" ) - - func newTestInsightAnalysisService(ctrl *gomock.Controller) (*ExptInsightAnalysisServiceImpl, *testInsightAnalysisServiceMocks) { mockRepo := repoMocks.NewMockIExptInsightAnalysisRecordRepo(ctrl) mockPublisher := eventsMocks.NewMockExptEventPublisher(ctrl) @@ -170,16 +168,16 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { { name: "success - record with report ID", setup: func() { - mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ - ID: 1, - SpaceID: 1, - ExptID: 1, - Status: entity.InsightAnalysisStatus_Running, - AnalysisReportID: gptr.Of(int64(123)), - }, nil) - mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("", entity.ReportStatus_Running, nil) - mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - }, + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Running, + AnalysisReportID: gptr.Of(int64(123)), + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("", entity.ReportStatus_Running, nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + }, spaceID: 1, exptID: 1, recordID: 1, @@ -231,18 +229,18 @@ func TestExptInsightAnalysisServiceImpl_GetAnalysisRecord(t *testing.T) { { name: "success", setup: func() { - mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ - ID: 1, - SpaceID: 1, - ExptID: 1, - Status: entity.InsightAnalysisStatus_Success, - AnalysisReportID: gptr.Of(int64(123)), - CreatedBy: "user1", - }, nil) - mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("test report content", entity.ReportStatus_Success, nil) - mocks.repo.EXPECT().CountFeedbackVote(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(5), int64(2), nil) - mocks.repo.EXPECT().GetFeedbackVoteByUser(gomock.Any(), int64(1), int64(1), int64(1), "user1").Return(nil, nil) - }, + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("test report content", entity.ReportStatus_Success, nil) + mocks.repo.EXPECT().CountFeedbackVote(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(5), int64(2), nil) + mocks.repo.EXPECT().GetFeedbackVoteByUser(gomock.Any(), int64(1), int64(1), int64(1), "user1").Return(nil, nil) + }, spaceID: 1, exptID: 1, recordID: 1, @@ -528,4 +526,4 @@ func TestExptInsightAnalysisServiceImpl_ListExptInsightAnalysisFeedbackComment(t } }) } -} \ No newline at end of file +} diff --git a/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go index 4fea0cd98..de1355145 100644 --- a/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package experiment diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go index a99c45fbd..6e3b5fc42 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/convert/expt_insight_analysis_record.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package convert diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go index 8d448e15d..a6d274465 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package mysql diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go index 665ac9da7..a07294cf4 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_vote.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package mysql diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go index 0c2abb046..47e17fd54 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package mysql diff --git a/backend/modules/evaluation/infra/rpc/agent/agent.go b/backend/modules/evaluation/infra/rpc/agent/agent.go index 23cfe578b..70d6bed9f 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package agent diff --git a/backend/modules/evaluation/infra/rpc/agent/agent_test.go b/backend/modules/evaluation/infra/rpc/agent/agent_test.go index c5a7c0cb4..93bc013b7 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent_test.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package agent @@ -14,9 +14,9 @@ import ( func TestAgentAdapter_CallTraceAgent(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*AgentAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -55,9 +55,9 @@ func TestAgentAdapter_CallTraceAgent(t *testing.T) { func TestAgentAdapter_GetReport(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*AgentAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -93,4 +93,4 @@ func TestAgentAdapter_GetReport(t *testing.T) { } }) } -} \ No newline at end of file +} diff --git a/backend/modules/evaluation/infra/rpc/notify/notify_test.go b/backend/modules/evaluation/infra/rpc/notify/notify_test.go index b75f93290..a5a4f9e9d 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify_test.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package notify @@ -12,9 +12,9 @@ import ( func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -103,4 +103,4 @@ func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { } }) } -} \ No newline at end of file +} From 940ebcf8852ffcbc717cd1ca2209916275221c2d Mon Sep 17 00:00:00 2001 From: Han Xu Date: Wed, 17 Sep 2025 22:13:50 +0800 Subject: [PATCH 30/42] update --- .../experiment/expt_insight_analysis_test.go | 505 +++++++++++++ .../domain/service/expt_export_impl.go | 4 +- .../domain/service/expt_export_impl_test.go | 259 ++++++- .../service/insight_analysis_impl_test.go | 702 +++++++++++++++++- .../expt_insight_analysis_record_test.go | 199 ++++- .../evaluation/infra/rpc/notify/notify.go | 3 + 6 files changed, 1620 insertions(+), 52 deletions(-) create mode 100644 backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go diff --git a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go new file mode 100644 index 000000000..c3fc67bd6 --- /dev/null +++ b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go @@ -0,0 +1,505 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + +package experiment + +import ( + "testing" + "time" + + "github.com/stretchr/testify/assert" + + domain_common "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" + domain_expt "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/expt" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" +) + +func TestExptInsightAnalysisRecordDO2DTO(t *testing.T) { + tests := []struct { + name string + do *entity.ExptInsightAnalysisRecord + expected *domain_expt.ExptInsightAnalysisRecord + }{ + { + name: "complete record with all fields", + do: &entity.ExptInsightAnalysisRecord{ + ID: 123, + SpaceID: 456, + ExptID: 789, + Status: entity.InsightAnalysisStatus_Success, + ExptResultFilePath: ptr.Of("/path/to/file"), + AnalysisReportID: ptr.Of(int64(999)), + AnalysisReportContent: "Analysis report content", + CreatedBy: "user123", + CreatedAt: time.Unix(1640995200, 0), // 2022-01-01 00:00:00 UTC + UpdatedAt: time.Unix(1640995260, 0), // 2022-01-01 00:01:00 UTC + ExptInsightAnalysisFeedback: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 10, + DownvoteCount: 2, + CurrentUserVoteType: entity.Upvote, + }, + }, + expected: &domain_expt.ExptInsightAnalysisRecord{ + RecordID: 123, + WorkspaceID: 456, + ExptID: 789, + AnalysisStatus: domain_expt.InsightAnalysisStatusSuccess, + AnalysisReportID: ptr.Of(int64(999)), + AnalysisReportContent: ptr.Of("Analysis report content"), + ExptInsightAnalysisFeedback: &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(10)), + DownvoteCnt: ptr.Of(int32(2)), + CurrentUserVoteType: ptr.Of(domain_expt.InsightAnalysisReportVoteTypeUpvote), + }, + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of("user123"), + }, + CreatedAt: ptr.Of(int64(1640995200)), + UpdatedAt: ptr.Of(int64(1640995260)), + }, + }, + }, + { + name: "minimal record with required fields only", + do: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 2, + ExptID: 3, + Status: entity.InsightAnalysisStatus_Running, + ExptResultFilePath: nil, + AnalysisReportID: nil, + AnalysisReportContent: "", + CreatedBy: "user456", + CreatedAt: time.Unix(1640995300, 0), + UpdatedAt: time.Unix(1640995300, 0), + ExptInsightAnalysisFeedback: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 0, + DownvoteCount: 0, + CurrentUserVoteType: entity.None, + }, + }, + expected: &domain_expt.ExptInsightAnalysisRecord{ + RecordID: 1, + WorkspaceID: 2, + ExptID: 3, + AnalysisStatus: domain_expt.InsightAnalysisStatusRunning, + AnalysisReportID: nil, + AnalysisReportContent: ptr.Of(""), + ExptInsightAnalysisFeedback: &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(0)), + DownvoteCnt: ptr.Of(int32(0)), + CurrentUserVoteType: ptr.Of(domain_expt.InsightAnalysisReportVoteTypeNone), + }, + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of("user456"), + }, + CreatedAt: ptr.Of(int64(1640995300)), + UpdatedAt: ptr.Of(int64(1640995300)), + }, + }, + }, + { + name: "record with failed status", + do: &entity.ExptInsightAnalysisRecord{ + ID: 100, + SpaceID: 200, + ExptID: 300, + Status: entity.InsightAnalysisStatus_Failed, + ExptResultFilePath: ptr.Of("/failed/path"), + AnalysisReportID: nil, + AnalysisReportContent: "Error occurred", + CreatedBy: "user789", + CreatedAt: time.Unix(1640995400, 0), + UpdatedAt: time.Unix(1640995500, 0), + ExptInsightAnalysisFeedback: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 5, + DownvoteCount: 15, + CurrentUserVoteType: entity.Downvote, + }, + }, + expected: &domain_expt.ExptInsightAnalysisRecord{ + RecordID: 100, + WorkspaceID: 200, + ExptID: 300, + AnalysisStatus: domain_expt.InsightAnalysisStatusFailed, + AnalysisReportID: nil, + AnalysisReportContent: ptr.Of("Error occurred"), + ExptInsightAnalysisFeedback: &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(5)), + DownvoteCnt: ptr.Of(int32(15)), + CurrentUserVoteType: ptr.Of(domain_expt.InsightAnalysisReportVoteTypeDownvote), + }, + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of("user789"), + }, + CreatedAt: ptr.Of(int64(1640995400)), + UpdatedAt: ptr.Of(int64(1640995500)), + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := ExptInsightAnalysisRecordDO2DTO(tt.do) + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestExptInsightAnalysisFeedbackDO2DTO(t *testing.T) { + tests := []struct { + name string + do entity.ExptInsightAnalysisFeedback + expected *domain_expt.ExptInsightAnalysisFeedback + }{ + { + name: "feedback with upvote", + do: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 25, + DownvoteCount: 3, + CurrentUserVoteType: entity.Upvote, + }, + expected: &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(25)), + DownvoteCnt: ptr.Of(int32(3)), + CurrentUserVoteType: ptr.Of(domain_expt.InsightAnalysisReportVoteTypeUpvote), + }, + }, + { + name: "feedback with downvote", + do: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 10, + DownvoteCount: 20, + CurrentUserVoteType: entity.Downvote, + }, + expected: &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(10)), + DownvoteCnt: ptr.Of(int32(20)), + CurrentUserVoteType: ptr.Of(domain_expt.InsightAnalysisReportVoteTypeDownvote), + }, + }, + { + name: "feedback with no vote", + do: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 0, + DownvoteCount: 0, + CurrentUserVoteType: entity.None, + }, + expected: &domain_expt.ExptInsightAnalysisFeedback{ + UpvoteCnt: ptr.Of(int32(0)), + DownvoteCnt: ptr.Of(int32(0)), + CurrentUserVoteType: ptr.Of(domain_expt.InsightAnalysisReportVoteTypeNone), + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := ExptInsightAnalysisFeedbackDO2DTO(tt.do) + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestInsightAnalysisStatus2DTO(t *testing.T) { + tests := []struct { + name string + status entity.InsightAnalysisStatus + expected domain_expt.InsightAnalysisStatus + }{ + { + name: "unknown status", + status: entity.InsightAnalysisStatus_Unknown, + expected: domain_expt.InsightAnalysisStatusUnknown, + }, + { + name: "running status", + status: entity.InsightAnalysisStatus_Running, + expected: domain_expt.InsightAnalysisStatusRunning, + }, + { + name: "success status", + status: entity.InsightAnalysisStatus_Success, + expected: domain_expt.InsightAnalysisStatusSuccess, + }, + { + name: "failed status", + status: entity.InsightAnalysisStatus_Failed, + expected: domain_expt.InsightAnalysisStatusFailed, + }, + { + name: "invalid status defaults to unknown", + status: entity.InsightAnalysisStatus(999), // invalid status + expected: domain_expt.InsightAnalysisStatusUnknown, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := InsightAnalysisStatus2DTO(tt.status) + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestFeedbackActionType2DO(t *testing.T) { + tests := []struct { + name string + action domain_expt.FeedbackActionType + expected entity.FeedbackActionType + expectedErr bool + }{ + { + name: "upvote action", + action: domain_expt.FeedbackActionTypeUpvote, + expected: entity.FeedbackActionType_Upvote, + expectedErr: false, + }, + { + name: "cancel upvote action", + action: domain_expt.FeedbackActionTypeCancelUpvote, + expected: entity.FeedbackActionType_CancelUpvote, + expectedErr: false, + }, + { + name: "downvote action", + action: domain_expt.FeedbackActionTypeDownvote, + expected: entity.FeedbackActionType_Downvote, + expectedErr: false, + }, + { + name: "cancel downvote action", + action: domain_expt.FeedbackActionTypeCancelDownvote, + expected: entity.FeedbackActionType_CancelDownvote, + expectedErr: false, + }, + { + name: "create comment action", + action: domain_expt.FeedbackActionTypeCreateComment, + expected: entity.FeedbackActionType_CreateComment, + expectedErr: false, + }, + { + name: "update comment action", + action: domain_expt.FeedbackActionTypeUpdateComment, + expected: entity.FeedbackActionType_Update_Comment, + expectedErr: false, + }, + { + name: "delete comment action", + action: domain_expt.FeedbackActionTypeDeleteComment, + expected: entity.FeedbackActionType_Delete_Comment, + expectedErr: false, + }, + { + name: "unknown action type", + action: "unknown_action", + expected: 0, + expectedErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result, err := FeedbackActionType2DO(tt.action) + if tt.expectedErr { + assert.Error(t, err) + assert.Contains(t, err.Error(), "unknown feedback action type") + } else { + assert.NoError(t, err) + assert.Equal(t, tt.expected, result) + } + }) + } +} + +func TestInsightAnalysisReportVoteType2DTO(t *testing.T) { + tests := []struct { + name string + voteType entity.InsightAnalysisReportVoteType + expected domain_expt.InsightAnalysisReportVoteType + }{ + { + name: "none vote type", + voteType: entity.None, + expected: domain_expt.InsightAnalysisReportVoteTypeNone, + }, + { + name: "upvote type", + voteType: entity.Upvote, + expected: domain_expt.InsightAnalysisReportVoteTypeUpvote, + }, + { + name: "downvote type", + voteType: entity.Downvote, + expected: domain_expt.InsightAnalysisReportVoteTypeDownvote, + }, + { + name: "invalid vote type defaults to none", + voteType: entity.InsightAnalysisReportVoteType(999), // invalid type + expected: domain_expt.InsightAnalysisReportVoteTypeNone, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := InsightAnalysisReportVoteType2DTO(tt.voteType) + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestExptInsightAnalysisFeedbackCommentDO2DTO(t *testing.T) { + tests := []struct { + name string + do *entity.ExptInsightAnalysisFeedbackComment + expected *domain_expt.ExptInsightAnalysisFeedbackComment + }{ + { + name: "complete comment", + do: &entity.ExptInsightAnalysisFeedbackComment{ + ID: 123, + SpaceID: 456, + ExptID: 789, + AnalysisRecordID: 999, + Comment: "This is a test comment", + CreatedBy: "user123", + CreatedAt: time.Unix(1640995200, 0), + UpdatedAt: time.Unix(1640995260, 0), + }, + expected: &domain_expt.ExptInsightAnalysisFeedbackComment{ + CommentID: 123, + ExptID: 789, + WorkspaceID: 456, + RecordID: 999, + Content: "This is a test comment", + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of("user123"), + }, + CreatedAt: ptr.Of(int64(1640995200)), + UpdatedAt: ptr.Of(int64(1640995260)), + }, + }, + }, + { + name: "empty comment", + do: &entity.ExptInsightAnalysisFeedbackComment{ + ID: 1, + SpaceID: 2, + ExptID: 3, + AnalysisRecordID: 4, + Comment: "", + CreatedBy: "user456", + CreatedAt: time.Unix(1640995300, 0), + UpdatedAt: time.Unix(1640995300, 0), + }, + expected: &domain_expt.ExptInsightAnalysisFeedbackComment{ + CommentID: 1, + ExptID: 3, + WorkspaceID: 2, + RecordID: 4, + Content: "", + BaseInfo: &domain_common.BaseInfo{ + CreatedBy: &domain_common.UserInfo{ + UserID: ptr.Of("user456"), + }, + CreatedAt: ptr.Of(int64(1640995300)), + UpdatedAt: ptr.Of(int64(1640995300)), + }, + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := ExptInsightAnalysisFeedbackCommentDO2DTO(tt.do) + assert.Equal(t, tt.expected, result) + }) + } +} + +// Test edge cases and error conditions +func TestExptInsightAnalysisRecordDO2DTO_EdgeCases(t *testing.T) { + t.Run("nil input", func(t *testing.T) { + // This should not panic, but the function doesn't handle nil input + // In a real scenario, we might want to add nil checks + assert.Panics(t, func() { + ExptInsightAnalysisRecordDO2DTO(nil) + }) + }) + + t.Run("zero values", func(t *testing.T) { + do := &entity.ExptInsightAnalysisRecord{} + result := ExptInsightAnalysisRecordDO2DTO(do) + assert.NotNil(t, result) + assert.Equal(t, int64(0), result.RecordID) + assert.Equal(t, int64(0), result.WorkspaceID) + assert.Equal(t, int64(0), result.ExptID) + assert.Equal(t, domain_expt.InsightAnalysisStatusUnknown, result.AnalysisStatus) + }) +} + +func TestExptInsightAnalysisFeedbackCommentDO2DTO_EdgeCases(t *testing.T) { + t.Run("nil input", func(t *testing.T) { + assert.Panics(t, func() { + ExptInsightAnalysisFeedbackCommentDO2DTO(nil) + }) + }) + + t.Run("zero values", func(t *testing.T) { + do := &entity.ExptInsightAnalysisFeedbackComment{} + result := ExptInsightAnalysisFeedbackCommentDO2DTO(do) + assert.NotNil(t, result) + assert.Equal(t, int64(0), result.CommentID) + assert.Equal(t, int64(0), result.ExptID) + assert.Equal(t, int64(0), result.WorkspaceID) + assert.Equal(t, int64(0), result.RecordID) + assert.Equal(t, "", result.Content) + }) +} + +// Benchmark tests +func BenchmarkExptInsightAnalysisRecordDO2DTO(b *testing.B) { + do := &entity.ExptInsightAnalysisRecord{ + ID: 123, + SpaceID: 456, + ExptID: 789, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportContent: "Benchmark test content", + CreatedBy: "benchuser", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + ExptInsightAnalysisFeedback: entity.ExptInsightAnalysisFeedback{ + UpvoteCount: 10, + DownvoteCount: 2, + CurrentUserVoteType: entity.Upvote, + }, + } + + b.ResetTimer() + for i := 0; i < b.N; i++ { + ExptInsightAnalysisRecordDO2DTO(do) + } +} + +func BenchmarkInsightAnalysisStatus2DTO(b *testing.B) { + status := entity.InsightAnalysisStatus_Success + b.ResetTimer() + for i := 0; i < b.N; i++ { + InsightAnalysisStatus2DTO(status) + } +} + +func BenchmarkFeedbackActionType2DO(b *testing.B) { + action := domain_expt.FeedbackActionTypeUpvote + b.ResetTimer() + for i := 0; i < b.N; i++ { + FeedbackActionType2DO(action) + } +} \ No newline at end of file diff --git a/backend/modules/evaluation/domain/service/expt_export_impl.go b/backend/modules/evaluation/domain/service/expt_export_impl.go index f0a1199ff..a60033349 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl.go @@ -235,7 +235,9 @@ func (e ExptResultExportService) HandleExportEvent(ctx context.Context, spaceID, err1 := e.repo.Update(ctx, record) if err1 != nil { - return + if err == nil { + err = err1 + } } }() diff --git a/backend/modules/evaluation/domain/service/expt_export_impl_test.go b/backend/modules/evaluation/domain/service/expt_export_impl_test.go index f45a4cbc2..25dc21967 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl_test.go @@ -442,7 +442,7 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { colEvaluators := []*entity.ColumnEvaluator{{EvaluatorVersionID: 1, Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} colAnnotation := []*entity.ColumnAnnotation{{TagKeyID: 1, TagName: "test_tag"}} - exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 1, ColumnAnnotations: colAnnotation}} + exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 123, ColumnAnnotations: colAnnotation}} itemResults := []*entity.ItemResult{ {ItemID: 1, TurnResults: []*entity.TurnResult{ { @@ -525,36 +525,9 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { Times(1) svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT().Upload(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - - // // 获取实验统计信息 - // svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). - // GetStats(gomock.Any(), int64(123), int64(1), gomock.Any()). - // Return(&entity.ExptStats{}, nil). - // Times(1) - // - // // 获取实验轮次结果 - // svc.exptTurnResultRepo.(*repoMocks.MockIExptTurnResultRepo).EXPECT(). - // ListTurnResult(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()). - // Return([]*entity.ExptTurnResult{}, int64(0), nil). - // Times(1) - - }, wantErr: false, }, - // { - // name: "获取导出记录失败", - // spaceID: 1, - // exptID: 123, - // exportID: 456, - // setup: func(svc *ExptResultExportService) { - // svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). - // Get(gomock.Any(), int64(1), int64(456)). - // Return(nil, errors.New("get record error")). - // Times(1) - // }, - // wantErr: true, - // }, { name: "MGetExperimentResult失败", spaceID: 1, @@ -568,13 +541,66 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { }, wantErr: true, }, + { + name: "多页数据导出", + spaceID: 1, + exptID: 123, + exportID: 456, + setup: func(svc *ExptResultExportService) { + // 第一页数据 + colEvaluators := []*entity.ColumnEvaluator{{EvaluatorVersionID: 1, Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} + colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} + colAnnotation := []*entity.ColumnAnnotation{{TagKeyID: 1, TagName: "test_tag"}} + exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 123, ColumnAnnotations: colAnnotation}} + itemResults1 := []*entity.ItemResult{{ItemID: 1}} + itemResults2 := []*entity.ItemResult{{ItemID: 2}} + + // 第一次调用返回第一页数据 + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults1, int64(150), nil). + Times(1) + + // 第二次调用返回第二页数据 + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults2, int64(150), nil). + Times(1) + + svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT().Upload(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + }, + wantErr: false, + }, + { + name: "文件上传失败", + spaceID: 1, + exptID: 123, + exportID: 456, + setup: func(svc *ExptResultExportService) { + colEvaluators := []*entity.ColumnEvaluator{{EvaluatorVersionID: 1, Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} + colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} + colAnnotation := []*entity.ColumnAnnotation{{TagKeyID: 1, TagName: "test_tag"}} + exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 123, ColumnAnnotations: colAnnotation}} + itemResults := []*entity.ItemResult{{ItemID: 1}} + + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults, int64(1), nil). + Times(1) + + svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT(). + Upload(gomock.Any(), gomock.Any(), gomock.Any()). + Return(fmt.Errorf("upload failed")) + }, + wantErr: true, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - + svc := newTestExptResultExportService(ctrl) tt.setup(svc) @@ -586,6 +612,181 @@ func TestExptResultExportService_DoExportCSV(t *testing.T) { } } +func TestExptResultExportService_GetAnnotationData(t *testing.T) { + tests := []struct { + name string + record *entity.AnnotateRecord + columnAnnotation *entity.ColumnAnnotation + expected string + }{ + { + name: "空记录", + record: nil, + columnAnnotation: &entity.ColumnAnnotation{TagContentType: entity.TagContentTypeContinuousNumber}, + expected: "", + }, + { + name: "连续数字类型", + record: &entity.AnnotateRecord{ + AnnotateData: &entity.AnnotateData{ + Score: ptr.Of(85.5), + TagContentType: entity.TagContentTypeContinuousNumber, + }, + }, + columnAnnotation: &entity.ColumnAnnotation{TagContentType: entity.TagContentTypeContinuousNumber}, + expected: "85.50", + }, + { + name: "自由文本类型", + record: &entity.AnnotateRecord{ + AnnotateData: &entity.AnnotateData{ + TextValue: ptr.Of("test text"), + TagContentType: entity.TagContentTypeFreeText, + }, + }, + columnAnnotation: &entity.ColumnAnnotation{TagContentType: entity.TagContentTypeFreeText}, + expected: "test text", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := getAnnotationData(tt.record, tt.columnAnnotation) + assert.Equal(t, tt.expected, result) + }) + } +} + +func TestExptResultExportService_HandleExportEvent(t *testing.T) { + tests := []struct { + name string + spaceID int64 + exptID int64 + exportID int64 + setup func(svc *ExptResultExportService) + wantErr bool + }{ + { + name: "正常处理导出事件", + spaceID: 1, + exptID: 123, + exportID: 456, + setup: func(svc *ExptResultExportService) { + // Mock GetByID获取实验信息 + expt := &entity.Experiment{ID: 123, Name: "test_expt"} + svc.exptRepo.(*repoMocks.MockIExperimentRepo).EXPECT(). + GetByID(gomock.Any(), int64(123), int64(1)). + Return(expt, nil) + + // Mock DoExportCSV成功 + colEvaluators := []*entity.ColumnEvaluator{{EvaluatorVersionID: 1, Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} + colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} + colAnnotation := []*entity.ColumnAnnotation{{TagKeyID: 1, TagName: "test_tag"}} + exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 123, ColumnAnnotations: colAnnotation}} + itemResults := []*entity.ItemResult{{ItemID: 1}} + + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults, int64(1), nil). + Times(1) + + svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT(). + Upload(gomock.Any(), gomock.Any(), gomock.Any()). + Return(nil) + + // Mock UpdateExportRecord成功 + svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). + Update(gomock.Any(), gomock.Any()). + Return(nil). + Times(1) + }, + wantErr: false, + }, + { + name: "DoExportCSV失败", + spaceID: 1, + exptID: 123, + exportID: 456, + setup: func(svc *ExptResultExportService) { + // Mock GetByID获取实验信息 + expt := &entity.Experiment{ID: 123, Name: "test_expt"} + svc.exptRepo.(*repoMocks.MockIExperimentRepo).EXPECT(). + GetByID(gomock.Any(), int64(123), int64(1)). + Return(expt, nil) + + // Mock DoExportCSV失败 + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(nil, nil, nil, nil, nil, int64(0), fmt.Errorf("export failed")). + Times(1) + + // Mock GetErrCtrl + svc.configer.(*componentMocks.MockIConfiger).EXPECT(). + GetErrCtrl(gomock.Any()). + Return(nil) + + // Mock UpdateExportRecord失败状态 + svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). + Update(gomock.Any(), gomock.Any()). + Return(nil). + Times(1) + }, + wantErr: true, + }, + { + name: "UpdateExportRecord失败", + spaceID: 1, + exptID: 123, + exportID: 456, + setup: func(svc *ExptResultExportService) { + // Mock GetByID获取实验信息 + expt := &entity.Experiment{ID: 123, Name: "test_expt"} + svc.exptRepo.(*repoMocks.MockIExperimentRepo).EXPECT(). + GetByID(gomock.Any(), int64(123), int64(1)). + Return(expt, nil) + + // Mock DoExportCSV成功 + colEvaluators := []*entity.ColumnEvaluator{{EvaluatorVersionID: 1, Name: ptr.Of("test_evaluator"), Version: ptr.Of("v1")}} + colEvalSetFields := []*entity.ColumnEvalSetField{{Name: ptr.Of("test_field")}} + colAnnotation := []*entity.ColumnAnnotation{{TagKeyID: 1, TagName: "test_tag"}} + exptColAnnotation := []*entity.ExptColumnAnnotation{{ExptID: 123, ColumnAnnotations: colAnnotation}} + itemResults := []*entity.ItemResult{{ItemID: 1}} + + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults, int64(1), nil). + Times(1) + + svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT(). + Upload(gomock.Any(), gomock.Any(), gomock.Any()). + Return(nil) + + // Mock UpdateExportRecord失败 + svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). + Update(gomock.Any(), gomock.Any()). + Return(fmt.Errorf("update failed")). + Times(1) + }, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + svc := newTestExptResultExportService(ctrl) + tt.setup(svc) + + err := svc.HandleExportEvent(context.Background(), tt.spaceID, tt.exptID, tt.exportID) + if (err != nil) != tt.wantErr { + t.Errorf("HandleExportEvent() error = %v, wantErr %v", err, tt.wantErr) + } + }) + } +} + func TestIsExportRecordExpired(t *testing.T) { tests := []struct { name string diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go index 969971c81..0a11e38b0 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -13,6 +13,7 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" + "github.com/coze-dev/coze-loop/backend/infra/db" fileMocks "github.com/coze-dev/coze-loop/backend/infra/fileserver/mocks" rpcMocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" @@ -112,6 +113,22 @@ func TestExptInsightAnalysisServiceImpl_CreateAnalysisRecord(t *testing.T) { wantErr: true, wantID: 0, }, + { + name: "publish event error", + setup: func() { + mocks.repo.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any()).Return(int64(123), nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("publish error")) + }, + record: &entity.ExptInsightAnalysisRecord{ + SpaceID: 1, + ExptID: 1, + CreatedBy: "user1", + Status: entity.InsightAnalysisStatus_Unknown, + }, + session: &entity.Session{UserID: "user1"}, + wantErr: true, + wantID: 0, + }, } for _, tt := range tests { @@ -157,7 +174,7 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("http://test-url.com", make(map[string][]string), nil) mocks.agentAdapter.EXPECT().CallTraceAgent(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) }, spaceID: 1, exptID: 1, @@ -195,6 +212,114 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { createAt: time.Now().Unix(), wantErr: true, }, + { + name: "export csv error - defer should update status to failed", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Unknown, + }, nil) + mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("export error")) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "sign download req error - defer should update status to failed", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Unknown, + }, nil) + mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("", nil, errors.New("sign error")) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "call trace agent error - defer should update status to failed", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Unknown, + }, nil) + mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("http://test-url.com", make(map[string][]string), nil) + mocks.agentAdapter.EXPECT().CallTraceAgent(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(0), errors.New("agent error")) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "publish event error - defer should update status to failed", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Unknown, + }, nil) + mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("http://test-url.com", make(map[string][]string), nil) + mocks.agentAdapter.EXPECT().CallTraceAgent(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("publish error")) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "defer update error - should not affect main error", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Unknown, + }, nil) + mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("export error")) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("update error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + createAt: time.Now().Unix(), + wantErr: false, + }, } for _, tt := range tests { @@ -258,6 +383,117 @@ func TestExptInsightAnalysisServiceImpl_GetAnalysisRecord(t *testing.T) { session: &entity.Session{UserID: "user1"}, wantErr: true, }, + { + name: "status running - early return", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Running, + }, nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: false, + }, + { + name: "status failed - early return", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Failed, + }, nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: false, + }, + { + name: "agent adapter get report error", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportID: gptr.Of(int64(123)), + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("", entity.ReportStatus_Unknown, errors.New("agent error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: true, + }, + { + name: "count feedback vote error", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportID: gptr.Of(int64(123)), + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("test report", entity.ReportStatus_Success, nil) + mocks.repo.EXPECT().CountFeedbackVote(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(0), int64(0), errors.New("count error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: true, + }, + { + name: "get feedback vote by user error", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportID: gptr.Of(int64(123)), + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("test report", entity.ReportStatus_Success, nil) + mocks.repo.EXPECT().CountFeedbackVote(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(5), int64(2), nil) + mocks.repo.EXPECT().GetFeedbackVoteByUser(gomock.Any(), int64(1), int64(1), int64(1), "user1").Return(nil, errors.New("get vote error")) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: true, + }, + { + name: "success with user vote", + setup: func() { + mocks.repo.EXPECT().GetAnalysisRecordByID(gomock.Any(), int64(1), int64(1), int64(1)).Return(&entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Success, + AnalysisReportID: gptr.Of(int64(123)), + }, nil) + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), gomock.Any(), gomock.Any()).Return("test report", entity.ReportStatus_Success, nil) + mocks.repo.EXPECT().CountFeedbackVote(gomock.Any(), int64(1), int64(1), int64(1)).Return(int64(5), int64(2), nil) + mocks.repo.EXPECT().GetFeedbackVoteByUser(gomock.Any(), int64(1), int64(1), int64(1), "user1").Return(&entity.ExptInsightAnalysisFeedbackVote{ + VoteType: entity.Upvote, + }, nil) + }, + spaceID: 1, + exptID: 1, + recordID: 1, + session: &entity.Session{UserID: "user1"}, + wantErr: false, + }, } for _, tt := range tests { @@ -396,6 +632,18 @@ func TestExptInsightAnalysisServiceImpl_FeedbackExptInsightAnalysis(t *testing.T param *entity.ExptInsightAnalysisFeedbackParam wantErr bool }{ + { + name: "empty session error", + setup: func() {}, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Upvote, + Session: nil, + }, + wantErr: true, + }, { name: "success - create comment", setup: func() { @@ -443,7 +691,7 @@ func TestExptInsightAnalysisServiceImpl_FeedbackExptInsightAnalysis(t *testing.T wantErr: false, }, { - name: "success - create vote", + name: "success - upvote", setup: func() { mocks.repo.EXPECT().CreateFeedbackVote(gomock.Any(), gomock.Any()).Return(nil) }, @@ -456,6 +704,137 @@ func TestExptInsightAnalysisServiceImpl_FeedbackExptInsightAnalysis(t *testing.T }, wantErr: false, }, + { + name: "success - downvote", + setup: func() { + mocks.repo.EXPECT().CreateFeedbackVote(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Downvote, + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - cancel upvote", + setup: func() { + mocks.repo.EXPECT().UpdateFeedbackVote(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_CancelUpvote, + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - cancel downvote", + setup: func() { + mocks.repo.EXPECT().UpdateFeedbackVote(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_CancelDownvote, + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - create comment", + setup: func() { + mocks.repo.EXPECT().CreateFeedbackComment(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_CreateComment, + Comment: ptr.Of("test comment"), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - update comment", + setup: func() { + mocks.repo.EXPECT().UpdateFeedbackComment(gomock.Any(), gomock.Any()).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Update_Comment, + Comment: ptr.Of("updated comment"), + CommentID: ptr.Of(int64(123)), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "success - delete comment", + setup: func() { + mocks.repo.EXPECT().DeleteFeedbackComment(gomock.Any(), int64(1), int64(1), int64(123)).Return(nil) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Delete_Comment, + CommentID: ptr.Of(int64(123)), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "default case - no action", + setup: func() { + // No mock expectations for default case + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: 999, // Unknown action type + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: false, + }, + { + name: "repo error - create comment", + setup: func() { + mocks.repo.EXPECT().CreateFeedbackComment(gomock.Any(), gomock.Any()).Return(errors.New("repo error")) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_CreateComment, + Comment: ptr.Of("test comment"), + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: true, + }, + { + name: "repo error - upvote", + setup: func() { + mocks.repo.EXPECT().CreateFeedbackVote(gomock.Any(), gomock.Any()).Return(errors.New("repo error")) + }, + param: &entity.ExptInsightAnalysisFeedbackParam{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + FeedbackActionType: entity.FeedbackActionType_Upvote, + Session: &entity.Session{UserID: "user1"}, + }, + wantErr: true, + }, } for _, tt := range tests { @@ -527,3 +906,322 @@ func TestExptInsightAnalysisServiceImpl_ListExptInsightAnalysisFeedbackComment(t }) } } + +// TestNewInsightAnalysisService 测试构造函数 +func TestNewInsightAnalysisService(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo := repoMocks.NewMockIExptInsightAnalysisRecordRepo(ctrl) + mockPublisher := eventsMocks.NewMockExptEventPublisher(ctrl) + mockFileClient := fileMocks.NewMockObjectStorage(ctrl) + mockExptResultExportService := serviceMocks.NewMockIExptResultExportService(ctrl) + mockExptRepo := repoMocks.NewMockIExperimentRepo(ctrl) + mockAgentAdapter := rpcMocks.NewMockIAgentAdapter(ctrl) + mockNotifyRPCAdapter := rpcMocks.NewMockINotifyRPCAdapter(ctrl) + mockUserProvider := rpcMocks.NewMockIUserProvider(ctrl) + + service := NewInsightAnalysisService( + mockRepo, + mockPublisher, + mockFileClient, + mockAgentAdapter, + mockExptResultExportService, + mockNotifyRPCAdapter, + mockUserProvider, + mockExptRepo, + ) + + assert.NotNil(t, service) + assert.IsType(t, &ExptInsightAnalysisServiceImpl{}, service) +} + +// TestExptInsightAnalysisServiceImpl_notifyAnalysisComplete 测试通知分析完成 +func TestExptInsightAnalysisServiceImpl_notifyAnalysisComplete(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + userID string + spaceID int64 + exptID int64 + wantErr bool + }{ + { + name: "success", + setup: func() { + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ + {Email: ptr.Of("user1@example.com")}, + }, nil) + mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(nil) + }, + userID: "user1", + spaceID: 1, + exptID: 1, + wantErr: false, + }, + { + name: "expt repo error", + setup: func() { + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(nil, errors.New("expt repo error")) + }, + userID: "user1", + spaceID: 1, + exptID: 1, + wantErr: true, + }, + { + name: "user provider error", + setup: func() { + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return(nil, errors.New("user provider error")) + }, + userID: "user1", + spaceID: 1, + exptID: 1, + wantErr: true, + }, + { + name: "empty user info - no error", + setup: func() { + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{}, nil) + }, + userID: "user1", + spaceID: 1, + exptID: 1, + wantErr: false, + }, + { + name: "nil user info - no error", + setup: func() { + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{nil}, nil) + }, + userID: "user1", + spaceID: 1, + exptID: 1, + wantErr: false, + }, + { + name: "notify adapter error", + setup: func() { + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ + {Email: ptr.Of("user1@example.com")}, + }, nil) + mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(errors.New("notify error")) + }, + userID: "user1", + spaceID: 1, + exptID: 1, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + err := service.notifyAnalysisComplete(ctx, tt.userID, tt.spaceID, tt.exptID) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + }) + } +} + +// TestExptInsightAnalysisServiceImpl_checkAnalysisReportGenStatus 测试检查分析报告生成状态 +func TestExptInsightAnalysisServiceImpl_checkAnalysisReportGenStatus(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + service, mocks := newTestInsightAnalysisService(ctrl) + ctx := context.Background() + + tests := []struct { + name string + setup func() + record *entity.ExptInsightAnalysisRecord + createAt int64 + wantErr bool + }{ + { + name: "agent adapter error", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("", entity.ReportStatus_Unknown, errors.New("agent error")) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: true, + }, + { + name: "report status failed", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("", entity.ReportStatus_Failed, nil) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "report status failed - update error", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("", entity.ReportStatus_Failed, nil) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(errors.New("update error")) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: true, + }, + { + name: "report status success", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("report content", entity.ReportStatus_Success, nil) + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ + {Email: ptr.Of("user1@example.com")}, + }, nil) + mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(nil) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "report status success - notify error (should not fail)", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("report content", entity.ReportStatus_Success, nil) + mocks.exptRepo.EXPECT().GetByID(gomock.Any(), int64(1), int64(1)).Return(&entity.Experiment{ + ID: 1, + Name: "test experiment", + }, nil) + mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ + {Email: ptr.Of("user1@example.com")}, + }, nil) + mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(errors.New("notify error")) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "timeout case", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("", entity.ReportStatus_Running, nil) + mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix() - 3700, // 超过1小时 + wantErr: false, + }, + { + name: "running status - publish event", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("", entity.ReportStatus_Running, nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: false, + }, + { + name: "running status - publish event error", + setup: func() { + mocks.agentAdapter.EXPECT().GetReport(gomock.Any(), int64(1), int64(123)).Return("", entity.ReportStatus_Running, nil) + mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("publish error")) + }, + record: &entity.ExptInsightAnalysisRecord{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisReportID: gptr.Of(int64(123)), + CreatedBy: "user1", + }, + createAt: time.Now().Unix(), + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + tt.setup() + err := service.checkAnalysisReportGenStatus(ctx, tt.record, tt.createAt) + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) + } + }) + } +} diff --git a/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go index 0f8a9ef6a..a8070373b 100644 --- a/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go +++ b/backend/modules/evaluation/infra/repo/experiment/expt_insight_analysis_record_test.go @@ -8,29 +8,29 @@ import ( "testing" "time" - "go.uber.org/mock/gomock" "github.com/stretchr/testify/assert" + "go.uber.org/mock/gomock" + mockidgen "github.com/coze-dev/coze-loop/backend/infra/idgen/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/gorm_gen/model" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/mysql/mocks" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" - mockidgen "github.com/coze-dev/coze-loop/backend/infra/idgen/mocks" ) type testMocks struct { - analysisRecordDAO *mocks.MockIExptInsightAnalysisRecordDAO - feedbackCommentDAO *mocks.MockIExptInsightAnalysisFeedbackCommentDAO - feedbackVoteDAO *mocks.MockIExptInsightAnalysisFeedbackVoteDAO - idGenerator *mockidgen.MockIIDGenerator + analysisRecordDAO *mocks.MockIExptInsightAnalysisRecordDAO + feedbackCommentDAO *mocks.MockIExptInsightAnalysisFeedbackCommentDAO + feedbackVoteDAO *mocks.MockIExptInsightAnalysisFeedbackVoteDAO + idGenerator *mockidgen.MockIIDGenerator } func newTestExptInsightAnalysisRecordRepo(ctrl *gomock.Controller) (*ExptInsightAnalysisRecordRepo, *testMocks) { mocks := &testMocks{ - analysisRecordDAO: mocks.NewMockIExptInsightAnalysisRecordDAO(ctrl), - feedbackCommentDAO: mocks.NewMockIExptInsightAnalysisFeedbackCommentDAO(ctrl), - feedbackVoteDAO: mocks.NewMockIExptInsightAnalysisFeedbackVoteDAO(ctrl), - idGenerator: mockidgen.NewMockIIDGenerator(ctrl), + analysisRecordDAO: mocks.NewMockIExptInsightAnalysisRecordDAO(ctrl), + feedbackCommentDAO: mocks.NewMockIExptInsightAnalysisFeedbackCommentDAO(ctrl), + feedbackVoteDAO: mocks.NewMockIExptInsightAnalysisFeedbackVoteDAO(ctrl), + idGenerator: mockidgen.NewMockIIDGenerator(ctrl), } repo := &ExptInsightAnalysisRecordRepo{ @@ -95,10 +95,10 @@ func TestExptInsightAnalysisRecordRepo_GetAnalysisRecordByID(t *testing.T) { repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) mocks.analysisRecordDAO.EXPECT().GetByID(gomock.Any(), int64(1), int64(1), int64(1), gomock.Any()).Return(&model.ExptInsightAnalysisRecord{ - ID: 1, - SpaceID: 1, - ExptID: 1, - Status: int32(entity.InsightAnalysisStatus_Success), + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: int32(entity.InsightAnalysisStatus_Success), CreatedBy: "test-user", CreatedAt: time.Now(), UpdatedAt: time.Now(), @@ -119,10 +119,10 @@ func TestExptInsightAnalysisRecordRepo_ListAnalysisRecord(t *testing.T) { mocks.analysisRecordDAO.EXPECT().List(gomock.Any(), int64(1), int64(1), entity.NewPage(1, 10)).Return([]*model.ExptInsightAnalysisRecord{ { - ID: 1, - SpaceID: 1, - ExptID: 1, - Status: int32(entity.InsightAnalysisStatus_Success), + ID: 1, + SpaceID: 1, + ExptID: 1, + Status: int32(entity.InsightAnalysisStatus_Success), CreatedAt: time.Now(), UpdatedAt: time.Now(), }, @@ -312,4 +312,163 @@ func TestExptInsightAnalysisRecordRepo_List(t *testing.T) { assert.NoError(t, err) assert.Len(t, comments, 1) assert.Equal(t, int64(1), total) -} \ No newline at end of file +} + +// Test error cases for better coverage +func TestExptInsightAnalysisRecordRepo_CreateAnalysisRecord_Error(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + record := &entity.ExptInsightAnalysisRecord{ + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Running, + AnalysisReportContent: "test content", + CreatedBy: "user123", + } + + // Test ID generation error + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(0), assert.AnError) + + id, err := repo.CreateAnalysisRecord(context.Background(), record) + + assert.Error(t, err) + assert.Equal(t, int64(0), id) +} + +func TestExptInsightAnalysisRecordRepo_CreateAnalysisRecord_DAOError(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + record := &entity.ExptInsightAnalysisRecord{ + SpaceID: 1, + ExptID: 1, + Status: entity.InsightAnalysisStatus_Running, + AnalysisReportContent: "test content", + CreatedBy: "user123", + } + + // Test DAO create error + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(123), nil) + mocks.analysisRecordDAO.EXPECT().Create(gomock.Any(), gomock.Any()).Return(assert.AnError) + + id, err := repo.CreateAnalysisRecord(context.Background(), record) + + assert.Error(t, err) + assert.Equal(t, int64(0), id) +} + +func TestExptInsightAnalysisRecordRepo_CreateFeedbackComment_Error(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + comment := &entity.ExptInsightAnalysisFeedbackComment{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + Comment: "test comment", + CreatedBy: "user123", + } + + // Test ID generation error + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(0), assert.AnError) + + err := repo.CreateFeedbackComment(context.Background(), comment) + + assert.Error(t, err) +} + +func TestExptInsightAnalysisRecordRepo_CreateFeedbackVote_Error(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + vote := &entity.ExptInsightAnalysisFeedbackVote{ + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: 1, + VoteType: entity.Upvote, + CreatedBy: "user123", + } + + // Test ID generation error + mocks.idGenerator.EXPECT().GenID(gomock.Any()).Return(int64(0), assert.AnError) + + err := repo.CreateFeedbackVote(context.Background(), vote) + + assert.Error(t, err) +} + +func TestExptInsightAnalysisRecordRepo_GetFeedbackCommentByRecordID(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackCommentDAO.EXPECT().GetByRecordID(gomock.Any(), int64(1), int64(1), int64(1), gomock.Any()).Return(&model.ExptInsightAnalysisFeedbackComment{ + ID: 1, + SpaceID: 1, + ExptID: 1, + AnalysisRecordID: ptr.Of(int64(1)), + Comment: ptr.Of("test comment"), + CreatedBy: "user123", + CreatedAt: time.Now(), + UpdatedAt: time.Now(), + }, nil) + + comment, err := repo.GetFeedbackCommentByRecordID(context.Background(), 1, 1, 1) + + assert.NoError(t, err) + assert.NotNil(t, comment) + assert.Equal(t, int64(1), comment.ID) +} + +func TestExptInsightAnalysisRecordRepo_GetFeedbackCommentByRecordID_Error(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackCommentDAO.EXPECT().GetByRecordID(gomock.Any(), int64(1), int64(1), int64(1), gomock.Any()).Return(nil, assert.AnError) + + comment, err := repo.GetFeedbackCommentByRecordID(context.Background(), 1, 1, 1) + + assert.Error(t, err) + assert.Nil(t, comment) +} + +func TestExptInsightAnalysisRecordRepo_GetFeedbackVoteByUser_Error(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackVoteDAO.EXPECT().GetByUser(gomock.Any(), int64(1), int64(1), int64(1), "user123", gomock.Any()).Return(nil, assert.AnError) + + vote, err := repo.GetFeedbackVoteByUser(context.Background(), 1, 1, 1, "user123") + + assert.Error(t, err) + assert.Nil(t, vote) +} + +func TestExptInsightAnalysisRecordRepo_List_Error(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + repo, mocks := newTestExptInsightAnalysisRecordRepo(ctrl) + + mocks.feedbackCommentDAO.EXPECT().List(gomock.Any(), int64(1), int64(1), int64(1), entity.NewPage(1, 10)).Return(nil, int64(0), assert.AnError) + + comments, total, err := repo.List(context.Background(), 1, 1, 1, entity.NewPage(1, 10)) + + assert.Error(t, err) + assert.Nil(t, comments) + assert.Equal(t, int64(0), total) +} diff --git a/backend/modules/evaluation/infra/rpc/notify/notify.go b/backend/modules/evaluation/infra/rpc/notify/notify.go index 50dbc32fe..9e6cb0cb8 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify.go @@ -1,3 +1,6 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + package notify import ( From f15d16c971a83e5827445748c52dcb3027da4d43 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 11:12:09 +0800 Subject: [PATCH 31/42] update --- .../experiment/expt_insight_analysis_test.go | 76 +++++-------------- .../domain/service/expt_export_impl_test.go | 56 +++++++------- .../service/insight_analysis_impl_test.go | 24 +++--- 3 files changed, 58 insertions(+), 98 deletions(-) diff --git a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go index c3fc67bd6..fb9518018 100644 --- a/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go +++ b/backend/modules/evaluation/application/convertor/experiment/expt_insight_analysis_test.go @@ -41,12 +41,12 @@ func TestExptInsightAnalysisRecordDO2DTO(t *testing.T) { }, }, expected: &domain_expt.ExptInsightAnalysisRecord{ - RecordID: 123, - WorkspaceID: 456, - ExptID: 789, - AnalysisStatus: domain_expt.InsightAnalysisStatusSuccess, - AnalysisReportID: ptr.Of(int64(999)), - AnalysisReportContent: ptr.Of("Analysis report content"), + RecordID: 123, + WorkspaceID: 456, + ExptID: 789, + AnalysisStatus: domain_expt.InsightAnalysisStatusSuccess, + AnalysisReportID: ptr.Of(int64(999)), + AnalysisReportContent: ptr.Of("Analysis report content"), ExptInsightAnalysisFeedback: &domain_expt.ExptInsightAnalysisFeedback{ UpvoteCnt: ptr.Of(int32(10)), DownvoteCnt: ptr.Of(int32(2)), @@ -81,12 +81,12 @@ func TestExptInsightAnalysisRecordDO2DTO(t *testing.T) { }, }, expected: &domain_expt.ExptInsightAnalysisRecord{ - RecordID: 1, - WorkspaceID: 2, - ExptID: 3, - AnalysisStatus: domain_expt.InsightAnalysisStatusRunning, - AnalysisReportID: nil, - AnalysisReportContent: ptr.Of(""), + RecordID: 1, + WorkspaceID: 2, + ExptID: 3, + AnalysisStatus: domain_expt.InsightAnalysisStatusRunning, + AnalysisReportID: nil, + AnalysisReportContent: ptr.Of(""), ExptInsightAnalysisFeedback: &domain_expt.ExptInsightAnalysisFeedback{ UpvoteCnt: ptr.Of(int32(0)), DownvoteCnt: ptr.Of(int32(0)), @@ -121,12 +121,12 @@ func TestExptInsightAnalysisRecordDO2DTO(t *testing.T) { }, }, expected: &domain_expt.ExptInsightAnalysisRecord{ - RecordID: 100, - WorkspaceID: 200, - ExptID: 300, - AnalysisStatus: domain_expt.InsightAnalysisStatusFailed, - AnalysisReportID: nil, - AnalysisReportContent: ptr.Of("Error occurred"), + RecordID: 100, + WorkspaceID: 200, + ExptID: 300, + AnalysisStatus: domain_expt.InsightAnalysisStatusFailed, + AnalysisReportID: nil, + AnalysisReportContent: ptr.Of("Error occurred"), ExptInsightAnalysisFeedback: &domain_expt.ExptInsightAnalysisFeedback{ UpvoteCnt: ptr.Of(int32(5)), DownvoteCnt: ptr.Of(int32(15)), @@ -463,43 +463,3 @@ func TestExptInsightAnalysisFeedbackCommentDO2DTO_EdgeCases(t *testing.T) { assert.Equal(t, "", result.Content) }) } - -// Benchmark tests -func BenchmarkExptInsightAnalysisRecordDO2DTO(b *testing.B) { - do := &entity.ExptInsightAnalysisRecord{ - ID: 123, - SpaceID: 456, - ExptID: 789, - Status: entity.InsightAnalysisStatus_Success, - AnalysisReportContent: "Benchmark test content", - CreatedBy: "benchuser", - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - ExptInsightAnalysisFeedback: entity.ExptInsightAnalysisFeedback{ - UpvoteCount: 10, - DownvoteCount: 2, - CurrentUserVoteType: entity.Upvote, - }, - } - - b.ResetTimer() - for i := 0; i < b.N; i++ { - ExptInsightAnalysisRecordDO2DTO(do) - } -} - -func BenchmarkInsightAnalysisStatus2DTO(b *testing.B) { - status := entity.InsightAnalysisStatus_Success - b.ResetTimer() - for i := 0; i < b.N; i++ { - InsightAnalysisStatus2DTO(status) - } -} - -func BenchmarkFeedbackActionType2DO(b *testing.B) { - action := domain_expt.FeedbackActionTypeUpvote - b.ResetTimer() - for i := 0; i < b.N; i++ { - FeedbackActionType2DO(action) - } -} \ No newline at end of file diff --git a/backend/modules/evaluation/domain/service/expt_export_impl_test.go b/backend/modules/evaluation/domain/service/expt_export_impl_test.go index 25dc21967..751899264 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl_test.go @@ -715,21 +715,21 @@ func TestExptResultExportService_HandleExportEvent(t *testing.T) { Return(expt, nil) // Mock DoExportCSV失败 - svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). - MGetExperimentResult(gomock.Any(), gomock.Any()). - Return(nil, nil, nil, nil, nil, int64(0), fmt.Errorf("export failed")). - Times(1) - - // Mock GetErrCtrl - svc.configer.(*componentMocks.MockIConfiger).EXPECT(). - GetErrCtrl(gomock.Any()). - Return(nil) - - // Mock UpdateExportRecord失败状态 - svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). - Update(gomock.Any(), gomock.Any()). - Return(nil). - Times(1) + svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(nil, nil, nil, nil, nil, int64(0), fmt.Errorf("export failed")). + Times(1) + + // Mock GetErrCtrl + svc.configer.(*componentMocks.MockIConfiger).EXPECT(). + GetErrCtrl(gomock.Any()). + Return(nil) + + // Mock UpdateExportRecord失败状态 + svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). + Update(gomock.Any(), gomock.Any()). + Return(nil). + Times(1) }, wantErr: true, }, @@ -753,19 +753,19 @@ func TestExptResultExportService_HandleExportEvent(t *testing.T) { itemResults := []*entity.ItemResult{{ItemID: 1}} svc.exptResultService.(*svcMocks.MockExptResultService).EXPECT(). - MGetExperimentResult(gomock.Any(), gomock.Any()). - Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults, int64(1), nil). - Times(1) - - svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT(). - Upload(gomock.Any(), gomock.Any(), gomock.Any()). - Return(nil) - - // Mock UpdateExportRecord失败 - svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). - Update(gomock.Any(), gomock.Any()). - Return(fmt.Errorf("update failed")). - Times(1) + MGetExperimentResult(gomock.Any(), gomock.Any()). + Return(colEvaluators, nil, colEvalSetFields, exptColAnnotation, itemResults, int64(1), nil). + Times(1) + + svc.fileClient.(*fileserverMocks.MockObjectStorage).EXPECT(). + Upload(gomock.Any(), gomock.Any(), gomock.Any()). + Return(nil) + + // Mock UpdateExportRecord失败 + svc.repo.(*repoMocks.MockIExptResultExportRecordRepo).EXPECT(). + Update(gomock.Any(), gomock.Any()). + Return(fmt.Errorf("update failed")). + Times(1) }, wantErr: true, }, diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go index 0a11e38b0..08dae43ba 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -223,9 +223,9 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { }, nil) mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("export error")) mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { - assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) - return nil - }) + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) }, spaceID: 1, exptID: 1, @@ -245,9 +245,9 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { mocks.exptResultExportService.EXPECT().DoExportCSV(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("", nil, errors.New("sign error")) mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { - assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) - return nil - }) + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) }, spaceID: 1, exptID: 1, @@ -268,9 +268,9 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { mocks.fileClient.EXPECT().SignDownloadReq(gomock.Any(), gomock.Any(), gomock.Any()).Return("http://test-url.com", make(map[string][]string), nil) mocks.agentAdapter.EXPECT().CallTraceAgent(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(0), errors.New("agent error")) mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { - assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) - return nil - }) + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) }, spaceID: 1, exptID: 1, @@ -292,9 +292,9 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { mocks.agentAdapter.EXPECT().CallTraceAgent(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) mocks.publisher.EXPECT().PublishExptExportCSVEvent(gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("publish error")) mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { - assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) - return nil - }) + assert.Equal(t, entity.InsightAnalysisStatus_Failed, record.Status) + return nil + }) }, spaceID: 1, exptID: 1, From 6696669d8370144737056ded4036954425ee34da Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 11:46:29 +0800 Subject: [PATCH 32/42] update --- .../evaluation/domain/service/insight_analysis_impl.go | 3 ++- backend/modules/evaluation/infra/rpc/agent/agent.go | 4 +--- backend/modules/evaluation/infra/rpc/notify/notify.go | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 5d2078083..52e98f2cb 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -39,7 +39,8 @@ func NewInsightAnalysisService(repo repo.IExptInsightAnalysisRecordRepo, exptResultExportService IExptResultExportService, notifyRPCAdapter rpc.INotifyRPCAdapter, userProvider rpc.IUserProvider, - exptRepo repo.IExperimentRepo) IExptInsightAnalysisService { + exptRepo repo.IExperimentRepo, +) IExptInsightAnalysisService { return &ExptInsightAnalysisServiceImpl{ repo: repo, exptPublisher: exptPublisher, diff --git a/backend/modules/evaluation/infra/rpc/agent/agent.go b/backend/modules/evaluation/infra/rpc/agent/agent.go index 70d6bed9f..a464458b3 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent.go @@ -10,9 +10,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" ) -type AgentAdapter struct { - //traceagentservice.Client -} +type AgentAdapter struct{} func NewAgentAdapter() rpc.IAgentAdapter { return &AgentAdapter{} diff --git a/backend/modules/evaluation/infra/rpc/notify/notify.go b/backend/modules/evaluation/infra/rpc/notify/notify.go index 9e6cb0cb8..70137f6b2 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify.go @@ -9,8 +9,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" ) -type NotifyRPCAdapter struct { -} +type NotifyRPCAdapter struct{} func NewNotifyRPCAdapter() rpc.INotifyRPCAdapter { return NotifyRPCAdapter{} From 9cfe4f72b5b614a77c1b72777a05d829a8518b65 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 12:19:14 +0800 Subject: [PATCH 33/42] update --- .../application/experiment_app_test.go | 268 ++++++++++++++---- .../evaluation/infra/rpc/agent/agent_test.go | 16 +- .../infra/rpc/notify/notify_test.go | 10 +- 3 files changed, 218 insertions(+), 76 deletions(-) diff --git a/backend/modules/evaluation/application/experiment_app_test.go b/backend/modules/evaluation/application/experiment_app_test.go index ef18b4b56..0aa64f9d1 100644 --- a/backend/modules/evaluation/application/experiment_app_test.go +++ b/backend/modules/evaluation/application/experiment_app_test.go @@ -3593,17 +3593,44 @@ func TestInsightAnalysisExperiment(t *testing.T) { }, } - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - // Mock the CreateAnalysisRecord call - mockInsightService.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) - - _, err := app.InsightAnalysisExperiment(ctx, req) - if err != nil { - t.Errorf("InsightAnalysisExperiment failed: %v", err) - } + t.Run("成功创建洞察分析", func(t *testing.T) { + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + // Mock the CreateAnalysisRecord call + mockInsightService.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(123), nil) + + _, err := app.InsightAnalysisExperiment(ctx, req) + assert.NoError(t, err) + }) + + t.Run("获取实验失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("get experiment error")) + + _, err := app.InsightAnalysisExperiment(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "get experiment error") + }) + + t.Run("权限验证失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + + _, err := app.InsightAnalysisExperiment(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "authorization error") + }) + + t.Run("创建分析记录失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().CreateAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any()).Return(int64(0), errors.New("create analysis record error")) + + _, err := app.InsightAnalysisExperiment(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "create analysis record error") + }) } func TestListExptInsightAnalysisRecord(t *testing.T) { @@ -3619,16 +3646,43 @@ func TestListExptInsightAnalysisRecord(t *testing.T) { }, } - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{}, int64(0), nil) + t.Run("成功获取洞察分析记录列表", func(t *testing.T) { + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{}, int64(0), nil) - _, err := app.ListExptInsightAnalysisRecord(ctx, req) - if err != nil { - t.Errorf("ListExptInsightAnalysisRecord failed: %v", err) - } + _, err := app.ListExptInsightAnalysisRecord(ctx, req) + assert.NoError(t, err) + }) + + t.Run("获取实验失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("get experiment error")) + + _, err := app.ListExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "get experiment error") + }) + + t.Run("权限验证失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + + _, err := app.ListExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "authorization error") + }) + + t.Run("获取分析记录列表失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, int64(0), errors.New("list analysis record error")) + + _, err := app.ListExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "list analysis record error") + }) } func TestGetExptInsightAnalysisRecord(t *testing.T) { @@ -3644,24 +3698,41 @@ func TestGetExptInsightAnalysisRecord(t *testing.T) { }, } - // Mock the auth.Authorization call - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - // Mock the service call - mockInsightService.EXPECT().GetAnalysisRecordByID(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.ExptInsightAnalysisRecord{ - ID: 789, - ExptID: 456, - SpaceID: 123, - Status: entity.InsightAnalysisStatus_Running, - CreatedBy: "test-user", - }, nil) - - resp, err := app.GetExptInsightAnalysisRecord(ctx, req) - if err != nil { - t.Errorf("GetExptInsightAnalysisRecord failed: %v", err) - } - if resp == nil { - t.Error("Expected non-nil response") - } + t.Run("成功获取洞察分析记录", func(t *testing.T) { + // Mock the auth.Authorization call + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + // Mock the service call + mockInsightService.EXPECT().GetAnalysisRecordByID(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.ExptInsightAnalysisRecord{ + ID: 789, + ExptID: 456, + SpaceID: 123, + Status: entity.InsightAnalysisStatus_Running, + CreatedBy: "test-user", + }, nil) + + resp, err := app.GetExptInsightAnalysisRecord(ctx, req) + assert.NoError(t, err) + assert.NotNil(t, resp) + }) + + t.Run("权限验证失败", func(t *testing.T) { + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + + resp, err := app.GetExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Nil(t, resp) + assert.Contains(t, err.Error(), "authorization error") + }) + + t.Run("获取分析记录失败", func(t *testing.T) { + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().GetAnalysisRecordByID(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("get analysis record error")) + + resp, err := app.GetExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Nil(t, resp) + assert.Contains(t, err.Error(), "get analysis record error") + }) } func TestDeleteExptInsightAnalysisRecord(t *testing.T) { @@ -3676,16 +3747,43 @@ func TestDeleteExptInsightAnalysisRecord(t *testing.T) { }, } - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().DeleteAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + t.Run("成功删除洞察分析记录", func(t *testing.T) { + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().DeleteAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) - if err != nil { - t.Errorf("DeleteExptInsightAnalysisRecord failed: %v", err) - } + _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) + assert.NoError(t, err) + }) + + t.Run("获取实验失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("get experiment error")) + + _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "get experiment error") + }) + + t.Run("权限验证失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + + _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "authorization error") + }) + + t.Run("删除分析记录失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().DeleteAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("delete analysis record error")) + + _, err := app.DeleteExptInsightAnalysisRecord(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "delete analysis record error") + }) } func TestFeedbackExptInsightAnalysisReport(t *testing.T) { @@ -3701,16 +3799,43 @@ func TestFeedbackExptInsightAnalysisReport(t *testing.T) { }, } - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().FeedbackExptInsightAnalysis(gomock.Any(), gomock.Any()).Return(nil) + t.Run("成功反馈洞察分析报告", func(t *testing.T) { + // Mock the manager.Get call + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + // Mock the auth.AuthorizationWithoutSPI call + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().FeedbackExptInsightAnalysis(gomock.Any(), gomock.Any()).Return(nil) - _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) - if err != nil { - t.Errorf("FeedbackExptInsightAnalysisReport failed: %v", err) - } + _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) + assert.NoError(t, err) + }) + + t.Run("获取实验失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("get experiment error")) + + _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "get experiment error") + }) + + t.Run("权限验证失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + + _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "authorization error") + }) + + t.Run("反馈操作失败", func(t *testing.T) { + mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) + mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().FeedbackExptInsightAnalysis(gomock.Any(), gomock.Any()).Return(errors.New("feedback error")) + + _, err := app.FeedbackExptInsightAnalysisReport(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "feedback error") + }) } func TestListExptInsightAnalysisComment(t *testing.T) { @@ -3727,12 +3852,29 @@ func TestListExptInsightAnalysisComment(t *testing.T) { }, } - // Mock the auth.Authorization call - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - mockInsightService.EXPECT().ListExptInsightAnalysisFeedbackComment(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisFeedbackComment{}, int64(0), nil) + t.Run("成功获取洞察分析评论列表", func(t *testing.T) { + // Mock the auth.Authorization call + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListExptInsightAnalysisFeedbackComment(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisFeedbackComment{}, int64(0), nil) - _, err := app.ListExptInsightAnalysisComment(ctx, req) - if err != nil { - t.Errorf("ListExptInsightAnalysisComment failed: %v", err) - } + _, err := app.ListExptInsightAnalysisComment(ctx, req) + assert.NoError(t, err) + }) + + t.Run("权限验证失败", func(t *testing.T) { + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + + _, err := app.ListExptInsightAnalysisComment(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "authorization error") + }) + + t.Run("获取评论列表失败", func(t *testing.T) { + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) + mockInsightService.EXPECT().ListExptInsightAnalysisFeedbackComment(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, int64(0), errors.New("list comment error")) + + _, err := app.ListExptInsightAnalysisComment(ctx, req) + assert.Error(t, err) + assert.Contains(t, err.Error(), "list comment error") + }) } diff --git a/backend/modules/evaluation/infra/rpc/agent/agent_test.go b/backend/modules/evaluation/infra/rpc/agent/agent_test.go index 93bc013b7..c5a7c0cb4 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent_test.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 coze-dev Authors +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates // SPDX-License-Identifier: Apache-2.0 package agent @@ -14,9 +14,9 @@ import ( func TestAgentAdapter_CallTraceAgent(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*AgentAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -55,9 +55,9 @@ func TestAgentAdapter_CallTraceAgent(t *testing.T) { func TestAgentAdapter_GetReport(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*AgentAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -93,4 +93,4 @@ func TestAgentAdapter_GetReport(t *testing.T) { } }) } -} +} \ No newline at end of file diff --git a/backend/modules/evaluation/infra/rpc/notify/notify_test.go b/backend/modules/evaluation/infra/rpc/notify/notify_test.go index a5a4f9e9d..b75f93290 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify_test.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 coze-dev Authors +// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates // SPDX-License-Identifier: Apache-2.0 package notify @@ -12,9 +12,9 @@ import ( func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -103,4 +103,4 @@ func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { } }) } -} +} \ No newline at end of file From 7f6d91ee1a52bac783f0f8595e05b85db575162d Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 12:49:39 +0800 Subject: [PATCH 34/42] update --- .../evaluation/infra/rpc/agent/agent_test.go | 16 ++++++++-------- .../evaluation/infra/rpc/notify/notify_test.go | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/backend/modules/evaluation/infra/rpc/agent/agent_test.go b/backend/modules/evaluation/infra/rpc/agent/agent_test.go index c5a7c0cb4..93bc013b7 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent_test.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package agent @@ -14,9 +14,9 @@ import ( func TestAgentAdapter_CallTraceAgent(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*AgentAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -55,9 +55,9 @@ func TestAgentAdapter_CallTraceAgent(t *testing.T) { func TestAgentAdapter_GetReport(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*AgentAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*AgentAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -93,4 +93,4 @@ func TestAgentAdapter_GetReport(t *testing.T) { } }) } -} \ No newline at end of file +} diff --git a/backend/modules/evaluation/infra/rpc/notify/notify_test.go b/backend/modules/evaluation/infra/rpc/notify/notify_test.go index b75f93290..a5a4f9e9d 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify_test.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates +// Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 package notify @@ -12,9 +12,9 @@ import ( func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { tests := []struct { - name string - setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) - wantErr bool + name string + setup func(ctx context.Context) (*NotifyRPCAdapter, context.Context) + wantErr bool errCheck func(t *testing.T, err error) }{ { @@ -103,4 +103,4 @@ func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { } }) } -} \ No newline at end of file +} From 06942cda6ccb82af9a928da6703871025fc1037e Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 13:24:37 +0800 Subject: [PATCH 35/42] update --- .github/.codecov.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/.codecov.yaml b/.github/.codecov.yaml index 108198b31..49bb93edc 100644 --- a/.github/.codecov.yaml +++ b/.github/.codecov.yaml @@ -54,6 +54,7 @@ ignore: - "**/errno/**" - "**/main.go" - "**/repo/mysql/**" + - "**/repo/**/mysql/**" - "**/repo/redis/**" parsers: From 18809e5905da359451e336bfbce1faa88f8ae95e Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 14:53:36 +0800 Subject: [PATCH 36/42] update --- .../evaluation/domain/component/rpc/mocks/notify.go | 12 ++++++------ .../evaluation/domain/component/rpc/notify.go | 2 +- .../domain/service/insight_analysis_impl.go | 12 ++---------- .../domain/service/insight_analysis_impl_test.go | 6 +++--- .../modules/evaluation/infra/rpc/notify/notify.go | 2 +- .../evaluation/infra/rpc/notify/notify_test.go | 2 +- 6 files changed, 14 insertions(+), 22 deletions(-) diff --git a/backend/modules/evaluation/domain/component/rpc/mocks/notify.go b/backend/modules/evaluation/domain/component/rpc/mocks/notify.go index e590df8d9..7db7dfb00 100644 --- a/backend/modules/evaluation/domain/component/rpc/mocks/notify.go +++ b/backend/modules/evaluation/domain/component/rpc/mocks/notify.go @@ -34,16 +34,16 @@ func (m *MockINotifyRPCAdapter) EXPECT() *MockINotifyRPCAdapterMockRecorder { return m.recorder } -// SendLarkMessageCard mocks base method. -func (m *MockINotifyRPCAdapter) SendLarkMessageCard(arg0 context.Context, arg1, arg2 string, arg3 map[string]string) error { +// SendMessageCard mocks base method. +func (m *MockINotifyRPCAdapter) SendMessageCard(arg0 context.Context, arg1, arg2 string, arg3 map[string]string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SendLarkMessageCard", arg0, arg1, arg2, arg3) + ret := m.ctrl.Call(m, "SendMessageCard", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(error) return ret0 } -// SendLarkMessageCard indicates an expected call of SendLarkMessageCard. -func (mr *MockINotifyRPCAdapterMockRecorder) SendLarkMessageCard(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { +// SendMessageCard indicates an expected call of SendMessageCard. +func (mr *MockINotifyRPCAdapterMockRecorder) SendMessageCard(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendLarkMessageCard", reflect.TypeOf((*MockINotifyRPCAdapter)(nil).SendLarkMessageCard), arg0, arg1, arg2, arg3) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMessageCard", reflect.TypeOf((*MockINotifyRPCAdapter)(nil).SendMessageCard), arg0, arg1, arg2, arg3) } diff --git a/backend/modules/evaluation/domain/component/rpc/notify.go b/backend/modules/evaluation/domain/component/rpc/notify.go index bb7d98b28..e3c5389fb 100644 --- a/backend/modules/evaluation/domain/component/rpc/notify.go +++ b/backend/modules/evaluation/domain/component/rpc/notify.go @@ -7,5 +7,5 @@ import "context" //go:generate mockgen -destination=mocks/notify.go -package=mocks . INotifyRPCAdapter type INotifyRPCAdapter interface { - SendLarkMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error + SendMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error } diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 52e98f2cb..f547057c3 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -203,15 +203,7 @@ func (e ExptInsightAnalysisServiceImpl) GetAnalysisRecordByID(ctx context.Contex if err != nil { return nil, err } - // 聚合报告生成状态 - //if status == entity.ReportStatus_Failed { - // analysisRecord.Status = entity.InsightAnalysisStatus_Failed - // return analysisRecord, nil - //} - //if status == entity.ReportStatus_Running { - // analysisRecord.Status = entity.InsightAnalysisStatus_Running - // return analysisRecord, nil - //} + analysisRecord.AnalysisReportContent = report upvoteCount, downvoteCount, err := e.repo.CountFeedbackVote(ctx, spaceID, exptID, recordID) @@ -254,7 +246,7 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte userInfo := userInfos[0] logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) const cardID = "AAq9DvIYd2qHu" - err = e.notifyRPCAdapter.SendLarkMessageCard(ctx, ptr.From(userInfo.Email), cardID, map[string]string{ + err = e.notifyRPCAdapter.SendMessageCard(ctx, ptr.From(userInfo.Email), cardID, map[string]string{ "expt_name": expt.Name, "space_id": strconv.FormatInt(spaceID, 10), "expt_id": strconv.FormatInt(exptID, 10), diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go index 08dae43ba..b304700bf 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -962,7 +962,7 @@ func TestExptInsightAnalysisServiceImpl_notifyAnalysisComplete(t *testing.T) { mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ {Email: ptr.Of("user1@example.com")}, }, nil) - mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(nil) + mocks.notifyRPCAdapter.EXPECT().SendMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(nil) }, userID: "user1", spaceID: 1, @@ -1126,7 +1126,7 @@ func TestExptInsightAnalysisServiceImpl_checkAnalysisReportGenStatus(t *testing. mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ {Email: ptr.Of("user1@example.com")}, }, nil) - mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(nil) + mocks.notifyRPCAdapter.EXPECT().SendMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(nil) mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) }, record: &entity.ExptInsightAnalysisRecord{ @@ -1150,7 +1150,7 @@ func TestExptInsightAnalysisServiceImpl_checkAnalysisReportGenStatus(t *testing. mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ {Email: ptr.Of("user1@example.com")}, }, nil) - mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(errors.New("notify error")) + mocks.notifyRPCAdapter.EXPECT().SendMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(errors.New("notify error")) mocks.repo.EXPECT().UpdateAnalysisRecord(gomock.Any(), gomock.Any()).Return(nil) }, record: &entity.ExptInsightAnalysisRecord{ diff --git a/backend/modules/evaluation/infra/rpc/notify/notify.go b/backend/modules/evaluation/infra/rpc/notify/notify.go index 70137f6b2..b87bc9c87 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify.go @@ -15,6 +15,6 @@ func NewNotifyRPCAdapter() rpc.INotifyRPCAdapter { return NotifyRPCAdapter{} } -func (n NotifyRPCAdapter) SendLarkMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error { +func (n NotifyRPCAdapter) SendMessageCard(ctx context.Context, userID, cardID string, param map[string]string) error { return nil } diff --git a/backend/modules/evaluation/infra/rpc/notify/notify_test.go b/backend/modules/evaluation/infra/rpc/notify/notify_test.go index a5a4f9e9d..29d64ceb4 100644 --- a/backend/modules/evaluation/infra/rpc/notify/notify_test.go +++ b/backend/modules/evaluation/infra/rpc/notify/notify_test.go @@ -90,7 +90,7 @@ func TestNotifyRPCAdapter_SendLarkMessageCard(t *testing.T) { param = nil } - err := adapter.SendLarkMessageCard(ctx, userID, cardID, param) + err := adapter.SendMessageCard(ctx, userID, cardID, param) if tt.wantErr { assert.Error(t, err) From c413cb227dad58d281069bc5bfa2c67bc0e6810f Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 15:11:08 +0800 Subject: [PATCH 37/42] update --- backend/modules/evaluation/consts/experiment.go | 4 ++++ .../evaluation/domain/service/insight_analysis_impl.go | 4 ++-- .../evaluation/domain/service/insight_analysis_impl_test.go | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/backend/modules/evaluation/consts/experiment.go b/backend/modules/evaluation/consts/experiment.go index 0255813a7..c821474a7 100644 --- a/backend/modules/evaluation/consts/experiment.go +++ b/backend/modules/evaluation/consts/experiment.go @@ -27,3 +27,7 @@ const ( FieldAdapterBuiltinFieldNameRuntimeParam = "builtin_runtime_param" TargetExecuteExtRuntimeParamKey = "builtin_runtime_param" ) + +const ( + InsightAnalysisNotifyCardID = "AAq9DvIYd2qHu" +) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index f547057c3..6f1d8c514 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -11,6 +11,7 @@ import ( "github.com/bytedance/gg/gptr" "github.com/coze-dev/coze-loop/backend/infra/fileserver" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/events" @@ -245,8 +246,7 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte userInfo := userInfos[0] logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) - const cardID = "AAq9DvIYd2qHu" - err = e.notifyRPCAdapter.SendMessageCard(ctx, ptr.From(userInfo.Email), cardID, map[string]string{ + err = e.notifyRPCAdapter.SendMessageCard(ctx, ptr.From(userInfo.Email), consts.InsightAnalysisNotifyCardID, map[string]string{ "expt_name": expt.Name, "space_id": strconv.FormatInt(spaceID, 10), "expt_id": strconv.FormatInt(exptID, 10), diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go index b304700bf..4a69345af 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -1031,7 +1031,7 @@ func TestExptInsightAnalysisServiceImpl_notifyAnalysisComplete(t *testing.T) { mocks.userProvider.EXPECT().MGetUserInfo(gomock.Any(), []string{"user1"}).Return([]*entity.UserInfo{ {Email: ptr.Of("user1@example.com")}, }, nil) - mocks.notifyRPCAdapter.EXPECT().SendLarkMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(errors.New("notify error")) + mocks.notifyRPCAdapter.EXPECT().SendMessageCard(gomock.Any(), gomock.Any(), "AAq9DvIYd2qHu", gomock.Any()).Return(errors.New("notify error")) }, userID: "user1", spaceID: 1, From de9020c2c705d223c398ea335ac54bd979fb82e0 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 19:02:58 +0800 Subject: [PATCH 38/42] update --- .../evaluation/application/experiment_app.go | 7 ++++++- .../domain/service/expt_export_impl.go | 4 ++-- .../domain/service/insight_analysis_impl.go | 4 +--- .../service/insight_analysis_impl_test.go | 10 +++++----- .../infra/mq/rocket/consumer/expt_export.go | 2 +- .../mysql/expt_insight_analysis_record.go | 2 +- .../evaluation/infra/rpc/agent/agent.go | 5 +++-- .../evaluation/infra/rpc/agent/agent_test.go | 18 +++--------------- 8 files changed, 22 insertions(+), 30 deletions(-) diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index 939c2cdda..f7b52ece6 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -1186,7 +1186,12 @@ func (e *experimentApplication) DeleteExptInsightAnalysisRecord(ctx context.Cont } func (e *experimentApplication) GetExptInsightAnalysisRecord(ctx context.Context, req *expt.GetExptInsightAnalysisRecordRequest) (r *expt.GetExptInsightAnalysisRecordResponse, err error) { - session := &entity.Session{UserID: strconv.FormatInt(req.GetSession().GetUserID(), 10)} + session := entity.NewSession(ctx) + if req.Session != nil && req.Session.UserID != nil { + session = &entity.Session{ + UserID: strconv.FormatInt(gptr.Indirect(req.Session.UserID), 10), + } + } err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ ObjectID: strconv.FormatInt(req.WorkspaceID, 10), SpaceID: req.WorkspaceID, diff --git a/backend/modules/evaluation/domain/service/expt_export_impl.go b/backend/modules/evaluation/domain/service/expt_export_impl.go index a60033349..b5fe1f2ad 100644 --- a/backend/modules/evaluation/domain/service/expt_export_impl.go +++ b/backend/modules/evaluation/domain/service/expt_export_impl.go @@ -518,8 +518,8 @@ func (e *exportCSVHelper) buildRows(ctx context.Context) ([][]string, error) { logID = ptr.From(payload.SystemInfo.LogID) } traceID := "" - if payload.TargetOutput == nil || - payload.TargetOutput.EvalTargetRecord == nil { + if payload.TargetOutput != nil && + payload.TargetOutput.EvalTargetRecord != nil { traceID = payload.TargetOutput.EvalTargetRecord.TraceID } rowData = append(rowData, logID) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 6f1d8c514..b311e5cb2 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -99,13 +99,11 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s } if err != nil { record.Status = entity.InsightAnalysisStatus_Failed - // 不重试 - err = nil } err1 := e.repo.UpdateAnalysisRecord(ctx, record) if err1 != nil { logs.CtxError(ctx, "UpdateAnalysisRecord failed: %v", err1) - return + err = err1 } }() diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go index 4a69345af..d4b434070 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl_test.go @@ -231,7 +231,7 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { exptID: 1, recordID: 1, createAt: time.Now().Unix(), - wantErr: false, + wantErr: true, }, { name: "sign download req error - defer should update status to failed", @@ -253,7 +253,7 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { exptID: 1, recordID: 1, createAt: time.Now().Unix(), - wantErr: false, + wantErr: true, }, { name: "call trace agent error - defer should update status to failed", @@ -276,7 +276,7 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { exptID: 1, recordID: 1, createAt: time.Now().Unix(), - wantErr: false, + wantErr: true, }, { name: "publish event error - defer should update status to failed", @@ -300,7 +300,7 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { exptID: 1, recordID: 1, createAt: time.Now().Unix(), - wantErr: false, + wantErr: true, }, { name: "defer update error - should not affect main error", @@ -318,7 +318,7 @@ func TestExptInsightAnalysisServiceImpl_GenAnalysisReport(t *testing.T) { exptID: 1, recordID: 1, createAt: time.Now().Unix(), - wantErr: false, + wantErr: true, }, } diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go index 8bd1bd5a9..a34b4fe76 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go @@ -56,7 +56,7 @@ func (e *ExptExportConsumer) handleEvent(ctx context.Context, event *entity.Expo err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID, event.CreateAt) if err != nil { logs.CtxError(ctx, "ExptExportConsumer GenAnalysisReport fail, expt_id:%v, err: %v", event.ExperimentID, err) - return err + return nil } default: err = e.exptResultExportService.HandleExportEvent(ctx, event.SpaceID, event.ExperimentID, event.ExportID) diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go index 47e17fd54..a19161106 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_record.go @@ -88,7 +88,7 @@ func (e exptInsightAnalysisRecordDAO) List(ctx context.Context, spaceID, exptID func (e exptInsightAnalysisRecordDAO) Delete(ctx context.Context, spaceID, exptID, recordID int64) error { po := &model.ExptInsightAnalysisRecord{} db := e.db.NewSession(ctx) - err := db.Where("space_id = ? AND expt_id = ? AND record_id = ?", spaceID, exptID, recordID). + err := db.Where("space_id = ? AND expt_id = ? AND id = ?", spaceID, exptID, recordID). Delete(po).Error if err != nil { return err diff --git a/backend/modules/evaluation/infra/rpc/agent/agent.go b/backend/modules/evaluation/infra/rpc/agent/agent.go index a464458b3..9149af5a2 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent.go @@ -5,6 +5,7 @@ package agent import ( "context" + "errors" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" @@ -17,9 +18,9 @@ func NewAgentAdapter() rpc.IAgentAdapter { } func (a AgentAdapter) CallTraceAgent(ctx context.Context, spaceID int64, url string) (int64, error) { - return 0, nil + return 0, errors.New("CallTraceAgent not implement") } func (a AgentAdapter) GetReport(ctx context.Context, spaceID, reportID int64) (report string, status entity.ReportStatus, err error) { - return "", 0, nil + return "", 0, errors.New("CallTraceAgent not implement") } diff --git a/backend/modules/evaluation/infra/rpc/agent/agent_test.go b/backend/modules/evaluation/infra/rpc/agent/agent_test.go index 93bc013b7..281769a85 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent_test.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent_test.go @@ -25,10 +25,7 @@ func TestAgentAdapter_CallTraceAgent(t *testing.T) { adapter := &AgentAdapter{} return adapter, ctx }, - wantErr: false, - errCheck: func(t *testing.T, err error) { - assert.NoError(t, err) - }, + wantErr: true, }, } @@ -46,9 +43,6 @@ func TestAgentAdapter_CallTraceAgent(t *testing.T) { assert.Equal(t, int64(0), result) } - if tt.errCheck != nil { - tt.errCheck(t, err) - } }) } } @@ -66,10 +60,7 @@ func TestAgentAdapter_GetReport(t *testing.T) { adapter := &AgentAdapter{} return adapter, ctx }, - wantErr: false, - errCheck: func(t *testing.T, err error) { - assert.NoError(t, err) - }, + wantErr: true, }, } @@ -87,10 +78,7 @@ func TestAgentAdapter_GetReport(t *testing.T) { assert.Equal(t, "", report) assert.Equal(t, entity.ReportStatus_Unknown, status) } - - if tt.errCheck != nil { - tt.errCheck(t, err) - } + }) } } From cb47d50bc9c8aa98589ffb22e1a042bd0308eb57 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 19:46:41 +0800 Subject: [PATCH 39/42] update --- .../expt/coze.loop.evaluation.expt.go | 36 +++++++++---------- .../expt/k-coze.loop.evaluation.expt.go | 20 +++++------ .../evaluation/application/experiment_app.go | 5 +-- .../modules/evaluation/domain/entity/event.go | 2 +- .../domain/service/insight_analysis_impl.go | 8 ++--- .../infra/mq/rocket/consumer/expt_export.go | 2 +- .../evaluation/infra/rpc/agent/agent_test.go | 2 -- .../coze.loop.evaluation.expt.thrift | 2 +- .../expt_insight_analysis_feedback_vote.sql | 4 +-- 9 files changed, 39 insertions(+), 42 deletions(-) diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go index 01bb55e5c..3502fceea 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go @@ -23329,9 +23329,9 @@ func (p *ListExptInsightAnalysisRecordRequest) Field255DeepEqual(src *base.Base) } type ListExptInsightAnalysisRecordResponse struct { - ExptResultExportRecords []*expt.ExptInsightAnalysisRecord `thrift:"expt_result_export_records,1,required" frugal:"1,required,list" form:"expt_result_export_records,required" json:"expt_result_export_records,required" query:"expt_result_export_records,required"` - Total *int64 `thrift:"total,20,optional" frugal:"20,optional,i64" json:"total" form:"total" ` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` + ExptInsightAnalysisRecords []*expt.ExptInsightAnalysisRecord `thrift:"expt_insight_analysis_records,1,required" frugal:"1,required,list" form:"expt_insight_analysis_records,required" json:"expt_insight_analysis_records,required" query:"expt_insight_analysis_records,required"` + Total *int64 `thrift:"total,20,optional" frugal:"20,optional,i64" json:"total" form:"total" ` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } func NewListExptInsightAnalysisRecordResponse() *ListExptInsightAnalysisRecordResponse { @@ -23341,9 +23341,9 @@ func NewListExptInsightAnalysisRecordResponse() *ListExptInsightAnalysisRecordRe func (p *ListExptInsightAnalysisRecordResponse) InitDefault() { } -func (p *ListExptInsightAnalysisRecordResponse) GetExptResultExportRecords() (v []*expt.ExptInsightAnalysisRecord) { +func (p *ListExptInsightAnalysisRecordResponse) GetExptInsightAnalysisRecords() (v []*expt.ExptInsightAnalysisRecord) { if p != nil { - return p.ExptResultExportRecords + return p.ExptInsightAnalysisRecords } return } @@ -23371,8 +23371,8 @@ func (p *ListExptInsightAnalysisRecordResponse) GetBaseResp() (v *base.BaseResp) } return p.BaseResp } -func (p *ListExptInsightAnalysisRecordResponse) SetExptResultExportRecords(val []*expt.ExptInsightAnalysisRecord) { - p.ExptResultExportRecords = val +func (p *ListExptInsightAnalysisRecordResponse) SetExptInsightAnalysisRecords(val []*expt.ExptInsightAnalysisRecord) { + p.ExptInsightAnalysisRecords = val } func (p *ListExptInsightAnalysisRecordResponse) SetTotal(val *int64) { p.Total = val @@ -23382,7 +23382,7 @@ func (p *ListExptInsightAnalysisRecordResponse) SetBaseResp(val *base.BaseResp) } var fieldIDToName_ListExptInsightAnalysisRecordResponse = map[int16]string{ - 1: "expt_result_export_records", + 1: "expt_insight_analysis_records", 20: "total", 255: "BaseResp", } @@ -23398,7 +23398,7 @@ func (p *ListExptInsightAnalysisRecordResponse) IsSetBaseResp() bool { func (p *ListExptInsightAnalysisRecordResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetExptResultExportRecords bool = false + var issetExptInsightAnalysisRecords bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -23419,7 +23419,7 @@ func (p *ListExptInsightAnalysisRecordResponse) Read(iprot thrift.TProtocol) (er if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetExptResultExportRecords = true + issetExptInsightAnalysisRecords = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -23452,7 +23452,7 @@ func (p *ListExptInsightAnalysisRecordResponse) Read(iprot thrift.TProtocol) (er goto ReadStructEndError } - if !issetExptResultExportRecords { + if !issetExptInsightAnalysisRecords { fieldId = 1 goto RequiredFieldNotSetError } @@ -23494,7 +23494,7 @@ func (p *ListExptInsightAnalysisRecordResponse) ReadField1(iprot thrift.TProtoco if err := iprot.ReadListEnd(); err != nil { return err } - p.ExptResultExportRecords = _field + p.ExptInsightAnalysisRecords = _field return nil } func (p *ListExptInsightAnalysisRecordResponse) ReadField20(iprot thrift.TProtocol) error { @@ -23554,13 +23554,13 @@ WriteStructEndError: } func (p *ListExptInsightAnalysisRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("expt_result_export_records", thrift.LIST, 1); err != nil { + if err = oprot.WriteFieldBegin("expt_insight_analysis_records", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.ExptResultExportRecords)); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.ExptInsightAnalysisRecords)); err != nil { return err } - for _, v := range p.ExptResultExportRecords { + for _, v := range p.ExptInsightAnalysisRecords { if err := v.Write(oprot); err != nil { return err } @@ -23626,7 +23626,7 @@ func (p *ListExptInsightAnalysisRecordResponse) DeepEqual(ano *ListExptInsightAn } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.ExptResultExportRecords) { + if !p.Field1DeepEqual(ano.ExptInsightAnalysisRecords) { return false } if !p.Field20DeepEqual(ano.Total) { @@ -23640,10 +23640,10 @@ func (p *ListExptInsightAnalysisRecordResponse) DeepEqual(ano *ListExptInsightAn func (p *ListExptInsightAnalysisRecordResponse) Field1DeepEqual(src []*expt.ExptInsightAnalysisRecord) bool { - if len(p.ExptResultExportRecords) != len(src) { + if len(p.ExptInsightAnalysisRecords) != len(src) { return false } - for i, v := range p.ExptResultExportRecords { + for i, v := range p.ExptInsightAnalysisRecords { _src := src[i] if !v.DeepEqual(_src) { return false diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go index 2e7fedf15..4dd14f136 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/k-coze.loop.evaluation.expt.go @@ -17071,7 +17071,7 @@ func (p *ListExptInsightAnalysisRecordResponse) FastRead(buf []byte) (int, error var l int var fieldTypeId thrift.TType var fieldId int16 - var issetExptResultExportRecords bool = false + var issetExptInsightAnalysisRecords bool = false for { fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) offset += l @@ -17089,7 +17089,7 @@ func (p *ListExptInsightAnalysisRecordResponse) FastRead(buf []byte) (int, error if err != nil { goto ReadFieldError } - issetExptResultExportRecords = true + issetExptInsightAnalysisRecords = true } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -17134,7 +17134,7 @@ func (p *ListExptInsightAnalysisRecordResponse) FastRead(buf []byte) (int, error } } - if !issetExptResultExportRecords { + if !issetExptInsightAnalysisRecords { fieldId = 1 goto RequiredFieldNotSetError } @@ -17170,7 +17170,7 @@ func (p *ListExptInsightAnalysisRecordResponse) FastReadField1(buf []byte) (int, _field = append(_field, _elem) } - p.ExptResultExportRecords = _field + p.ExptInsightAnalysisRecords = _field return offset, nil } @@ -17232,7 +17232,7 @@ func (p *ListExptInsightAnalysisRecordResponse) fastWriteField1(buf []byte, w th listBeginOffset := offset offset += thrift.Binary.ListBeginLength() var length int - for _, v := range p.ExptResultExportRecords { + for _, v := range p.ExptInsightAnalysisRecords { length++ offset += v.FastWriteNocopy(buf[offset:], w) } @@ -17260,7 +17260,7 @@ func (p *ListExptInsightAnalysisRecordResponse) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += thrift.Binary.ListBeginLength() - for _, v := range p.ExptResultExportRecords { + for _, v := range p.ExptInsightAnalysisRecords { _ = v l += v.BLength() } @@ -17289,9 +17289,9 @@ func (p *ListExptInsightAnalysisRecordResponse) DeepCopy(s interface{}) error { return fmt.Errorf("%T's type not matched %T", s, p) } - if src.ExptResultExportRecords != nil { - p.ExptResultExportRecords = make([]*expt.ExptInsightAnalysisRecord, 0, len(src.ExptResultExportRecords)) - for _, elem := range src.ExptResultExportRecords { + if src.ExptInsightAnalysisRecords != nil { + p.ExptInsightAnalysisRecords = make([]*expt.ExptInsightAnalysisRecord, 0, len(src.ExptInsightAnalysisRecords)) + for _, elem := range src.ExptInsightAnalysisRecords { var _elem *expt.ExptInsightAnalysisRecord if elem != nil { _elem = &expt.ExptInsightAnalysisRecord{} @@ -17300,7 +17300,7 @@ func (p *ListExptInsightAnalysisRecordResponse) DeepCopy(s interface{}) error { } } - p.ExptResultExportRecords = append(p.ExptResultExportRecords, _elem) + p.ExptInsightAnalysisRecords = append(p.ExptInsightAnalysisRecords, _elem) } } diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index f7b52ece6..7ee4b0c0a 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -1149,8 +1149,9 @@ func (e *experimentApplication) ListExptInsightAnalysisRecord(ctx context.Contex dtos = append(dtos, experiment.ExptInsightAnalysisRecordDO2DTO(record)) } return &expt.ListExptInsightAnalysisRecordResponse{ - ExptResultExportRecords: dtos, - Total: ptr.Of(total), + ExptInsightAnalysisRecords: dtos, + Total: ptr.Of(total), + BaseResp: base.NewBaseResp(), }, nil } diff --git a/backend/modules/evaluation/domain/entity/event.go b/backend/modules/evaluation/domain/entity/event.go index eb0497221..05d309766 100644 --- a/backend/modules/evaluation/domain/entity/event.go +++ b/backend/modules/evaluation/domain/entity/event.go @@ -122,7 +122,7 @@ type ExportCSVEvent struct { Session *Session ExportScene ExportScene - CreateAt int64 + CreatedAt int64 } type ExportScene int diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index b311e5cb2..b59d7cd0e 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -65,7 +65,7 @@ func (e ExptInsightAnalysisServiceImpl) CreateAnalysisRecord(ctx context.Context ExperimentID: record.ExptID, SpaceID: record.SpaceID, ExportScene: entity.ExportSceneInsightAnalysis, - CreateAt: time.Now().Unix(), + CreatedAt: time.Now().Unix(), } err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Second*3)) if err != nil { @@ -137,7 +137,7 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s ExperimentID: exptID, SpaceID: spaceID, ExportScene: entity.ExportSceneInsightAnalysis, - CreateAt: CreateAt, + CreatedAt: CreateAt, } err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Minute*3)) if err != nil { @@ -177,7 +177,7 @@ func (e ExptInsightAnalysisServiceImpl) checkAnalysisReportGenStatus(ctx context ExperimentID: record.ExptID, SpaceID: record.SpaceID, ExportScene: entity.ExportSceneInsightAnalysis, - CreateAt: CreateAt, + CreatedAt: CreateAt, } err = e.exptPublisher.PublishExptExportCSVEvent(ctx, exportEvent, gptr.Of(time.Minute*1)) if err != nil { @@ -236,14 +236,12 @@ func (e ExptInsightAnalysisServiceImpl) notifyAnalysisComplete(ctx context.Conte if err != nil { return err } - logs.CtxInfo(ctx, "notifyAnalysisComplete userInfos: %v", userInfos) if len(userInfos) != 1 || userInfos[0] == nil { return nil } userInfo := userInfos[0] - logs.CtxInfo(ctx, "notifyAnalysisComplete userInfo: %v", userInfo) err = e.notifyRPCAdapter.SendMessageCard(ctx, ptr.From(userInfo.Email), consts.InsightAnalysisNotifyCardID, map[string]string{ "expt_name": expt.Name, "space_id": strconv.FormatInt(spaceID, 10), diff --git a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go index a34b4fe76..07e44f0fa 100644 --- a/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go +++ b/backend/modules/evaluation/infra/mq/rocket/consumer/expt_export.go @@ -53,7 +53,7 @@ func (e *ExptExportConsumer) HandleMessage(ctx context.Context, ext *mq.MessageE func (e *ExptExportConsumer) handleEvent(ctx context.Context, event *entity.ExportCSVEvent) (err error) { switch event.ExportScene { case entity.ExportSceneInsightAnalysis: - err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID, event.CreateAt) + err = e.exptInsightAnalysisService.GenAnalysisReport(ctx, event.SpaceID, event.ExperimentID, event.ExportID, event.CreatedAt) if err != nil { logs.CtxError(ctx, "ExptExportConsumer GenAnalysisReport fail, expt_id:%v, err: %v", event.ExperimentID, err) return nil diff --git a/backend/modules/evaluation/infra/rpc/agent/agent_test.go b/backend/modules/evaluation/infra/rpc/agent/agent_test.go index 281769a85..295820750 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent_test.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent_test.go @@ -42,7 +42,6 @@ func TestAgentAdapter_CallTraceAgent(t *testing.T) { assert.NoError(t, err) assert.Equal(t, int64(0), result) } - }) } } @@ -78,7 +77,6 @@ func TestAgentAdapter_GetReport(t *testing.T) { assert.Equal(t, "", report) assert.Equal(t, entity.ReportStatus_Unknown, status) } - }) } } diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index 2e731b34b..538c82c4a 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -492,7 +492,7 @@ struct ListExptInsightAnalysisRecordRequest { } struct ListExptInsightAnalysisRecordResponse { - 1: required list expt_result_export_records + 1: required list expt_insight_analysis_records 20: optional i64 total (api.body = "total", go.tag = 'json:"total"') 255: base.BaseResp BaseResp } diff --git a/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql index 3694c750e..cdbdefc7f 100644 --- a/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql +++ b/release/deployment/docker-compose/bootstrap/mysql-init/init-sql/expt_insight_analysis_feedback_vote.sql @@ -9,5 +9,5 @@ CREATE TABLE IF NOT EXISTS `expt_insight_analysis_feedback_vote` ( `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', PRIMARY KEY (`id`), - Unique KEY `uniq_space_id_expt_id_analysis_record_id_created_by` (`space_id`,`expt_id`,`analysis_record_id`,`created_by`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析反馈点赞表' \ No newline at end of file + UNIQUE KEY `uniq_space_id_expt_id_analysis_record_id_created_by` (`space_id`,`expt_id`,`analysis_record_id`,`created_by`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析反馈点赞表'; \ No newline at end of file From dc4e638754f1628d4ee448d926043229ad8aaeef Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 20:29:45 +0800 Subject: [PATCH 40/42] update --- .../evaluation/expt/coze.loop.evaluation.expt.go | 6 +++--- .../evaluation/domain/service/expt_result_impl.go | 1 - .../domain/service/insight_analysis_impl.go | 7 ++++--- .../expt_insight_analysis_feedback_comment.go | 2 +- .../evaluation/coze.loop.evaluation.expt.thrift | 2 +- .../expt_insight_analysis_feedback_comment.sql | 13 +++++++++++++ .../expt_insight_analysis_feedback_vote.sql | 13 +++++++++++++ .../init-sql/expt_insight_analysis_record.sql | 14 ++++++++++++++ 8 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_comment.sql create mode 100644 release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_vote.sql create mode 100644 release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_record.sql diff --git a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go index 3502fceea..5b27810b7 100644 --- a/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go +++ b/backend/kitex_gen/coze/loop/evaluation/expt/coze.loop.evaluation.expt.go @@ -24293,7 +24293,7 @@ type FeedbackExptInsightAnalysisReportRequest struct { WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` ExptID int64 `thrift:"expt_id,2,required" frugal:"2,required,i64" json:"expt_id" path:"expt_id,required" ` InsightAnalysisRecordID int64 `thrift:"insight_analysis_record_id,3,required" frugal:"3,required,i64" json:"insight_analysis_record_id" path:"insight_analysis_record_id,required" ` - FeedbackActionType expt.FeedbackActionType `thrift:"FeedbackActionType,4,required" frugal:"4,required,string" form:"FeedbackActionType,required" json:"FeedbackActionType,required" query:"FeedbackActionType,required"` + FeedbackActionType expt.FeedbackActionType `thrift:"feedback_action_type,4,required" frugal:"4,required,string" form:"feedback_action_type,required" json:"feedback_action_type,required" query:"feedback_action_type,required"` Comment *string `thrift:"comment,5,optional" frugal:"5,optional,string" form:"comment" json:"comment,omitempty" query:"comment"` // 用于更新comment CommentID *int64 `thrift:"comment_id,6,optional" frugal:"6,optional,i64" json:"comment_id" form:"comment_id" ` @@ -24412,7 +24412,7 @@ var fieldIDToName_FeedbackExptInsightAnalysisReportRequest = map[int16]string{ 1: "workspace_id", 2: "expt_id", 3: "insight_analysis_record_id", - 4: "FeedbackActionType", + 4: "feedback_action_type", 5: "comment", 6: "comment_id", 200: "session", @@ -24763,7 +24763,7 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } func (p *FeedbackExptInsightAnalysisReportRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("FeedbackActionType", thrift.STRING, 4); err != nil { + if err = oprot.WriteFieldBegin("feedback_action_type", thrift.STRING, 4); err != nil { goto WriteFieldBeginError } if err := oprot.WriteString(p.FeedbackActionType); err != nil { diff --git a/backend/modules/evaluation/domain/service/expt_result_impl.go b/backend/modules/evaluation/domain/service/expt_result_impl.go index 0ac454f92..ef2cbb12b 100644 --- a/backend/modules/evaluation/domain/service/expt_result_impl.go +++ b/backend/modules/evaluation/domain/service/expt_result_impl.go @@ -619,7 +619,6 @@ func (e ExptResultServiceImpl) getColumnAnnotations(ctx context.Context, spaceID } exptColumnAnnotations = append(exptColumnAnnotations, exptColumnAnnotation) } - ctx = contexts.WithCtxWriteDB(ctx) tagRefs, err := e.ExptAnnotateRepo.BatchGetExptTurnResultTagRefs(ctx, exptIDs, spaceID) if err != nil { return nil, err diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index b59d7cd0e..054a0228d 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -94,9 +94,11 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s SpaceID: spaceID, ExptID: exptID, ExptResultFilePath: ptr.Of(exptResultFilePath), - AnalysisReportID: ptr.Of(analysisReportID), Status: entity.InsightAnalysisStatus_Running, } + if analysisReportID > 0 { + record.AnalysisReportID = ptr.Of(analysisReportID) + } if err != nil { record.Status = entity.InsightAnalysisStatus_Failed } @@ -121,13 +123,12 @@ func (e ExptInsightAnalysisServiceImpl) GenAnalysisReport(ctx context.Context, s if err != nil { return err } - logs.CtxInfo(ctx, "GenAnalysisReport get csv url=%v", url) reportID, err := e.agentAdapter.CallTraceAgent(ctx, spaceID, url) if err != nil { return err } - logs.CtxInfo(ctx, "[GenAnalysisReport] CallTraceAgent success, expt_id=%v, record_id=%v, report_id=%v, csv url=%v", exptID, recordID, reportID, url) + logs.CtxInfo(ctx, "[GenAnalysisReport] CallTraceAgent success, expt_id=%v, record_id=%v, report_id=%v", exptID, recordID, reportID) analysisReportID = reportID diff --git a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go index a6d274465..33944ba43 100644 --- a/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go +++ b/backend/modules/evaluation/infra/repo/experiment/mysql/expt_insight_analysis_feedback_comment.go @@ -85,7 +85,7 @@ func (e exptInsightAnalysisFeedbackCommentDAO) List(ctx context.Context, spaceID db := e.db.NewSession(ctx).Model(&model.ExptInsightAnalysisFeedbackComment{}). Where("space_id =?", spaceID). Where("expt_id =?", exptID). - Where("analysis_record_id =?", recordID) + Where("analysis_record_id =?", recordID).Order("created_at DESC") // 总记录数 db = db.Count(&total) // 分页 diff --git a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift index 538c82c4a..a869d32fe 100644 --- a/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift +++ b/idl/thrift/coze/loop/evaluation/coze.loop.evaluation.expt.thrift @@ -516,7 +516,7 @@ struct FeedbackExptInsightAnalysisReportRequest { 1: required i64 workspace_id (api.body = 'workspace_id', api.js_conv = 'true', go.tag = 'json:"workspace_id"') 2: required i64 expt_id (api.path = 'expt_id' , api.js_conv = 'true', go.tag = 'json:"expt_id"') 3: required i64 insight_analysis_record_id (api.path = 'insight_analysis_record_id', api.js_conv = 'true', go.tag = 'json:"insight_analysis_record_id"') - 4: required expt.FeedbackActionType FeedbackActionType + 4: required expt.FeedbackActionType feedback_action_type 5: optional string comment 6: optional i64 comment_id (api.body = 'comment_id', api.js_conv = 'true', go.tag = 'json:"comment_id"') // 用于更新comment diff --git a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_comment.sql b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_comment.sql new file mode 100644 index 000000000..025484574 --- /dev/null +++ b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_comment.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS `expt_insight_analysis_feedback_comment` ( + `id` bigint unsigned NOT NULL COMMENT '唯一标识 idgen生成', + `space_id` bigint unsigned NOT NULL COMMENT 'SpaceID', + `expt_id` bigint unsigned NOT NULL COMMENT 'exptID', + `analysis_record_id` bigint unsigned COMMENT '洞察分析记录ID', + `comment` varchar(255) COMMENT '评论内容', + `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者 id', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + KEY `idx_space_id_expt_id_analysis_record_id_created_by` (`space_id`,`expt_id`,`analysis_record_id`,`created_by`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析反馈评论表'; \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_vote.sql b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_vote.sql new file mode 100644 index 000000000..cdbdefc7f --- /dev/null +++ b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_feedback_vote.sql @@ -0,0 +1,13 @@ +CREATE TABLE IF NOT EXISTS `expt_insight_analysis_feedback_vote` ( + `id` bigint unsigned NOT NULL COMMENT '唯一标识 idgen生成', + `space_id` bigint unsigned NOT NULL COMMENT 'SpaceID', + `expt_id` bigint unsigned NOT NULL COMMENT 'exptID', + `vote_type` int NOT NULL COMMENT '反馈类型', + `analysis_record_id` bigint unsigned COMMENT '洞察分析记录ID', + `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者 id', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uniq_space_id_expt_id_analysis_record_id_created_by` (`space_id`,`expt_id`,`analysis_record_id`,`created_by`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析反馈点赞表'; \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_record.sql b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_record.sql new file mode 100644 index 000000000..29a2bf7e4 --- /dev/null +++ b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/expt_insight_analysis_record.sql @@ -0,0 +1,14 @@ +CREATE TABLE IF NOT EXISTS `expt_insight_analysis_record` ( + `id` bigint unsigned NOT NULL COMMENT '唯一标识 idgen生成', + `space_id` bigint unsigned NOT NULL COMMENT 'SpaceID', + `expt_id` bigint unsigned NOT NULL COMMENT 'exptID', + `status` int NOT NULL COMMENT '状态', + `expt_result_file_path` varchar(255) COMMENT '原始报告文件路径', + `analysis_report_id` bigint unsigned COMMENT '洞察分析报告ID', + `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建者 id', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` timestamp NULL DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + KEY `idx_space_id_expt_id` (`space_id`,`expt_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='实验洞察分析记录表'; \ No newline at end of file From 27c16ec13bd2050aae44d184cac6801305394019 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 20:36:28 +0800 Subject: [PATCH 41/42] update --- backend/modules/evaluation/infra/rpc/agent/agent.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/modules/evaluation/infra/rpc/agent/agent.go b/backend/modules/evaluation/infra/rpc/agent/agent.go index 9149af5a2..c5b9e529f 100644 --- a/backend/modules/evaluation/infra/rpc/agent/agent.go +++ b/backend/modules/evaluation/infra/rpc/agent/agent.go @@ -5,10 +5,11 @@ package agent import ( "context" - "errors" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" + "github.com/coze-dev/coze-loop/backend/pkg/errorx" ) type AgentAdapter struct{} @@ -18,9 +19,9 @@ func NewAgentAdapter() rpc.IAgentAdapter { } func (a AgentAdapter) CallTraceAgent(ctx context.Context, spaceID int64, url string) (int64, error) { - return 0, errors.New("CallTraceAgent not implement") + return 0, errorx.NewByCode(errno.CommonInternalErrorCode, errorx.WithExtraMsg("CallTraceAgent not implement")) } func (a AgentAdapter) GetReport(ctx context.Context, spaceID, reportID int64) (report string, status entity.ReportStatus, err error) { - return "", 0, errors.New("CallTraceAgent not implement") + return "", 0, errorx.NewByCode(errno.CommonInternalErrorCode, errorx.WithExtraMsg("GetReport not implement")) } From 24d5036f49e2d47eee7591d2a19d5f4e7543c166 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Thu, 18 Sep 2025 21:24:10 +0800 Subject: [PATCH 42/42] update --- .../evaluation/application/experiment_app.go | 14 ++++--------- .../application/experiment_app_test.go | 20 ++++--------------- .../domain/service/insight_analysis_impl.go | 6 ++++++ 3 files changed, 14 insertions(+), 26 deletions(-) diff --git a/backend/modules/evaluation/application/experiment_app.go b/backend/modules/evaluation/application/experiment_app.go index 7ee4b0c0a..a51263176 100644 --- a/backend/modules/evaluation/application/experiment_app.go +++ b/backend/modules/evaluation/application/experiment_app.go @@ -1125,17 +1125,11 @@ func (e *experimentApplication) ListExptInsightAnalysisRecord(ctx context.Contex UserID: strconv.FormatInt(gptr.Indirect(req.Session.UserID), 10), } } - got, err := e.manager.Get(ctx, req.GetExptID(), req.GetWorkspaceID(), session) - if err != nil { - return nil, err - } - err = e.auth.AuthorizationWithoutSPI(ctx, &rpc.AuthorizationWithoutSPIParam{ - ObjectID: strconv.FormatInt(req.GetExptID(), 10), - SpaceID: req.GetWorkspaceID(), - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Edit), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationExperiment)}}, - OwnerID: gptr.Of(got.CreatedBy), - ResourceSpaceID: req.GetWorkspaceID(), + err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ + ObjectID: strconv.FormatInt(req.WorkspaceID, 10), + SpaceID: req.WorkspaceID, + ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionReadExpt), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, }) if err != nil { return nil, err diff --git a/backend/modules/evaluation/application/experiment_app_test.go b/backend/modules/evaluation/application/experiment_app_test.go index 0aa64f9d1..0318c5bf7 100644 --- a/backend/modules/evaluation/application/experiment_app_test.go +++ b/backend/modules/evaluation/application/experiment_app_test.go @@ -3634,7 +3634,7 @@ func TestInsightAnalysisExperiment(t *testing.T) { } func TestListExptInsightAnalysisRecord(t *testing.T) { - ctx, app, mockManager, _, mockInsightService, mockAuth := setupTestApp(t) + ctx, app, _, _, mockInsightService, mockAuth := setupTestApp(t) req := &exptpb.ListExptInsightAnalysisRecordRequest{ WorkspaceID: 123, @@ -3647,27 +3647,16 @@ func TestListExptInsightAnalysisRecord(t *testing.T) { } t.Run("成功获取洞察分析记录列表", func(t *testing.T) { - // Mock the manager.Get call - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) // Mock the auth.AuthorizationWithoutSPI call - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptInsightAnalysisRecord{}, int64(0), nil) _, err := app.ListExptInsightAnalysisRecord(ctx, req) assert.NoError(t, err) }) - t.Run("获取实验失败", func(t *testing.T) { - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("get experiment error")) - - _, err := app.ListExptInsightAnalysisRecord(ctx, req) - assert.Error(t, err) - assert.Contains(t, err.Error(), "get experiment error") - }) - t.Run("权限验证失败", func(t *testing.T) { - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errors.New("authorization error")) _, err := app.ListExptInsightAnalysisRecord(ctx, req) assert.Error(t, err) @@ -3675,8 +3664,7 @@ func TestListExptInsightAnalysisRecord(t *testing.T) { }) t.Run("获取分析记录列表失败", func(t *testing.T) { - mockManager.EXPECT().Get(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&entity.Experiment{CreatedBy: "test-user"}, nil) - mockAuth.EXPECT().AuthorizationWithoutSPI(gomock.Any(), gomock.Any()).Return(nil) + mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) mockInsightService.EXPECT().ListAnalysisRecord(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, int64(0), errors.New("list analysis record error")) _, err := app.ListExptInsightAnalysisRecord(ctx, req) diff --git a/backend/modules/evaluation/domain/service/insight_analysis_impl.go b/backend/modules/evaluation/domain/service/insight_analysis_impl.go index 054a0228d..c3f2263fe 100644 --- a/backend/modules/evaluation/domain/service/insight_analysis_impl.go +++ b/backend/modules/evaluation/domain/service/insight_analysis_impl.go @@ -302,6 +302,9 @@ func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysis(ctx context. } return e.repo.CreateFeedbackComment(ctx, feedbackComment) case entity.FeedbackActionType_Update_Comment: + if param.CommentID == nil { + return errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("empty comment_id")) + } feedbackComment := &entity.ExptInsightAnalysisFeedbackComment{ ID: ptr.From(param.CommentID), SpaceID: param.SpaceID, @@ -312,6 +315,9 @@ func (e ExptInsightAnalysisServiceImpl) FeedbackExptInsightAnalysis(ctx context. } return e.repo.UpdateFeedbackComment(ctx, feedbackComment) case entity.FeedbackActionType_Delete_Comment: + if param.CommentID == nil { + return errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("empty comment_id")) + } return e.repo.DeleteFeedbackComment(ctx, param.SpaceID, param.ExptID, ptr.From(param.CommentID)) default: return nil