| | |
| | | return |
| | | } |
| | | records := make([]*models.MoveHistory, 0, 100) |
| | | reports := make([]*HistoryReport, 0, 100) |
| | | err = models.NewMoveHistorySearch().Orm.FindInBatches(&records, 100, func(tx *gorm.DB, batch int) error { |
| | | err = structx.AssignTo(records, &reports) |
| | | operationIds := make([]int, 0, len(records)) |
| | | for _, record := range records { |
| | | operationIds = append(operationIds, record.OperationId) |
| | | } |
| | | |
| | | operations, err := models.NewOperationSearch().SetPreload(true).SetIds(operationIds).FindNotTotal() |
| | | if err != nil { |
| | | logx.Errorf("AddNewHistoryReportRecord AssignTo err:%v", err) |
| | | return err |
| | | } |
| | | for _, report := range reports { |
| | | err = blevex.Add(HistoryReportIndexName, strconv.Itoa(report.ID), report) |
| | | if err != nil { |
| | | logx.Errorf("InitHistoryReportData add failed, err:%v, index:%v, data:%v", err, HistoryReportIndexName, report) |
| | | return err |
| | | } |
| | | operationMap := make(map[int]*models.Operation, len(operations)) |
| | | |
| | | for _, operation := range operations { |
| | | operationMap[operation.Id] = operation |
| | | } |
| | | |
| | | for _, record := range records { |
| | | AddNewHistoryReportRecord(record, operationMap[record.OperationId]) |
| | | } |
| | | return nil |
| | | }).Error |