/// <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); }
/// <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)); } }
/// <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); } }
/// <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); } }
/// <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(); }