/// <summary> /// 更新 /// </summary> /// <param name="model"></param> /// <returns></returns> /// <remarks>2017-08-14 杨浩 创建</remarks> public override int Update(SoOrderPayPushLog entity) { return(Context.Update("SoOrderPayPushLog", entity) .AutoMap(o => o.SysNo) .Where("SysNo", entity.SysNo) .Execute()); }
/// <summary> /// 插入订单支付单日志 /// </summary> /// <param name="item"></param> /// <returns>操作是否成功</returns> /// <remarks>2017-08-14 杨浩 创建</remarks> public override SoOrderPayPushLog Insert(SoOrderPayPushLog entity) { entity.SysNo = Context.Insert("SoOrderPayPushLog", entity) .AutoMap(o => o.SysNo) .ExecuteReturnLastId <int>("SysNo"); return(entity); }
/// <summary> /// 更新 /// </summary> /// <param name="model"></param> /// <returns></returns> /// <remarks>2017-08-14 杨浩 创建</remarks> public int Update(SoOrderPayPushLog entity) { return(ISoOrderPayPushLogDao.Instance.Update(entity)); }
/// <summary> /// 插入订单支付单日志 /// </summary> /// <param name="item"></param> /// <returns>操作是否成功</returns> /// <remarks>2017-08-14 杨浩 创建</remarks> public SoOrderPayPushLog Insert(SoOrderPayPushLog entity) { return(ISoOrderPayPushLogDao.Instance.Insert(entity)); }
/// <summary> /// 海关报关 /// </summary> /// <returns></returns> /// <remarks>2017-07-13 杨浩 创建</remarks> public override Result ApplyToCustoms(SoOrder order) { var result = new Result() { Status = false }; try { string V_PFREIGHT_NO = ""; var httpCurrent = System.Web.HttpContext.Current; if (httpCurrent != null && httpCurrent.Request != null && httpCurrent.Request.Form != null) { V_PFREIGHT_NO = httpCurrent.Request.Form["V_PFREIGHT_NO"]; } if (order != null) { Hyt.BLL.Order.SoOrderBo.Instance.UpdateOrderPayType(order.SysNo, (int)this.Code); var receiveInfo = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); var warehouseInfo = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); //if (warehouseInfo.Logistics == (int)Hyt.Model.CommonEnum.物流代码.新银河世纪) //{ // if (string.IsNullOrWhiteSpace(order.ExpressNo)) // { // result.Message = "订单号【" + order.SysNo + "】未填快递单号!"; // return result; // } // if (string.IsNullOrWhiteSpace(V_PFREIGHT_NO)) // { // result.Message = "未填写运单号!"; // return result; // } //} #region 参数说明 //版本号,固定值:1.0 string version = "1.0"; //服务器接收支付结果的后台地址 string bgUrl = "http://admin.singingwhale.cn/OrderResult/ReceiveBg"; //签名类型,该值为4,代表PKI加密方式,该参数必填。 string signType = "4"; //支付流水号,不可空。 string dealId = ""; //海关代码,不可空。 string customCode = "SZHG"; // //海关版本,可空。 string customVersion = "1.0"; //商户海关备案号,不可空 string merCustomCode = "4403160YDP"; //商户海关备案名称,不可空。 string merCustomName = "深圳市信营国际电子商务有限公司"; //证件类型,不可空,1-身份证 string payerIdType = "1"; //姓名,不可空。 string payerName = receiveInfo.Name; // //身份证号,不可空。 string payerIdNumber = receiveInfo.IDCardNo; //321281199302133913 //商户订单号,不可空。 string orderId = order.SysNo.ToString() + DateTime.Now.ToString("_yyMMddHHmmss"); //订单币种,不可空 string orderCurrency = "CNY"; //订单金额 string orderAmt = ((int)(order.OrderAmount * 100)).ToString(); //物流费 string freightAmt = ((int)(order.FreightAmount * 100)).ToString(); //货款 string goodsAmt = ((int)(order.CashPay * 100)).ToString(); //关税 string taxAmt = ((int)(order.TaxFee * 100)).ToString();; //抵扣金额 string offsetAmt = "0"; //电商平台企业简写(四位),不可空 string ecpShortName = "1500002394"; //电商平台域名 String ecpDomainName = "http://demo.singingwhale.cn"; //主管海关代码 String competCustom = "5166"; //检验检疫机构代码 String iaqInstCode = "440330";// "1500002394"; //业务类型 String bizType = ""; //扩展字段1 String ext1 = Guid.NewGuid().ToString(); //扩展字段2 String ext2 = ""; string signMsg = ""; #endregion //拼接字符串 string signMsgVal = ""; signMsgVal = appendParam(signMsgVal, "version", version); signMsgVal = appendParam(signMsgVal, "bgUrl", bgUrl); signMsgVal = appendParam(signMsgVal, "signType", signType); signMsgVal = appendParam(signMsgVal, "merchantAcctId", merchantAcctId); signMsgVal = appendParam(signMsgVal, "terminalId", terminalId); signMsgVal = appendParam(signMsgVal, "dealId", dealId); signMsgVal = appendParam(signMsgVal, "customCode", customCode); signMsgVal = appendParam(signMsgVal, "customVersion", customVersion); signMsgVal = appendParam(signMsgVal, "merCustomCode", merCustomCode); signMsgVal = appendParam(signMsgVal, "merCustomName", merCustomName); signMsgVal = appendParam(signMsgVal, "payerIdType", payerIdType); signMsgVal = appendParam(signMsgVal, "payerName", payerName); signMsgVal = appendParam(signMsgVal, "payerIdNumber", payerIdNumber); signMsgVal = appendParam(signMsgVal, "orderId", orderId); signMsgVal = appendParam(signMsgVal, "orderCurrency", orderCurrency); signMsgVal = appendParam(signMsgVal, "orderAmt", orderAmt); signMsgVal = appendParam(signMsgVal, "freightAmt", freightAmt); signMsgVal = appendParam(signMsgVal, "goodsAmt", goodsAmt); signMsgVal = appendParam(signMsgVal, "taxAmt", taxAmt); signMsgVal = appendParam(signMsgVal, "offsetAmt", offsetAmt); ///PKI加密 ///编码方式UTF-8 GB2312 用户可以根据自己系统的编码选择对应的加密方式 ///byte[] OriginalByte=Encoding.GetEncoding("GB2312").GetBytes(OriginalString); byte[] bytes = System.Text.Encoding.UTF8.GetBytes(signMsgVal); X509Certificate2 cert = new X509Certificate2(Hyt.Util.WebUtil.GetMapPath("/10042864953.pfx"), "123456", X509KeyStorageFlags.MachineKeySet); RSACryptoServiceProvider rsapri = (RSACryptoServiceProvider)cert.PrivateKey; RSAPKCS1SignatureFormatter f = new RSAPKCS1SignatureFormatter(rsapri); byte[] _result; f.SetHashAlgorithm("SHA1"); SHA1CryptoServiceProvider sha = new SHA1CryptoServiceProvider(); _result = sha.ComputeHash(bytes); signMsg = System.Convert.ToBase64String(f.CreateSignature(_result)).ToString(); Encoding encoding = Encoding.GetEncoding("utf-8"); var parameters = new Dictionary <string, string>(); parameters.Add("version", "1.0"); parameters.Add("bgUrl", bgUrl); parameters.Add("signType", "4"); parameters.Add("merchantAcctId", merchantAcctId); parameters.Add("terminalId", terminalId); parameters.Add("dealId", ""); //支付流水号 parameters.Add("customCode", customCode); //海关代码 parameters.Add("customVersion", customVersion); //海关版本 可空 parameters.Add("merCustomCode", merCustomCode); //商户海关备案号 parameters.Add("merCustomName", merCustomName); //商户海关备案名称 parameters.Add("payerIdType", "1"); //证件类型 parameters.Add("payerName", payerName); //姓名 parameters.Add("payerIdNumber", payerIdNumber); //身份证号 parameters.Add("orderId", orderId); //商户订单号 parameters.Add("orderCurrency", "CNY"); //订单币种 parameters.Add("orderAmt", orderAmt); //订单金额 型数字 以分为单位。比方10元,提交时金额应为1000,商户页面显示金额可以转换成以元为单位显示 parameters.Add("freightAmt", freightAmt); //物流费 parameters.Add("goodsAmt", goodsAmt); //货款 parameters.Add("taxAmt", taxAmt); //关税 parameters.Add("offsetAmt", offsetAmt); //抵扣金额 parameters.Add("ecpShortName", ecpShortName); //电商平台企业简写 parameters.Add("ecpDomainName", ecpDomainName); //电商平台域名 parameters.Add("competCustom", competCustom); //主管海关代码 parameters.Add("iaqInstCode", iaqInstCode); //检验检疫机构代码 parameters.Add("bizType", bizType); //业务类型 parameters.Add("ext1", ext1); //扩展字段1 可空 parameters.Add("ext2", ext2); //扩展字段1 可空 parameters.Add("signMsg", signMsg); //签名信息 string posData = ""; HttpWebResponse response = CreatePostHttpResponse(url, parameters, null, null, encoding, null, ref posData); if (response.StatusCode == HttpStatusCode.OK) { System.IO.Stream responseStream = response.GetResponseStream(); System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, Encoding.UTF8); string respTxt = reader.ReadToEnd(); if (respTxt.Length == 0) { result.Status = false; result.Message = "网关系统异常,返回内容为空"; return(result); } result = ReceiveData(respTxt); if (result.Status) { Hyt.BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)OrderStatus.支付报关状态.处理中, 0, order.SysNo); Hyt.BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus((int)OrderStatus.支付报关状态.处理中, 1, order.SysNo); var current = BLL.Authentication.AdminAuthenticationBo.Instance.Current; var model = new SoOrderPayPushLog() { PaymentTypeSysNo = 19, OrderSysNo = order.SysNo, Message = posData, ErrorCode = ((Result <string>)result).Data,// ErroMsg = result.Message, CreateBy = current == null?0:current.Base.SysNo, CreateDate = DateTime.Now, MarkId = ext1, Data = V_PFREIGHT_NO, }; //BLL.Order.SoOrderPayPushLogBo.Instance.Insert(model); #region 推送物流 //var a_result=BLL.Order.SoOrderBo.Instance.AutoThreeSinglePush(order,true,false,false); //if (!a_result.Status) // return a_result; #endregion } return(result); } result.Status = false; result.Message = "网关系统异常,返回码[" + response.StatusCode + "]"; } else { result.Status = false; result.Message = "订单不存在!"; } } catch (Exception ex) { result.Message = "报错!"; result.Status = false; BLL.Log.LocalLogBo.Instance.Write("报错!" + ex.Message, "EhkingCustomsLog"); } return(result); }
/// <summary> /// 更新 /// </summary> /// <param name="model"></param> /// <returns></returns> /// <remarks>2017-08-14 杨浩 创建</remarks> public abstract int Update(SoOrderPayPushLog model);
/// <summary> /// 插入订单支付单日志 /// </summary> /// <param name="item"></param> /// <returns>操作是否成功</returns> /// <remarks>2017-08-14 杨浩 创建</remarks> public abstract SoOrderPayPushLog Insert(SoOrderPayPushLog item);