public IHttpActionResult GetOrder([FromUri] OrderQueryRequest request, [UserProfile] UserProfile userProfile) { if (request == null) { return(BadRequest("参数为空")); } //#if DEBUG //#else request.StoreId = CheckStoreId(request.StoreId); var result = CheckRole4Store(userProfile, request.StoreId); if (!result.Result) { return(BadRequest(result.Error)); } request.DataRoleStores = userProfile.StoreIds == null ? null : userProfile.StoreIds.ToList(); //#endif request.ArrangeParams(); return(DoFunction(() => { //_orderService.UserId = uid; return _orderService.GetPagedList(request); })); }
/// <summary> /// 订单查询 /// 该接口提供所有微信支付订单的查询,商户可以通过查询订单接口主动查询订单状态,完成下一步的业务逻辑。 /// 需要调用查询接口的情况: /// ◆ 当商户后台、网络、服务器等出现异常,商户系统最终未接收到支付通知; /// ◆ 调用支付接口后,返回系统错误或未知交易状态情况; /// ◆ 调用刷卡支付API,返回USERPAYING的状态; /// ◆ 调用关单或撤销接口API之前,需确认支付状态; /// </summary> /// <param name="input"></param> /// <returns></returns> public OrderQueryOutput OrderQuery(OrderQueryInput input) { var url = "https://api.mch.weixin.qq.com/pay/orderquery"; //检测必填参数 if (string.IsNullOrWhiteSpace(input.TransactionId) && string.IsNullOrWhiteSpace(input.OutTradeNo)) { throw new WeChatPayException("订单查询接口中,out_trade_no、transaction_id至少填一个!"); } var config = GetConfig(); var req = new OrderQueryRequest { AppId = config.PayAppId, MchId = config.MchId, NonceStr = weChatPayHelper.GetNoncestr(), OutTradeNo = input.OutTradeNo, TransactionId = input.TransactionId, SignType = "MD5" }; req.Sign = CreateSign(req); return(weChatPayHelper.PostXML <OrderQueryOutput>(url, req)); }
public IList <OrderDetailsResponse> ListOrders(string accessToken, int locationId, int startPageNum, int endPageNum, out bool areThereMorePages) { if (endPageNum < startPageNum) { endPageNum = startPageNum; } OrderQueryRequest request = new OrderQueryRequest(accessToken, locationId, startPageNum); PagedList <OrderDetailsResponse> orders = _restWrapper.GetWithPaging <OrderDetailsResponse>( uri: GetOrderQueryRequestEndpoint(request), accessTokenHeader: FormatAccessTokenString(unspecifiedUserAccessToken: request.AccessToken), currentPageNumber: request.PageNumber); // Repackage the returned PagedList as an IList<OrderDetailsResponse> List <OrderDetailsResponse> retval = new List <OrderDetailsResponse>(); do { retval.AddRange(orders); areThereMorePages = orders.HasNextPage; if (areThereMorePages) { orders = orders.NextPage(); } } while (areThereMorePages && orders.CurrentPage <= endPageNum); return(retval); }
public async Task <IEnumerable <Order> > GetByParameters(OrderQueryRequest request) { var query = _db.Orders.AsQueryable(); if (request.CustomerId.HasValue && request.CustomerId.Value > 0) { query = query.Where(x => x.CustomerId == request.CustomerId.Value); } if (request.PaymentOption.HasValue) { query = query.Where(x => x.PaymentOption == request.PaymentOption.Value); } if (request.Start.HasValue && request.End.HasValue && request.Start.Value < request.End.Value) { query = query.Where(x => x.Date >= request.Start.Value && x.Date <= request.End.Value); } if (request.PageSize == 0) { request.PageSize = 10; } query = query.Skip(request.StartRowIndex).Take(request.PageSize); return(await query.ToListAsync()); }
/// <summary> /// 查询订单 /// </summary> /// <param name="body"></param> /// <returns></returns> public static OrderQueryResponse QueryOrder(OrderQuery body) { var request = new OrderQueryRequest { Head = new HeadRequest { InvokeTime = DateTime.Now.ToString("yyyy-MM-dd"), InvokeUser = key, ProtocolVersion = "V1" }, Body = body }; string url = apiUrl + "order/query"; var result = dooPost(request, url).Result; if (!string.IsNullOrEmpty(result.Data)) { return(Base64Helper.Base64EncodeToObject <OrderQueryResponse>(result.Data)); } return(new OrderQueryResponse { Head = new HeadResponse { Describe = "数据格式不正确" } }); }
/// <summary> /// 订单 筛选 /// </summary> /// <param name="filter"></param> /// <returns></returns> private static Expression <Func <Order, bool> > OrderFiller(OrderQueryRequest filter) { var query = PredicateBuilder.True <Order>(); if (filter != null) { if (filter.Status != null) { query = PredicateBuilder.And(query, v => v.Status == filter.Status.Value); } if (!String.IsNullOrWhiteSpace(filter.OrderNo)) { query = PredicateBuilder.And(query, v => v.OrderNo == filter.OrderNo); return(query); } if (!String.IsNullOrWhiteSpace(filter.ExpressDeliveryCode)) { query = PredicateBuilder.And(query, v => v.ShippingNo == filter.ExpressDeliveryCode); return(query); } if (!String.IsNullOrWhiteSpace(filter.ShippingNo)) { query = PredicateBuilder.And(query, v => v.ShippingNo == filter.ShippingNo); return(query); } if (!String.IsNullOrWhiteSpace(filter.OrderSource)) { query = PredicateBuilder.And(query, v => v.OrderSource == filter.OrderSource); } if (!String.IsNullOrWhiteSpace(filter.ShippingContactPhone)) { query = PredicateBuilder.And(query, v => v.ShippingContactPhone == filter.ShippingContactPhone); } if (filter.ExpressDeliveryCompany != null) { query = PredicateBuilder.And(query, v => v.ShippingVia == filter.ExpressDeliveryCompany); } if (filter.StartCreateDate != null) { query = PredicateBuilder.And(query, v => v.CreateDate >= filter.StartCreateDate); } if (filter.EndCreateDate != null) { query = PredicateBuilder.And(query, v => v.CreateDate < filter.EndCreateDate); } } return(query); }
public IHttpActionResult GetOrderByShippingSaleNo([FromUri] OrderQueryRequest request, [UserProfile] UserProfile userProfile) { //_orderService.UserId = uid; //return DoFunction(() => _orderService.GetOrderByShippingNo(shippingNo, pageIndex, pageSize), "通过快递单查询订单失败"); return(GetOrder(request, userProfile)); }
public IList <OrderDetailsResponse> ListOrders(string accessToken, int locationId, int startPageNum, int endPageNum, out bool areThereMorePages) { if (endPageNum < startPageNum) { endPageNum = startPageNum; } OrderQueryRequest request = new OrderQueryRequest(accessToken, locationId, startPageNum); PagedList <OrderDetailsResponse> orders = (request.Accept(_engine) as OrderQueryResponse).Orders; // Repackage the returned PagedList as an IList<OrderDetailsResponse> List <OrderDetailsResponse> retval = new List <OrderDetailsResponse>(); do { retval.AddRange(orders); areThereMorePages = orders.HasNextPage; if (areThereMorePages) { orders = orders.NextPage(); } } while (areThereMorePages && orders.CurrentPage <= endPageNum); return(retval); }
public IResponse Visit(OrderQueryRequest request) { PagedList <OrderDetailsResponse> pagedResponse = _restWrapper.GetWithPaging <OrderDetailsResponse>(GetEndpoint(request), accessTokenHeader: GetHeaderToken(request), currentPageNumber: request.PageNumber); return(new OrderQueryResponse(pagedResponse)); }
/// <summary> /// 订单查询接口 /// </summary> /// <param name="request">请求信息</param> /// <param name="config">配置</param> /// <returns>结果</returns> public static OrderQueryResult OrderQuery(OrderQueryRequest request, Config config) { var requestStr = TenpayUtil.GetOrderqueryRequestXml(request, config); var response = HttpHelp.PostXmlToUrl(Config.OrderQueryUrl, requestStr); var result = TenpayUtil.ConvertToOrderqueryResult(response); return(result); }
/// <summary> /// 刷卡支付查询订单 /// </summary> public OrderQueryResponse Orderquery(OrderQueryRequest request) { var response = new OrderQueryResponse() { return_code = "FAI" }; string requestUrl = "https://api.mch.weixin.qq.com/pay/orderquery"; OrderqueryImpl orderQuery = new OrderqueryImpl() { apiKey = request.apiKey }; orderQuery.Add("appid", request.appid); //公众账号ID orderQuery.Add("mch_id", request.mch_id); //商户号 orderQuery.Add("nonce_str", Guid.NewGuid().ToString().Replace("-", "")); //随机字符串 orderQuery.Add("out_trade_no", request.out_trade_no); var sign = orderQuery.CreateMd5Sign(); orderQuery.Add("sign", sign);//签名 var data = new HttpUtils().DoPost(requestUrl, orderQuery.ParseXML(), false); var doc = new XmlDocument(); doc.LoadXml(data); XmlNode xmlNode = doc.DocumentElement; if (xmlNode != null) { response.return_code = xmlNode["return_code"].InnerText; if (response.return_code.ToUpper() != "SUCCESS") { response.return_msg = xmlNode["return_msg"].InnerText; return(response); } response.result_code = xmlNode["result_code"].InnerText; if (response.result_code.ToUpper() == "FAIL") { response.err_code = "错误码:" + xmlNode["err_code"].InnerText; response.err_code_des = "错误描述:" + xmlNode["err_code_des"].InnerText; return(response); } //商户订单号 response.out_trade_no = xmlNode["out_trade_no"].InnerText; //微信支付订单号 response.transaction_id = xmlNode["transaction_id"].InnerText; //订单金额 response.total_fee = Convert.ToInt32(xmlNode["total_fee"].InnerText); } return(response); }
public OrderQueryWorker(OrderQueryRequest orderQueryRequest) { wxPayHelper.SetAppId(wxPayConfig.AppId); ////"" wxPayHelper.SetAppKey(wxPayConfig.AppKey); ////"" wxPayHelper.SetPartnerKey(wxPayConfig.PartnerKey); ////"" this._orderQueryRequest = orderQueryRequest; this._orderQueryRequest.AppId = wxPayConfig.AppId; this._orderQueryRequest.Package.Partner = wxPayConfig.Partner; this._orderQueryRequest.SignMethod = "sha1"; SetPackageSign(); }
/// <summary> /// 根据订单ID查询订单信息 /// </summary> /// <returns></returns> public OrderQueryResponse OrderQuery(string ReservationId) { OrderQueryRequest request = new OrderQueryRequest() { UserName = Config.ClientID, Password = Config.LicenseKey, Token = Config.Token, ReservationId = ReservationId }; return(_Client.OrderQuery(request)); }
public async Task <OrderQueryResponse> OrderQueryAsync(string transactionId) { var orderQueryReq = new OrderQueryRequest( _weixinSetting.AppID, _weixinSetting.MchId, _weixinSetting.PartnerKey, transactionId); orderQueryReq.sign = Utility.MakeSign(orderQueryReq, _weixinSetting.PartnerKey); var orderQueryResp = await _clientService.ExecuteAsync(orderQueryReq, RequestStringDataTypes.Xml); return(orderQueryResp); }
//HACK(Teroy):这个测试一定要在GlobalTestFixture中的Setup方法中配置正确的信息才可以正确运行 public void Excute_传入OrderQueryRequest_执行成功() { //arrange OrderQueryRequest request = new OrderQueryRequest { TradeNum = "TEMP" }; //act OrderQueryResponse target = WechatPaymentClient.Excute(request); //assert Assert.IsTrue(target.IsSuccess == true); }
public string Visit(OrderQueryRequest request) { string path = string.Format("locations/{0}/orders", request.LocationId); LevelUpUriBuilder builder = new LevelUpUriBuilder(TargetEnviornment); builder.SetApiVersion(request.ApiVersion).SetPath(path); if (request.PageNumber > 1) { builder.AppendQuery("page", request.PageNumber.ToString()); } return(builder.Build()); }
public string GetOrderQueryRequestEndpoint(OrderQueryRequest request) { string path = $"locations/{request.LocationId}/orders"; LevelUpUriBuilder builder = new LevelUpUriBuilder(_targetEnviornment); builder.SetApiVersion(request.ApiVersion).SetPath(path); if (request.PageNumber > 1) { builder.AppendQuery("page", request.PageNumber.ToString()); } return(builder.Build()); }
//HACK(Teroy):这个测试一定要在GlobalTestFixture中的Setup方法中配置正确的信息才可以正确运行 public void Excute_传入OrderQueryRequest_执行成功() { //arrange OrderQueryRequest request = new OrderQueryRequest { TradeNum = "TEMP" }; //act OrderQueryResponse target = WechatPaymentClient.Excute(request); //assert Assert.IsTrue(target.IsSuccess == true); }
public static void testquery() { var req = new OrderQueryRequest() { ShipperCode = "SF", LogisticCode = "1234561" }; Credential credential = new Credential() { SecretId = "test1321750", SecretKey = "738881f4-fa19-4e11-bae8-e5877ed8d1d4", }; var client = new OrderQueryClient(credential, new ClientProfile(), true); var rsp = client.Query(req); }
protected void Button4_Click(object sender, EventArgs e) { if (t_xml.Text.Trim() == "") { Label1.Text = "请填写发送内容"; return; } OrderQueryRequest mrequest = (OrderQueryRequest)JsonConvert.DeserializeObject(t_xml.Text.Trim(), typeof(OrderQueryRequest)); ReturnResult r = SimulationMTGetDeal("http://localhost:1111/meituan-jk/orderquery.aspx", mrequest.body); Label1.Text = r.Message; }
public PageResult <OrderDto> GetPagedListExcludeSalesOrder(OrderQueryRequest request) { if (request == null) { throw new ArgumentNullException("request"); } var pager = _orderRepository.GetPagedListExcludeSalesOrder(request.PagerRequest, request, request.OrderSortOrder); var datas = AutoMapper.Mapper.Map <List <OrderModel>, List <OrderDto> >(pager.Datas); var rst = new PageResult <OrderDto>(datas, pager.TotalCount); return(rst); }
/// <summary> /// 查询订单基础数据验证 /// </summary> /// <param name="request"></param> /// <returns></returns> public DataValidResult ValidDataForOrderQueryRequest(OrderQueryRequest request) { var result = new DataValidResult { Status = false }; if (string.IsNullOrEmpty(request.Body.OrderId)) { result.Code = "115001"; result.Message = "查询订单异常,订单id不能为空"; return(result); } result.Status = true; return(result); }
public IActionResult Query([FromQuery] OrderQueryRequest filter) { ResultCode resultCode; QueryModel queryResult; (resultCode, queryResult) = _service.Query(filter); Result error; int statusCode; (statusCode, error) = ResultHandler.GetStatusCodeAndResult(resultCode); GeneralResponse response = new GeneralResponse { Result = queryResult, Error = error, }; return(StatusCode(statusCode, response)); }
/// <summary> /// 门店 筛选 /// </summary> /// <param name="filter"></param> /// <returns></returns> private static Expression <Func <Store, bool> > StoreFiller(OrderQueryRequest filter) { var query = PredicateBuilder.True <Store>(); if (filter != null) { if (filter.StoreId != null) { query = PredicateBuilder.And(query, v => v.Id == filter.StoreId); } if (filter.DataRoleStores != null && filter.StoreId == null) { query = PredicateBuilder.And(query, v => filter.DataRoleStores.Contains(v.Id)); } } return(query); }
//查询支付情况 async Task <OrderQueryResponse> IWechatPay.Query(OrderQueryRequest orderQuery) { //生成请求字段集合原料 var properties = this.GenerateCommonRequestEntity(); //填充请求字段集合 this.FillRequestEntity(ref properties, orderQuery, this._queryRequireProperties); //获取响应 OrderQueryResponse response = await this.CallAsync <OrderQueryResponse>( Constant.OrderQuery, properties); //检验响应体合法性 if (this.CheckResponseLegal(response)) { return(response); } else { return(null); } }
/// <summary> /// 微信订单查询接口xml参数整理 /// </summary> /// <param name="request">查询信息</param> /// <param name="config">config</param> /// <returns>xml</returns> public static string GetOrderqueryRequestXml(OrderQueryRequest request, Config config) { SortedDictionary <string, string> sParams = new SortedDictionary <string, string> { { "appid", config.GetAppId() }, { "mch_id", config.GetPid() }, { "nonce_str", Config.GetNoncestr() } }; if (!string.IsNullOrWhiteSpace(request.OutTradeNo)) { sParams.Add("out_trade_no", request.OutTradeNo); } else { sParams.Add("transaction_id", request.TransactionId); } var sing = Signature.Getsign(sParams, config.GetKey()); sParams.Add("sign", sing); //拼接成XML请求数据 StringBuilder sbPay = new StringBuilder(); foreach (KeyValuePair <string, string> k in sParams) { if (k.Key == "attach" || k.Key == "body" || k.Key == "sign") { sbPay.Append("<" + k.Key + "><![CDATA[" + k.Value + "]]></" + k.Key + ">"); } else { sbPay.Append("<" + k.Key + ">" + k.Value + "</" + k.Key + ">"); } } var return_string = $"<xml>{sbPay}</xml>"; return(return_string); }
public ReturnResult SimulationMTGetDeal(string url, OrderQueryRequestBody body) { ReturnResult result = new ReturnResult { IsSuccess = false, }; try { OrderQueryRequest requestData = new OrderQueryRequest { partnerId = agentinfo.mt_partnerId, body = body }; var responseStr = new MeiTuanInter(agentinfo.mt_partnerId, agentinfo.mt_secret, agentinfo.mt_client).DoRequest(url, JsonConvert.SerializeObject(requestData)); if (string.IsNullOrEmpty(responseStr)) { result.Message = "返回数据为空"; } else { OrderQueryResponse responseBody = (OrderQueryResponse)JsonConvert.DeserializeObject(responseStr, typeof(OrderQueryResponse)); if (responseBody.code == 200) { result.IsSuccess = true; result.Message = JsonConvert.SerializeObject(responseBody); } else { result.Message = responseBody.describe; } } } catch (Exception ex) { result.Message = "异常" + ex.Message; } return(result); }
public QueryOrderResult QueryOrderAsync(QueryOrderParameter queryOrderParameter) { string str; if (!this.ValidateParameter <QueryOrderParameter>(queryOrderParameter, out str)) { QueryOrderResult result1 = new QueryOrderResult(); result1.ErrorMessage = str; return(result1); } OrderQueryRequest request = new OrderQueryRequest { AppId = this.m_AppId, MerchantId = queryOrderParameter.MerchantId, NonceString = WeChatSignHelper.CreateRandomString(), OutTradeNo = queryOrderParameter.OutTradeNo }; OrderQueryResponse response = this.InvokeApiAsync <OrderQueryRequest, OrderQueryResponse>(_OrderQueryUrl, request); if (!response.IsSuccess) { QueryOrderResult result3 = new QueryOrderResult(); result3.ErrorCode = response.ErrCode; result3.ErrorMessage = response.ReturnMsg; return(result3); } QueryOrderResult result2 = new QueryOrderResult(); result2.IsSuccess = true; result2.EndTime = response.TimeEnd; result2.OutTradeNo = response.OutTradeNo; result2.TotalFee = ((double)response.TotalFee.GetValueOrDefault()) / 100.0; result2.TradeState = (TradeState)Enum.Parse(typeof(TradeState), response.TradeState, true); result2.TradeStateDescription = response.TradeStateDesc; result2.TransactionId = response.TransactionId; result2.Bank = WeChatBankTypes.GetBank(response.BankType); return(result2); }
/// <summary> /// 查询订单 /// </summary> /// <param name="body"></param> /// <returns></returns> public OrderQueryResponse QueryOrder(OrderQuery body) { var request = new OrderQueryRequest { Head = RequestHead(), Body = body }; string url = _website + "order/query"; var result = PostService(request, url); if (!string.IsNullOrEmpty(result.Data)) { return(Base64Helper.Base64EncodeToObject <OrderQueryResponse>(result.Data)); } return(new OrderQueryResponse { Head = new HeadResponse { Code = "900001", Describe = "数据格式不正确" } }); }
public static List <OrderResponse> GetOrderDeatilsByDateRange(OrderQueryRequest orderdetails) { List <OrderResponse> orderResponse = new List <OrderResponse>(); StringBuilder sbRequest = new StringBuilder(); sbRequest.Append(ApiHelper.QueryOrderRequst()); sbRequest.Replace("[PARTNERCODE]", orderdetails.AuthRequest.PartnerCode); sbRequest.Replace("[AUTHCODE]", orderdetails.AuthRequest.AuthToken); sbRequest.Replace("[REPLAYTOKEN]", orderdetails.AuthRequest.ReplayToken); sbRequest.Replace("[USERAGENT]", orderdetails.AuthRequest.UserAgent); TimeSpan tspan = orderdetails.EndDate.Value - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)); sbRequest.Replace("[STARTDATE]", (UnixTicks(orderdetails.StartDate.Value)).ToString().Remove(UnixTicks(orderdetails.StartDate.Value).ToString().IndexOf('.')).ToString()); sbRequest.Replace("[ENDDATE]", (UnixTicks(orderdetails.EndDate.Value)).ToString().Remove(UnixTicks(orderdetails.EndDate.Value).ToString().IndexOf('.')).ToString()); sbRequest.Replace("[SUBUSERID]", orderdetails.SubUserID); sbRequest.Replace("[PRDCODE]", orderdetails.ProductCode);// ApiHelper.GetApiProductCode (orderdetails.ProductCode)); string strResponse = ApiHelper.GetResponseFromAPI(sbRequest.ToString(), "order/query/"); orderResponse = new JavaScriptSerializer().Deserialize <List <OrderResponse> >(strResponse); return(orderResponse); }
public async Task <IEnumerable <Order> > GetByParameters(OrderQueryRequest request) { return(await _Repository.GetByParameters(request)); }