using System;using System.Collections.Generic;using System.Linq;using System.Net.Http;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;using Jyson.IZhanShi.Model.WebApiModel;namespace Jyson.IZhanShi.WinDesktop.Utility{ public class OperateHttp { private OperateHttp() { } ////// 单例模式 /// private static OperateHttp _instance = null; public static OperateHttp Instance() { if (_instance == null) { _instance = new OperateHttp(); } return _instance; } static HttpClient _httpClient; public HttpClient httpClient { get { if (_httpClient == null) _httpClient = new HttpClient(); return _httpClient; } set { _httpClient = value; } } ////// 餐厅ID /// public int RestaurantID { get; set; } public string RestaurantName { get; set; } public string RestaurantSessionKey { get; set; } #region --Get/Post/Put/Delete 方法操作 ////// Get方式获取数据 /// /// ///public JsonData GetResult(string httpUrl) { HttpResponseMessage hrm = httpClient.GetAsync(httpUrl).Result; JsonData data = hrm.Content.ReadAsAsync ().Result; return data; } /// /// Get 异步方式获取数据 /// /// /////public async Task GetAsyncResult(string httpUrl) //{ // HttpResponseMessage hrm = await httpClient.GetAsync(httpUrl).ConfigureAwait(false); // JsonData data = hrm.Content.ReadAsAsync ().Result; // return data; //} /// /// Post 方式传递数据 /// /// /// ///public JsonData PostResult(string httpUrl, object postModel) { HttpResponseMessage hrm = httpClient.PostAsJsonAsync(httpUrl, postModel).Result; JsonData data = hrm.Content.ReadAsAsync ().Result; return data; } /// /// Post 异步方式传递数据 /// /// /// /////public async Task PostAsyncResult(string httpUrl, object postModel) //{ // var hrm = await httpClient.PostAsJsonAsync(httpUrl, postModel).ConfigureAwait(false); // JsonData data = hrm.Content.ReadAsAsync ().Result; // return data; //} /// /// Put 更新方式传递数据 /// /// /// ///public JsonData PutResult(string httpUrl, object postModel) { HttpResponseMessage hrm = httpClient.PutAsJsonAsync(httpUrl, postModel).Result; JsonData data = hrm.Content.ReadAsAsync ().Result; return data; } /// /// Delete 删除方式传递数据 /// /// ///public JsonData DeleteResult(string httpUrl) { HttpResponseMessage hrm = httpClient.DeleteAsync(httpUrl).Result; JsonData data = hrm.Content.ReadAsAsync ().Result; return data; } #endregion #region 菜单操作 /// /// 获取该店铺所有菜单列表 /// ///public List GetFoodMenuList(string httpUrl) { JsonData prod = OperateHttp.Instance().GetResult(httpUrl); var model = JsonConvert.DeserializeObject
>(prod.data.ToString()); return model; } /// /// 获取菜单类别 /// ///public List GetFoodMenuCategory() { string httpUrl = HttpUrl.FoodMenuCategoryUrl + OperateHttp.Instance().RestaurantID; JsonData prod = OperateHttp.Instance().GetResult(httpUrl); var model = JsonConvert.DeserializeObject
>(prod.data.ToString()); return model; } /// /// 获取菜单单个信息 /// ///public WMFoodMenu GetFoodMenu(int foodMenuID) { string httpUrl = HttpUrl.FoodMenuOneUrl + foodMenuID; JsonData prod = OperateHttp.Instance().GetResult(httpUrl); var model = JsonConvert.DeserializeObject (prod.data.ToString()); return model; } /// /// 更新菜单 /// ///public bool PutFoodMenu(int foodMenuID, WMFoodMenu model) { string httpUrl = HttpUrl.FoodMenuUrl + OperateHttp.Instance().RestaurantID; JsonData data = OperateHttp.Instance().PutResult(httpUrl, model); if (data.errorCode == (int)Model.Enum.ApiErrorEnum.Success && !string.IsNullOrEmpty(data.errorMsg)) { return true; } else { return false; } } /// /// 更新菜单状态 /// ///public bool PutIsSell(int foodMenuID, WMFoodMenuIsSell model) { string httpUrl = HttpUrl.FoodMenuOneUrl + foodMenuID.ToString(); JsonData data = OperateHttp.Instance().PutResult(httpUrl, model); if (data.errorCode == (int)Model.Enum.ApiErrorEnum.Success && !string.IsNullOrEmpty(data.errorMsg)) { return true; } else { return false; } } /// /// 删除菜单 /// ///public bool DeleteFoodMenu(int foodMenuID) { string httpUrl = HttpUrl.FoodMenuOneUrl + foodMenuID.ToString(); JsonData data = OperateHttp.Instance().DeleteResult(httpUrl); if (data.errorCode == (int)Model.Enum.ApiErrorEnum.Success && !string.IsNullOrEmpty(data.errorMsg)) { return true; } else { return false; } } #endregion /// /// 获取订单列表 /// /// ///public List GetOrder(string httpUrl) { JsonData prod = OperateHttp.Instance().GetResult(httpUrl); var model = JsonConvert.DeserializeObject
>(prod.data.ToString()); return model; } /// /// 获取订单列表 /// /// ///public WMOrderDetail GetOrderDetail(int orderID) { string httpUrl = HttpUrl.OrderDetailUrl + orderID.ToString(); JsonData prod = OperateHttp.Instance().GetResult(httpUrl); var model = JsonConvert.DeserializeObject (prod.data.ToString()); return model; } /// /// 取消订单 /// /// 订单ID ///public bool DeleteOrder(int orderID) { string httpUrl = HttpUrl.OrderUrl + orderID.ToString(); JsonData data = OperateHttp.Instance().DeleteResult(httpUrl); if (data.errorCode == (int)Model.Enum.ApiErrorEnum.Success && !string.IsNullOrEmpty(data.errorMsg)) { return true; } else { return false; } } /// /// 订单打印 /// /// ///public string PutOrderPrint(int orderID) { string httpUrl = HttpUrl.OrderPrintUrl + orderID.ToString(); JsonData resultData = OperateHttp.Instance().PutResult(httpUrl, null); if (resultData.errorCode == (int)Model.Enum.ApiErrorEnum.Success && !string.IsNullOrEmpty(resultData.errorMsg)) { return "Success"; } else { return resultData.data.ToString(); } } }}