diff --git a/app/admin/models/purchase.go b/app/admin/models/purchase.go index ebaf95d..23afad3 100644 --- a/app/admin/models/purchase.go +++ b/app/admin/models/purchase.go @@ -2639,6 +2639,7 @@ func GetCommodityStocksByStoreID(commodityID uint32, stores []uint32) (map[uint3 wg.Add(len(stores)) result := make(map[uint32]uint32) + var mu sync.Mutex // 用于保护 `result` for _, store := range stores { go func(storeID uint32) { @@ -2652,7 +2653,9 @@ func GetCommodityStocksByStoreID(commodityID uint32, stores []uint32) (map[uint3 // Handle error return } + mu.Lock() // 加锁 result[storeID] = uint32(stockCount) + mu.Unlock() // 解锁 }(store) }