IUserCacheManager.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using CallCenter.Users;
  7. namespace CallCenter.Caches
  8. {
  9. public interface IUserCacheManager
  10. {
  11. /// <summary>
  12. /// 查询用户当前工作记录
  13. /// </summary>
  14. /// <param name="userId"></param>
  15. /// <returns></returns>
  16. Work GetWorkByUser(string userId);
  17. /// <summary>
  18. /// 查询分机当前工作记录
  19. /// </summary>
  20. /// <param name="telNo"></param>
  21. /// <returns></returns>
  22. Work GetWorkByTel(string telNo);
  23. /// <summary>
  24. /// 查询分机是否处于工作
  25. /// </summary>
  26. /// <param name="telNo"></param>
  27. /// <returns></returns>
  28. Task<bool> IsWorkingByTelAsync(string telNo, CancellationToken cancellationToken);
  29. /// <summary>
  30. /// 查询分机是否处于工作
  31. /// </summary>
  32. /// <param name="userId"></param>
  33. /// <param name="cancellationToken"></param>
  34. /// <returns></returns>
  35. Task<bool> IsWorkingByUserAsync(string userId, CancellationToken cancellationToken);
  36. /// <summary>
  37. /// 根据用户更新工作记录
  38. /// </summary>
  39. /// <param name="work"></param>
  40. /// <returns></returns>
  41. void UpdateWorkByUser(Work work);
  42. /// <summary>
  43. /// 查询所有在工作的记录
  44. /// </summary>
  45. /// <returns></returns>
  46. List<Work> GetWorks();
  47. void AddWorksCache(Work work);
  48. void RemoveCallCache(string id);
  49. }
  50. }