Bläddra i källkod

Merge branch 'master' of http://110.188.24.182:10023/Fengwo/hotline

田爽 1 år sedan
förälder
incheckning
beac5c3c1d

+ 23 - 23
src/Hotline.Api/Controllers/OrderController.cs

@@ -563,29 +563,29 @@ public class OrderController : BaseController
         }
     }
 
-	/// <summary>
-	/// 批量分配回访人员
-	/// </summary>
-	/// <param name="dto"></param>
-	/// <returns></returns>
-	//[HttpPost("visit/distribution")]
-	//public async Task DistributionVisit([FromBody]DistributionVisitDto dto)
-	//{
-	//	foreach (var id in dto.Ids)
-	//	{
- //           var visit = await _orderVisitRepository.Queryable().FirstAsync(d => d.Id == dto.Id, HttpContext.RequestAborted);
- //           if (visit !=null && visit.VisitState != EVisitState.WaitForVisit)
-	//		{
-
-	//		}
-	//		else
-	//		{
-
-	//		}
- //       }
-		
-
-	//}
+    /// <summary>
+    /// 批量分配回访人员
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
+    [HttpPost("visit/distribution")]
+    public async Task DistributionVisit([FromBody] DistributionVisitDto dto)
+    {
+        int count = 0;
+        foreach (var id in dto.Ids)
+        {
+            var visit = await _orderVisitRepository.Queryable().FirstAsync(d => d.Id == id, HttpContext.RequestAborted);
+            if (visit != null && visit.VisitState != EVisitState.WaitForVisit)
+            {
+                visit.EmployeeId = dto.EmployeeId;
+                await _orderVisitRepository.UpdateAsync(visit, HttpContext.RequestAborted);
+            }
+            else
+            {
+                count++;
+            }
+        }
+    }
 
 
     #endregion

+ 8 - 2
src/Hotline.Api/Controllers/SysController.cs

@@ -1,4 +1,5 @@
-using Hotline.Permissions;
+using Hotline.Caching.Interfaces;
+using Hotline.Permissions;
 using Hotline.Repository.SqlSugar.Extensions;
 using Hotline.Repository.SqlSugar.System;
 using Hotline.Settings;
@@ -36,6 +37,7 @@ namespace Hotline.Api.Controllers
         private readonly ISystemCommonOpinionDomainService _commonOpinionDomainService;
         private readonly IRepository<SystemCommonOpinion> _commonOpinionRepository;
         private readonly ISessionContext _sessionContext;
+        private readonly ISystemDicDataCacheManager _systemDicDataCacheManager;
 
         /// <summary>
         /// 系统管理相关接口
@@ -60,7 +62,8 @@ namespace Hotline.Api.Controllers
             IRepository<SystemArea> systemAreaRepository,
             ISystemCommonOpinionDomainService commonOpinionDomainService,
             IRepository<SystemCommonOpinion> commonOpinionRepository,
-            ISessionContext sessionContext
+            ISessionContext sessionContext,
+            ISystemDicDataCacheManager systemDicDataCacheManager
             )
         {
             _mapper = mapper;
@@ -73,6 +76,7 @@ namespace Hotline.Api.Controllers
             _commonOpinionDomainService = commonOpinionDomainService;
             _commonOpinionRepository = commonOpinionRepository;
             _sessionContext = sessionContext;
+            _systemDicDataCacheManager = systemDicDataCacheManager;
         }
 
         #region 菜单管理
@@ -301,6 +305,7 @@ namespace Hotline.Api.Controllers
                 throw UserFriendlyException.SameMessage("无效字典类型");
             var dicData = _mapper.Map<SystemDicData>(dto);
             dicData.DicTypeCode = dicType.DicTypeCode;
+            _systemDicDataCacheManager.RemoveSysDicDataCache(dicType.DicTypeCode);
             await _sysDicDataRepository.AddAsync(dicData);
         }
 
@@ -321,6 +326,7 @@ namespace Hotline.Api.Controllers
                 throw UserFriendlyException.SameMessage("无效字典类型");
             _mapper.Map(dto, dicData);
             dicData.DicTypeCode = dicType.DicTypeCode;
+            _systemDicDataCacheManager.RemoveSysDicDataCache(dicType.DicTypeCode);
             await _sysDicDataRepository.UpdateAsync(dicData,HttpContext.RequestAborted);
         }
 

+ 2 - 0
src/Hotline/Caching/Interfaces/ISysDicDataCacheManager.cs

@@ -10,5 +10,7 @@ namespace Hotline.Caching.Interfaces
     public interface ISystemDicDataCacheManager
     {
         IReadOnlyList<SystemDicData> GetSysDicDataCache(string code);
+
+        void RemoveSysDicDataCache(string code);
     }
 }

+ 5 - 0
src/Hotline/Caching/Services/SysDicDataCacheManager.cs

@@ -25,5 +25,10 @@ namespace Hotline.Caching.Services
             });
             return sysDicDataList;
         }
+
+        public void RemoveSysDicDataCache(string code)
+        {
+            _cacheSysDicData.Remove(code);
+        }
     }
 }