Ejemplo n.º 1
0
        /// <summary>
        /// 点赞
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task EditLikeAsync(ArticleLikeRequest request)
        {
            var key = $"{ArticleCacheConfig.LIKE_CACHE_KEY}{request.ArticleId}";

            if (await RedisHelper.ExistsAsync(key))
            {
                await RedisHelper.IncrByAsync(key, request.State);

                return;
            }
            await ReadLikeFromDBAsync(key);

            await RedisHelper.IncrByAsync(key, request.State);

            await RedisHelper.LPushAsync(ArticleCacheConfig.ARTICLE_LIKE_VIEW_CACHE_KEYS, key);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 点赞文章
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ApiResult> ArticleLikeAsync(ArticleLikeRequest request)
        {
            var response = new ApiResult();

            try
            {
                await _articleCacheService.EditLikeAsync(request);

                response.Code    = Code.Ok;
                response.Message = "操作成功";
                return(response);
            }
            catch (Exception ex)
            {
                _logger.LogError($"点赞文章异常;method={nameof(ArticleLikeAsync)};param={request?.ToJson()};exception messges={ex.Message}");
                response.Code    = Code.Error;
                response.Message = $"点赞文章异常:{ex.Message}";
                return(response);
            }
        }
Ejemplo n.º 3
0
 public async Task <ApiResult> ArticleLikeAsync([FromBody] ArticleLikeRequest request)
 {
     return(await _articleService.ArticleLikeAsync(request));
 }