Exemplo n.º 1
0
        /// <summary>
        /// 获取评论集合
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public List <GetCommentModel> GetCommentList(WctCommentMstrQuery query)
        {
            return(_sqlQuery.Select(@"
	            a.COMMENT_ID,
	            a.MATERIAL_ID,
	            a.COMMENT_OPENID,
	            a.MAIN_COMMENT_ID,
	            a.USER_ID,
	            a.COMMENT_CONTENT,
	            a.COMMENT_DATE,
	            a.COMMENT_PARENTID,
	            a.SUPPORT_COUNT,
                b.UDF3 NICK_NAME,
                b.WX_AVATAR_URL,
                c.COMMENT_RULE")
                   .Filter("a.BU_NO", query.BU_NO)
                   .Filter("a.MATERIAL_ID", query.MATERIAL_ID)
                   .Filter("c.CREATE_PSN", query.CREATE_PSN)
                   .Filter("a.DEL_FLAG", 1)
                   .Filter("c.DEL_FLAG", 1)
                   .OrderBy("a.COMMENT_DATE desc")
                   .GetList <GetCommentModel>(@"WCT_COMMENT_MSTR a 
                left join SYS_USR_WCT b on a.COMMENT_OPENID=b.OPEN_ID
                left join CMS_MATERIAL_MSTR c on a.MATERIAL_ID=c.MATERIAL_ID", Context.Database.GetDbConnection()));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取评论分页列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ReturnMsg GetCommentListByPage(WctCommentMstrQuery query)
        {
            var rm             = new ReturnMsg();
            var commentList    = new List <CommentInfo>();
            var childList      = new List <GetCommentModel>();
            var parentList     = new List <GetCommentModel>();
            var allCommentList = _wctCommentMstrRepository.GetCommentList(query);

            if (allCommentList.Count > 0)
            {
                parentList       = allCommentList.Where(c => c.COMMENT_PARENTID == null || c.COMMENT_PARENTID == "").OrderByDescending(c => c.COMMENT_DATE).ToList();
                query.TotalCount = parentList.Count;
                foreach (var item in parentList)
                {
                    childList = allCommentList.Where(c => c.MAIN_COMMENT_ID == item.COMMENT_ID).OrderBy(c => c.COMMENT_DATE).ToList();
                    commentList.Add(new CommentInfo
                    {
                        CommentId        = item.COMMENT_ID,
                        WxUrl            = item.WX_AVATAR_URL,
                        NickName         = item.NICK_NAME,
                        CommentContent   = item.COMMENT_CONTENT,
                        CommentDate      = item.COMMENT_DATE,
                        SupportNum       = item.SUPPORT_COUNT,
                        IsMore           = childList.Count > 3,
                        IsReply          = GetIsReply(item.COMMENT_RULE, item.COMMENT_ID, childList),
                        ChildCommentList = GetChildCommentList(item.COMMENT_ID, childList, allCommentList, query.MATERIAL_ID)
                    });
                }
            }
            commentList  = commentList.Skip(query.Page - 1 * query.PageSize).Take(query.PageSize).ToList();
            rm.IsSuccess = true;
            rm.result    = JsonConvert.SerializeObject(commentList);

            return(rm);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 回复评论
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ReturnMsg ReplyComment(WctCommentMstrQuery query)
        {
            var rm   = new ReturnMsg();
            var isOk = CheckCommentInfo(query, rm);

            if (!isOk.IsSuccess)
            {
                return(rm);
            }
            var comment = new WctCommentMstr()
            {
                Id               = Guid.NewGuid().ToString("N"),
                MATERIAL_ID      = query.MATERIAL_ID,
                COMMENT_CONTENT  = query.COMMENT_CONTENT,
                COMMENT_DATE     = DateTime.Now,
                COMMENT_PARENTID = query.COMMENT_PARENTID,
                USER_ID          = AbpSession.USR_ID,
                IS_READ          = 1,
                MAIN_COMMENT_ID  = query.MAIN_COMMENT_ID,
                DEL_FLAG         = 1,
                BU_NO            = AbpSession.ORG_NO,
                BG_NO            = AbpSession.BG_NO
            };

            _wctCommentMstrRepository.Insert(comment);

            rm.IsSuccess = true;
            rm.result    = comment.Id;

            return(rm);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 校验评论内容
        /// </summary>
        /// <param name="query"></param>
        /// <param name="rm"></param>
        /// <returns></returns>
        public ReturnMsg CheckCommentInfo(WctCommentMstrQuery query, ReturnMsg rm)
        {
            if (string.IsNullOrEmpty(query.COMMENT_PARENTID))
            {
                rm.IsSuccess = false;
                rm.msg       = "请选择回复的评论";
            }
            if (string.IsNullOrEmpty(query.COMMENT_CONTENT) || string.IsNullOrEmpty(query.COMMENT_CONTENT.Trim()))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入回复的内容";
            }
            if (string.IsNullOrEmpty(query.MATERIAL_ID))
            {
                rm.IsSuccess = false;
                rm.msg       = "资讯id不可为空";
            }
            if (string.IsNullOrEmpty(query.MAIN_COMMENT_ID))
            {
                rm.IsSuccess = false;
                rm.msg       = "资讯id不可为空";
            }

            rm.IsSuccess = true;

            return(rm);
        }
Exemplo n.º 5
0
 public ActionResult ReplyComment([FromBody] WctCommentMstrQuery query)
 {
     try
     {
         var reply = _wctCommentMstrService.ReplyComment(query);
         return(Success("评论成功", reply.result));
     }
     catch (Exception ex)
     {
         return(Fail(ex.Message));
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// 删除评论
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public int DelCommentInfo(WctCommentMstrQuery query)
        {
            var count = 0;
            var sql   = "Delete from WCT_COMMENT_MSTR where COMMENT_ID='" + query.COMMENT_ID + "'";

            if (query.IsMainComment)
            {
                sql += " or MAIN_COMMENT_ID='" + query.COMMENT_ID + "' ";
            }
            count = _sqlQuery.ExcuteSql(sql, Context.Database.GetDbConnection(), null, null);

            return(count);
        }
Exemplo n.º 7
0
 public ActionResult GetCommentListByPage(WctCommentMstrQuery query)
 {
     try
     {
         query.BU_NO      = AbpSession.ORG_NO;
         query.CREATE_PSN = AbpSession.USR_ID.ToString();
         var commentList = _wctCommentMstrService.GetCommentListByPage(query);
         return(Success("获取成功", new { CommentList = commentList.result, query.TotalCount }));
     }
     catch (Exception ex)
     {
         return(Fail(ex.Message));
     }
 }
Exemplo n.º 8
0
 public ActionResult DelCommentInfo(WctCommentMstrQuery query)
 {
     try
     {
         var del = _wctCommentMstrService.DelCommentInfo(query);
         if (!del.IsSuccess)
         {
             return(Fail(del.msg));
         }
         return(Success("删除成功"));
     }
     catch (Exception ex)
     {
         return(Fail(ex.Message));
     }
 }
Exemplo n.º 9
0
        /// <summary>
        /// 删除评论
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ReturnMsg DelCommentInfo(WctCommentMstrQuery query)
        {
            var rm = new ReturnMsg();

            if (string.IsNullOrEmpty(query.COMMENT_ID))
            {
                rm.IsSuccess = false;
                rm.msg       = "请选择要删除的评论";
                return(rm);
            }
            var result = _wctCommentMstrRepository.DelCommentInfo(query);

            if (result == 0)
            {
                rm.IsSuccess = false;
                rm.msg       = "删除评论失败";
                return(rm);
            }

            rm.IsSuccess = true;

            return(rm);
        }