/// <summary>
        /// 分页获取交易记录列表
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-07</para>
        /// </summary>
        /// <param name="schoolId">校区Id</param>
        /// <param name="request">交易记录请求对象</param>
        /// <param name="ignoreTradeTypeList">忽略的订单类型</param>
        /// <returns>交易记录列表</returns>
        public PageResult <TblCashOrderTrade> GetOrderTradeList(string schoolId, CashOrderTradeListRequest request, List <int> ignoreTradeTypeList = null)
        {
            var result = base.LoadQueryable()
                         .Where(x => x.SchoolId == schoolId && x.Buyer == request.StudentId.ToString() && x.TradeStatus == (int)TradeStatus.Complete)
                         .Where(x => !(ignoreTradeTypeList != null && ignoreTradeTypeList.Count > 0) || !ignoreTradeTypeList.Contains(x.TradeType));//忽略的订单类型

            return(result.OrderByDescending(x => x.CreateTime).ToPagerSource(request.PageIndex, request.PageSize));
        }
예제 #2
0
 public PageResult <CashOrderTradeListResponse> GetOrderTradeList([FromQuery] CashOrderTradeListRequest request)
 {
     return(TradeService.GetOrderTradeList(base.SchoolId, request));
 }
예제 #3
0
        /// <summary>
        /// 根据校区Id和查询条件获取交易记录信息
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-07</para>
        /// </summary>
        /// <param name="schoolId">校区Id</param>
        /// <param name="request">交易记录查询条件</param>
        /// <returns>缴费交易记录分页列表</returns>
        public static PageResult <CashOrderTradeListResponse> GetOrderTradeList(string schoolId, CashOrderTradeListRequest request)
        {
            TblCashOrderTradeRepository repository = new TblCashOrderTradeRepository();
            var result = new PageResult <CashOrderTradeListResponse>()
            {
                Data = new List <CashOrderTradeListResponse>()
            };
            //过滤的订单类型
            List <int> ignoreTradeTypeList = new List <int>()
            {
                (int)OrderTradeType.BalanceOrder,
                (int)OrderTradeType.DepositOrder,
                (int)OrderTradeType.CancelBalanceOrder,
                (int)OrderTradeType.CancelDepositOrder,
                (int)OrderTradeType.ChangeSchoolIn
            };
            var tradeList = repository.GetOrderTradeList(schoolId, request, ignoreTradeTypeList);

            if (tradeList != null && tradeList.Data != null && tradeList.Data.Count > 0)
            {
                result.Data = tradeList.Data.Select(a => new CashOrderTradeListResponse()
                {
                    OrderId       = a.OrderId,
                    OrderNo       = a.OrderNo,
                    TradeAmount   = -a.TradeAmount,
                    TradeDate     = a.CreateTime,
                    TradeTypeName = EnumName.GetDescription(typeof(OrderTradeType), a.TradeType),
                    TradeType     = a.TradeType,
                    Remark        = a.Remark
                }).ToList();
                result.CurrentPage = tradeList.CurrentPage;
                result.PageSize    = tradeList.PageSize;
                result.TotalData   = tradeList.TotalData;
            }
            return(result);
        }