/// <summary>
        /// 从缓存获取消息记录
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <MessageListDto> > GetMessageAsync(GetMessageInput input)
        {
            var customer = await _customerRepository.FirstOrDefaultAsync(input.CustomerId);

            if (customer == null)
            {
                throw new UserFriendlyException("当前用户不存在");
            }
            var list = await _cacheManager.GetCache(CacheConsts.MessageCache)
                       .GetAsync(CacheConsts.MessageCache, StoreCacheMessage);

            if (!list.Any())
            {
                return(new PagedResultDto <MessageListDto>(0, list));
            }
            var t      = list.Where(c => c.Type == input.Type && c.ReceiverId == input.SouceId);
            var count  = t.Count();
            var result = t.Skip(input.SkipCount).Take(input.MaxResultCount).OrderBy(c => c.CreationTime).ToList();

            return(new PagedResultDto <MessageListDto>(count, result));
        }
        public async Task <CommandResult <GetMessageResult> > Message([FromServices] GetMessageCommand getMessageCommand, TypeBox typeBox, string boxId, string chatId)
        {
            var sendMessageInput = new GetMessageInput
            {
                ChatId = chatId,
                BoxId  = new BoxId {
                    Id = boxId, Type = typeBox
                }
            };
            var userInput = new UserInput <GetMessageInput>
            {
                UserId = User.Identity.IsAuthenticated ? User.GetUserId() : string.Empty,
                Data   = sendMessageInput
            };

            var result =
                await Business
                .InvokeAsync <GetMessageCommand, UserInput <GetMessageInput>, CommandResult <GetMessageResult> >(
                    getMessageCommand, userInput);

            return(result);
        }