/// <summary> /// 插进推送订单返回值 /// </summary> /// <param name="entity"></param> /// <returns>2015-09-02 王耀发 创建</returns> public override int InsertSendOrderReturn(SendOrderReturn entity) { entity.SysNo = Context.Insert("SendOrderReturn", entity) .AutoMap(o => o.SysNo) .ExecuteReturnLastId <int>("SysNo"); return(entity.SysNo); }
public override Result <string> SendOrder(int orderSysNo) { var result = new Result <string>() { Status = false, StatusCode = 0, Message = "" }; lock (lockHelper)//防止多人同时操作造成产品重复添加 { var order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysNo); if (order == null) { result.Message = "该订单不存在"; } else { try { order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.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); Dictionary <string, string> postData = new Dictionary <string, string>(); //下单商品 sku及购买数量,sku和购买数量用逗号隔开,多件商品时用分号隔开(如: test001,1;test002,1) //B0230115,2;B0230131,3 var skuinfo = ""; foreach (var item in order.OrderItemList) { ScProduct scProduct = BLL.Supply.ScProductBo.Instance.GetScProductInfo(item.ProductSysNo, (int)Code); skuinfo += string.Format("{0},{1};", scProduct.SKU, item.Quantity); } skuinfo = skuinfo.TrimEnd(';'); postData.Add("skuinfo", skuinfo); postData.Add("consi_name", order.ReceiveAddress.Name); //收货人姓名 postData.Add("consi_phone", order.ReceiveAddress.MobilePhoneNumber); //收货人手机号码 postData.Add("consi_card", order.ReceiveAddress.IDCardNo); //收货人身份证 postData.Add("consi_provinc", receiverProvince.AreaName); //收货人所在省 postData.Add("consi_city", receiverCity.AreaName); //收货人所在城市 postData.Add("consi_county", receiverDistrict.NameAcronym); //收货人所在县 postData.Add("consi_address", order.ReceiveAddress.StreetAddress); //收货人所在地址 postData.Add("consi_freight", order.FreightAmount.ToString()); //运费 postData.Add("consi_price", order.OrderAmount.ToString()); //订单金额 //(非必填)torder 第三方订单号 //(非必填)paytype 支付方式(1:快付通,2:快钱,3:支付宝,4:微信,5:易极付,6:招商银行) //(非必填)pay_tradeno 支付流水号 postData.Add("remark", "平台推单");//订单备注信息 string responsestr = Post(Config.GatewayUrl + "?c=vendor&a=addOrder", postData); result.Data = responsestr; var back = JObject.Parse(responsestr); result = GetResult(result, back); if (result.Status) { //返回结果保存到SendOrderReturn表中 2016-4-26 王耀发 创建 SendOrderReturn m = new SendOrderReturn(); m.soOrderSysNo = orderSysNo; m.Code = "1"; m.Msg = responsestr; m.OrderNo = back["data"]["order_number"].ToString(); Hyt.BLL.Order.SoOrderBo.Instance.InsertSendOrderReturn(m, AdminAuthenticationBo.Instance.Current.Base); //更新订单的商检推送状态 Hyt.BLL.Order.SoOrderBo.UpdateOrderSendStatus(orderSysNo, (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单推送状态.已推送); } } catch (Exception ex) { result.Status = false; result.StatusCode = -2; result.Message = ex.Message; } } return(result); } }
public override Result <string> SendOrder(int orderSysNo) { var result = new Result <string>() { Status = false, StatusCode = 0, Message = "" }; var order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysNo); if (order == null) { result.Message = "该订单不存在"; } else { try { order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.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); var provice = receiverProvince.AreaName.Replace("省", "").Replace("市", ""); var postData = new Dictionary <string, string>(); postData.Add("appKey", Config.Account); postData.Add("orderNo", order.SysNo.ToString()); //网店订单编号[必填] postData.Add("userName", order.CustomerSysNo.ToString()); //买家ID[可填] postData.Add("uName", order.ReceiveAddress.Name); //收件人姓名[必填] postData.Add("province", provice); //省份[必填] postData.Add("city", receiverCity.AreaName); //城市[必填] postData.Add("district", receiverDistrict.AreaName); //区域[必填] postData.Add("address", provice + " " + receiverCity.AreaName + " " + receiverDistrict.AreaName + " " + order.ReceiveAddress.StreetAddress); //地址[必填] postData.Add("postcode", "123456"); //邮编[必填] postData.Add("mobiTel", order.ReceiveAddress.MobilePhoneNumber); //手机号码[可填][注:手机号码和电话号码至少填一项] //postData.Add("phone", order.ReceiveAddress.PhoneNumber);//电话号码[可填][注:手机号码和电话号码至少填一项] postData.Add("cRemark", order.ReceiveAddress.IDCardNo); //身份信息 //postData.Add("oRemark", order.InternalRemarks);//卖家备注[可填] postData.Add("oSumPrice", order.OrderAmount.ToString()); //实付订单总金额[必填] //postData.Add("expFee", order.FreightAmount.ToString());//实付订单运费[可填][默认为0] postData.Add("expCod", "0"); //是否货到付款[必填][1:货到付款] //postData.Add("codFee", "0");//货到付款手续费[可填][默认为0] //postData.Add("expCodFee", "0");//货到付款代收运费[可填][默认为0] //postData.Add("payTime", "2015-04-20 09:44:44");//订单支付日期 //postData.Add("paymententerprise", "");//订单支付企业 //postData.Add("paymentno", "");//订单支付流水号 List <Api_OrderProInfo> postOrderItemList = new List <Api_OrderProInfo>(); foreach (var item in order.OrderItemList) { var scProduct = BLL.Supply.ScProductBo.Instance.GetScProductInfo(item.ProductSysNo, (int)Code); if (scProduct != null) { var scObj = JObject.Parse(scProduct.Receipt); var model = new Api_OrderProInfo() { proNo = scObj["ProNo"].ToString(), proSku = scProduct.SKU, proTitle = scProduct.ProductName, proCount = item.Quantity.ToString(), proPrice = item.SalesUnitPrice.ToString() }; postOrderItemList.Add(model); } } postData.Add("OrderPro", JsonConvert.SerializeObject(postOrderItemList)); var responseStr = Post("IOpenAPI.AddOrder", postData); var back = JObject.Parse(responseStr); result = GetResult(back); if (result.Status) { try { using (var tran = new System.Transactions.TransactionScope()) { SendOrderReturn m = new SendOrderReturn(); m.OverseaCarrier = ""; m.OverseaTrackingNo = ""; m.soOrderSysNo = orderSysNo; m.Code = "1"; m.Msg = JsonConvert.SerializeObject(back); m.OrderNo = back["Result"].ToString(); Hyt.BLL.Order.SoOrderBo.Instance.InsertSendOrderReturn(m, Hyt.BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base); //更新订单推送状态 Hyt.BLL.Order.SoOrderBo.UpdateOrderSendStatus(orderSysNo, (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单推送状态.已推送); result.Message = "推送成功"; tran.Complete(); } } catch (Exception ex) { result.Status = false; result.Message = ex.Message; BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.后台, this.Code + "订单推送:" + ex.Message, ex); } } } catch (Exception ex) { result.Message = ex.Message; BLL.Log.SysLog.Instance.Error(Model.WorkflowStatus.LogStatus.系统日志来源.后台, this.Code + "订单推送:" + ex.Message, ex); } } return(result); }
/// <summary> /// 插进推送订单返回值 /// </summary> /// <param name="entity"></param> /// <returns>2015-09-02 王耀发 创建</returns> public abstract int InsertSendOrderReturn(SendOrderReturn entity);