diff --git a/internal/v2/logic/manage/after/after.go b/internal/v2/logic/manage/after/after.go index 0e04b64..c8aa3d1 100644 --- a/internal/v2/logic/manage/after/after.go +++ b/internal/v2/logic/manage/after/after.go @@ -485,7 +485,7 @@ func refundWithType(tx *gorm.DB, asGoods after.RecookAfterSalesGoodsModel) error asGoods.OrderTotalAmount = od2.ActualTotalAmount } else { totalOrderAmount := manage.RecookOrderInfoModel{} - mysql2.Db.Where("virtual_id = ?", od.VirtualID).Select("sum(actual_total_amount) as actual_total_amount").First(&totalOrderAmount) + mysql2.Db.Where("virtual_id = ? and is_split = 0", od.VirtualID).Select("sum(actual_total_amount) as actual_total_amount").First(&totalOrderAmount) if !totalOrderAmount.ActualTotalAmount.IsZero() && totalOrderAmount.ActualTotalAmount.Cmp(od.ActualTotalAmount) == 1 { asGoods.OrderTotalAmount = totalOrderAmount.ActualTotalAmount } diff --git a/internal/v2/logic/third/supply.go b/internal/v2/logic/third/supply.go index 792e16f..8854f85 100644 --- a/internal/v2/logic/third/supply.go +++ b/internal/v2/logic/third/supply.go @@ -759,7 +759,10 @@ func (s *supplyLogic) OrderSplit(orderSplit supply.OrderSplit) error { return mysql.Db.Transaction(func(tx *gorm.DB) error { parentOrderInfo.IsSplit = true parentOrderInfo.Status = 3 - tx.Updates(&parentOrderInfo) + tx.Model(manage2.RecookOrderInfoModel{}).Where(&parentOrderInfo).Updates(map[string]interface{}{ + "is_split": true, + "status": 3, + }) if err := tx.Table((&order4.Profit{}).TableName()).Where("order_id = ?", rod.Id).Update("status", 1).Error; err != nil { return err