fix: 修复服务号注册缓存时间及锁定范围问题
This commit is contained in:
@@ -115,7 +115,7 @@ public class FuwuhaoService : ApplicationService
|
|||||||
cache.SceneResult = scenResult.SceneResult;
|
cache.SceneResult = scenResult.SceneResult;
|
||||||
cache.UserId = scenResult.UserId;
|
cache.UserId = scenResult.UserId;
|
||||||
await _sceneCache.SetAsync($"{FuwuhaoConst.SceneCacheKey}{scene}", cache,
|
await _sceneCache.SetAsync($"{FuwuhaoConst.SceneCacheKey}{scene}", cache,
|
||||||
new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(50) });
|
new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(120) });
|
||||||
|
|
||||||
//如果是注册,将OpenId与Scene进行绑定,代表用户有30分钟进行注册
|
//如果是注册,将OpenId与Scene进行绑定,代表用户有30分钟进行注册
|
||||||
if (scenResult.SceneResult == SceneResultEnum.Register)
|
if (scenResult.SceneResult == SceneResultEnum.Register)
|
||||||
@@ -230,7 +230,7 @@ public class FuwuhaoService : ApplicationService
|
|||||||
var result = await _fileService.Post(files);
|
var result = await _fileService.Post(files);
|
||||||
|
|
||||||
//由于存在查询/编辑在同一个事务操作,上锁防止并发
|
//由于存在查询/编辑在同一个事务操作,上锁防止并发
|
||||||
await using (await DistributedLock.AcquireLockAsync("fuwuhao:RegisterLock", TimeSpan.FromMinutes(1)))
|
await using (await DistributedLock.AcquireLockAsync($"fuwuhao:RegisterLock:{userInfo.OpenId}", TimeSpan.FromMinutes(1)))
|
||||||
{
|
{
|
||||||
if (await _userRepository.IsAnyAsync(x => x.FuwuhaoOpenId == userInfo.OpenId))
|
if (await _userRepository.IsAnyAsync(x => x.FuwuhaoOpenId == userInfo.OpenId))
|
||||||
{
|
{
|
||||||
@@ -249,12 +249,12 @@ public class FuwuhaoService : ApplicationService
|
|||||||
});
|
});
|
||||||
|
|
||||||
await _userRepository.InsertAsync(new AiUserExtraInfoEntity(userId, userInfo.OpenId));
|
await _userRepository.InsertAsync(new AiUserExtraInfoEntity(userId, userInfo.OpenId));
|
||||||
await _sceneCache.SetAsync($"{FuwuhaoConst.SceneCacheKey}:{scene}", new SceneCacheDto
|
await _sceneCache.SetAsync($"{FuwuhaoConst.SceneCacheKey}{scene}", new SceneCacheDto
|
||||||
{
|
{
|
||||||
UserId = userId,
|
UserId = userId,
|
||||||
SceneResult = SceneResultEnum.Login
|
SceneResult = SceneResultEnum.Login
|
||||||
},
|
},
|
||||||
new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(50) });
|
new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(120) });
|
||||||
}
|
}
|
||||||
|
|
||||||
return "恭喜你已注册成功意社区账号!";
|
return "恭喜你已注册成功意社区账号!";
|
||||||
|
|||||||
Reference in New Issue
Block a user