/// [内容] --评论消息
        private EMsgContent_CommentRes commentToContent(MsgSubmitComment msgSubmitComment)
        {
            var submit = msgSubmitComment.SubmitComment;

            var bi = _bookRepository.getBookSimple_ByCode(submit.parentRefCode);

            if (bi == null)
            {
                throw new Exception("消息服务[commentToContent]:没有找到书本Code");
            }

            //Orig Content(针对哪个资源信息做的消息)
            var res = _resourceReponsitory.getSimpleByCode(submit.refCode);

            if (res == null)
            {
                throw new Exception("消息服务[commentToContent]:没有找资源");
            }
            //EResourceInfo res = _resourceReponsitory.GetByKey(submit.refCode).Result;
            //var origContent = res.ResType == ResType.BookOss ? $"[{res.FileType}]{res.OrigFileName}" : $"[URL]-{res.Url}";

            EMsgContent_CommentRes msgContent = new EMsgContent_CommentRes
            {
                BookCode = bi.Code,
                BookName = bi.Title,
                BookUrl  = bi.CoverUrl,
                ResCode  = res.Code,
                ResName  = res.ShowName,

                //   OrigContent = submit.content,
            };


            return(msgContent);
        }
        private EMsgInfo_CommentRes commentToMsg(MsgSubmitComment msgSubmitComment)
        {
            var submit    = msgSubmitComment.SubmitComment;
            var ownerInfo = _resourceReponsitory.getResoureOwnerId(submit.refCode);

            if (ownerInfo == null)
            {
                throw new Exception("[MessageServices]praizeToMsg:没有找到通知者用户Id");
            }

            EMsgInfo_CommentRes msg = new EMsgInfo_CommentRes
            {
                CreatedDateTime = DateTime.Now,
                //   CommentId = msgSubmitComment.CommentId,
                //NotificationStatus = NotificationStatus.created,
                CommentId      = msgSubmitComment.CommentId,
                resCode        = submit.refCode,
                SendUserId     = submit.userId,
                SendName       = submit.userName,
                SendHeaderUrl  = submit.userHeaderUrl,
                ReceiveUserId  = ownerInfo.Id,
                ReceiveContent = submit.content,
            };

            return(msg);
        }
        /// <summary>
        /// 创建评论消息
        /// </summary>
        /// <param name="msgSubmitComment"></param>
        public void CreateNotification_Comment(MsgSubmitComment msgSubmitComment)
        {
            var submit = msgSubmitComment.SubmitComment;

            if (msgSubmitComment.CommentId <= 0)
            {
                return;
            }

            if (string.IsNullOrEmpty(submit.userId))
            {
                throw new CCException("非法人员 userId is null ");
            }
            if (string.IsNullOrEmpty(submit.refCode))
            {
                throw new CCException("资源不存在,refCode is null");
            }

            //检查消息内容
            EMsgContent_CommentRes existContent = _msgCommentResRepository.GetContentCommentRes_Sync(submit.refCode);

            if (existContent == null) //不存在
            {
                //新内容
                existContent    = commentToContent(msgSubmitComment);
                existContent.Id = _msgCommentResRepository.AddContentCommentRes_Sync(existContent);
            }

            //评论消息不用检查是否发送过...
            EMsgInfo_CommentRes msg = commentToMsg(msgSubmitComment);

            if (msg == null)
            {
                return;
            }
            // //检查发送者和接受者是否同一人
            if (msg.ReceiveUserId == msg.SendUserId)
            {
                return;
            }

            var transResult = _msgCommentResRepository.Db.Ado.UseTran(() =>
            {
                //新消息
                _msgCommentResRepository.AddNoIdentity_Sync(msg);
                //总数
                _msgInfoOverviewRepository.UpdateNotificateToUnRead(NotificationType.comment, msg.ReceiveUserId);
            });

            if (!transResult.IsSuccess)
            {
                throw new Exception(transResult.ErrorMessage);
            }
        }