コード例 #1
0
        /// <summary>
        /// 订单分页列表
        /// </summary>
        /// <param name="search"></param>
        /// <returns></returns>
        public async Task <PageModelDto <OrderDto> > GetPagedAsync(OrderSearchPagedDto search)
        {
            Expression <Func <Order, bool> > whereCondition = x => true;

            if (search.Id > 0)
            {
                whereCondition = whereCondition.And(x => x.Id == search.Id);
            }
            var pagedEntity = await _orderRepo.PagedAsync(search.PageIndex, search.PageSize, whereCondition, x => x.Id);

            var pagedDto = _mapper.Map <PageModelDto <OrderDto> >(pagedEntity);

            if (pagedDto.Data.Count > 0)
            {
                //调用maint微服务获取字典,组合订单状态信息
                var rpcReuslt = await _maintRpc.GetDictAsync(DictConsts.OrderStatusId);

                if (rpcReuslt.IsSuccessStatusCode && rpcReuslt.Content.Children.Count > 0)
                {
                    var dicts = rpcReuslt.Content.Children;
                    pagedDto.Data.ForEach(x =>
                    {
                        x.StatusChangesReason = dicts.FirstOrDefault(d => d.Name == x.StatusCode.ToSafeString())?.Name;
                    });
                }
            }
            return(pagedDto);
        }
コード例 #2
0
    /// <summary>
    /// 订单分页列表
    /// </summary>
    /// <param name="search"></param>
    /// <returns></returns>
    public async Task <PageModelDto <OrderDto> > GetPagedAsync(OrderSearchPagedDto search)
    {
        var whereCondition = ExpressionCreator
                             .New <Order>()
                             .AndIf(search.Id > 0, x => x.Id == search.Id);

        var total = await _orderRepo.CountAsync(whereCondition);

        if (total == 0)
        {
            return(new PageModelDto <OrderDto>(search));
        }

        var entities = _orderRepo
                       .Where(whereCondition)
                       .OrderByDescending(x => x.Id)
                       .Skip(search.SkipRows())
                       .Take(search.PageSize)
                       .ToListAsync();
        var orderDtos = Mapper.Map <List <OrderDto> >(entities);

        if (orderDtos.IsNotNullOrEmpty())
        {
            //调用maint微服务获取字典,组合订单状态信息
            var restRpcResult = await _maintRestClient.GetDictAsync(RpcConsts.OrderStatusId);

            if (restRpcResult.IsSuccessStatusCode)
            {
                var dict = restRpcResult.Content;
                if (dict is not null && dict.Children.IsNotNullOrEmpty())
                {
                    orderDtos.ForEach(x =>
                    {
                        x.StatusChangesReason = dict.Children.FirstOrDefault(d => d.Name == x.StatusCode.ToSafeString())?.Name;
                    });
                }
            }
        }

        return(new PageModelDto <OrderDto>(search, orderDtos, total));
    }
コード例 #3
0
 public async Task <ActionResult <PageModelDto <OrderDto> > > GetPagedAsync([FromQuery] OrderSearchPagedDto search)
 {
     return(await _orderSrv.GetPagedAsync(search));
 }