From ec58bf196fb360bfcec35ed784ae9da90ffa3d42 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期二, 12 十二月 2023 11:06:50 +0800
Subject: [PATCH] 调整listbycondition接口服务

---
 service/input_history_search.go |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/service/input_history_search.go b/service/input_history_search.go
index 12cd9bb..45803c5 100644
--- a/service/input_history_search.go
+++ b/service/input_history_search.go
@@ -20,6 +20,11 @@
 	OperationTypeName string                     `json:"operationTypeName,omitempty"` //涓氬姟鍚嶇О
 	FromLocation      string                     `json:"fromLocation,omitempty"`      //婧愪綅缃悕绉�
 	ToLocation        string                     `json:"toLocation,omitempty"`        //鐩爣浣嶇疆鍚嶇О
+	Date              string                     `json:"date,omitempty"`              //鏃ユ湡
+	Company           string                     `json:"company,omitempty"`           // 渚涘簲鍟�/瀹㈡埛
+	Carrier           string                     `json:"carrier,omitempty"`           //鎵胯繍鍟嗗悕绉�
+	WaybillNumber     string                     `json:"waybillNumber"`               //杩愬崟鍙�
+	ReceiverName      string                     `json:"receiverName"`                //鏀惰揣浜�
 }
 
 const (
@@ -36,19 +41,24 @@
 		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
@@ -76,13 +86,20 @@
 	return
 }
 
-func AddNewHistoryReportRecord(record *models.MoveHistory) {
+func AddNewHistoryReportRecord(record *models.MoveHistory, operation *models.Operation) {
 	var report HistoryReport
 	err := structx.AssignTo(record, &report)
 	if err != nil {
 		logx.Errorf("AddNewHistoryReportRecord AssignTo err:%v", err)
 		return
 	}
+
+	report.Date = record.UpdatedAt.Format("2006-01-02")
+	report.Carrier = operation.LogisticCompany.Name
+	report.Company = operation.CompanyName
+	report.WaybillNumber = operation.WaybillNumber
+	report.ReceiverName = operation.ReceiverName
+
 	err = blevex.Add(HistoryReportIndexName, strconv.Itoa(record.Id), report)
 	if err != nil {
 		logx.Errorf("AddNewHistoryReportRecord bleve add err:%v", err)

--
Gitblit v1.8.0