Пример #1
0
        /// <summary>
        /// 快跑者订单状态改变回调接口
        /// </summary>
        /// <param name="returnModel"></param>
        /// <returns></returns>
        public ActionResult KPZnotis(KPZApiReponseModel returnModel)
        {
            if (returnModel == null)
            {
                LogHelper.WriteInfo(this.GetType(), "快跑者配送订单回调参数出错");
            }
            LogHelper.WriteInfo(this.GetType(), "快跑者配送订单回调" + JsonConvert.SerializeObject(returnModel));


            KPZOrder order = KPZOrderBLL.SingleModel.GetModelByOrderNo(returnModel.trade_no);

            if (order == null)
            {
                LogHelper.WriteInfo(this.GetType(), $"快跑者订单回调:找不到订单【{returnModel.trade_no}】");
            }
            //如果状态一样,说明已发送过一次
            if (order.status == returnModel.state)
            {
                return(Content("success"));
            }

            order.status     = returnModel.state;
            order.UpdateTime = returnModel.update_time;
            order.courier    = returnModel.courier;
            order.tel        = returnModel.tel;

            bool isSuccess = false;

            try
            {
                lock (_dadaLock)
                {
                    switch (order.TemplateType)
                    {
                    case (int)TmpType.小程序餐饮模板:
                        isSuccess = KPZOrderBLL.SingleModel.KPZToFoodReturn(order);
                        break;

                    case (int)TmpType.智慧餐厅:
                        isSuccess = KPZOrderBLL.SingleModel.KPZToMutilFoodReturn(order);
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteInfo(this.GetType(), "快跑者配送回调异常:" + JsonConvert.SerializeObject(returnModel) + ex.Message);
            }

            return(Content("success"));
        }
Пример #2
0
        public static string _getTeamInfoApiUrl   = "/open/team/getTeamInfo?";    //获取团队信息

        /// <summary>
        /// 生成订单
        /// </summary>
        public static KPZResult <OrderTradeNo> CreateOrder(KPZOrder data, string teamToken)
        {
            //log4net.LogHelper.WriteInfo(typeof(KPZApi),"快跑者订单:"+JsonConvert.SerializeObject(data));
            //string orderId = "2654849875465125499";  // 生成一个第三方订单 ID
            ////string preTime = DateTime.Now.AddHours(1).ToString("yyyy-MM-dd HH:mm:ss");   // 预计一个小时之后送达
            //string ordertime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

            //KPZOrder data = new KPZOrder()
            //{
            //    shop_id = 1,
            //    shop_name = "小未商家",
            //    shop_tel = "18718463809",
            //    shop_address = "广东省天河区天河公园",
            //    shop_tag = "113.366326,23.128052",
            //    order_content = "2份烧白开(100x1),2份拉面(18x1)",
            //    order_note = "不要太辣了",
            //    //order_mark = "12",
            //    order_from = "小未科技",
            //    order_time = ordertime,
            //    //order_photo = "http://a4.att.hudong.com/38/47/19300001391844134804474917734_950.png",
            //    note = orderId,
            //    customer_name = "张三丰",
            //    customer_tel = "18288888888",
            //    customer_address = "广东省天河区天河公园",
            //    customer_tag = "113.366326,23.128052",
            //    order_no = orderId,
            //    order_price = 99.99f,
            //    order_origin_price = 100.00f,
            //    pay_status = 1,
            //    pay_fee = 1.66f,
            //    //pre_times = preTime,
            //};

            Dictionary <string, string> param = KPZApi.GetParamApi(data, teamToken);

            param["sign"] = KPZApi.GetSign(param, KPZApi._devSecret);

            return(KPZApi.KPZRequest <OrderTradeNo>(KPZApi._createOrderApiUrl, param));
        }