Compare commits

..

No commits in common. "46ffdc0d0d0503d27c30ba7003cce2511baa15c1" and "c25157b66170a39f8648f21e996e49a7d312410d" have entirely different histories.

View File

@ -467,7 +467,6 @@ func OrderRecordsListV2(req *bundle.OrderRecordsRequestV2) (res *bundle.OrderRec
} }
for _, record := range records { for _, record := range records {
customerID, _ := strconv.ParseInt(record.CustomerID, 10, 64) customerID, _ := strconv.ParseInt(record.CustomerID, 10, 64)
orderItem := &bundle.OrderBundleRecordInfo{ orderItem := &bundle.OrderBundleRecordInfo{
OrderNo: record.OrderNo, OrderNo: record.OrderNo,
BundleName: record.BundleName, BundleName: record.BundleName,
@ -479,12 +478,13 @@ func OrderRecordsListV2(req *bundle.OrderRecordsRequestV2) (res *bundle.OrderRec
CustomerId: customerID, CustomerId: customerID,
} }
// 聚合子订单 // 构建子订单 map按 orderAddNo 聚合
addMap := make(map[string]*bundle.OrderAddBundleRecordInfo) addMap := make(map[string]*bundle.OrderAddBundleRecordInfo)
subAmountMap := make(map[string]float32)
for _, sub := range record.BundleOrderValueAdd { for _, sub := range record.BundleOrderValueAdd {
orderAddNo := sub.OrderNo orderAddNo := sub.OrderNo
amount := float32(sub.Amount) amount := float32(sub.Amount)
subAmountMap[orderAddNo] += amount
if existing, ok := addMap[orderAddNo]; ok { if existing, ok := addMap[orderAddNo]; ok {
existing.Amount += amount existing.Amount += amount
@ -492,7 +492,10 @@ func OrderRecordsListV2(req *bundle.OrderRecordsRequestV2) (res *bundle.OrderRec
addMap[orderAddNo] = &bundle.OrderAddBundleRecordInfo{ addMap[orderAddNo] = &bundle.OrderAddBundleRecordInfo{
OrderAddNo: orderAddNo, OrderAddNo: orderAddNo,
Amount: amount, Amount: amount,
//SettlementAmount: settlementAmount,
CurrencyType: int32(sub.CurrencyType), CurrencyType: int32(sub.CurrencyType),
//HandlingFee: float32(sub.HandlingFee),
//ExchangeRate: float32(sub.ExchangeRate),
OrderAddCreateAt: sub.CreatedAt.Format("2006-01-02 15:04:05"), OrderAddCreateAt: sub.CreatedAt.Format("2006-01-02 15:04:05"),
AddPayStatus: int32(sub.PaymentStatus), AddPayStatus: int32(sub.PaymentStatus),
Contract: sub.SignContract, Contract: sub.SignContract,
@ -502,17 +505,15 @@ func OrderRecordsListV2(req *bundle.OrderRecordsRequestV2) (res *bundle.OrderRec
} }
} }
} }
// 第二步:设置 SettlementAmount
// 设置 SettlementAmount 并追加到主订单中
for orderAddNo, addInfo := range addMap { for orderAddNo, addInfo := range addMap {
settlementAmount := subAmountMap[orderAddNo]
if orderAddNo == record.OrderNo { if orderAddNo == record.OrderNo {
addInfo.SettlementAmount = record.TotalAmount settlementAmount += record.TotalAmount
} else {
addInfo.SettlementAmount = addInfo.Amount
} }
addInfo.SettlementAmount = settlementAmount
orderItem.AddBundleInfo = append(orderItem.AddBundleInfo, addInfo) orderItem.AddBundleInfo = append(orderItem.AddBundleInfo, addInfo)
} }
res.BundleInfo = append(res.BundleInfo, orderItem) res.BundleInfo = append(res.BundleInfo, orderItem)
} }
res.Total = int32(count) res.Total = int32(count)