/// <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);
 }
Esempio n. 3
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 ///  <remarks>2017-08-14 杨浩 创建</remarks>
 public int Update(SoOrderPayPushLog entity)
 {
     return(ISoOrderPayPushLogDao.Instance.Update(entity));
 }
Esempio n. 4
0
 /// <summary>
 /// 插入订单支付单日志
 /// </summary>
 /// <param name="item"></param>
 /// <returns>操作是否成功</returns>
 /// <remarks>2017-08-14 杨浩 创建</remarks>
 public SoOrderPayPushLog Insert(SoOrderPayPushLog entity)
 {
     return(ISoOrderPayPushLogDao.Instance.Insert(entity));
 }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 ///  <remarks>2017-08-14 杨浩 创建</remarks>
 public abstract int Update(SoOrderPayPushLog model);
Esempio n. 7
0
 /// <summary>
 /// 插入订单支付单日志
 /// </summary>
 /// <param name="item"></param>
 /// <returns>操作是否成功</returns>
 /// <remarks>2017-08-14 杨浩 创建</remarks>
 public abstract SoOrderPayPushLog Insert(SoOrderPayPushLog item);