/// <summary> /// 下单 /// </summary> /// <param name="model"></param> /// <returns></returns> public static UUBaseResult AddOrder(UUOrder model) { model.nonce_str = Guid.NewGuid().ToString().Replace("-", ""); model.timestamp = GetTimestamp(); Dictionary <string, string> mydic = GetDictionary(model); model.sign = CreateMd5Sign(mydic, _appsecret); mydic.Add("sign", model.sign); string url = _host + _addOrderApiUrl; string resultJson = HttpPost(url, mydic); UUBaseResult result = JsonConvert.DeserializeObject <UUBaseResult>(resultJson); return(result); //{"ordercode":"U23108001807251739989279322","origin_id":"20180725173348","return_code":"ok","return_msg":"订单发布成功","appid":"d2fe3af49ce544c4b5c0731aa5ab28df","nonce_str":"29d8c95be2fe4b73bb648211b94fee0b","sign":"EDDF8CDC25DB95E3CF98CFCA13EA6F5A"} }
/// <summary> /// UU订单状态改变回调接口 /// </summary> /// <param name="data"></param> /// <returns></returns> public ActionResult UUnotis(string data) { LogHelper.WriteInfo(this.GetType(), $"UU配送:订单回调{data}"); if (string.IsNullOrEmpty(data)) { LogHelper.WriteInfo(this.GetType(), "UU配送:参数出错(回调)"); return(Content("fail")); } UUOrderCallBackResult returnModel = JsonConvert.DeserializeObject <UUOrderCallBackResult>(data); if (returnModel == null) { LogHelper.WriteInfo(this.GetType(), "UU配送:参数转化失败(回调)"); return(Content("fail")); } UUOrder order = UUOrderBLL.SingleModel.GetModelByOrderCode(returnModel.order_code); if (order == null) { LogHelper.WriteInfo(this.GetType(), $"UU配送:找不到订单【{returnModel.order_code}】(回调)"); return(Content("fail")); } //如果状态一样,说明已发送过一次 if (order.State == Convert.ToInt32(returnModel.state)) { return(Content("success")); } order.State = Convert.ToInt32(returnModel.state); if (!string.IsNullOrEmpty(returnModel.driver_name)) { order.driver_name = returnModel.driver_name; order.driver_mobile = returnModel.driver_mobile; order.driver_jobnum = returnModel.driver_jobnum; } bool isSuccess = false; try { lock (_uuLock) { switch (order.TemplateType) { case (int)TmpType.小程序餐饮模板: isSuccess = UUOrderBLL.SingleModel.UUToFoodReturn(order); break; case (int)TmpType.智慧餐厅: isSuccess = UUOrderBLL.SingleModel.UUToMutilFoodReturn(order); break; } } } catch (Exception ex) { LogHelper.WriteInfo(this.GetType(), "UU配送:回调异常" + JsonConvert.SerializeObject(returnModel) + ex.Message); } return(Content("success")); }