Skip to content

Commit

Permalink
fix: raw data fields
Browse files Browse the repository at this point in the history
  • Loading branch information
narrowizard committed May 31, 2024
1 parent cdbf90c commit 4690a24
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,14 @@ func (*NewIssueTable) Name() string {

type IssueStatusHistory20240530 struct {
archived.NoPKModel
IssueId string `gorm:"primaryKey;type:varchar(255)"`
Status string `gorm:"type:varchar(100)"`
OriginalStatus string `gorm:"primaryKey;type:varchar(255)"`
StartDate time.Time `gorm:"primaryKey"`
EndDate *time.Time `gorm:"type:timestamp"`
IsCurrentStatus bool `gorm:"type:boolean"`
IsFirstStatus bool `gorm:"type:boolean"`
StatusTimeMinutes int32 `gorm:"type:integer"`
IssueId string `gorm:"primaryKey;type:varchar(255)"`
Status string `gorm:"type:varchar(100)"`
OriginalStatus string `gorm:"primaryKey;type:varchar(255)"`
StartDate time.Time `gorm:"primaryKey"`
EndDate *time.Time
IsCurrentStatus bool `gorm:"type:boolean"`
IsFirstStatus bool `gorm:"type:boolean"`
StatusTimeMinutes int32 `gorm:"type:integer"`
}

func (IssueStatusHistory20240530) TableName() string {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ type AssigneeHistory struct {

// AssigneeChangelog is the changelog of issue assignee
type AssigneeChangelog struct {
common.RawDataOrigin
IssueId string
FromAssignee string // split by comma
ToAssignee string // split by comma
Expand Down Expand Up @@ -71,7 +72,8 @@ func ConvertIssueAssigneeHistory(taskCtx plugin.SubTaskContext) errors.Error {
cursorForIssuesWithoutChanglog, err := db.RawCursor(`
select
board_issues.board_id as _raw_data_params,
'issue_changelogs' as _raw_data_table,
issues._raw_data_table as _raw_data_table,
issues._raw_data_id as _raw_data_id,
issues.id as issue_id,
issues.created_date as start_date,
issues.assignee_id as user_id,
Expand Down Expand Up @@ -105,6 +107,16 @@ func ConvertIssueAssigneeHistory(taskCtx plugin.SubTaskContext) errors.Error {
}
row := inputRow.(*AssigneeHistory)
err := batchInsertor.Add(&models.IssueAssigneeHistory{
NoPKModel: common.NoPKModel{
RawDataOrigin: common.RawDataOrigin{
RawDataParams: row.RawDataParams,
RawDataTable: row.RawDataTable,
RawDataId: row.RawDataId,
RawDataRemark: row.RawDataRemark,
},
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
},
IssueId: row.IssueId,
Assignee: row.UserId,
StartDate: row.StartDate,
Expand All @@ -128,7 +140,10 @@ func ConvertIssueAssigneeHistory(taskCtx plugin.SubTaskContext) errors.Error {
}
// convert issues with changelogs of assignee
clauses := []dal.Clause{
dal.Select("issue_changelogs.issue_id, " +
dal.Select("board_issues.board_id as _raw_data_params, " +
"issue_changelogs._raw_data_table as _raw_data_table, " +
"issue_changelogs._raw_data_id as _raw_data_id, " +
"issue_changelogs.issue_id, " +
"issue_changelogs.original_from_value as from_assignee, " +
"issue_changelogs.original_to_value as to_assignee, " +
"issue_changelogs.created_date as log_created_date, " +
Expand Down Expand Up @@ -226,6 +241,16 @@ func buildActiveAssigneeHistory(logs []AssigneeChangelog, boardId string) []*mod
if assigneeHistory, ok := result[addAssignee]; !ok {
result[addAssignee] = []*models.IssueAssigneeHistory{
{
NoPKModel: common.NoPKModel{
CreatedAt: now,
UpdatedAt: now,
RawDataOrigin: common.RawDataOrigin{
RawDataParams: row.RawDataParams,
RawDataTable: row.RawDataTable,
RawDataId: row.RawDataId,
RawDataRemark: row.RawDataRemark,
},
},
IssueId: row.IssueId,
Assignee: addAssignee,
StartDate: row.LogCreatedDate,
Expand All @@ -236,6 +261,16 @@ func buildActiveAssigneeHistory(logs []AssigneeChangelog, boardId string) []*mod
last := len(assigneeHistory) - 1
if assigneeHistory[last].EndDate != nil && assigneeHistory[last].EndDate.Before(row.LogCreatedDate) {
result[addAssignee] = append(result[addAssignee], &models.IssueAssigneeHistory{
NoPKModel: common.NoPKModel{
CreatedAt: now,
UpdatedAt: now,
RawDataOrigin: common.RawDataOrigin{
RawDataParams: row.RawDataParams,
RawDataTable: row.RawDataTable,
RawDataId: row.RawDataId,
RawDataRemark: row.RawDataRemark,
},
},
IssueId: row.IssueId,
Assignee: addAssignee,
StartDate: row.LogCreatedDate,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import (
)

type IssueStatusWithoutChangeLog struct {
common.RawDataOrigin
IssueId string
Status string
OriginalStatus string
Expand Down Expand Up @@ -75,7 +76,8 @@ func ConvertIssueStatusHistory(taskCtx plugin.SubTaskContext) errors.Error {
logger.Info("get issues not appeared in change logs, board %s", boardId)
now := time.Now()
clauses := []dal.Clause{
dal.Select("issues.id AS issue_id, issues.status, issues.original_status, issues.created_date"),
dal.Select("issues.id AS issue_id, issues.status, issues.original_status, issues.created_date," +
"board_issues.board_id as _raw_data_params, issues._raw_data_table as _raw_data_table, issues._raw_data_id as _raw_data_id"),
dal.From("issues"),
dal.Join("INNER JOIN board_issues ON board_issues.issue_id = issues.id"),
dal.Join("LEFT JOIN issue_changelogs ON issue_changelogs.issue_id=issues.id AND issue_changelogs.field_name='status'"),
Expand Down Expand Up @@ -107,8 +109,9 @@ func ConvertIssueStatusHistory(taskCtx plugin.SubTaskContext) errors.Error {
err = batchInserter.Add(&models.IssueStatusHistory{
NoPKModel: common.NoPKModel{
RawDataOrigin: common.RawDataOrigin{
RawDataTable: rawTableIssueChangelogs,
RawDataParams: boardId,
RawDataTable: issue.RawDataTable,
RawDataParams: issue.RawDataParams,
RawDataId: issue.RawDataId,
},
},
IssueId: issue.IssueId,
Expand Down Expand Up @@ -137,7 +140,8 @@ func ConvertIssueStatusHistory(taskCtx plugin.SubTaskContext) errors.Error {
clauses = []dal.Clause{
dal.Select("issue_changelogs.issue_id, issue_changelogs.created_date AS log_created_date, " +
"issue_changelogs.to_value, issue_changelogs.original_to_value, issue_changelogs.from_value, " +
"issue_changelogs.original_from_value, issues.created_date AS issue_created_date"),
"issue_changelogs.original_from_value, issues.created_date AS issue_created_date," +
"board_issues.board_id as _raw_data_params, issue_changelogs._raw_data_table as _raw_data_table, issue_changelogs._raw_data_id as _raw_data_id"),
dal.From("issue_changelogs"),
dal.Join("INNER JOIN issues ON issues.id = issue_changelogs.issue_id"),
dal.Join("INNER JOIN board_issues ON board_issues.issue_id = issue_changelogs.issue_id"),
Expand Down Expand Up @@ -231,8 +235,9 @@ func buildStatusHistoryRecords(logs []*StatusChangeLogResult, boardId string) []
{
NoPKModel: common.NoPKModel{
RawDataOrigin: common.RawDataOrigin{
RawDataTable: rawTableIssueChangelogs,
RawDataParams: boardId,
RawDataTable: firstChangelog.RawDataTable,
RawDataParams: firstChangelog.RawDataParams,
RawDataId: firstChangelog.RawDataId,
},
},
IssueId: firstChangelog.IssueId,
Expand All @@ -252,8 +257,9 @@ func buildStatusHistoryRecords(logs []*StatusChangeLogResult, boardId string) []
result = append(result, &models.IssueStatusHistory{
NoPKModel: common.NoPKModel{
RawDataOrigin: common.RawDataOrigin{
RawDataTable: rawTableIssueChangelogs,
RawDataParams: boardId,
RawDataTable: row.RawDataTable,
RawDataParams: row.RawDataParams,
RawDataId: row.RawDataId,
},
},
IssueId: row.IssueId,
Expand Down

0 comments on commit 4690a24

Please sign in to comment.