示例#1
0
        public async Task <IActionResult> AddConcern([FromBody] JObject jObject)
        {
            string auth_ID = jObject["auth_ID"]?.ToString();

            if (string.IsNullOrEmpty(auth_ID))
            {
                return(Json(new { code = "400", message = "出现问题,重新尝试" }));
            }
            //查看作者是否存在
            if (!_account.IsExist(auth_ID))
            {
                return(Json(new { code = "400", message = "关注人不存在" }));
            }

            string user_id = GetCurrentID();

            //防止关注自己
            if (user_id == auth_ID)
            {
                return(Json(new { code = "400", message = "不可以关注自己" }));
            }

            if (_contern.IsContern(auth_ID, user_id))
            {
                return(Json(new { code = "400", message = "已关注" }));
            }
            try
            {
                await _contern.CreateConternAsync(auth_ID, user_id);

                //发布关注通知事件
                _container.Publish("CreateConcern", new ConcernSumbitEven()
                {
                    category = 3, SubscriberId = auth_ID, publisherId = user_id
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.StackTrace);
                return(Json(new { code = "500", message = "出现问题,请重新刷新" }));
            }

            return(Json(new { code = "200", message = "关注成功" }));
        }
        public async Task <IActionResult> GetForum(string id, string p = "1")
        {
            if (string.IsNullOrEmpty(id))
            {
                return(View("Error404"));
            }
            var forum = await _forumservice.GetForumAsync(id);

            if (forum == null)
            {
                return(View("Error404"));
            }

            var detailedforumViewModel = new DetailedforumViewModel()
            {
                forum = forum
            };

            if (User.Identity.IsAuthenticated)
            {
                //获取用户ID
                string phone   = HttpContext.User.Claims.FirstOrDefault(claim => claim.Type == ClaimTypes.OtherPhone).Value;
                string user_id = _accountService.GetUserID(phone);

                if (user_id == forum.UserId)
                {
                    detailedforumViewModel.isConcern = 2;
                }
                else if (_conternService.IsContern(forum.UserId, user_id))
                {
                    detailedforumViewModel.isConcern = 1;
                }
                else
                {
                    detailedforumViewModel.isConcern = 0;
                }
            }
            else
            {
                detailedforumViewModel.isConcern = 0;
            }

            ViewData["currentPage"] = p;


            return(View("Detailed_forum", detailedforumViewModel));
        }