From 5418dab8c583cce1accbbb21d841b71a80bf62e1 Mon Sep 17 00:00:00 2001 From: chenlin Date: Mon, 25 Nov 2024 13:02:40 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81GetCommodityStocksByStoreID=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=8C=E5=8A=A0=E9=94=81=E8=A7=A3=E5=86=B3concurren?= =?UTF-8?q?t=20map=20writes=20=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/models/purchase.go | 3 +++ 1 file changed, 3 insertions(+) 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) }