/// <summary> /// 更新 /// </summary> /// <param name="model">实体</param> /// <returns></returns> public override int Update(SoOrderSyncLogisticsLog model) { return(Context.Update <SoOrderSyncLogisticsLog>("SoOrderSyncLogisticsLog", model) .AutoMap(x => x.SysNo, x => x.CreateDate, x => x.CreatedBy) .Where("Code", model.Code) .Where("OrderSysNo", model.OrderSysNo) .Execute()); }
/// <summary> /// 更新 /// </summary> /// <param name="model">实体</param> /// <returns></returns> public int Update(SoOrderSyncLogisticsLog model) { return(ISoOrderSyncLogisticsLogDao.Instance.Update(model)); }
/// <summary> /// 新增 /// </summary> /// <param name="model">实体</param> /// <returns></returns> public int Insert(SoOrderSyncLogisticsLog model) { return(ISoOrderSyncLogisticsLogDao.Instance.Insert(model)); }
/// <summary> /// 查询订单物流信息 /// </summary> /// <param name="orderSysNo">订单号</param> /// <returns></returns> /// <remarks>2016-8-22 杨浩 创建</remarks> public override Result <string> GetLogisticsTracking(int orderSysNo) { var order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysNo); var config = Hyt.BLL.Config.Config.Instance.GetGaoJieConfig(); var result = new Result <string>(); string strorder = "{\"order_sn\":\"" + order.OrderNo + "\"}"; string orders = strorder; strorder = EncodeBase64(EncodeBase64(strorder)); var strPost = "&seller=" + EncodeBase64(config.seller) + "&api_key=" + EncodeBase64(config.api_key) + "&mark=" + EncodeBase64("sel") + "&confirm=" + EncodeBase64("") + "&order=" + strorder; var strResult = GetResponse(url, strPost); var json = JObject.Parse(strResult); string jsons = json.ToString(); result.Status = true; result.Data = json.ToString(); var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderSysNo; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.Packets = orders.ToString(); soOrderSyncLogisticsLog.ReceiptContent = json.ToString(); soOrderSyncLogisticsLog.LogisticsOrderId = ""; //var model = new LgGaoJiePushInfo(); //model.OrderSysNo = orderSysno; //model.OrderInfo = orders.ToString(); ////保存订单回执信息 //model.ReturnInfo = json.ToString(); ////保存推送回执信息 //LogisticsBo.Instance.InsertLgGaoJiePushInfoEntity(model, BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base); string state = json["flag"].ToString().ToLower(); //推送成功 if (state == "ok") { result.Status = true; result.Message = json["wms_info"].ToString(); soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = result.Message; //更新物流状态CBLogisticsSendStatus BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.已推送, 3, orderSysNo); SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); } return(result); }
/// <summary> /// 获取快递单号 /// </summary> /// <param name="orderId"></param> /// <returns></returns> /// <remarks>2016-9-3 杨浩 创建</remarks> private Result GetExpressno(string orderId) { var config = Hyt.BLL.Config.Config.Instance.GetGaoJieConfig(); var result = new Result <SoOrderSyncLogisticsLog>(); var orderInfo = BLL.Order.SoOrderBo.Instance.GetEntity(int.Parse(orderId)); WhWarehouse warehouseMod = Hyt.BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(orderInfo.DefaultWarehouseSysNo); BsArea wareDistrictEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(warehouseMod.AreaSysNo); BsArea wareCityEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(wareDistrictEntity.ParentSysNo); SoReceiveAddress srenity = Hyt.BLL.Order.OutboundReturnBo.Instance.GetSoReceiveAddressBysoOrderSysNo(orderInfo.SysNo); string buyer_idcard = ""; if (!string.IsNullOrEmpty(srenity.IDCardNo)) { buyer_idcard = srenity.IDCardNo.Trim(); } BsArea DistrictEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(srenity.AreaSysNo); string District = DistrictEntity.AreaName.Trim(); BsArea CityEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(DistrictEntity.ParentSysNo); string City = CityEntity.AreaName.Trim(); BsArea ProvinceEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(CityEntity.ParentSysNo); string Province = ProvinceEntity.AreaName.Trim(); CBFnOnlinePayment payment = FinanceBo.Instance.GetOnPaymentBySourceSysNo(orderInfo.SysNo); IList <CBSoOrderItem> datao = SoOrderBo.Instance.GetCBOrderItemsByOrderId(orderInfo.SysNo); string goods_Names = ""; int goods_Nums = 0; decimal goods_Weight = 0; foreach (var mod in datao) { if (!string.IsNullOrEmpty(goods_Names)) { goods_Names += ","; } goods_Names += mod.ProductName; goods_Nums += mod.Quantity; goods_Weight += mod.GrosWeight; } StringBuilder strorder = new StringBuilder();//"{\"orderSn\":\"" + orderInfo.OrderNo + "\"}"; strorder.Append("{"); strorder.Append(" \"order_sn\":\"" + orderInfo.OrderNo + "\","); strorder.Append(" \"send_name\":\"" + warehouseMod.Contact + "\","); strorder.Append(" \"send_telno\":\"" + warehouseMod.Phone + "\","); strorder.Append(" \"send_cardno\":\"\","); strorder.Append(" \"send_postcode\":\"\","); strorder.Append(" \"send_code\":\"1\","); strorder.Append(" \"receive_name\":\"" + srenity.Name + "\","); strorder.Append(" \"receive_telno\":\"" + srenity.MobilePhoneNumber + "\","); strorder.Append(" \"receive_cardno\":\"" + srenity.IDCardNo + "\","); strorder.Append(" \"receive_postcode\":\"\","); strorder.Append(" \"receive_province\":\"" + Province + "\","); strorder.Append(" \"receive_city\":\"" + City + "\","); strorder.Append(" \"receive_area\":\"" + District + "\","); strorder.Append(" \"receive_address\":\"" + Province + " " + City + " " + District + " " + srenity.StreetAddress + "\","); strorder.Append(" \"goods_name\":\"" + goods_Names + "\","); strorder.Append(" \"goods_sku\":\"\","); strorder.Append(" \"goods_num\":\"" + goods_Nums + "\","); strorder.Append(" \"notes\":\"\","); strorder.Append(" \"weight\":\"" + goods_Weight + "\""); strorder.Append("}"); string enStrorder = ""; enStrorder = EncodeBase64(EncodeBase64(strorder.ToString())); string strPost = "&seller=" + EncodeBase64(config.seller) + "&api_key=" + EncodeBase64(config.api_key) + "&express=" + EncodeBase64("3") + "&order_type=" + EncodeBase64("1") + "&order=" + enStrorder; var strResult = GetResponse(expressUrl, strPost); var json = JObject.Parse(strResult); string jsons = json.ToString(); result.Message = json.ToString(); /*{ * "orderSn": "So00003784", * "state": "success", * "expressNo": "50323423506251", * "expressCode": "3", * "destinationCode": "粤-肇庆", * "nodeCode": { * "pkgCode": "广州夏良转运中心", * "billProvideSiteName": "广州新花山站", * "billProvideSiteCode": "Z04" * } * }*/ //string destinationCode = ""; //string pkgCode = ""; ; //string billProvideSiteCode = ""; //string expressNo = ""; //if (json["state"].ToString().ToLower() == "success") //{ // destinationCode = json["destinationCode"].ToString(); // pkgCode = json["nodeCode"]["pkgCode"].ToString(); // billProvideSiteCode = json["nodeCode"]["billProvideSiteCode"].ToString(); // expressNo = json["expressNo"].ToString(); //} ///订单物流信息 SoOrderSyncLogisticsLog soLogisticsLogMod = new SoOrderSyncLogisticsLog(); soLogisticsLogMod.OrderSysNo = orderInfo.SysNo; soLogisticsLogMod.Code = (int)this.Code; try { soLogisticsLogMod.LogisticsOrderId = json["express_no"].ToString(); } catch { } soLogisticsLogMod.StatusCode = json["flag"].ToString(); try { soLogisticsLogMod.StatusMsg = json["express_notes"].ToString(); } catch { try { soLogisticsLogMod.StatusMsg = json["info"].ToString(); } catch { } } soLogisticsLogMod.Packets = strorder.ToString(); soLogisticsLogMod.ReceiptContent = strResult; soLogisticsLogMod.CreateDate = DateTime.Now; soLogisticsLogMod.LastUpdateDate = DateTime.Now; SoOrderSyncLogisticsLogBo.Instance.Insert(soLogisticsLogMod); if (json["flag"].ToString().ToUpper() == "OK") { result.Status = true; result.StatusCode = 100; result.Data = soLogisticsLogMod; } else { result.Status = false; result.StatusCode = 0; result.Data = soLogisticsLogMod; } return(result); }
public override Result AddOrderTrade(int orderSysno) { //throw new NotImplementedException(); List <SoOrderSyncLogisticsLog> logList = SoOrderSyncLogisticsLogBo.Instance.GetModelList(orderSysno); List <SoOrderSyncLogisticsLog> haveLogisticsList = logList.Where(p => p.Code == (int)this.Code && p.StatusCode == "OK" && !string.IsNullOrEmpty(p.LogisticsOrderId)).ToList(); SoOrderSyncLogisticsLog nowLogistics = null; if (haveLogisticsList.Count == 0) { Result expressResult = GetExpressno(orderSysno.ToString()); nowLogistics = (expressResult as Result <SoOrderSyncLogisticsLog>).Data; if (!expressResult.Status) { return(expressResult); } } else { nowLogistics = haveLogisticsList[0]; } var order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno); var config = Hyt.BLL.Config.Config.Instance.GetGaoJieConfig(); var result = new Result <string>(); WhWarehouse warehouseMod = Hyt.BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea wareDistrictEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(warehouseMod.AreaSysNo); BsArea wareCityEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(wareDistrictEntity.ParentSysNo); SoReceiveAddress srenity = Hyt.BLL.Order.OutboundReturnBo.Instance.GetSoReceiveAddressBysoOrderSysNo(order.SysNo); string buyer_idcard = ""; if (!string.IsNullOrEmpty(srenity.IDCardNo)) { buyer_idcard = srenity.IDCardNo.Trim(); } BsArea DistrictEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(srenity.AreaSysNo); string District = DistrictEntity.AreaName.Trim(); BsArea CityEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(DistrictEntity.ParentSysNo); string City = CityEntity.AreaName.Trim(); BsArea ProvinceEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(CityEntity.ParentSysNo); string Province = ProvinceEntity.AreaName.Trim(); CBFnOnlinePayment payment = FinanceBo.Instance.GetOnPaymentBySourceSysNo(order.SysNo); IList <CBSoOrderItem> datao = SoOrderBo.Instance.GetCBOrderItemsByOrderId(order.SysNo); List <int> ProSysNo = new List <int>(); foreach (CBSoOrderItem item in datao) { ProSysNo.Add(item.ProductSysNo); } IList <CBPdProduct> productList = Hyt.BLL.Product.PdProductBo.Instance.GetProductInfoList(ProSysNo); decimal goodsGweight = 0; foreach (var mod in productList) { goodsGweight += mod.GrosWeight; } LgGaoJiePushInfo model = new LgGaoJiePushInfo(); string strorder = ""; strorder += "{\"order_sn\":\"" + order.OrderNo + "\",\"pfreight_no\":\"\",\"express_num\":\"" + nowLogistics.LogisticsOrderId + "\","; strorder += "\"sender_name\":\"" + warehouseMod.Contact + "\",\"sender_city\":\"" + wareCityEntity.AreaName + "\",\"sender_address\":\"" + warehouseMod.StreetAddress + "\","; strorder += "\"sender_phone\":\"" + warehouseMod.Phone + "\",\"sender_country_code\":\"" + wareCityEntity.AreaCode + "\","; strorder += "\"buyer_name\":\"" + srenity.Name + "\",\"buyer_idcard\":\"" + buyer_idcard + "\",\"buyer_phone\":\"" + srenity.MobilePhoneNumber + "\","; strorder += "\"province_code\":\"" + ProvinceEntity.AreaCode + "" + "\",\"buyer_address\":\"" + Province + "^^^" + City + "^^^" + District + "^^^" + srenity.StreetAddress + "\","; strorder += "\"curr\":\"502" + "\",\"pkg_gweight\":" + goodsGweight + ",\"p_name\":\"" + (payment == null ? "" : payment.PaymentName) + "\",\"p_no\":\"" + (payment == null ? "" : payment.VoucherNo) + "\","; strorder += "\"p_time\":\"" + (payment == null ? DateTime.Now.ToString("yyyy-mm-dd hh :MM") : payment.CreatedDate.ToString("yyyy-mm-dd hh :MM")) + "\",\"sh_fee\":\"" + order.FreightAmount.ToString() + "\","; strorder += "\"cus_tax\":\"" + order.TaxFee.ToString() + "\",\"pweb\":\"" + config.pweb + "\",\"web_name\":\"" + config.web_name + "\",\"re_no\":\"" + config.re_no + "\",\"re_name\":\"" + config.re_name + "\","; strorder += "\"order_goods\":"; strorder += "["; string str = ""; int i = 0; foreach (CBSoOrderItem item in datao) { //LgGaoJieGoodsInfo goodsInfo = LogisticsBo.Instance.GetLgGaoJieGoodsInfoEntityByPid(item.ProductSysNo); List <CBPdProduct> tempProductList = productList.Where(p => p.SysNo == item.ProductSysNo).ToList(); var originInfo = BLL.Basic.OriginBo.Instance.GetEntity(tempProductList[0].OriginSysNo); var brandInfo = BLL.Product.PdBrandBo.Instance.GetEntity(tempProductList[0].BrandSysNo); string ycg_code = originInfo != null ? originInfo.CusOriginNO : ""; if (i > 0) { str += ",{"; } else { str += "{"; } str += "\"goods_ptcode\":\"" + tempProductList[0].ProductDeclare; str += "\",\"goods_name\":\"" + tempProductList[0].ProductName; str += "\",\"brand\":\"" + brandInfo.Name; str += "\",\"goods_spec\":\"" + tempProductList[0].GrosWeight + "kg"; str += "\",\"goods_num\":\"" + item.Quantity.ToString(); str += "\",\"goods_price\":\"" + item.SalesUnitPrice.ToString(); str += "\",\"ycg_code\":\"" + originInfo.CusOriginNO; str += "\",\"goods_barcode\":\"" + tempProductList[0].Barcode.Trim() + "\""; str += "}"; i++; } strorder += str; strorder += "]}"; string orders = strorder; strorder = EncodeBase64(EncodeBase64(strorder)); var strPost = "&seller=" + EncodeBase64(config.seller) + "&api_key=" + EncodeBase64(config.api_key) + "&mark=" + EncodeBase64("order") + "&confirm=" + EncodeBase64("2") + "&order=" + strorder; var strResult = GetResponse(url, strPost); var json = JObject.Parse(strResult); string jsons = json.ToString(); result.Status = true; result.Data = json.ToString(); var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderSysno; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.Packets = orders.ToString(); soOrderSyncLogisticsLog.ReceiptContent = json.ToString(); soOrderSyncLogisticsLog.LogisticsOrderId = ""; //var model = new LgGaoJiePushInfo(); //model.OrderSysNo = orderSysno; //model.OrderInfo = orders.ToString(); ////保存订单回执信息 //model.ReturnInfo = json.ToString(); ////保存推送回执信息 //LogisticsBo.Instance.InsertLgGaoJiePushInfoEntity(model, BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base); string state = json["flag"].ToString().ToLower(); //推送成功 if (state == "ok" || json["info"].ToString() == "重复下单") { result.Status = true; result.Message = json["info"].ToString(); soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = result.Message; //更新物流状态CBLogisticsSendStatus BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.已推送, 3, orderSysno); } else { result.Status = false; result.Message = json["info"].ToString(); soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = result.Message; BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.失败, 3, orderSysno); } SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); return(result); }
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderSysno"></param> /// <returns>2016-09-07 杨浩 创建</returns> public override Result AddOrderTrade(int orderSysno) { var result = new Result <string>(); result.Status = true; result.StatusCode = 0; result.Message = "接口调用成功"; if (orderSysno <= 0) { return(result); } try { var orderInfo = Hyt.BLL.Web.SoOrderBo.Instance.GetEntity(orderSysno); var order = new Model.Api.Order(); order.OnlinePayment = Hyt.BLL.Finance.FinanceBo.Instance.GetOnlinePaymentBySourceSysNo(Model.WorkflowStatus.FinanceStatus.网上支付单据来源.销售单, orderInfo.SysNo); order.ReceiveAddress = SoOrderBo.Instance.GetOrderReceiveAddress(orderInfo.ReceiveAddressSysNo); order.Customer = Hyt.BLL.CRM.CrCustomerBo.Instance.GetModel(orderInfo.CustomerSysNo); order.OrderItemList = new List <OrderItem>(); var pager = new Pager <PdProduct>() { PageSize = 999999, CurrentPage = 1 }; pager = BLL.Product.PdProductBo.Instance.GetPdProductList(pager); #region 订单信息 order.OrderNo = orderInfo.OrderNo; order.CashPay = orderInfo.CashPay; order.CBLogisticsSendStatus = orderInfo.CBLogisticsSendStatus; order.CoinPay = orderInfo.CoinPay; order.ContactBeforeDelivery = orderInfo.ContactBeforeDelivery; order.CouponAmount = orderInfo.CouponAmount; order.CreateDate = DateTime.Now; order.CustomerMessage = orderInfo.CustomerMessage; order.CustomsPayStatus = orderInfo.CustomsPayStatus; order.CustomsStatus = orderInfo.CustomsStatus; order.DefaultWarehouseSysNo = 0; order.DeliveryRemarks = orderInfo.DeliveryRemarks; order.DeliveryTime = orderInfo.DeliveryTime; order.DeliveryTypeSysNo = orderInfo.DeliveryTypeSysNo; order.FreightAmount = orderInfo.FreightAmount; order.FreightChangeAmount = orderInfo.FreightChangeAmount; order.FreightDiscountAmount = orderInfo.FreightDiscountAmount; order.GZJCStatus = orderInfo.GZJCStatus; order.ImgFlag = orderInfo.ImgFlag; order.InternalRemarks = orderInfo.InternalRemarks; order.InvoiceSysNo = orderInfo.InvoiceSysNo; order.IsHiddenToCustomer = orderInfo.IsHiddenToCustomer; order.NsStatus = 0; order.OperatFee = 0; order.OrderAmount = orderInfo.OrderAmount; order.OrderCreatorSysNo = 0; order.OrderDiscountAmount = orderInfo.OrderDiscountAmount; order.PayStatus = orderInfo.PayStatus; order.PayTypeSysNo = orderInfo.PayTypeSysNo; order.ProductAmount = orderInfo.ProductAmount; order.ProductChangeAmount = orderInfo.ProductChangeAmount; order.ProductDiscountAmount = orderInfo.ProductDiscountAmount; order.RebateRtio = orderInfo.RebateRtio; order.Remarks = orderInfo.Remarks; order.SalesSysNo = orderInfo.SalesSysNo; order.SalesType = orderInfo.SalesType; order.SendStatus = orderInfo.SendStatus; order.Stamp = orderInfo.Stamp; order.Status = 10; order.TaxFee = orderInfo.TaxFee; order.UsedPromotions = ""; #endregion foreach (var item in orderInfo.OrderItemList) { var productInfo = pager.Rows.Where(x => x.SysNo == item.ProductSysNo).FirstOrDefault(); if (productInfo == null) { result.Status = false; result.StatusCode = 1; result.Message = "产品系统编号【" + item.ProductSysNo + "】在系统中不存在"; return(result); } var orderItem = new OrderItem(); orderItem.ProductCode = productInfo.ErpCode; orderItem.OrderNo = orderInfo.OrderNo; orderItem.Catle = item.Catle; orderItem.ChangeAmount = item.ChangeAmount; orderItem.DiscountAmount = item.DiscountAmount; orderItem.GroupCode = item.GroupCode; orderItem.GroupName = item.GroupName; orderItem.OriginalPrice = item.OriginalPrice; orderItem.OriginalSalesUnitPrice = item.OriginalSalesUnitPrice; orderItem.ProductName = item.ProductName; orderItem.ProductSalesType = item.ProductSalesType; orderItem.ProductSalesTypeSysNo = item.ProductSalesTypeSysNo; orderItem.Quantity = item.Quantity; orderItem.RealStockOutQuantity = item.RealStockOutQuantity; orderItem.RebatesStatus = item.RebatesStatus; orderItem.SalesAmount = item.SalesAmount; orderItem.SalesUnitPrice = item.SalesUnitPrice; orderItem.UnitCatle = item.UnitCatle; orderItem.UsedPromotions = item.UsedPromotions; order.OrderItemList.Add(orderItem); } var json = Newtonsoft.Json.JsonConvert.SerializeObject(order); Encoding myEncode = Encoding.GetEncoding("UTF-8"); byte[] postBytes = Encoding.UTF8.GetBytes(json); HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://api.singingwhale.com.cn/B2CApp/Orders.svc/AddOrder"); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; req.ContentLength = postBytes.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(postBytes, 0, postBytes.Length); } using (WebResponse res = req.GetResponse()) { using (StreamReader sr = new StreamReader(res.GetResponseStream(), myEncode)) { string strResult = sr.ReadToEnd(); var jObject = Newtonsoft.Json.Linq.JObject.Parse(strResult); int statusCode = int.Parse(jObject["StatusCode"].ToString()); var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderSysno; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = ""; soOrderSyncLogisticsLog.Packets = json; soOrderSyncLogisticsLog.ReceiptContent = strResult; if (statusCode == 0) { soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LogisticsOrderId = statusCode.ToString(); soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.已推送, 3, orderSysno); } else { result.Status = false; result.Message = jObject["Message"].ToString(); } } } } catch (Exception ex) { result.Status = false; result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } return(result); }
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderId">销售订单系统编号</param> /// <returns></returns> /// <remarks> /// 2016-3-21 杨浩 创建 /// 2016-4-19 陈海裕 重构 /// </remarks> public override Result AddOrderTrade(int orderId) { var result = new Result() { Status = false, StatusCode = 0, Message = "向" + this.Code + "物流推送订单失败" }; try { var order = Hyt.BLL.Order.SoOrderBo.Instance.GetEntity(orderId); if (order == null) { result.Status = false; result.Message = string.Format("订单号{0}不存在!", orderId); result.StatusCode = -100; } #region 旧参数 //var receiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); //if (receiveAddress == null) //{ // result.Status = false; // result.Message = string.Format("订单中的收货地址编号{0}不存在!", order.ReceiveAddressSysNo); // result.StatusCode = -101; //} //var area = BLL.Basic.BasicAreaBo.Instance.GetArea(receiveAddress.AreaSysNo); //if (area == null) //{ // result.Status = false; // result.Message = string.Format("地区({0})不存在!", receiveAddress.AreaSysNo); // result.StatusCode = -103; //} //var city = BLL.Basic.BasicAreaBo.Instance.GetArea(area.ParentSysNo); //if (city == null) //{ // result.Status = false; // result.Message = string.Format("城市({0})不存在!", area.ParentSysNo); // result.StatusCode = -104; //} //var province = BLL.Basic.BasicAreaBo.Instance.GetArea(city.ParentSysNo); //if (province == null) //{ // result.Status = false; // result.Message = string.Format("省份({0})不存在!", city.ParentSysNo); // result.StatusCode = -105; //} //if (!result.Status) // return result; //var param = "{\"orderId\":\"" + order.OrderNo + "\","; //param += "\"addr\":\"" + receiveAddress.StreetAddress + "\","; //param += "\"phone\":\"" + receiveAddress.MobilePhoneNumber + "\","; //param += "\"freight\":" + order.FreightAmount + ",";//运费 //param += "\"orderDate\":\"" + order.CreateDate.ToString("yyyy-MM-dd") + "\","; //param += "\"province\":\"" + JsonStrEscape(province.AreaName) + "\","; //param += "\"city\":\"" + JsonStrEscape(city.AreaName) + "\","; //param += "\"area\":\"" + JsonStrEscape(area.AreaName) + "\","; //param += "\"total\":" + order.ProductAmount + ",";//订单总金额 //param += "\"insuredFee\":0,"; //保价费用 //param += "\"cardType\":\"0\","; //证件类型 (默认身份证则填0) //param += "\"expressCode\":\"SF\","; //物流公司编码 //param += "\"busiMode\":\"BBC\","; //所属业务模式 (BBC/备货BC/直邮BC/个人物品) //param += "\"whCode\":\"FLC\","; //发货仓库代号 //param += "\"portCode\":\"5141\","; //口岸编码 //param += "\"platformCode\":\"IE150604146855\",";//海关企业备案号 //param += "\"cardNo\":\"" + receiveAddress.IDCardNo + "\",";//顾客身份证 //param += "\"name\":\"" + JsonStrEscape(receiveAddress.Name) + "\","; ////param += "\"senderContact\":\"测试公司\","; ////param += "\"senderPhone\":\"13500000000\","; ////param += "\"tax\":\"" + orderInfo.TaxFee + "\","; //param += "\"orderItemList\":{"; //param += "\"orderItems\":["; //var orderItemList = Hyt.BLL.Web.SoOrderBo.Instance.GetOrderItemListByOrderSysNo(orderId); //string orderItem = ""; //foreach (var item in orderItemList) //{ // if (orderItem != "") // orderItem += ","; // orderItem += "{"; // //8712400110037 // //orderItem += "\"qty\":" + item.Quantity + ",\"price\":" + item.SalesUnitPrice + ",\"total\":" + item.SalesAmount + ",\"productId\":\""+item.ErpCode+"\",\"productName\":\"" + JsonStrEscape(item.ProductName) + "\""; // orderItem += "\"qty\":" + item.Quantity + ",\"price\":" + item.SalesUnitPrice + ",\"total\":" + item.SalesAmount + ",\"productId\":\"8712400110136\",\"productName\":\"" + JsonStrEscape(item.ProductName) + "\""; // orderItem += "}"; //} //param += orderItem; //param += "]}}"; #endregion string method = "wtdex.trade.order.add"; order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); //ParaVoucherFilter voucherFilter = new ParaVoucherFilter(); //voucherFilter.SourceSysNo = order.SysNo; //CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); //recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); var filter = new ParaOnlinePaymentFilter(); filter.OrderSysNo = orderId; var onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault(); if (onlinePayment == null) { result.Message = "订单不存在在线支付记录"; return(result); } // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 CBWhWarehouse warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); var newOrder = new WTDOrder(); newOrder.addr = TConvert.ToString(order.ReceiveAddress.StreetAddress).Trim(); newOrder.area = TConvert.ToString(receiverDistrict.AreaName).Trim(); newOrder.busiMode = "BC"; newOrder.cardNo = TConvert.ToString(order.ReceiveAddress.IDCardNo); newOrder.cardType = "0"; newOrder.city = TConvert.ToString(receiverCity.AreaName).Trim(); newOrder.consumerAddr = TConvert.ToString(order.ReceiveAddress.StreetAddress).Trim(); newOrder.consumerArea = TConvert.ToString(receiverDistrict.AreaName).Trim(); newOrder.consumerCity = TConvert.ToString(receiverCity.AreaName).Trim(); newOrder.consumerName = TConvert.ToString(order.ReceiveAddress.Name); newOrder.consumerPhone = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.consumerProvince = TConvert.ToString(receiverProvince.AreaName).Trim(); newOrder.destCity = null; newOrder.expressCode = "YT";// "SF"; newOrder.expressNo = null; newOrder.freight = (double)order.FreightAmount; newOrder.ieFlag = null; newOrder.insuredFee = 0d; newOrder.invoice = null; newOrder.invoiceHead = null; newOrder.invoiceType = null; newOrder.isgac = 1; newOrder.isactpay = "0"; newOrder.isactlogistics = "1"; newOrder.mobile = null; newOrder.name = TConvert.ToString(order.ReceiveAddress.Name); newOrder.notes = TConvert.ToString(order.Remarks).Trim(); newOrder.orderDate = order.CreateDate.ToString("yyyy-MM-dd"); newOrder.orderId = onlinePayment.BusinessOrderSysNo; newOrder.paymentCode = null; newOrder.phone = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.pickMode = "0";//BC、PS情况下必填0:散货/包裹1:大货/备货,有货物在我们仓库 newOrder.platformCode = config.PlatformCode; newOrder.portCode = config.PortCode; newOrder.prodFlag = null; newOrder.province = TConvert.ToString(receiverProvince.AreaName).Trim(); newOrder.seller = null; newOrder.senderContact = TConvert.ToString(dealer.ErpName); newOrder.senderPhone = !string.IsNullOrWhiteSpace(dealer.MobilePhoneNumber) ? dealer.MobilePhoneNumber : dealer.PhoneNumber; newOrder.tax = (double)order.TaxFee; newOrder.total = (double)order.ProductAmount; //newOrder.total = 100d; newOrder.whCode = TConvert.ToString(warehouse.LogisWarehouseCode); newOrder.zipCode = null; newOrder.orderItemList = new WTDOrderItemList(); newOrder.orderItemList.orderItems = new List <WTDOrderItem>(); WTDOrderItem orderItem = new WTDOrderItem(); foreach (var item in order.OrderItemList) { var product = BLL.Product.PdProductBo.Instance.GetProductNoCache(item.ProductSysNo); orderItem.groupBarcode = null; orderItem.isGroup = null; orderItem.postTax = null; orderItem.price = (double)item.SalesUnitPrice; orderItem.productId = product.ErpCode; orderItem.productName = TConvert.ToString(item.ProductName); orderItem.qty = item.Quantity; orderItem.total = (double)item.SalesAmount; newOrder.orderItemList.orderItems.Add(orderItem); //orderItem.groupBarcode = null; //orderItem.isGroup = null; //orderItem.postTax = null; //orderItem.price = 50d; //orderItem.productId = "8712400110136"; //orderItem.productName = TConvert.ToString(item.ProductName); //orderItem.qty = 2; //orderItem.total = 100d; //newOrder.orderItemList.orderItems.Add(orderItem); //break; } string postData = Util.Serialization.JsonUtil.ToJson2(newOrder); postData = InitParams(method, postData); var _result = Hyt.Util.WebUtil.PostForm(apiUrl, postData); result = GetResponseResult(_result); if (result.Status == true) { var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderId; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = ""; soOrderSyncLogisticsLog.Packets = postData; soOrderSyncLogisticsLog.ReceiptContent = _result; soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LogisticsOrderId = ""; soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus(1, 3, orderId); } } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } return(result); }
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderSysno">订单编号</param> /// <returns></returns> /// <remarks>2016-7-26 杨浩 创建</remarks> public override Result AddOrderTrade(int orderSysno) { var result = new Result(); try { #region 基础数据 var pager = new Pager <CBPdProduct>() { CurrentPage = 1, PageSize = 99999 }; pager.PageFilter.Status = -2; pager = BLL.Product.PdProductBo.Instance.GetCBPdProductList(pager); var orderInfo = BLL.Order.SoOrderBo.Instance.GetEntityNoCache(orderSysno); var warehouseInfo = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(orderInfo.DefaultWarehouseSysNo); var srenity = Hyt.BLL.Order.OutboundReturnBo.Instance.GetSoReceiveAddressBysoOrderSysNo(orderSysno); var districtEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(srenity.AreaSysNo); string district = districtEntity.AreaName.Trim(); var cityEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(districtEntity.ParentSysNo); string city = cityEntity.AreaName.Trim(); var provinceEntity = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(cityEntity.ParentSysNo); string province = provinceEntity.AreaName.Trim(); #endregion var orders = new StringBuilder(); #region 订单商品列表 int num = 0; decimal goodsGweight = 0m;//毛重 var goodList = BLL.Order.SoOrderBo.Instance.GetOrderItemsByOrderId(orderSysno); string goods = ""; foreach (var good in goodList) { var proudctInfo = pager.Rows.Where(x => x.SysNo == good.ProductSysNo).FirstOrDefault(); if (proudctInfo == null) { result.Status = false; result.Message = string.Format("产品{0}不存在!", good.ProductSysNo); return(result); } var originInfo = BLL.Basic.OriginBo.Instance.GetEntity(proudctInfo.OriginSysNo); var brandInfo = BLL.Product.PdBrandBo.Instance.GetEntity(proudctInfo.BrandSysNo); string ycg_code = originInfo != null ? originInfo.CusOriginNO : ""; if (goods != "") { goods += ","; } goods += "{\"goodsPtcode\":\"" + proudctInfo.ProductDeclare + "\","; //税号 //goods += "{\"goodsPtcode\":\"09010110\",";//税号 goods += "\"goodsHsCode\":\"\","; //海关HS编码 goods += "\"goodSize\":\"\","; //计量单位 goods += "\"goodsName\":\"" + proudctInfo.ProductName + "\","; goods += "\"brand\":\"" + brandInfo.Name + "\","; //goods += "\"goodSpec\":\"" + proudctInfo.Volume + "\","; goods += "\"goodSpec\":\"" + proudctInfo.GrosWeight + "kg\","; goods += "\"goodsNum\":" + good.Quantity + ","; // goods += "\"goodsPrice\":" + good.SalesUnitPrice + ","; //申报单价 goods += "\"goodsTotal\":" + good.SalesAmount + ","; //申报总价 goods += "\"curr\":\"142\","; goods += "\"goodsGweight\":\"" + proudctInfo.GrosWeight + "\","; //毛重 goods += "\"suttleWeight\":\"" + proudctInfo.NetWeight + "\","; //净重 goods += "\"GoodsUrl\":\"\","; goods += "\"ycg_code\":\"" + originInfo.CusOriginNO + "\","; //国家代码 goods += "\"Note\":\"\"}"; goodsGweight += proudctInfo.GrosWeight; num += good.Quantity; } #endregion #region 订单主体 #region 仓库所在国家 var _prvinceInfo = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(warehouseInfo.ProvinceSysNo); var countryInfo = Hyt.BLL.Basic.BasicAreaBo.Instance.GetArea(_prvinceInfo.ParentSysNo); #endregion orders.Append("{\"EntRecordNo\":\"\","); //企业的内部申报单编号 orders.Append("\"EntInternalNo\":\"\","); //企业在海关备案申报系统中的备案号 orders.Append("\"pfreightNo\":\"\","); //总运单号 orders.Append("\"expressNum\":\"\","); orders.Append("\"orderSn\":\"" + orderInfo.OrderNo + "\","); orders.Append("\"DeclareCustoms\":\"" + configGj.DeclareCustoms + "\","); //申报地海关 orders.Append("\"IePort\":\"" + configGj.IePort + "\","); //进出口口岸 orders.Append("\"Voyage\": \"\","); //运输工具航次 orders.Append("\"IeDate\":" + Hyt.Util.DateUtil.ConvertDateTimeInt(DateTime.Now) + ","); //进出口日期 orders.Append("\"buyerName\":\"" + srenity.Name + "\","); //orders.Append("\"buyerName\":\"杨浩\","); orders.Append("\"buyerIdcard\":\"" + srenity.IDCardNo + "\","); orders.Append("\"buyerAddress\":\"" + province + "^^^" + city + "^^^" + district + "^^^" + srenity.StreetAddress + "\","); orders.Append("\"recipientPhoneNo\":\"" + srenity.MobilePhoneNumber + "\","); //收件人电话号码 orders.Append("\"provinceCode\":\"" + provinceEntity.AreaCode + "\","); //收件人省市区代码 orders.Append("\"postCode\":\"" + srenity.ZipCode + "\","); orders.Append("\"num\":\"" + num + "\","); orders.Append("\"senderName\":\"" + warehouseInfo.Contact + "\","); orders.Append("\"senderCountryCode\":\"" + countryInfo.AreaCode + "\","); orders.Append("\"senderCity\":\"" + warehouseInfo.CityName + "\","); orders.Append("\"senderAddress\":\"" + warehouseInfo.StreetAddress + "\","); orders.Append("\"senderPhone\":\"" + warehouseInfo.Phone + "\","); orders.Append("\"curr\":\"142\","); orders.Append("\"goodsGweight\":" + goodsGweight + ","); orders.Append("\"Notes\":\"\","); orders.Append("\"goods\":["); orders.Append(goods); orders.Append("]}"); #endregion #region 推送至高捷接口 string strorder = EncodeBase64(EncodeBase64(orders.ToString())); var strPost = "&seName=" + EncodeBase64(configGj.seller) + "&key=" + EncodeBase64(configGj.api_key) + "&mark=" + EncodeBase64("order") + "&confirm=" + EncodeBase64("2") + "&order=" + strorder; var strResult = GetResponse(url, strPost); var json = JObject.Parse(strResult);//{"state": "error","message": "用户名或密码不能为空"} var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderSysno; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.Packets = orders.ToString(); soOrderSyncLogisticsLog.ReceiptContent = json.ToString(); soOrderSyncLogisticsLog.LogisticsOrderId = ""; //var model = new LgGaoJiePushInfo(); //model.OrderSysNo = orderSysno; //model.OrderInfo = orders.ToString(); ////保存订单回执信息 //model.ReturnInfo = json.ToString(); ////保存推送回执信息 //LogisticsBo.Instance.InsertLgGaoJiePushInfoEntity(model, BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base); string state = json["state"].ToString().ToLower(); //推送成功 if (state == "success") { result.Status = true; result.Message = json["message"].ToString(); soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = result.Message; //更新物流状态CBLogisticsSendStatus BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.已推送, 3, orderSysno); } else { result.Status = false; result.Message = json["message"].ToString(); soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = result.Message; BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.失败, 3, orderSysno); } SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); #endregion } catch (ApiException ex) { result.Status = false; result.Message = ex.Message; } return(result); }
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderId">销售订单系统编号</param> /// <returns></returns> /// <remarks></remarks> /// <remarks>2016-3-8 杨浩 创建</remarks> /// <remarks>2016-09-22 周 重构</remarks> public override Result AddOrderTrade(int orderId) { var result = new Result() { Status = false, StatusCode = 0, Message = "向" + this.Code + "物流推送订单失败" }; #region try { var order = Hyt.BLL.Order.SoOrderBo.Instance.GetEntity(orderId); if (order == null) { result.Status = false; result.Message = string.Format("订单号{0}不存在!", orderId); result.StatusCode = -100; } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); var filter = new ParaOnlinePaymentFilter(); filter.OrderSysNo = orderId; var onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault(); if (onlinePayment == null) { result.Message = "订单不存在在线支付记录"; return(result); } // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 CBWhWarehouse warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); var newOrder = new CreatedOrderApiRequest(); newOrder.OutOrderNo = order.SysNo.ToString(); newOrder.DeliveryCode = "3";//暂时默认1(后期此参数作废) newOrder.ReceiverName = TConvert.ToString(order.ReceiveAddress.Name); newOrder.ReceiverMobile = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.ReceiverProvince = TConvert.ToString(receiverProvince.AreaName).Trim(); newOrder.ReceiverCity = TConvert.ToString(receiverCity.AreaName).Trim(); newOrder.ReceiverDistrict = TConvert.ToString(receiverDistrict.AreaName).Trim(); newOrder.ReceiverAddress = TConvert.ToString(order.ReceiveAddress.StreetAddress).Trim(); newOrder.ReceiverIdCard = TConvert.ToString(order.ReceiveAddress.IDCardNo); newOrder.ReceiverFrontIdCardImageUrl = HttpContext.Current.Request.Url.Host + TConvert.ToString(order.ReceiveAddress.IDCardImgs); newOrder.ReceiverOppositeIdCardImageUrl = HttpContext.Current.Request.Url.Host + TConvert.ToString(order.ReceiveAddress.IDCardImgs); newOrder.UserRemark = order.Remarks; newOrder.ThirdPlatformPaymentName = Enum.GetName(typeof(Hyt.Model.CommonEnum.PayCode), order.PayTypeSysNo); var payment = Hyt.BLL.Finance.FinanceBo.Instance.GetOnlinePaymentBySourceSysNo(orderId); string PaymentNumber = ""; if (payment != null) { PaymentNumber = payment.VoucherNo; } newOrder.ThirdPlatformPaymentNumber = PaymentNumber; newOrder.Items = new List <CreatedOrderItemRequest>(); CreatedOrderItemRequest orderItem = new CreatedOrderItemRequest(); foreach (var item in order.OrderItemList) { var product = BLL.Product.PdProductBo.Instance.GetProductNoCache(item.ProductSysNo); orderItem.SkuId = product.ErpCode; orderItem.Quantity = item.Quantity; newOrder.Items.Add(orderItem); } var json = Newtonsoft.Json.JsonConvert.SerializeObject(newOrder); //推送订单 var _result = CreatedOrder(newOrder); if (_result.ResultCode == 200) { var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderId; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = ""; soOrderSyncLogisticsLog.Packets = json; soOrderSyncLogisticsLog.ReceiptContent = _result.Tag.ToString(); soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LogisticsOrderId = ""; soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus(1, 3, orderId); result.Message = "向" + this.Code + "物流推送订单成功:回执单号:" + _result.Tag.ToString(); } else { result.Message = _result.Message; } } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } #endregion return(result); }
/// <summary> /// 更新 /// </summary> /// <param name="model">实体</param> /// <returns></returns> public abstract int Update(SoOrderSyncLogisticsLog model);
/// <summary> /// 新增 /// </summary> /// <param name="model">实体</param> /// <returns></returns> public abstract int Insert(SoOrderSyncLogisticsLog model);
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderSysno"></param> /// <returns> /// 2016-04-09 陈海裕 创建 /// 2016-08-20 杨浩 重构 /// </returns> public override Result AddOrderTrade(int orderSysno) { LogisticsLogin(); var result = new Result <string>(); result.Status = false; result.StatusCode = 0; result.Message = "接口调用失败"; string url = RequestUrl + "Express/uploadOrders"; if (orderSysno <= 0) { return(result); } try { var order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno); if (order == null) { result.Message = "该订单不存在"; return(result); } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); var voucherFilter = new ParaVoucherFilter(); voucherFilter.SourceSysNo = order.SysNo; var recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 CBWhWarehouse warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea shipperDistrict = BLL.Basic.BasicAreaBo.Instance.GetAreaList(warehouse.CitySysNo).FirstOrDefault(); BsArea shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); BsArea shipperProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.ProvinceSysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); ParaOnlinePaymentFilter filter = new ParaOnlinePaymentFilter(); filter.OrderSysNo = orderSysno; var onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault(); Regex regex = new Regex("\t|\n|\r"); OrderList newOrderList = new OrderList(); newOrderList.PrintType = "@1,@2"; newOrderList.list = new List <LGOrder>(); LGOrder newOrder = new LGOrder(); newOrder.Addr = "中国," + receiverProvince.AreaName + "," + receiverCity.AreaName + "," + receiverDistrict.AreaName + "," + order.ReceiveAddress.StreetAddress; newOrder.Addr = regex.Replace(newOrder.Addr, ""); newOrder.CardNo = order.ReceiveAddress.IDCardNo; newOrder.Create_Addr = "中国," + shipperProvince.AreaName + "," + shipperCity.AreaName + "," + shipperDistrict.AreaName + ","; newOrder.Create_Addr = regex.Replace(newOrder.Create_Addr, ""); newOrder.Create_CardNo = ""; newOrder.Create_Name = "澳门爱勤"; newOrder.Create_Phone = !string.IsNullOrWhiteSpace(dealer.MobilePhoneNumber) ? dealer.MobilePhoneNumber : dealer.PhoneNumber; newOrder.id = order.SysNo.ToString(); newOrder.Name = order.ReceiveAddress.Name; newOrder.OrderType = "A"; newOrder.PayCardNo = order.ReceiveAddress.IDCardNo; newOrder.PayCurrency = "CNY"; newOrder.PayName = order.ReceiveAddress.Name; newOrder.PayNo = recVoucher.VoucherItems[0].VoucherNo; newOrder.PayPhone = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.PayRemark = ""; newOrder.PayTime = order.CreateDate.ToString(); newOrder.PayType = GetPayType(order.PayTypeSysNo);// "alipay"; newOrder.PayUser = order.CustomerSysNo.ToString(); newOrder.Phone = newOrder.PayPhone; newOrder.Price = order.OrderAmount; newOrder.Remark = order.DeliveryRemarks; newOrder.TaxFee = order.TaxFee; newOrder.TranFee = order.FreightAmount; newOrder.Content = ""; foreach (var item in order.OrderItemList) { var productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo); newOrder.Content += productStock.Barcode + "," + item.Quantity + "," + item.SalesUnitPrice + "|"; } if (!string.IsNullOrWhiteSpace(newOrder.Content)) { newOrder.Content = newOrder.Content.Substring(0, newOrder.Content.Length - 1); } newOrderList.list.Add(newOrder); Dictionary <string, string> paramsData = new Dictionary <string, string>(); paramsData.Add("token", IdentifyPass); paramsData.Add("postdata", Util.Serialization.JsonUtil.ToJson(newOrderList)); string postData = InitParams(paramsData); string responseStr = GetResponse(url, postData); var jObject = JObject.Parse(responseStr); var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderSysno; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = ""; soOrderSyncLogisticsLog.Packets = postData; soOrderSyncLogisticsLog.ReceiptContent = responseStr; string status = jObject["status"].ToString(); if (status == "-1") { result.Status = false; result.Message = "未登录,请重试!"; IdentifyPass = string.Empty;//清空身份凭证 } else if (status == "1") { for (int i = 0; i < jObject["data"].Count(); i++) { if (jObject["data"][i]["status"].ToString() == "1") { soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LogisticsOrderId = jObject["data"][i]["id"].ToString(); soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.已推送, 3, orderSysno); result.Status = true; result.Message = "推单成功"; } else { soOrderSyncLogisticsLog.CreateDate = DateTime.Now; SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); result.Status = false; result.Message = jObject["data"][i]["message"].ToString(); } } } else { try { SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); } catch { } result.Status = false; result.Message = jObject["message"].ToString(); } } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } return(result); }
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderSysno"></param> /// <returns>2016-04-09 陈海裕 创建</returns> public override Result AddOrderTrade(int orderSysno) { // 订单id,用于日志记录 _orderSysNo = orderSysno; var result = new Result <string>(); result.Status = false; result.StatusCode = 0; result.Message = "接口调用失败"; string url = RequestUrl + "order/create"; if (orderSysno <= 0) { return(result); } try { var order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno); if (order == null) { result.Message = "该订单不存在"; return(result); } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); var voucherFilter = new ParaVoucherFilter(); voucherFilter.SourceSysNo = order.SysNo; var recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); // 收货人 区 市 省 var receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); var receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); var receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 var warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); var shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); if (string.IsNullOrEmpty(warehouse.LogisWarehouseCode)) { Result <string> whResult = GetWarehouseId(); if (!whResult.Status) { return(whResult); } else { warehouse.LogisWarehouseCode = whResult.Data.Split(':')[0].Replace("{", "").Replace("}", "").Replace("\"", "").Trim(); BLL.Warehouse.WhWarehouseBo.Instance.Update(warehouse); } } if (string.IsNullOrEmpty(receiverDistrict.AreaCode) || string.IsNullOrEmpty(receiverCity.AreaCode) || string.IsNullOrEmpty(receiverProvince.AreaCode) || string.IsNullOrEmpty(shipperCity.AreaCode)) { Result <List <YSArea> > areaResult = new Result <List <YSArea> >(); areaResult.Data = new List <YSArea>(); for (int i = 0; i < 8; i++) { areaResult.Data.AddRange(GetYSAreaData(i + 1).Data); } if (string.IsNullOrEmpty(receiverProvince.AreaCode)) { YSArea ysArea = areaResult.Data.Find((p => p.area_name == receiverProvince.AreaName.Trim() || p.old_name == receiverProvince.AreaName.Trim())); if (ysArea != null) { receiverProvince.AreaCode = ysArea.id.ToString(); BLL.Basic.BasicAreaBo.Instance.Update(receiverProvince); } } if (string.IsNullOrEmpty(receiverCity.AreaCode)) { YSArea ysArea = areaResult.Data.Find(p => (p.area_name == receiverCity.AreaName.Trim() || p.old_name == receiverCity.AreaName.Trim()) && p.pid.ToString() == receiverProvince.AreaCode); if (ysArea != null) { receiverCity.AreaCode = ysArea.id.ToString(); BLL.Basic.BasicAreaBo.Instance.Update(receiverCity); } } if (string.IsNullOrEmpty(receiverDistrict.AreaCode)) { YSArea ysArea = areaResult.Data.Find(p => (p.area_name == receiverDistrict.AreaName.Trim() || p.old_name == receiverDistrict.AreaName.Trim()) && p.pid.ToString() == receiverCity.AreaCode); if (ysArea != null) { receiverDistrict.AreaCode = ysArea.id.ToString(); BLL.Basic.BasicAreaBo.Instance.Update(receiverDistrict); } } if (string.IsNullOrEmpty(shipperCity.AreaCode)) { if (string.IsNullOrEmpty(shipperCity.AreaCode)) { shipperCity.AreaCode = shipperCity.SysNo.ToString(); } //YSArea ysArea = areaResult.Data.Find(p => p.area_name == receiverProvince.AreaName.Trim() || p.old_name == receiverDistrict.AreaName.Trim()); //if (ysArea != null) //{ // shipperCity.AreaCode = ysArea.id.ToString(); // BLL.Basic.BasicAreaBo.Instance.Update(shipperCity); //} } } var dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); var deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); var filter = new ParaOnlinePaymentFilter(); filter.OrderSysNo = orderSysno; var onlinePayment = BLL.Finance.FinanceBo.Instance.GetOnlinePayments(filter).Rows.Where(o => o.Status == 1).FirstOrDefault(); if (onlinePayment == null) { result.Message = "订单不存在在线支付记录"; return(result); } string _deliveryType = ""; if (deliveryType.DeliveryTypeName.Contains("顺丰")) { _deliveryType = "SF"; //CustomerCode = SFCustomerCode; //Key = SFKey; Token = SFToken; } else if (deliveryType.DeliveryTypeName.Contains("中通")) { _deliveryType = "ZTO"; } if (_deliveryType == "") { result.Message = "友信达物流目前只有支持顺丰和中通两种快递方式"; return(result); } // 易宝支付有限公司 PTE51001409230000001 var paramsData = new Dictionary <string, string>(); decimal grossWeight = 0m; decimal netWeight = 0m; var error = ""; string productSku = ""; string supplierCode = ""; string productName = ""; string qty = ""; string price = ""; for (int i = 0; i < order.OrderItemList.Count; i++) { var product = BLL.Product.PdProductBo.Instance.GetProduct(order.OrderItemList[i].ProductSysNo); grossWeight += (product.GrosWeight) * order.OrderItemList[i].Quantity; netWeight += (product.NetWeight) * order.OrderItemList[i].Quantity; var productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, order.OrderItemList[i].ProductSysNo); if (productStock == null) { error += order.OrderItemList[i].ProductSysNo + ","; continue; } #region 条形码商品 var RefProductName = order.OrderItemList[i].ProductName; var RefProductSysNo = order.OrderItemList[i].ProductSysNo; var RefProductQuantity = order.OrderItemList[i].Quantity; BLL.Product.PdProductBo.Instance.RefProductQuantity(ref RefProductSysNo, ref RefProductQuantity, ref RefProductName, order.SysNo); #endregion //// 订单商品 //paramsData.Add("products[" + i + "][product_sku]", product.ErpCode); //paramsData.Add("products[" + i + "][supplier_code]", ""); ////paramsData.Add("products[" + i + "][product_name]", order.OrderItemList[i].ProductName); ////paramsData.Add("products[" + i + "][qty]", order.OrderItemList[i].Quantity.ToString()); //paramsData.Add("products[" + i + "][product_name]", RefProductName); //paramsData.Add("products[" + i + "][qty]", RefProductQuantity.ToString()); ////paramsData.Add("products[" + i + "][price]",(order.OrderItemList[i].SalesUnitPrice + order.OrderItemList[i].ChangeAmount).ToString()); productSku += "&products[" + i + "][product_sku]=" + product.ErpCode; productSku += "&products[" + i + "][supplier_code]="; productSku += "&products[" + i + "][product_name]=" + order.OrderItemList[i].ProductName; productSku += "&products[" + i + "][qty]=" + RefProductQuantity; decimal amount = Math.Round(((order.OrderItemList[i].SalesAmount + order.OrderItemList[i].ChangeAmount) / order.OrderItemList[i].Quantity), 4); productSku += "&products[" + i + "][price]=" + amount; //paramsData.Add("products[" + i + "][price]", amount.ToString()); //order.OrderItemList[i].SalesAmount+order.OrderItemList[i].ChangeAmount=(order.OrderItemList[i].SalesUnitPrice*order.OrderItemList[i].Quantity) => //order.OrderItemList[i].SalesUnitPrice=(order.OrderItemList[i].SalesAmount + order.OrderItemList[i].ChangeAmount) / order.OrderItemList[i].Quantity } //2016-10-28 18:39 临时处理报错问题 if (!string.IsNullOrWhiteSpace(error)) { result.Message = this.Code + ":商品编号(" + error.TrimEnd(',') + ")在库存中找不到,无法获取SKU,请入库。"; return(result); } paramsData.Add("address_remark", ""); paramsData.Add("products", "products"); paramsData.Add("card_no", order.ReceiveAddress.IDCardNo); paramsData.Add("card_type", "01"); paramsData.Add("currency_code", "RMB"); paramsData.Add("customize_category", ""); paramsData.Add("express_method", "1"); paramsData.Add("tracking_number", ""); paramsData.Add("inter_tracking_number", ""); paramsData.Add("note", ""); paramsData.Add("freight", order.FreightAmount.ToString()); paramsData.Add("gross_weight", grossWeight.ToString()); paramsData.Add("net_weight", netWeight.ToString()); paramsData.Add("is_valuation", "0"); paramsData.Add("valuation_fee", order.TaxFee.ToString("0.00")); paramsData.Add("valuation_value", order.OrderAmount.ToString("0.00")); paramsData.Add("order_time", CreateTimeStamp(order.CreateDate).ToString()); paramsData.Add("pay_company", "易宝支付有限公司"); paramsData.Add("pay_company_no", config.CIECode);// 信营商检企业备案号 paramsData.Add("pay_no", recVoucher.VoucherItems.FirstOrDefault().VoucherNo); paramsData.Add("receiver_city_id", receiverCity.AreaCode); paramsData.Add("receiver_district_id", receiverDistrict.AreaCode); paramsData.Add("receiver_name", order.ReceiveAddress.Name); //paramsData.Add("receiver_postcode", order.ReceiveAddress.ZipCode); paramsData.Add("receiver_postcode", "000000");// 无邮政编码,默认六个零 paramsData.Add("receiver_province_id", receiverProvince.AreaCode); paramsData.Add("receiver_fax", receiverProvince.AreaCode); paramsData.Add("receiver_tel", order.ReceiveAddress.MobilePhoneNumber); paramsData.Add("receiver_tel2", order.ReceiveAddress.PhoneNumber); paramsData.Add("reference_no", onlinePayment.BusinessOrderSysNo); paramsData.Add("receiver_address", order.ReceiveAddress.StreetAddress); paramsData.Add("shipper_city", shipperCity.AreaName); paramsData.Add("shipper_country", "CN"); //paramsData.Add("shipper_country", "HK"); paramsData.Add("shipper_name", !string.IsNullOrWhiteSpace(warehouse.BackWarehouseName) ? warehouse.BackWarehouseName : dealer.ErpName); paramsData.Add("sm_code", _deliveryType); paramsData.Add("tax_amount", order.TaxFee.ToString()); paramsData.Add("total_amount", order.OrderAmount.ToString()); paramsData.Add("total_product_amount", (order.ProductAmount + order.ProductChangeAmount).ToString()); //paramsData.Add("wrap_type", "2C1"); paramsData.Add("wrap_type", "4M"); paramsData.Add("warehouse_id", warehouse.LogisWarehouseCode);//广州白云 paramsData.Add("shipper_tel", string.IsNullOrWhiteSpace(dealer.MobilePhoneNumber) ? dealer.PhoneNumber : dealer.MobilePhoneNumber); paramsData.Add("shipper_address", warehouse.StreetAddress); string postData = InitParams(paramsData); string timerstamp = CreateTimeStamp(); //postData += Key + timerstamp; postData = postData.Replace("&products=products", productSku + supplierCode + productName + qty + price); string responseStr = GetResponse(url, postData, timerstamp, Key); result = GetResult(JObject.Parse(responseStr), result); var soOrderSyncLogisticsLog = new SoOrderSyncLogisticsLog(); soOrderSyncLogisticsLog.OrderSysNo = orderSysno; soOrderSyncLogisticsLog.Code = (int)this.Code; soOrderSyncLogisticsLog.LastUpdateDate = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue; soOrderSyncLogisticsLog.StatusCode = ""; soOrderSyncLogisticsLog.StatusMsg = ""; soOrderSyncLogisticsLog.Packets = postData; soOrderSyncLogisticsLog.ReceiptContent = responseStr; if (result.Status == true) { soOrderSyncLogisticsLog.LastUpdateBy = 0; soOrderSyncLogisticsLog.LogisticsOrderId = JObject.Parse(responseStr)["data"]["order_sn"].ToString(); soOrderSyncLogisticsLog.CreateDate = DateTime.Now; soOrderSyncLogisticsLog.CreatedBy = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo; SoOrderSyncLogisticsLogBo.Instance.Insert(soOrderSyncLogisticsLog); BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)Hyt.Model.WorkflowStatus.OrderStatus.跨境物流推送状态.已推送, 3, orderSysno); } } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } return(result); }
/// <summary> /// 新增 /// </summary> /// <param name="model">实体</param> /// <returns></returns> public override int Insert(SoOrderSyncLogisticsLog model) { return(Context.Insert <SoOrderSyncLogisticsLog>("SoOrderSyncLogisticsLog", model) .AutoMap(o => o.SysNo) .ExecuteReturnLastId <int>()); }