Explorar o código

Merge branch 'master' of http://git.fwt.com/Hotline/hotline

xf hai 1 ano
pai
achega
7d725b5194

+ 5 - 8
src/Hotline.Api/Controllers/HomeController.cs

@@ -60,7 +60,6 @@ public class HomeController : BaseController
     /// 获取当前用户信息
     /// </summary>
     /// <returns></returns>
-    [AllowAnonymous]
     [HttpGet("myinfo")]
     public async Task<User?> GetMyInfo()
     {
@@ -91,14 +90,13 @@ public class HomeController : BaseController
     /// 获取可选快捷入口
     /// </summary>
     /// <returns></returns>
-    [AllowAnonymous]
     [HttpPost("get-fastmenu")]
     public async Task<IReadOnlyList<SystemMenu>> GetFastMenuByToken([FromBody] GetFastMenuByTokenDto dto)
     {
-        if (!string.IsNullOrEmpty(_sessionContext.RequiredUserId))
+        if (!string.IsNullOrEmpty(_sessionContext.UserId))
         {
             var roles = _sessionContext.Roles;
-            return await _systemMenuRepository.GetFastMenu(roles, _sessionContext.RequiredUserId, dto.name);
+            return await _systemMenuRepository.GetFastMenu(roles, _sessionContext.UserId, dto.name);
         }
         throw UserFriendlyException.SameMessage("无效登录信息");
     }
@@ -107,17 +105,17 @@ public class HomeController : BaseController
     /// 设置快捷入口
     /// </summary>
     /// <returns></returns>
-    [AllowAnonymous]
     [HttpPost("set-fastmenu")]
     public async Task SetFastMenu([FromBody] SetFastMenuDto dto)
     {
-        if (!string.IsNullOrEmpty(_sessionContext.RequiredUserId))
+        if (!string.IsNullOrEmpty(_sessionContext.UserId))
         {
-            string userId = _sessionContext.RequiredUserId;
+            string userId = _sessionContext.UserId;
             var model = await _userFastMenuRepository.GetAsync(x => x.UserId == userId);
             if (model is null)
             {
                 var fastmenu = _mapper.Map<UserFastMenu>(dto);
+                fastmenu.UserId = userId;
                 await _userFastMenuRepository.AddAsync(fastmenu);
             }
             else
@@ -137,7 +135,6 @@ public class HomeController : BaseController
     /// 获取我的快捷入口
     /// </summary>
     /// <returns></returns>
-    [AllowAnonymous]
     [HttpGet("get-myfastmenu")]
     public async Task<IReadOnlyList<SystemMenu>> GetMyFastMenu()
     {

+ 0 - 1
src/Hotline.Application.Contracts/Validators/CallCenter/TelToTelDtoValidator.cs

@@ -31,7 +31,6 @@ namespace Hotline.Application.Contracts.Validators.CallCenter
     {
         public VisitorToOuterDtoValidator()
         {
-            RuleFor(d => d.VisitorNo).NotEmpty();
             RuleFor(d => d.OuterNo).NotEmpty();
         }
     }

+ 13 - 8
src/Hotline.Application/Handlers/CallCenter/ExtState/IdleNotificationHandler.cs

@@ -40,17 +40,13 @@ namespace Hotline.Application.Handlers.CallCenter.ExtState
             //await _telRepository.UpdateAsync(telModel, cancellationToken);
             _typedCache.Set(notification.TelNo, telModel);
 
+
+
             var iswork = await _userCacheManager.IsWorkingByTelAsync(notification.TelNo, cancellationToken);
+
+
             if (!iswork)
                 throw new UserFriendlyException(notification.TelNo + "未查询到工作记录");
-            var restingTel = await _telRestRepository.GetAsync(d => d.TelId == telModel.Id && !d.EndTime.HasValue, cancellationToken);
-            if (restingTel != null)
-                throw new UserFriendlyException("未查询到分机休息信息");
-
-            foreach (var group in telModel.Groups)
-            {
-                await _deviceManager.AssginConfigGroupAsync(group.No, group.Distribution, new List<string>() { notification.TelNo }, group.Voice, cancellationToken);
-            }
 
 
             var workModel = _userCacheManager.GetWorkByTel(notification.TelNo);
@@ -58,6 +54,15 @@ namespace Hotline.Application.Handlers.CallCenter.ExtState
             {
                 await _realtimeService.IdleAsync(workModel.UserId, cancellationToken);
             }
+
+            var restingTel = await _telRestRepository.GetAsync(d => d.TelId == telModel.Id && !d.EndTime.HasValue && d.ApplyStatus== ETelRestApplyStatus.Resting, cancellationToken);
+            if (restingTel == null)
+            {
+                foreach (var group in telModel.Groups)
+                {
+                    await _deviceManager.AssginConfigGroupAsync(group.No, group.Distribution, new List<string>() { notification.TelNo }, group.Voice, cancellationToken);
+                }
+            }
         }
     }
 }

+ 1 - 1
src/Hotline.Share/Dtos/CallCenter/TelToTelDto.cs

@@ -4,7 +4,7 @@
     public record TelToOuterDto(string OuterNo);
     public record TelToOuterByLineDto(string LineId, string OuterNo);
     public record VisitorToTelDto(string TelNo);
-    public record VisitorToOuterDto(string VisitorNo, string OuterNo);
+    public record VisitorToOuterDto(string OuterNo);
     public record OuterToOuterDto(string OuterNo);
     public record OuterToTelDto(string TelNo);
     public record VisitorToGroupDto(string groupid);