Exemplo n.º 1
0
        /// <summary>
        /// 查询问答板块中的热门问答
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="dic"></param>
        /// <returns></returns>
        private async Task GetPopularQAndAForQuestionBrand(int pageIndex, int pageSize, Dictionary <string, object> dic)
        {
            var popularQuestion = await DistributedCacheHelper.SelectPopularAnswers(new PagerModel { CurrentPage = pageIndex, PageSize = pageSize });

            dic.Add("Code", "1");

            var timeLineList = new List <object>();

            if (popularQuestion?.Item2 != null)
            {
                foreach (var question in popularQuestion.Item2)
                {
                    //if (question.UserIdentity > 0)
                    //    continue;

                    Tuhu.Service.Member.Models.UserObjectModel userInfo = null;
                    if (!(question.UserIdentity > 0))
                    {
                        userInfo = HttpClientHelper.SelectUserInfoByUserId(question.BestAnswererUserId);
                    }
                    timeLineList.Add(new
                    {
                        PKID = question.PKID,
                        FirstAttentionUserId = question.BestAnswererUserId,
                        UserId        = question.BestAnswererUserId,
                        Content       = question.Content,
                        AnswerId      = question.BestAnswerId,
                        AnswerContent = question.BestAnswerContent,
                        CommentImage  = question.CommentImage,
                        UserHead      = userInfo?.HeadImage == null ? (question.UserIdentity > 0 ? question.BestAnswererHead : GetDefaultUserHeadByUserGrade(string.Empty)) : (userInfo.HeadImage.Contains("http") ? userInfo.HeadImage : DomainConfig.ImageSite + userInfo.HeadImage),
                        UserName      = userInfo == null ? (question.UserIdentity > 0 ? question.BestAnswerer : "途虎用户") : (ArticleController.GetUserName(userInfo.Nickname)),
                        Type          = question.BestAnswerId > 0 ? 3 : 4,
                        UserIdentity  = question.UserIdentity,
                        Praise        = question.Praise
                    });
                }
            }
            dic.Add("Data", new { TimeLineList = timeLineList });
        }
Exemplo n.º 2
0
        /// <summary>
        /// 查询问答板块中我的问答
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <ActionResult> GetMyQAndA(string userId, int pageIndex = 1, int pageSize = 10)
        {
            var dic = new Dictionary <string, object>();

            try
            {
                var dataList = await DiscoverBLL.GetMyQAndA(userId, pageIndex, pageSize);

                dic.Add("Code", "1");

                var timeLineList = new List <object>();
                foreach (var question in dataList)
                {
                    if (question.UserIdentity > 0)
                    {
                        continue;
                    }

                    Tuhu.Service.Member.Models.UserObjectModel userInfo = null;

                    if (!(question.UserIdentity > 0))
                    {
                        userInfo = HttpClientHelper.SelectUserInfoByUserId(userId);
                    }

                    timeLineList.Add(new
                    {
                        question.PKID,
                        FirstAttentionUserId = question.UserId,
                        question.UserId,
                        Content = question.Question,
                        question.AnswerId,
                        question.AnswerContent,
                        question.CommentImage,
                        UserHead =
                            userInfo?.HeadImage == null
                                ? (question.UserIdentity > 0
                                    ? question.UserHead
                                    : GetDefaultUserHeadByUserGrade(string.Empty))
                                : (userInfo.HeadImage.Contains("http")
                                    ? userInfo.HeadImage
                                    : DomainConfig.ImageSite + userInfo.HeadImage),
                        UserName =
                            userInfo?.Nickname == null
                                ? (question.UserIdentity > 0 ? question.UserName : "******")
                                : (ArticleController.GetUserName(userInfo.Nickname)),
                        question.Type,
                        Praise = question.PraiseCount,
                        question.UserIdentity,
                        question.QuestionStatus
                    });
                }
                dic.Add("Data", new { TimeLineList = timeLineList });
            }
            catch (Exception ex)
            {
                WebLog.LogException("GetMyQAndA", ex);
                dic.Clear();
                dic.Add("Messages", ex.Message);
                dic.Add("Code", "0");
            }
            return(Json(dic, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 查询车型相关的问答
        /// </summary>
        /// <param name="vehicleId"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <ActionResult> SelectQuestionAboutCar(string vehicleId, int pageIndex = 1, int pageSize = 10)
        {
            var dic = new Dictionary <string, object>();

            try
            {
                var dataList = await DiscoverBLL.SelectQuestionAboutCar(vehicleId, pageIndex, pageSize);

                dic.Add("Code", "1");

                var timeLineList = new List <object>();
                foreach (var question in dataList)
                {
                    //if (question.UserIdentity > 0)
                    //    continue;

                    Tuhu.Service.Member.Models.UserObjectModel userInfo = null;
                    if (!(question.UserIdentity > 0))
                    {
                        if (!string.IsNullOrWhiteSpace(question.UserId))
                        {
                            userInfo = HttpClientHelper.SelectUserInfoByUserId(question.UserId);
                        }
                    }


                    timeLineList.Add(new
                    {
                        question.PKID,
                        FirstAttentionUserId = question.UserId,
                        question.UserId,
                        Content = question.Question,
                        question.AnswerId,
                        question.AnswerContent,
                        question.CommentImage,
                        UserHead =
                            userInfo?.HeadImage == null
                                ? (question.UserIdentity > 0
                                    ? question.UserHead
                                    : GetDefaultUserHeadByUserGrade(string.Empty))
                                : (userInfo.HeadImage.Contains("http")
                                    ? userInfo.HeadImage
                                    : DomainConfig.ImageSite + userInfo.HeadImage),
                        UserName =
                            userInfo?.Nickname == null
                                ? (question.UserIdentity > 0 ? question.UserName : "******")
                                : (ArticleController.GetUserName(userInfo.Nickname)),
                        question.Type,
                        question.Praise,
                        question.UserIdentity,
                        question.QuestionStatus,
                        question.PublishNewDateTime,
                        Image =
                            string.IsNullOrWhiteSpace(question.Image)
                            ? new string[0]
                            : question.Image.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)?.Take(3)
                    });
                }
                dic.Add("Data", new { TimeLineList = timeLineList });
            }
            catch (Exception ex)
            {
                WebLog.LogException("GetMyQAndA", ex);
                dic.Clear();
                var innerException = ex.InnerException == null ? "无" : ex.InnerException.Message;
                dic.Add("Messages", ex.Message + innerException);
                dic.Add("Code", "0");
            }
            return(Json(dic, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 4
0
        public async Task <ActionResult> GetAttentionQuestionForQAndAHomePageNew(string userId, int pageIndex = 1,
                                                                                 int pageSize = 10)
        {
            var dic = new Dictionary <string, object>();

            if (string.IsNullOrWhiteSpace(userId))
            {
                dic["Code"]    = "0";
                dic["Message"] = "参数错误";
                return(Json(dic, JsonRequestBehavior.AllowGet));
            }

            var dataList = await DiscoverBLL.GetAttentionQuestionForQAndAHomePage(userId, pageIndex, pageSize);


            if (!dataList.Any())
            {
                dic["Code"] = "1";
                dic["AttentionQuestion"] = new object[0];
                return(Json(dic, JsonRequestBehavior.AllowGet));
            }

            var timeLineList = new List <object>();

            foreach (var timeLine in dataList)
            {
                //if (timeLine.UserIdentity > 0)
                //    continue;
                Tuhu.Service.Member.Models.UserObjectModel userInfo = null;
                if (!string.IsNullOrWhiteSpace(timeLine.UserId))
                {
                    Guid UserID;
                    if (Guid.TryParse(timeLine.UserId, out UserID))
                    {
                        userInfo = HttpClientHelper.SelectUserInfoByUserId(timeLine.UserId);
                    }
                }

                timeLineList.Add(new
                {
                    PKID    = timeLine.PKID,
                    Content = timeLine.Question,
                    FirstAttentionUserId = timeLine.UserId,
                    UserId        = timeLine.UserId,
                    AnswerId      = timeLine.AnswerId,
                    AnswerContent = timeLine.AnswerContent,
                    CommentImage  = timeLine.CommentImage,
                    UserHead      =
                        userInfo?.HeadImage == null
                            ? (timeLine.UserIdentity > 0
                                ? timeLine.UserHead
                                : GetDefaultUserHeadByUserGrade(string.Empty))
                            : (userInfo.HeadImage.Contains("http")
                                ? userInfo.HeadImage
                                : DomainConfig.ImageSite + userInfo.HeadImage),
                    UserName =
                        userInfo == null
                            ? (timeLine.UserIdentity > 0 ? timeLine.UserName : "******")
                            : ArticleController.GetUserName(userInfo.Nickname),
                    Type         = timeLine.Type,
                    UserIdentity = timeLine.UserIdentity,
                    Praise       = timeLine.Praise,
                    CommentTimes = 0,
                    VoteNum      = 0,
                    timeLine.QuestionStatus,
                    timeLine.Vehicle,
                    timeLine.VehicleTagId,
                    timeLine.PublishNewDateTime,
                    Image =
                        string.IsNullOrWhiteSpace(timeLine.Image)
                            ? new string[0]
                            : timeLine.Image.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)?.Take(3)
                });
            }
            dic["Code"] = "1";
            dic.Add("AttentionQuestion", timeLineList);

            return(Json(dic, JsonRequestBehavior.AllowGet));
        }