namespace Fengling.Member.Application.Services; /// /// 分布式锁获取结果 /// public class LockAcquisitionResult { public bool Success { get; set; } public string? LockValue { get; set; } public string? ErrorMessage { get; set; } public static LockAcquisitionResult Succeeded(string lockValue) => new() { Success = true, LockValue = lockValue }; public static LockAcquisitionResult Failed(string errorMessage) => new() { Success = false, ErrorMessage = errorMessage }; } /// /// 分布式锁接口 /// public interface ICodeDistributedLock { /// /// 获取分布式锁 /// /// 码ID /// 锁过期时间,默认10秒 /// 获取结果 Task AcquireAsync(string codeId, TimeSpan? ttl = null); /// /// 释放分布式锁 /// /// 码ID /// 锁值 Task ReleaseAsync(string codeId, string lockValue); }