/// <summary> /// 店铺人气排重 /// </summary> /// <param name="openId"></param> /// <param name="shopId"></param> /// <returns></returns> private async Task AddSingleTotalAsync(string openId, Guid?shopId) { try { StatisticalDetailEditDto input = new StatisticalDetailEditDto(); input.OpenId = openId; input.Type = CountTypeEnum.店铺人气; input.ArticleId = Guid.Parse(Convert.ToString(shopId)); var result = input.MapTo <StatisticalDetail>(); var readCount = await _statisticaldetailRepository.GetAll().Where(v => v.OpenId == input.OpenId && v.ArticleId == input.ArticleId && v.Type == CountTypeEnum.店铺人气).CountAsync(); if (readCount == 0) { await _statisticaldetailRepository.InsertAsync(result); var shop = await _shopRepository.GetAll().Where(v => v.Id == input.ArticleId).FirstOrDefaultAsync(); if (shop.SingleTotal == null) { shop.SingleTotal = 0; } shop.SingleTotal++; var shopInfoUpdate = await _shopRepository.UpdateAsync(shop); } } catch (Exception ex) { Logger.ErrorFormat("店铺人气增加失败 error:{0} Exception:{1}", ex.Message, ex); } }
public async Task <ShopListDto> AddSingleTotalAsync(StatisticalDetailEditDto input) { using (CurrentUnitOfWork.SetTenantId(input.TenantId)) { var result = input.MapTo <StatisticalDetail>(); Shop shopInfo = await _shopRepository.GetAsync(input.ArticleId); shopInfo.ReadTotal++; var readCount = await _statisticaldetailRepository.GetAll().Where(v => v.OpenId == input.OpenId && v.ArticleId == input.ArticleId && v.Type == CountTypeEnum.店铺人气).CountAsync(); if (readCount == 0) { await _statisticaldetailRepository.InsertAsync(result); var shop = await _shopRepository.GetAll().Where(v => v.Id == input.ArticleId).FirstOrDefaultAsync(); if (shop.SingleTotal == null) { shop.SingleTotal = 0; } shop.SingleTotal++; var shopInfoUpdate = await _shopRepository.UpdateAsync(shop); return(shopInfoUpdate.MapTo <ShopListDto>()); } return(shopInfo.MapTo <ShopListDto>()); //return new APIResultDto() { Code = 0, Msg = "成功" }; } }
protected virtual async Task UpdateStatisticalDetailAsync(StatisticalDetailEditDto input) { //TODO:更新前的逻辑判断,是否允许更新 var entity = await _statisticaldetailRepository.GetAsync(input.Id.Value); input.MapTo(entity); // ObjectMapper.Map(input, entity); await _statisticaldetailRepository.UpdateAsync(entity); }
/// <summary> /// 导出StatisticalDetail为excel表 /// </summary> /// <returns></returns> //public async Task<FileDto> GetStatisticalDetailsToExcel(){ //var users = await UserManager.Users.ToListAsync(); //var userListDtos = ObjectMapper.Map<List<UserListDto>>(users); //await FillRoleNames(userListDtos); //return _userListExcelExporter.ExportToFile(userListDtos); //} /// <summary> /// MPA版本才会用到的方法 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <GetStatisticalDetailForEditOutput> GetStatisticalDetailForEdit(NullableIdDto <Guid> input) { var output = new GetStatisticalDetailForEditOutput(); StatisticalDetailEditDto statisticaldetailEditDto; if (input.Id.HasValue) { var entity = await _statisticaldetailRepository.GetAsync(input.Id.Value); statisticaldetailEditDto = entity.MapTo <StatisticalDetailEditDto>(); //statisticaldetailEditDto = ObjectMapper.Map<List <statisticaldetailEditDto>>(entity); } else { statisticaldetailEditDto = new StatisticalDetailEditDto(); } output.StatisticalDetail = statisticaldetailEditDto; return(output); }
public async Task <APIResultDto> AddGoodAsync(StatisticalDetailEditDto input) { var result = input.MapTo <StatisticalDetail>(); var goodCount = await _statisticaldetailRepository.GetAll().Where(v => v.OpenId == input.OpenId && v.ArticleId == input.ArticleId && v.Type == CountTypeEnum.点赞).CountAsync(); if (goodCount == 0) { await _statisticaldetailRepository.InsertAsync(result); var article = await _articleRepository.GetAll().Where(v => v.Id == input.ArticleId).FirstOrDefaultAsync(); if (article.ReadTotal == null) { article.GoodTotal = 0; } article.GoodTotal++; await _articleRepository.UpdateAsync(article); } return(new APIResultDto() { Code = 0, Msg = "成功" }); }
protected virtual async Task <StatisticalDetailEditDto> CreateStatisticalDetailAsync(StatisticalDetailEditDto input) { //TODO:新增前的逻辑判断,是否允许新增 var entity = ObjectMapper.Map <StatisticalDetail>(input); entity = await _statisticaldetailRepository.InsertAsync(entity); return(entity.MapTo <StatisticalDetailEditDto>()); }