/// <summary>
        /// 第三方电商商品收货信息回调
        /// </summary>
        /// <param name="packageJsonStr"></param>
        /// <returns></returns>
        public static ThirdResponse ConfirmOrderCallback(string packageJsonStr)
        {
            LogHelper.Debug("ThirdECommerceOrderHelper.ConfirmOrderCallback第三方电商商品收货信息回调,Input:" + packageJsonStr);
            if (string.IsNullOrEmpty(packageJsonStr))
            {
                return new ThirdResponse {
                           Code = 10500, Msg = "缺少参数orderPackage"
                }
            }
            ;
            try
            {
                var packageResult = JsonConvert.DeserializeObject <ThirdOrderPackage>(packageJsonStr);

                if (packageResult == null)
                {
                    return new ThirdResponse {
                               Code = 10501, Msg = "非法参数orderPackage"
                    }
                }
                ;
                Guid orderId;
                Guid.TryParse(packageResult.OrderId, out orderId);
                DateTime confirmTime;
                DateTime.TryParse(packageResult.ConfirmTime, out confirmTime);
                if (orderId == Guid.Empty)
                {
                    return new ThirdResponse {
                               Code = 10502, Msg = "非法参数OrderId"
                    }
                }
                ;
                if (string.IsNullOrEmpty(packageResult.ExpressCompany))
                {
                    return new ThirdResponse {
                               Code = 10503, Msg = "非法参数ExpressCompany"
                    }
                }
                ;
                if (string.IsNullOrEmpty(packageResult.ExpressNo))
                {
                    return new ThirdResponse {
                               Code = 10504, Msg = "非法参数ExpressNo"
                    }
                }
                ;
                if (confirmTime == DateTime.MinValue)
                {
                    return new ThirdResponse {
                               Code = 10505, Msg = "非法参数ConfirmTime"
                    }
                }
                ;
                #region 判断是否第三方电商订单及获取订单信息
                var order = ThirdECOrder.ObjectSet().FirstOrDefault(o => o.OrderId == orderId);
                if (order == null)
                {
                    return new ThirdResponse {
                               Code = 10506, Msg = "未找到此订单"
                    }
                }
                ;
                #endregion
                #region ThirdECOrderPackage
                var package = ThirdECOrderPackage.ObjectSet().FirstOrDefault(p => p.OrderId == orderId &&
                                                                             p.ExpressCompany == packageResult.ExpressCompany && p.ExpressNo == packageResult.ExpressNo);
                if (package != null)
                {
                    package.ConfirmTime = confirmTime;
                }
                #endregion
                #region ThirdECOrderJournal
                var packageJournal = new ThirdECOrderJournal
                {
                    Id          = Guid.NewGuid(),
                    OrderId     = order.OrderId,
                    OrderCode   = order.OrderCode,
                    Name        = "订单商品收货",
                    Details     = packageResult.ExpressCompany + "|" + packageResult.ExpressNo,
                    Json        = packageJsonStr,
                    EntityState = EntityState.Added
                };
                ContextFactory.CurrentThreadContext.SaveObject(packageJournal);
                #endregion
                int count = ContextFactory.CurrentThreadContext.SaveChanges();
                if (count > 0)
                {
                    #region 订单所有商品收货后更新订单状态到已收货

                    #endregion
                }
                else
                {
                    LogHelper.Error(string.Format("ThirdECommerceOrderHelper.ConfirmOrderCallback第三方电商商品收货信息回调失败,入参:{0}", packageJsonStr));
                    return(new ThirdResponse {
                        Code = 10507, Msg = "内部异常"
                    });
                }
            }
            catch (JsonReaderException ex)
            {
                LogHelper.Error("ThirdECommerceOrderHelper.ConfirmOrderCallback第三方电商商品收货信息回调反序列化异常,Input:" + packageJsonStr, ex);
                return(new ThirdResponse <ThirdOrderCancelResult> {
                    Msg = "反序列化异常"
                });
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("ThirdECommerceOrderHelper.ConfirmOrderCallback第三方电商商品收货信息回调异常,入参:{0}", packageJsonStr), ex);
                return(new ThirdResponse {
                    Code = 10508, Msg = "内部异常"
                });
            }
            return(new ThirdResponse {
                Code = 200, Msg = "ok"
            });
        }

        #endregion
    }
        /// <summary>
        /// 创建第三方电商订单
        /// </summary>
        /// <param name="orderId"></param>
        public static void CreateOrder(Guid orderId)
        {
            string param = string.Format("orderId={0}", orderId);

            LogHelper.Debug(string.Format("ThirdECOrderHelper.CreateOrder创建第三方电商订单,入参:{0}", param));
            if (orderId == Guid.Empty)
            {
                return;
            }
            Task.Factory.StartNew(() =>
            {
                try
                {
                    #region 判断是否第三方电商订单及获取订单信息
                    var order = CommodityOrder.ObjectSet().FirstOrDefault(o => o.Id == orderId);
                    if (order == null || !order.PaymentTime.HasValue || order.State != 1 || order.EsAppId != YJB.Deploy.CustomDTO.YJBConsts.YJAppId)
                    {
                        return;
                    }
                    var thirdECommerce = ThirdECommerceHelper.GetThirdECommerce(order.AppId);
                    if (thirdECommerce == null || string.IsNullOrEmpty(thirdECommerce.OpenApiKey) || string.IsNullOrEmpty(thirdECommerce.OpenApiCallerId) || string.IsNullOrEmpty(thirdECommerce.OrderCreateUrl))
                    {
                        return;
                    }
                    var orderItemList = OrderItem.ObjectSet()
                                        .Where(p => p.CommodityOrderId == order.Id && p.JDCode != null && p.JDCode != string.Empty)
                                        .Select(p => new
                    {
                        p.JDCode,
                        p.Name,
                        p.Number,
                        CostPrice = p.CostPrice ?? 0
                    }).ToList();
                    if (orderItemList.Count == 0)
                    {
                        return;
                    }
                    if (ThirdECOrder.ObjectSet().Any(p => p.OrderId == order.Id))
                    {
                        return;
                    }
                    #endregion
                    #region 调用第三方电商订单提交接口
                    var jsonStr  = string.Empty;
                    var response = ThirdECommerceSV.CreateOrder(new ThirdApiInfo
                    {
                        Apikey   = thirdECommerce.OpenApiKey,
                        CallerId = thirdECommerce.OpenApiCallerId,
                        ApiUrl   = thirdECommerce.OrderCreateUrl
                    }, new ThirdOrderCreate
                    {
                        OrderId = order.Id.ToString().ToLower(),
                        SubTime = order.SubTime.ToString("yyyy-MM-dd HH:mm:ss"),
                        PayTime = order.PaymentTime.Value.ToString("yyyy-MM-dd HH:mm:ss"),
                        Address = new ThirdAddress
                        {
                            Name          = order.ReceiptUserName,
                            Phone         = order.ReceiptPhone,
                            ProvinceName  = order.Province,
                            CityName      = order.City,
                            CountyName    = order.District,
                            TownName      = order.Street,
                            AddressDetail = order.ReceiptAddress,
                            FullAddress   = order.Province + order.City + order.District + order.Street + order.ReceiptAddress,
                            ZipCode       = order.RecipientsZipCode
                        },
                        OrderSkus = orderItemList.Select(p => new ThirdOrderCreateSku
                        {
                            SkuId  = p.JDCode,
                            Name   = p.Name,
                            Number = p.Number,
                            Price  = p.CostPrice
                        }).ToList()
                    }, ref jsonStr);
                    #endregion
                    #region 保存ThirdECOrderJournal
                    var thirdOrderJournal = new ThirdECOrderJournal
                    {
                        Id          = Guid.NewGuid(),
                        OrderId     = order.Id,
                        OrderCode   = order.Code,
                        SubTime     = DateTime.Now,
                        SubId       = order.SubId,
                        Name        = "提交订单",
                        Details     = response.Msg,
                        Json        = jsonStr,
                        EntityState = EntityState.Added
                    };
                    ContextFactory.CurrentThreadContext.SaveObject(thirdOrderJournal);
                    #endregion
                    #region 保存错误日志
                    if (!response.Successed)
                    {
                        SaveErrorLog(new ThirdECOrderErrorLogDTO
                        {
                            Content        = response.Msg,
                            AppId          = order.AppId,
                            OrderId        = order.Id,
                            OrderCode      = order.Code,
                            AppName        = order.AppName,
                            CommodityNames = string.Join("、", orderItemList.Select(x => x.Name).ToList()),
                            Json           = jsonStr
                        });
                        return;
                    }
                    #endregion
                    #region 保存ThirdECOrder
                    var thirdOrder = new ThirdECOrder
                    {
                        Id           = Guid.NewGuid(),
                        OrderId      = order.Id,
                        OrderCode    = order.Code,
                        OrderSubTime = order.SubTime,
                        PayTime      = order.PaymentTime.Value,
                        SubId        = order.SubId,
                        AppId        = order.AppId,
                        EsAppId      = order.EsAppId.Value,
                        AppName      = order.AppName,
                        AppType      = order.AppType,
                        SupplierName = order.SupplierName,
                        SupplierCode = order.SupplierCode,
                        SupplierType = order.SupplierType,
                        ShipperType  = order.ShipperType,
                        StateName    = "下单成功",
                        EntityState  = EntityState.Added
                    };
                    ContextFactory.CurrentThreadContext.SaveObject(thirdOrder);
                    #endregion
                    int count = ContextFactory.CurrentThreadContext.SaveChanges();
                    if (count == 0)
                    {
                        LogHelper.Error(string.Format("ThirdECOrderHelper.CreateOrder创建第三方电商订单失败,入参:{0}", param));
                    }
                }
                catch (Exception ex)
                {
                    LogHelper.Error(string.Format("ThirdECOrderHelper.CreateOrder创建第三方电商订单异常,入参:{0}", param), ex);
                }
            });
        }
        /// <summary>
        /// 第三方电商订单取消审核结果回调
        /// </summary>
        /// <param name="result"></param>
        public static ThirdResponse CancelOrderCallback(string resultJsonStr)
        {
            LogHelper.Debug("ThirdECommerceOrderHelper.CancelOrderCallback第三方电商订单取消审核结果回调,Input:" + resultJsonStr);
            if (string.IsNullOrEmpty(resultJsonStr))
            {
                return new ThirdResponse {
                           Code = 10200, Msg = "缺少参数orderCancelResult"
                }
            }
            ;
            var result = new ThirdResponse {
                Code = 200, Msg = "ok"
            };

            try
            {
                var cancelResult = JsonConvert.DeserializeObject <ThirdOrderCancelResultCallBack>(resultJsonStr);

                if (cancelResult == null)
                {
                    return new ThirdResponse {
                               Code = 10201, Msg = "非法参数orderCancelResult"
                    }
                }
                ;
                Guid     orderId;
                DateTime auditTime;
                Guid.TryParse(cancelResult.OrderId, out orderId);
                DateTime.TryParse(cancelResult.AuditTime, out auditTime);
                if (orderId == Guid.Empty)
                {
                    return new ThirdResponse {
                               Code = 10202, Msg = "非法参数OrderId"
                    }
                }
                ;
                if (!new List <int> {
                    0, 1
                }.Contains(cancelResult.CancelStatus))
                {
                    return new ThirdResponse {
                               Code = 10203, Msg = "非法参数CancelStatus"
                    }
                }
                ;
                if (cancelResult.CancelStatus == 0 && string.IsNullOrEmpty(cancelResult.RejectReason))
                {
                    return new ThirdResponse {
                               Code = 10204, Msg = "非法参数RejectReason"
                    }
                }
                ;
                if (auditTime == DateTime.MinValue)
                {
                    return new ThirdResponse {
                               Code = 10205, Msg = "非法参数CancelStatus"
                    }
                }
                ;
                #region 判断是否第三方电商订单及获取订单信息
                var order = ThirdECOrder.ObjectSet().FirstOrDefault(o => o.OrderId == orderId);
                if (order == null)
                {
                    return new ThirdResponse {
                               Code = 10206, Msg = "未找到此订单"
                    }
                }
                ;
                if (order.CancelCallBackTime.HasValue)
                {
                    return(result);
                }
                #endregion
                #region 处理退款
                var errorMessage = string.Empty;
                OrderSV.UnLockOrder(orderId);
                if (cancelResult.CancelStatus == 0)
                {
                    var optResult = OrderHelper.RejectOrderRefund(orderId, cancelResult.RejectReason);
                    if (optResult.ResultCode != 0)
                    {
                        errorMessage = optResult.Message;
                        LogHelper.Error("ThirdECommerceOrderHelper.CancelOrderCallback 取消订单失败,RejectOrderRefund返回:" + JsonConvert.SerializeObject(optResult));
                        result = new ThirdResponse {
                            Code = 10207, Msg = "内部异常"
                        };
                    }
                    else
                    {
                        order.StateName          = "不允许取消";
                        order.CancelCallBackTime = auditTime;
                        order.StateDesc          = "订单取消审核结果回调:不允许取消," + cancelResult.RejectReason;
                    }
                }
                else
                {
                    order.StateName = "允许取消";
                    var optResult = OrderHelper.ApproveCancelOrder(orderId);
                    if (optResult.ResultCode != 0)
                    {
                        errorMessage = optResult.Message;
                        LogHelper.Error("ThirdECommerceOrderHelper.CancelOrderCallback 取消订单失败,ApproveCancelOrder返回:" + JsonConvert.SerializeObject(optResult));
                        result = new ThirdResponse {
                            Code = 10208, Msg = "内部异常"
                        };
                    }
                    else
                    {
                        order.StateName          = "允许取消";
                        order.CancelCallBackTime = auditTime;
                        order.StateDesc          = "订单取消审核结果回调:允许取消";
                    }
                }
                #endregion
                #region 保存ThirdECOrderJournal
                var thirdOrderJournal = new ThirdECOrderJournal
                {
                    Id          = Guid.NewGuid(),
                    OrderId     = order.OrderId,
                    OrderCode   = order.OrderCode,
                    SubTime     = DateTime.Now,
                    SubId       = order.SubId,
                    Name        = "取消订单审核结果回调",
                    Details     = result.Successed ? order.StateDesc : errorMessage,
                    Json        = resultJsonStr,
                    EntityState = EntityState.Added
                };
                ContextFactory.CurrentThreadContext.SaveObject(thirdOrderJournal);
                #endregion
                int count = ContextFactory.CurrentThreadContext.SaveChanges();
                if (count == 0)
                {
                    LogHelper.Error(string.Format("ThirdECommerceOrderHelper.CancelOrderCallback第三方电商订单取消审核结果回调数据保存失败,入参:{0}", resultJsonStr));
                    return(new ThirdResponse {
                        Code = 10209, Msg = "内部异常"
                    });
                }
            }
            catch (JsonReaderException ex)
            {
                LogHelper.Error("ThirdECommerceOrderHelper.CancelOrderCallback第三方电商订单取消审核结果回调反序列化异常,Input:" + resultJsonStr, ex);
                return(new ThirdResponse <ThirdOrderCancelResult> {
                    Msg = "反序列化异常"
                });
            }
            catch (Exception ex)
            {
                LogHelper.Error("ThirdECommerceOrderHelper.CancelOrderCallback第三方电商订单取消审核结果回调异常,Input:" + resultJsonStr, ex);
                return(new ThirdResponse {
                    Code = 10210, Msg = "内部异常"
                });
            }
            return(result);
        }
        /// <summary>
        /// 第三方电商商品发货信息回调
        /// </summary>
        /// <param name="result"></param>
        public static ThirdResponse DeliverOrderCallback(string packageJsonStr)
        {
            LogHelper.Debug("ThirdECommerceOrderHelper.DeliverOrderCallback第三方电商商品发货信息回调,Input:" + packageJsonStr);
            if (string.IsNullOrEmpty(packageJsonStr))
            {
                return new ThirdResponse {
                           Code = 10300, Msg = "缺少参数orderPackage"
                }
            }
            ;
            try
            {
                var packageResult = JsonConvert.DeserializeObject <ThirdOrderPackage>(packageJsonStr);

                if (packageResult == null)
                {
                    return new ThirdResponse {
                               Code = 10301, Msg = "非法参数orderPackage"
                    }
                }
                ;
                Guid orderId;
                Guid.TryParse(packageResult.OrderId, out orderId);
                DateTime expCreateTime;
                DateTime.TryParse(packageResult.ExpCreateTime, out expCreateTime);
                if (orderId == Guid.Empty)
                {
                    return new ThirdResponse {
                               Code = 10302, Msg = "非法参数OrderId"
                    }
                }
                ;
                if (string.IsNullOrEmpty(packageResult.ExpressCompany))
                {
                    return new ThirdResponse {
                               Code = 10303, Msg = "非法参数ExpressCompany"
                    }
                }
                ;
                if (string.IsNullOrEmpty(packageResult.ExpressNo))
                {
                    return new ThirdResponse {
                               Code = 10304, Msg = "非法参数ExpressNo"
                    }
                }
                ;
                if (packageResult.SkuIdList == null || packageResult.SkuIdList.Count == 0)
                {
                    return new ThirdResponse {
                               Code = 10305, Msg = "非法参数SkuIdList"
                    }
                }
                ;
                if (expCreateTime == DateTime.MinValue)
                {
                    return new ThirdResponse {
                               Code = 10306, Msg = "非法参数ExpCreateTime"
                    }
                }
                ;
                #region 判断是否第三方电商订单及获取订单信息
                var order = ThirdECOrder.ObjectSet().FirstOrDefault(o => o.OrderId == orderId);
                if (order == null)
                {
                    return new ThirdResponse {
                               Code = 10307, Msg = "未找到此订单"
                    }
                }
                ;
                var orderItemList = OrderItem.ObjectSet()
                                    .Where(p => p.CommodityOrderId == orderId)
                                    .Select(p => new
                {
                    SkuId       = p.JDCode,
                    OrderItemId = p.Id,
                    p.CommodityId,
                    CommodityStockId = p.CommodityStockId ?? Guid.Empty,
                }).ToList();
                if (orderItemList.Count == 0)
                {
                    return new ThirdResponse {
                               Code = 10308, Msg = "未找到订单sku"
                    }
                }
                ;
                #endregion
                #region ThirdECOrderPackage和ThirdECOrderPackageSku
                var package = ThirdECOrderPackage.ObjectSet().FirstOrDefault(p => p.OrderId == orderId &&
                                                                             p.ExpressCompany == packageResult.ExpressCompany && p.ExpressNo == packageResult.ExpressNo);
                if (package == null)
                {
                    package = new ThirdECOrderPackage
                    {
                        Id             = Guid.NewGuid(),
                        OrderId        = order.OrderId,
                        OrderCode      = order.OrderCode,
                        ExpressCompany = packageResult.ExpressCompany,
                        ExpressNo      = packageResult.ExpressNo,
                        ExpCreateTime  = DateTime.Parse(packageResult.ExpCreateTime),
                        EntityState    = EntityState.Added
                    };

                    ContextFactory.CurrentThreadContext.SaveObject(package);
                    packageResult.SkuIdList.ForEach(skuId =>
                    {
                        var orderItem = orderItemList.FirstOrDefault(p => p.SkuId == skuId);
                        if (orderItem == null)
                        {
                            return;
                        }
                        var packageSku = new ThirdECOrderPackageSku
                        {
                            Id               = Guid.NewGuid(),
                            OrderId          = order.OrderId,
                            OrderCode        = order.OrderCode,
                            OrderItemId      = orderItem.OrderItemId,
                            CommodityId      = orderItem.CommodityId,
                            CommodityStockId = orderItem.CommodityStockId,
                            PackageId        = package.Id,
                            SkuId            = skuId,
                            ExpressCompany   = packageResult.ExpressCompany,
                            ExpressNo        = packageResult.ExpressNo,
                            EntityState      = EntityState.Added
                        };
                        ContextFactory.CurrentThreadContext.SaveObject(packageSku);
                    });
                }
                #endregion
                #region ThirdECOrderJournal
                var packageJournal = new ThirdECOrderJournal
                {
                    Id          = Guid.NewGuid(),
                    OrderId     = order.OrderId,
                    OrderCode   = order.OrderCode,
                    Name        = "订单商品发货",
                    Details     = packageResult.ExpressCompany + "|" + packageResult.ExpressNo,
                    Json        = packageJsonStr,
                    EntityState = EntityState.Added
                };
                ContextFactory.CurrentThreadContext.SaveObject(packageJournal);
                #endregion
                int count = ContextFactory.CurrentThreadContext.SaveChanges();
                if (count > 0)
                {
                    #region 订单所有商品发货后更新订单状态到已发货
                    if (ThirdECOrderPackageSku.ObjectSet().Count(p => p.OrderId == orderId) >= orderItemList.Select(x => x.SkuId).Distinct().Count())
                    {
                        var commodityOrder = new CommodityOrderDTO();
                        commodityOrder.Id            = orderId;
                        commodityOrder.State         = 2;
                        commodityOrder.ShipmentsTime = DateTime.Now;
                        var facade = new CommodityOrderFacade();
                        facade.ContextDTO = AuthorizeHelper.CoinInitAuthorizeInfo();
                        facade.UpdateCommodityOrder(commodityOrder);
                    }
                    #endregion
                }
                else
                {
                    LogHelper.Error(string.Format("ThirdECommerceOrderHelper.DeliverOrderCallback第三方电商商品发货信息回调失败,入参:{0}", packageJsonStr));
                    return(new ThirdResponse {
                        Code = 10309, Msg = "内部异常"
                    });
                }
            }
            catch (JsonReaderException ex)
            {
                LogHelper.Error("ThirdECommerceOrderHelper.DeliverOrderCallback第三方电商商品发货信息回调反序列化异常,Input:" + packageJsonStr, ex);
                return(new ThirdResponse <ThirdOrderCancelResult> {
                    Msg = "反序列化异常"
                });
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("ThirdECommerceOrderHelper.DeliverOrderCallback第三方电商商品发货信息回调异常,入参:{0}", packageJsonStr), ex);
                return(new ThirdResponse {
                    Code = 10310, Msg = "内部异常"
                });
            }
            return(new ThirdResponse {
                Code = 200, Msg = "ok"
            });
        }
        /// <summary>
        /// 取消第三方电商订单
        /// </summary>
        /// <param name="orderId"></param>
        public static ResultDTO CancelOrder(Guid orderId)
        {
            string param = string.Format("orderId={0}", orderId);

            LogHelper.Debug(string.Format("ThirdECOrderHelper.CancelOrder取消第三方电商订单,入参:{0}", param));
            if (orderId == Guid.Empty)
            {
                return new ResultDTO {
                           Message = "参数有误"
                }
            }
            ;
            var result = new ResultDTO {
                Message = "操作失败,请稍后重试", ResultCode = -1
            };

            try
            {
                #region 判断是否第三方电商订单及获取订单信息
                var order = ThirdECOrder.ObjectSet().FirstOrDefault(o => o.OrderId == orderId);

                if (order == null)
                {
                    return(result);
                }
                var thirdECommerce = ThirdECommerceHelper.GetThirdECommerce(order.AppId);
                if (thirdECommerce == null || string.IsNullOrEmpty(thirdECommerce.OpenApiKey) ||
                    string.IsNullOrEmpty(thirdECommerce.OpenApiCallerId) ||
                    string.IsNullOrEmpty(thirdECommerce.OrderCancelUrl))
                {
                    return(result);
                }
                if (order.CancelResultTime.HasValue)
                {
                    return(result);
                }
                #endregion
                order.CancelApplyTime = DateTime.Now;
                #region 调用第三方电商订单取消接口
                var jsonStr  = string.Empty;
                var response = ThirdECommerceSV.CancelOrder(new ThirdApiInfo
                {
                    Apikey   = thirdECommerce.OpenApiKey,
                    CallerId = thirdECommerce.OpenApiCallerId,
                    ApiUrl   = thirdECommerce.OrderCancelUrl
                }, orderId.ToString(), ref jsonStr);
                #endregion
                var isSuccess = response.Successed && response.Result != null;
                #region 修改ThirdECOrder
                if (isSuccess)
                {
                    order.CancelResultTime = DateTime.Now;
                    if (response.Result.CancelStatus == 0)
                    {
                        order.StateName = "不允许取消";
                        result          = new ResultDTO {
                            Message = response.Result.RejectReason, ResultCode = 1
                        };
                    }
                    else if (response.Result.CancelStatus == 1)
                    {
                        order.StateName = "允许取消";
                        // 模拟订单取消审核结果回调
                        Timer timer = null;
                        timer = new Timer(_ =>
                        {
                            CancelOrderCallback(JsonConvert.SerializeObject(new { OrderId = order.Id.ToString().ToLower(), CancelStatus = 1 }));
                            timer.Dispose();
                        }, null, 2000, System.Threading.Timeout.Infinite);
                        result = new ResultDTO {
                            isSuccess = true, Message = response.Result.RejectReason, ResultCode = 0
                        };
                    }
                    else if (response.Result.CancelStatus == 2)
                    {
                        order.StateName = "待审核";
                        result          = new ResultDTO {
                            isSuccess = true, Message = "请等待审核", ResultCode = 2
                        };
                    }
                    order.StateDesc = response.Result.RejectReason;
                }
                else
                {
                    ContextFactory.ReleaseContextSession();
                    order.StateName = "取消订单申请失败";
                    order.StateDesc = response.Msg;
                }
                #endregion
                #region 保存ThirdECOrderJournal
                var thirdOrderJournal = new ThirdECOrderJournal
                {
                    Id          = Guid.NewGuid(),
                    OrderId     = order.OrderId,
                    OrderCode   = order.OrderCode,
                    SubTime     = DateTime.Now,
                    SubId       = order.SubId,
                    Name        = "取消订单申请",
                    Details     = response.Msg,
                    Json        = jsonStr,
                    EntityState = EntityState.Added
                };
                ContextFactory.CurrentThreadContext.SaveObject(thirdOrderJournal);
                #endregion
                if (!isSuccess) //失败则只保存日志
                {
                    int count = ContextFactory.CurrentThreadContext.SaveChanges();
                    if (count == 0)
                    {
                        LogHelper.Error(string.Format("ThirdECOrderHelper.CancelOrder取消第三方电商订单数据保存失败,入参:{0}", param));
                    }
                }
                return(result);
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("ThirdECOrderHelper.CancelOrder取消第三方电商订单异常,入参:{0}", param), ex);
                return(result);
            }
        }