Beispiel #1
0
        /// <summary>
        /// 获取热门车友群/热门推荐群/搜索车型得到的车型群/全部车友群
        /// </summary>
        /// <param name="isRecommend"></param>
        /// <param name="searchVehicleKey"></param>
        /// <returns></returns>
        private static async Task <CarFriendsGroupInfoResponse> GetSearchCarFriendsGroupResponseAsync(bool isRecommend, string searchVehicleKey)
        {
            var result = new CarFriendsGroupInfoResponse();
            var carFriendsGroupInfoResponse = await DalCarFriendsGroup.GetIsRecommendCarFriendsGroupListAsync(isRecommend);

            if (string.IsNullOrWhiteSpace(searchVehicleKey))
            {
                result = carFriendsGroupInfoResponse;
            }
            else
            {
                result.groupList  = carFriendsGroupInfoResponse.groupList.Where(t => t.BindVehicleType.Contains(searchVehicleKey)).ToList();
                result.groupCount = result.groupList.Count;
            }
            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// 获取群主信息
        /// </summary>
        /// <returns></returns>
        public static async Task <OperationResult <CarFriendsAdministratorsResponse> > GetCarFriendsAdministratorsModelAsync(int pkid)
        {
            using (var client = CacheHelper.CreateCacheClient(GlobalConstant.CarFriendsGroupName))
            {
                var result       = new CarFriendsAdministratorsResponse();
                var clientResult = await client.GetOrSetAsync(string.Format(GlobalConstant.CarFriendsAdministratorByPkidKey, pkid), async() => {
                    if (pkid == 0)
                    {
                        return(await DalCarFriendsGroup.GetCarFriendsAdministratorsModelAsync());
                    }
                    else
                    {
                        return(await DalCarFriendsGroup.GetCarFriendsAdministratorsModelByPkidAsync(pkid));
                    }
                }, TimeSpan.FromMinutes(10));

                if (clientResult.Success && clientResult.Value != null)
                {
                    result = clientResult.Value;
                }
                return(OperationResult.FromResult(result));
            }
        }
Beispiel #3
0
        /// <summary>
        ///获取所有热门车型
        /// </summary>
        /// <returns></returns>
        public static async Task <List <RecommendVehicleResponse> > GetRecommendVehicleListAsync()
        {
            using (var client = CacheHelper.CreateCacheClient(GlobalConstant.CarFriendsGroupName))
            {
                var    result       = new List <RecommendVehicleResponse>();
                string key          = string.Format(GlobalConstant.CarFriendsGroupKey, "RecommendVehicle");
                var    clientResult = await client.GetOrSetAsync(key, async() => (await DalCarFriendsGroup.GetRecommendVehicleListAsync()), TimeSpan.FromMinutes(10));

                if (clientResult.Success && clientResult.Value != null)
                {
                    result = clientResult.Value;
                }
                return(result);
            }
        }
Beispiel #4
0
        /// <summary>
        /// 获取车友群列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static async Task <CarFriendsGroupInfoResponse> GetCarFriendsGroupListAsync(GetCarFriendsGroupListRequest request)
        {
            using (var client = CacheHelper.CreateCacheClient(GlobalConstant.CarFriendsGroupName))
            {
                var result = new CarFriendsGroupInfoResponse();
                //筛选车型得到的车型群
                if (request.VehicleList != null && request.VehicleList.Count > 0)
                {
                    string key          = string.Format(GlobalConstant.CarFriendsGroupKey, string.Join(":", request.VehicleList));
                    var    clientResult = await client.GetOrSetAsync(SecurityHelper.Hash(key), async() => (await DalCarFriendsGroup.GetFilterCarFriendsGroupListAsync(request.VehicleList)), TimeSpan.FromMinutes(10));

                    if (clientResult.Success && clientResult.Value != null)
                    {
                        result = clientResult.Value;
                    }
                }
                else
                {
                    //热门车友群/热门推荐群/搜索车型得到的车型群/全部车友群
                    string key          = string.Format(GlobalConstant.CarFriendsGroupKey, ":" + request.IsRecommend + ":" + request.SearchVehicleKey);
                    var    clientResult = await client.GetOrSetAsync(SecurityHelper.Hash(key), async() => (await GetSearchCarFriendsGroupResponseAsync(request.IsRecommend, request.SearchVehicleKey)), TimeSpan.FromMinutes(10));

                    if (clientResult.Success && clientResult.Value != null && clientResult.Value.groupCount > 0)
                    {
                        result = clientResult.Value;
                    }
                }
                return(result);
            }
        }
Beispiel #5
0
        /// <summary>
        /// 根据pkid获取车友群
        /// </summary>
        /// <param name="pkid"></param>
        /// <returns></returns>
        public static async Task <OperationResult <CarFriendsGroupInfoResponse> > GetCarFriendsGroupModelAsync(int pkid)
        {
            if (pkid == 0)
            {
                return(OperationResult.FromError <CarFriendsGroupInfoResponse>("-31", string.Format(Resource.ParameterError_NotZero, "pkid")));
            }
            using (var client = CacheHelper.CreateCacheClient(GlobalConstant.CarFriendsGroupName))
            {
                var    result       = new CarFriendsGroupInfoResponse();
                string key          = string.Format(GlobalConstant.CarFriendsGroupKey, pkid);
                var    clientResult = await client.GetOrSetAsync(key, async() => (await DalCarFriendsGroup.GetCarFriendsGroupModelAsync(pkid)), TimeSpan.FromMinutes(10));

                if (clientResult.Success && clientResult.Value != null && clientResult.Value.groupCount > 0)
                {
                    result = clientResult.Value;
                }
                return(OperationResult.FromResult(result));
            }
        }
 public CarFriendsGroupManager()
 {
     dal = new DalCarFriendsGroup();
 }