refactor: 将分布式锁从 redis 迁移至 utils 包
This commit is contained in:
@@ -17,7 +17,7 @@ import (
|
||||
|
||||
"gitea.com/red-future/common/db/mongo"
|
||||
"gitea.com/red-future/common/jaeger"
|
||||
"gitea.com/red-future/common/redis"
|
||||
"gitea.com/red-future/common/utils"
|
||||
"github.com/gogf/gf/v2/errors/gerror"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
@@ -36,7 +36,7 @@ func (s *capacity) UpdateLocationCapacity(ctx context.Context, locationId *bson.
|
||||
var zoneId *bson.ObjectID
|
||||
var capacityUnitType stock.CapacityUnitType
|
||||
|
||||
success, err := redis.Lock(ctx, lockKey, expireSeconds, func(ctx context.Context) error {
|
||||
success, err := utils.Lock(ctx, lockKey, expireSeconds, func(ctx context.Context) error {
|
||||
// 1. 查询库位信息
|
||||
location, err := dao.Location.GetOne(ctx, &dto.GetLocationReq{Id: locationId})
|
||||
if err != nil {
|
||||
@@ -179,7 +179,7 @@ func (s *capacity) SyncCapacityToZone(ctx context.Context, zoneId *bson.ObjectID
|
||||
lockKey := fmt.Sprintf("lock:zone:%s:capacity:%s", zoneId.Hex(), unitType)
|
||||
expireSeconds := int64(30) // 30秒超时
|
||||
|
||||
success, err := redis.Lock(ctx, lockKey, expireSeconds, func(ctx context.Context) error {
|
||||
success, err := utils.Lock(ctx, lockKey, expireSeconds, func(ctx context.Context) error {
|
||||
// 2. 查询该库区下所有使用该单位类型的库位
|
||||
locations, err := dao.Location.ListByZoneAndUnitType(ctx, zoneId, unitType)
|
||||
if err != nil {
|
||||
@@ -242,7 +242,7 @@ func (s *capacity) SyncCapacityToWarehouse(ctx context.Context, warehouseId *bso
|
||||
lockKey := fmt.Sprintf("lock:warehouse:%s:capacity:%s", warehouseId.Hex(), unitType)
|
||||
expireSeconds := int64(30) // 30秒超时
|
||||
|
||||
success, err := redis.Lock(ctx, lockKey, expireSeconds, func(ctx context.Context) error {
|
||||
success, err := utils.Lock(ctx, lockKey, expireSeconds, func(ctx context.Context) error {
|
||||
// 2. 查询该仓库下所有库区
|
||||
zones, err := dao.Zone.ListByWarehouseAndUnitType(ctx, warehouseId.Hex())
|
||||
if err != nil {
|
||||
|
||||
@@ -17,7 +17,6 @@ import (
|
||||
"fmt"
|
||||
|
||||
"gitea.com/red-future/common/beans"
|
||||
"gitea.com/red-future/common/redis"
|
||||
"gitea.com/red-future/common/utils"
|
||||
gmq "github.com/bjang03/gmq/core/gmq"
|
||||
"github.com/bjang03/gmq/mq"
|
||||
@@ -188,7 +187,7 @@ func (s *stockManage) AddStock(ctx context.Context, msg any) error {
|
||||
ctx = context.WithValue(ctx, "tenantId", req.TenantId)
|
||||
// 获取redis-租户存储-锁key
|
||||
fileLockKey := fmt.Sprintf(public.StockDetailLockKey, req.AssetSkuId)
|
||||
success, err := redis.Lock(ctx, fileLockKey, int64(60), func(ctx context.Context) error {
|
||||
success, err := utils.Lock(ctx, fileLockKey, int64(60), func(ctx context.Context) error {
|
||||
if req.OperationType == "add" {
|
||||
if req.StockMode == stock.StockModeBatch {
|
||||
if !g.IsEmpty(req.StockId) {
|
||||
|
||||
Reference in New Issue
Block a user