Example #1
0
        public JsonResult ListData(OrderQueryModel model)
        {
            model.OTABusinessId = UserInfo.OtaBusinessId;
            var result = _orderFacadeService.GetList(model);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public TPageResult <OrderViewModel> GetList(OrderQueryModel model)
        {
            var where = PredicateBuilder.True <Tbl_TravelAgencyOrder>();
            where     = PredicateBuilder.And(@where, x => x.OTABusinessId == model.OTABusinessId);
            if (!string.IsNullOrEmpty(model.OrderNo))
            {
                where = PredicateBuilder.And(@where, x => x.OrderNo.Contains(model.OrderNo));
            }
            if (!string.IsNullOrEmpty(model.Mobile))
            {
                where = PredicateBuilder.And(@where, x => x.Mobile == model.Mobile);
            }
            if (!string.IsNullOrEmpty(model.Linkman))
            {
                where = PredicateBuilder.And(@where, x => x.Linkman.Contains(model.Linkman));
            }
            if (model.OrderStatus > 0)
            {
                where = PredicateBuilder.And(@where, x => x.OrderStatus == model.OrderStatus);
            }
            if (model.AuditStatus > 0)
            {
                where = PredicateBuilder.And(@where, x => x.AuditStatus == model.AuditStatus);
            }
            if (model.PlaceOrderType > 0)
            {
                where = PredicateBuilder.And(@where, x => x.PlaceOrderType == model.PlaceOrderType);
            }
            if (model.ValidityDate.HasValue)
            {
                where = PredicateBuilder.And(@where, x => x.ValidityDateStart == model.ValidityDate.Value);
            }
            var total  = 0;
            var list   = _travelAgencyOrderRepository.GetPageList(model.Limit, model.Page, out total, where, a => a.CreateTime, false);
            var result = new TPageResult <OrderViewModel>();
            var data   = list.Select(a => new OrderViewModel
            {
                Id              = a.Id,
                IdCard          = a.IdCard,
                Mobile          = a.Mobile,
                OTABusinessName = a.OTABusinessName,
                AuditStatus     = a.AuditStatus,
                BookCount       = a.BookCount,
                CreateTime      = a.CreateTime,
                Linkman         = a.Linkman,
                OrderNo         = a.OrderNo,
                OrderStatus     = a.OrderStatus,
                PlaceOrderType  = a.PlaceOrderType,
                TotalAmount     = a.TotalAmount,
                ValidityDate    = a.ValidityDateStart.ToString("yyyy-MM-dd"),
                PlaceOrderName  = a.PlaceOrderName
            }).ToList();

            return(result.SuccessResult(data, total));
        }
        public virtual async Task <dynamic> CloseOrderAsync(string out_trade_no)
        {
            OrderQueryModel closeOrderModel = new OrderQueryModel(_options.Value);

            closeOrderModel.out_trade_no = out_trade_no;

            var requestXml   = closeOrderModel.Xml;
            var returnObject = await _httpRepository.PostParseValidateAsync(CONSTANT.ORDERCLOSEURL, requestXml);

            return(returnObject);
        }
Example #4
0
        /// <summary>
        /// 订单列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public ActionResult OrderList(OrderQueryModel query, string keywords)
        {
            query.RoleKey = CurrentUser.User.RoleKey;
            //TODO 获取当前用户单位ID
            using (var db = new MbContext())
            {
                query.ServiceCompanyId = CurrentUser.User.ServiceCompanyId;
                List <long> AreaArray = new List <string>((CurrentUser.User.AreaName ?? "").Split(',').Where(s => !String.IsNullOrEmpty(s)).ToList()).ConvertAll(i => long.Parse(i));
                //订单列表
                var MainOrderData = os.PcGetAllOrderList(
                    CurrentUser.User.UserId,
                    query.State,
                    AppType.Service,
                    CurrentUser.User.ServiceCompanyId,
                    CurrentUser.User.UseCompanyId,
                    CurrentUser.User.RoleKey, AreaArray);

                if (!string.IsNullOrEmpty(keywords))
                {
                    MainOrderData = MainOrderData.Where(x => x.MainOrderId.ToString().Contains(keywords)).ToList();
                }
                if (MainOrderData.Count > 0)
                {
                    //获取报修人员信息
                    var userCid = MainOrderData.Select(t => t.UserId).ToList();
                    query.UserDic = db.User.Where(x => userCid.Contains(x.UserId))
                                    .ToLookup(t => t.UserId)
                                    .ToDictionary(x => x.Key, x => x.First());

                    //获取报修单位信息
                    var UseCompanyDic = MainOrderData.Select(t => t.UseCompanyId).ToList();
                    query.UseCompanyDic = db.UseCompany.Where(x => UseCompanyDic.Contains(x.UseCompanyId))
                                          .ToLookup(t => t.UseCompanyId)
                                          .ToDictionary(x => x.Key, x => x.First());

                    //获取维修人员信息
                    var ServeUserDic = MainOrderData.Select(t => t.ServiceUserId).ToList();
                    query.ServeUserDic = db.User.Where(x => ServeUserDic.Contains(x.UserId))
                                         .ToLookup(t => t.UserId)
                                         .ToDictionary(x => x.Key, x => x.First());
                    //设备信息
                    var DeviceDic = MainOrderData.Select(t => t.DeviceId).ToList();
                    query.DeviceDic = db.Device.Where(x => DeviceDic.Contains(x.DeviceId))
                                      .ToLookup(t => t.DeviceId)
                                      .ToDictionary(x => x.Key, x => x.First());
                    query.MainOrderData = MainOrderData;
                    //报修订单数量
                    query.PageInfo.TotalCount = query.MainOrderData.Count;
                }
            }

            return(View(query));
        }
        public async Task <JsonResult> Search([FromBody] OrderQueryModel model)
        {
            var user        = _authenticationSupport.CurrentUser;
            var orders      = _orderService.Search(model.ProductName, user.UserId, model.PageIndex.Value, model.PageSize.Value);
            var orderModels = _mapper.Map <List <OrderModel> >(orders.ToList());
            var result      = new BaseListResultModel()
            {
                TotalPages   = orders.TotalPages,
                TotalItems   = orders.TotalCount,
                CurrentPage  = orders.PageIndex,
                ItemsPerPage = orders.PageSize,
                ContentList  = orderModels
            };

            return(SucessResult(result));
        }
Example #6
0
        public async Task <ActionResult> ViewAsync(OrderQueryModel query)
        {
            try
            {
                var meta = await AppUsers.GetCurrentAsync().ConfigureAwait(false);

                query.UserId   = meta.UserId;
                query.OfficeId = meta.OfficeId;

                var model = await Orders.GetOrderResultViewAsync(this.Tenant, query).ConfigureAwait(true);

                return(this.Ok(model));
            }
            catch (Exception ex)
            {
                return(this.Failed(ex.Message, HttpStatusCode.InternalServerError));
            }
        }
        public virtual async Task <dynamic> OrderQueryAsync(string transaction_id, string out_trade_no)
        {
            OrderQueryModel orderQueryModel = new OrderQueryModel(_options.Value);

            if (string.IsNullOrEmpty(transaction_id))
            {
                orderQueryModel.out_trade_no = out_trade_no;
            }
            else
            {
                orderQueryModel.transaction_id = transaction_id;
            }

            var requestXml   = orderQueryModel.Xml;
            var returnObject = await _httpRepository.PostParseValidateAsync(CONSTANT.ORDERQUERYURL, requestXml);

            return(returnObject);
        }
Example #8
0
        /// <summary>
        /// 订单查询
        /// </summary>
        /// <param name="requestModel">请求实体</param>
        /// <returns></returns>
        public static OrderQueryResponseModel OrderQuery(OrderQueryModel requestModel)
        {
            WxPayData data = new WxPayData();

            if (!string.IsNullOrEmpty(requestModel.transaction_id))
            {//如果微信订单号存在,则以微信订单号为准
                data.SetValue("transaction_id", requestModel.transaction_id);
            }
            else
            {//微信订单号不存在,才根据商户订单号去查单
                data.SetValue("out_trade_no", requestModel.out_trade_no);
            }
            LogUtil.WriteWxpayLog("订单查询请求", "请求参数", data.ToJson());
            //提交订单查询请求给API,接收返回数据
            WxPayData result = WxPayApi.OrderQuery(data);
            OrderQueryResponseModel response = LitJson.JsonMapper.ToObject <OrderQueryResponseModel>(result.ToJson());

            LogUtil.WriteWxpayLog("订单查询响应", "响应参数", result.ToJson());
            //Log.Info("OrderQuery", "OrderQuery process complete, result : " + result.ToXml());
            return(response);
        }
Example #9
0
        // GET: Orders
        public ActionResult Index(OrderQueryModel oqm)
        {
            var list = new List <Expression <Func <Order, bool> > >();

            if (!string.IsNullOrEmpty(oqm.OrderCode))
            {
                list.Add(o => o.OrderCode == oqm.OrderCode);
            }
            if (!string.IsNullOrEmpty(oqm.CPhone))
            {
                list.Add(o => o.Customer.CPhone.Equals(oqm.CPhone));
            }
            if (oqm.Status != OrderStatus.Err)
            {
                list.Add(o => oqm.Status == o.OrderStatus);
            }
            if (oqm.OrderEndDate != DateTime.MinValue && oqm.OrderStartDate <= oqm.OrderEndDate)
            {
                list.Add(o => o.OrderDate <= oqm.OrderEndDate);
            }
            if (oqm.OrderStartDate != DateTime.MinValue && oqm.OrderStartDate <= oqm.OrderEndDate)
            {
                list.Add(o => o.OrderDate > oqm.OrderStartDate);
            }

            Expression <Func <Order, bool> > _express = PredicateBuilder.True <Order>();

            foreach (var item in list)
            {
                _express = _express.And(item);
            }
            var count     = db.Orders.Where <Order>(_express).OrderByDescending(o => o.Id).Count();
            var pageCount = Math.Ceiling((double)(count / oqm.PageSize));

            ViewBag.PageCount = pageCount;
            ViewBag.PageIndex = oqm.PageIndex;
            var queryData = db.Orders.Where <Order>(_express).OrderByDescending(o => o.Id).Skip((oqm.PageIndex - 1) * oqm.PageSize).Take(oqm.PageSize);

            return(View(queryData.ToList()));
        }
Example #10
0
        public async Task <IActionResult> OrderQueryGet([FromQuery] OrderQueryModel orderQuery)
        {
            if (string.IsNullOrWhiteSpace(orderQuery.NonceStr))
            {
                orderQuery.NonceStr = TenPayV3Util.GetNoncestr();
            }
            if (string.IsNullOrWhiteSpace(orderQuery.OutTradeNo) && string.IsNullOrWhiteSpace(orderQuery.TransactionId))
            {
                return(BadRequest("需要OutTradeNo,TransactionId之一"));
            }
            orderQuery.SignType = "MD5";
            TenPayV3OrderQueryRequestData datainfo = new TenPayV3OrderQueryRequestData(
                TenPyConfigRead.AppId,
                TenPyConfigRead.MchId,
                orderQuery.TransactionId,
                orderQuery.NonceStr,
                orderQuery.OutTradeNo,
                TenPyConfigRead.Key);
            var result = await TenPayV3.OrderQueryAsync(datainfo);

            var log = _logger.CreateLogger("订单查询");

            if (result.return_code == "FAIL")
            {
                log.LogError($"商家订单号(OutTradeNo):{orderQuery.OutTradeNo}   通讯标记(return_code):{result.return_code}  {result.return_msg}");
            }
            if (result.result_code == "FAIL")
            {
                log.LogError($"商家订单号(OutTradeNo):{orderQuery.OutTradeNo}   业务结果(result_code):{result.result_code}\n{result.err_code}:{result.err_code_des}");
            }

            //string openid = res.Element("xml").Element("sign").Value;
            return(Ok(new
            {
                respond = result,
                request = orderQuery
            }));
        }
Example #11
0
        public static async Task <List <OrderResultview> > GetOrderResultViewAsync(string tenant, OrderQueryModel query)
        {
            string sql = "SELECT * FROM sales.get_order_view(@0::integer,@1::integer,@2, @3::date,@4::date,@5::date,@6::date,@7::bigint,@8,@9,@10,@11,@12);";

            if (DbProvider.GetDbType(DbProvider.GetProviderName(tenant)) == DatabaseType.SqlServer)
            {
                sql = "SELECT * FROM sales.get_order_view(@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12);";
            }

            var awaiter = await
                          Factory.GetAsync <OrderResultview>(tenant, sql, query.UserId, query.OfficeId, query.Customer.Or(""), query.From, query.To,
                                                             query.ExpectedFrom, query.ExpectedTo, query.Id, query.ReferenceNumber.Or(""),
                                                             query.InternalMemo.Or(""), query.Terms.Or(""), query.PostedBy.Or(""), query.Office.Or("")).ConfigureAwait(false);

            return(awaiter.OrderBy(x => x.ValueDate).ThenBy(x => x.Supplier).ToList());
        }
Example #12
0
        public ActionResult Index(OrderQueryModel queryModel)
        {
            try
            {
                var    model        = new OrderStatisticsListViewModel();
                var    user         = AccountHelper.GetLoginUserInfo(HttpContext.User.Identity);
                string customerCode = String.Empty;
                if (!AccountHelper.IsSuperAdmin(user))
                {
                    customerCode = user.CustomerCode;
                }
                else
                {
                    model.IsSuperAdmin = true;
                    model.CustomerCode = queryModel.CustomerCode;
                    //customerCode = queryModel.CustomerCode;
                }

                string     queryJson   = JsonConvert.SerializeObject(queryModel);
                HttpCookie queryCookie = new HttpCookie("query");
                queryCookie.Value = queryJson;
                Response.SetCookie(queryCookie);

                DateTime?sendDateFrom = null;
                DateTime?sendDateTo   = null;
                if (!String.IsNullOrEmpty(queryModel.ETDFrom))
                {
                    sendDateFrom = Convert.ToDateTime(queryModel.ETDFrom);
                }
                if (!String.IsNullOrEmpty(queryModel.ETDTo))
                {
                    sendDateTo = Convert.ToDateTime(queryModel.ETDTo);
                }

                var statistics = OrderManager.Instance.LoadOrderStatistics(
                    customerCode
                    , sendDateFrom
                    , sendDateTo
                    , queryModel.BundleNo
                    , queryModel.ContainerNo);


                model.BundleNo    = queryModel.BundleNo;
                model.ContainerNo = queryModel.ContainerNo;
                model.ETDFrom     = queryModel.ETDFrom;
                model.ETDTo       = queryModel.ETDTo;

                if (statistics != null && statistics.Any())
                {
                    if (model.IsSuperAdmin && !String.IsNullOrEmpty(queryModel.CustomerCode))
                    {
                        model.Items = statistics.Where(t => t.CustomerCode == queryModel.CustomerCode).ToList();
                    }
                    else
                    {
                        model.Items = statistics;
                    }
                    if (model.IsSuperAdmin)
                    {
                        model.Customers.Add("", "All");
                        foreach (var item in statistics)
                        {
                            if (!model.Customers.ContainsKey(item.CustomerCode))
                            {
                                model.Customers.Add(item.CustomerCode, item.CustomerName);
                            }
                        }
                    }
                }

                model.SetTotal();

                return(View(model));
            }
            catch (Exception ex)
            {
                TempData["Error"] = ex.Message;
                return(View("Error"));
            }
        }
Example #13
0
 public TPageResult <OrderViewModel> GetList(OrderQueryModel model)
 {
     return(_travelAgencyOrderService.GetList(model));
 }
Example #14
0
 public OrderQueryResponseModel OrderQuery(OrderQueryModel queryModel)
 {
     return(WxPayUtil.OrderQuery(queryModel));
 }
Example #15
0
 public OrderQueryResponseModel OrderQuery(OrderQueryModel requestModel)
 {
     return(base.Channel.OrderQuery(requestModel));
 }