using Ant.Core.WebApi.Model; using Central.Control.WebApi.Config; using Central.Control.WebApi.Log4net; using Central.Control.WebApi.Models.Request; using Central.Control.WebApi.Models.Response; using Central.Control.WebApi.Service.Interface; using Com.Alipay.Business; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Collections.Specialized; using System.IO; using System.Linq; using System.Net.Http; using System.Text; using System.Web; using System.Web.Http; using System.Web.Http.Results; namespace Central.Control.WebApi.Controllers { /// /// 订单相关接口 /// [RoutePrefix("api/order")] public class OrderController : ApiController { private readonly IOrderService _orderService; private readonly ILog4NetHelper _log4NetHelper; /// /// /// /// public OrderController(IOrderService orderService, ILog4NetHelper log4NetHelper) { _orderService = orderService; _log4NetHelper = log4NetHelper; } /// /// 下单 /// /// /// [HttpPost] [Route("")] public ApiResult Order(OrderRequestDto req) { return _orderService.Order(req); } /// /// 获取待烧烤的商品列表 /// /// [HttpGet] [Route("queueorders")] public ApiResult> GetQueueOrders() { return _orderService.GetQueueOrders(); } /// /// 回写流程状态 /// /// /// [HttpPost] [Route("orderprocess")] public ApiResult OrderProcess(OrderProcessRequestDto req) { return _orderService.OrderProcess(req); } /// /// 支付跳转地址 /// /// [AllowAnonymous] [HttpGet] [Route("payredirect/{id}")] public RedirectResult PayRedirect(string id) { string userAgent = HttpContext.Current.Request.UserAgent; string redirectUrl = "http://api.rgtech.ltd/html/errorpaydevice.html"; if (userAgent.ToLower().Contains("micromessenger")) { // 微信处理 微信支付暂接入所以暂时不管 } else if (userAgent.ToLower().Contains("alipayclient")) { // 支付宝处理 redirectUrl = _orderService.AliPayProcess(id); } return this.Redirect(redirectUrl); } /// /// 支付宝支付回写(已测试好,勿动) /// /// [AllowAnonymous] [HttpPost] [Route("alipaynotify")] public HttpResponseMessage AliPayNotify() { var result = _orderService.AliPayNotify(); HttpResponseMessage responseMessage = new HttpResponseMessage { Content = new StringContent(result, Encoding.GetEncoding("UTF-8"), "text/plain") }; return responseMessage; } /// /// 支付测试 /// /// [HttpGet] [Route("paytest")] public ApiResult PayTest() { return _orderService.PayTest(); } /// /// app设备测试 /// /// [AllowAnonymous] [HttpGet] [Route("appdevicetest")] public HttpResponseMessage AppDeviceTest() { string userAgent = HttpContext.Current.Request.UserAgent; ; string result = ""; if (userAgent.ToLower().Contains("micromessenger")) { result = $"

我是微信:{userAgent}

"; } else if (userAgent.ToLower().Contains("alipayclient")) { result = $"

我是支付宝:{userAgent}

"; } else { result = $"

请用微信或者支付宝扫码支付:{userAgent}

"; } HttpResponseMessage responseMessage = new HttpResponseMessage { Content = new StringContent(result, Encoding.GetEncoding("UTF-8"), "text/html") }; return responseMessage; } } }