/// <summary> /// 充值返回更新标识 /// </summary> public void Update_ips(BCW.Model.Payrmb model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update tb_Payrmb set "); strSql.Append("GatewayType=@GatewayType,"); strSql.Append("Attach=@Attach,"); strSql.Append("BankCode=@BankCode,"); strSql.Append("ProductType=@ProductType,"); strSql.Append("State=@State"); strSql.Append(" where ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@GatewayType", SqlDbType.NVarChar, 50), new SqlParameter("@Attach", SqlDbType.NVarChar, 50), new SqlParameter("@BankCode", SqlDbType.NVarChar, 50), new SqlParameter("@ProductType", SqlDbType.NVarChar, 50), new SqlParameter("@State", SqlDbType.Int, 4), new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = model.GatewayType; parameters[1].Value = model.Attach; parameters[2].Value = model.BankCode; parameters[3].Value = model.ProductType; parameters[4].Value = model.State; parameters[5].Value = model.ID; SqlHelper.ExecuteSql(strSql.ToString(), parameters); }
/// <summary> /// 取得每页记录 /// </summary> /// <param name="p_pageIndex">当前页</param> /// <param name="p_pageSize">分页大小</param> /// <param name="p_recordCount">返回总记录数</param> /// <param name="strWhere">查询条件</param> /// <returns>IList Payrmb</returns> public IList <BCW.Model.Payrmb> GetPayrmbs(int p_pageIndex, int p_pageSize, string strWhere, out int p_recordCount) { IList <BCW.Model.Payrmb> listPayrmbs = new List <BCW.Model.Payrmb>(); string sTable = "tb_Payrmb"; string sPkey = "id"; string sField = "ID,UsID,UsName,Types,CardAmt,CardNum,CardPwd,CardOrder,State,AddUsIP,AddTime,MerBillNo,Amount,GatewayType,Attach,BillEXP,GoodsName,IsCredit,BankCode,ProductType"; string sCondition = strWhere; string sOrder = "ID Desc"; int iSCounts = 0; using (SqlDataReader reader = SqlHelper.RunProcedureMe(sTable, sPkey, sField, p_pageIndex, p_pageSize, sCondition, sOrder, iSCounts, out p_recordCount)) { //计算总页数 if (p_recordCount > 0) { int pageCount = BasePage.CalcPageCount(p_recordCount, p_pageSize, ref p_pageIndex); } else { return(listPayrmbs); } while (reader.Read()) { BCW.Model.Payrmb objPayrmb = new BCW.Model.Payrmb(); objPayrmb.ID = reader.GetInt32(0); objPayrmb.UsID = reader.GetInt32(1); objPayrmb.UsName = reader.GetString(2); objPayrmb.Types = reader.GetInt32(3); objPayrmb.CardAmt = reader.GetInt32(4); objPayrmb.CardNum = reader.GetString(5); objPayrmb.CardPwd = reader.GetString(6); objPayrmb.CardOrder = reader.GetString(7); objPayrmb.State = reader.GetInt32(8); objPayrmb.AddUsIP = reader.GetString(9); objPayrmb.AddTime = reader.GetDateTime(10); if (reader.GetInt32(3) == 100) { objPayrmb.MerBillNo = reader.GetString(11); objPayrmb.Amount = reader.GetDecimal(12); objPayrmb.GatewayType = reader.GetString(13); objPayrmb.Attach = reader.GetString(14); objPayrmb.BillEXP = reader.GetInt32(15); objPayrmb.GoodsName = reader.GetString(16); objPayrmb.IsCredit = reader.GetString(17); objPayrmb.BankCode = reader.GetString(18); objPayrmb.ProductType = reader.GetString(19); } listPayrmbs.Add(objPayrmb); } } return(listPayrmbs); }
/// <summary> /// 得到一个对象实体 /// </summary> public BCW.Model.Payrmb GetPayrmb(int ID) { StringBuilder strSql = new StringBuilder(); strSql.Append("select top 1 ID,UsID,UsName,Types,CardAmt,CardNum,CardPwd,CardOrder,State,AddUsIP,AddTime,MerBillNo,Amount,GatewayType,Attach,BillEXP,GoodsName,IsCredit,BankCode,ProductType from tb_Payrmb "); strSql.Append(" where ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4) }; parameters[0].Value = ID; BCW.Model.Payrmb model = new BCW.Model.Payrmb(); using (SqlDataReader reader = SqlHelper.ExecuteReader(strSql.ToString(), parameters)) { if (reader.HasRows) { reader.Read(); model.ID = reader.GetInt32(0); model.UsID = reader.GetInt32(1); model.UsName = reader.GetString(2); model.Types = reader.GetInt32(3); model.CardAmt = reader.GetInt32(4); model.CardNum = reader.GetString(5); model.CardPwd = reader.GetString(6); model.CardOrder = reader.GetString(7); model.State = reader.GetInt32(8); model.AddUsIP = reader.GetString(9); model.AddTime = reader.GetDateTime(10); model.MerBillNo = reader.GetString(11); model.Amount = reader.GetDecimal(12); model.GatewayType = reader.GetString(13); model.Attach = reader.GetString(14); model.BillEXP = reader.GetInt32(15); model.GoodsName = reader.GetString(16); model.IsCredit = reader.GetString(17); model.BankCode = reader.GetString(18); model.ProductType = reader.GetString(19); return(model); } else { return(null); } } }
/// <summary> /// 更新一条数据 /// </summary> public void Update2(BCW.Model.Payrmb model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update tb_Payrmb set "); strSql.Append("UsID=@UsID,"); strSql.Append("UsName=@UsName,"); strSql.Append("Types=@Types,"); strSql.Append("CardAmt=@CardAmt,"); strSql.Append("CardNum=@CardNum,"); strSql.Append("CardPwd=@CardPwd,"); strSql.Append("CardOrder=@CardOrder,"); strSql.Append("State=@State,"); strSql.Append("AddUsIP=@AddUsIP,"); strSql.Append("AddTime=@AddTime"); strSql.Append(" where ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4), new SqlParameter("@UsID", SqlDbType.Int, 4), new SqlParameter("@UsName", SqlDbType.NVarChar, 50), new SqlParameter("@Types", SqlDbType.Int, 4), new SqlParameter("@CardAmt", SqlDbType.Int, 4), new SqlParameter("@CardNum", SqlDbType.NVarChar, 50), new SqlParameter("@CardPwd", SqlDbType.NVarChar, 50), new SqlParameter("@CardOrder", SqlDbType.NVarChar, 50), new SqlParameter("@State", SqlDbType.Int, 4), new SqlParameter("@AddUsIP", SqlDbType.NVarChar, 50), new SqlParameter("@AddTime", SqlDbType.DateTime) }; parameters[0].Value = model.ID; parameters[1].Value = model.UsID; parameters[2].Value = model.UsName; parameters[3].Value = model.Types; parameters[4].Value = model.CardAmt; parameters[5].Value = model.CardNum; parameters[6].Value = model.CardPwd; parameters[7].Value = model.CardOrder; parameters[8].Value = model.State; parameters[9].Value = model.AddUsIP; parameters[10].Value = model.AddTime; SqlHelper.ExecuteSql(strSql.ToString(), parameters); }
/// <summary> /// 更新一条数据 /// </summary> public void Update3(BCW.Model.Payrmb model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update tb_Payrmb set "); strSql.Append("CardAmt=@CardAmt,"); strSql.Append("State=@State"); strSql.Append(" where ID=@ID "); SqlParameter[] parameters = { new SqlParameter("@ID", SqlDbType.Int, 4), new SqlParameter("@CardAmt", SqlDbType.Int, 4), new SqlParameter("@State", SqlDbType.Int, 4) }; parameters[0].Value = model.ID; parameters[1].Value = model.CardAmt; parameters[2].Value = model.State; SqlHelper.ExecuteSql(strSql.ToString(), parameters); }
/// <summary> /// 按商户订单查询 /// </summary> /// <param name="model">订单实体</param> /// <param name="SignatureOrder"></param> /// <returns></returns> public static string GetSignatureByChkOrder(BCW.Model.Payrmb model, ref string SignatureOrder) { string pBody = ""; if (model != null) { pBody += string.Format("<body><MerBillNo>{0}</MerBillNo>", model.MerBillNo); //商户订单号 必填字母及数字 pBody += string.Format("<Date>{0}</Date>", model.AddTime.ToString("yyyyMMdd")); //订单日期 格式 yyyyMMdd pBody += string.Format("<Amount>{0}</Amount>", model.Amount.ToString("0.00")); //订单金额 必填 保留两位小数 pBody += string.Format("</body>"); } //生成数字签名 <body>……</body>节点字符串+商户号+商户数字证书迚行签名(包括body标签) if (pBody != "") { string Rs = pBody + merchantId + Sign; MD5CryptoServiceProvider hashmd5; hashmd5 = new MD5CryptoServiceProvider(); SignatureOrder = StringToMD5Hash(Rs); } return(pBody); }
/// <summary> /// 获得数字签名和body字符串 /// </summary> /// <param name="model">订单实体</param> /// <param name="iBankCode">银行标识</param> /// <param name="iGatewayType">支付类型</param> /// <param name="usUrl">用户页面</param> /// <param name="Signature">返回数字签名</param> public static string GetSignature(string DomUrl, BCW.Model.Payrmb model, string iBankCode, string iGatewayType, string usUrl, ref string Signature) { string pBody = ""; if (model != null) { //string DomUrl = "http://" + Utils.GetDomain() + "/"; string attachstr = model.ID + "," + model.UsID + "," + model.GoodsName + "," + iBankCode + "," + usUrl; attachstr = BCW.Common.DESEncrypt.Encrypt(attachstr, IpsKey); pBody += string.Format("<body><MerBillNo>{0}</MerBillNo>", model.MerBillNo); //商户订单号 必填字母及数字 pBody += string.Format("<Amount>{0}</Amount>", model.Amount.ToString("0.00")); //订单金额 必填 保留两位小数 pBody += string.Format("<Date>{0}</Date>", model.AddTime.ToString("yyyyMMdd")); //订单日期 格式 yyyyMMdd pBody += string.Format("<CurrencyType>{0}</CurrencyType>", "156"); //币种 人民币:156 pBody += string.Format("<GatewayType>{0}</GatewayType>", iGatewayType); //支付方式 01#借记卡02#信用卡03#IPS账户支付 默认01 pBody += string.Format("<Lang>{0}</Lang>", "GB"); //语言 GB pBody += string.Format("<Merchanturl>{0}</Merchanturl>", DomUrl + Merchanturl); //支付成功返回的商户URL pBody += string.Format("<FailUrl>{0}</FailUrl>", DomUrl + FailUrl); //支付失败返回的商户URL pBody += string.Format("<Attach>{0}</Attach>", attachstr); //商户数据包 数字+字母 原封返回 目前输入的是订单ID+USID pBody += string.Format("<OrderEncodeType>{0}</OrderEncodeType>", "5"); //订单支付加密方式 5采用MD5加密 pBody += string.Format("<RetEncodeType>{0}</RetEncodeType>", "17"); //交易接口返回加密方式 17采用MD5摘要加密 pBody += string.Format("<RetType>{0}</RetType>", "1"); //返回方式 1:S2S返回 pBody += string.Format("<ServerUrl>{0}</ServerUrl>", Merchanturl); //异步S2S pBody += string.Format("<BillEXP>{0}</BillEXP>", model.BillEXP); //订单有效期 订单有效期以【小时】计算,没处理完则做失效处理 pBody += string.Format("<GoodsName>{0}</GoodsName>", model.GoodsName); //商户购买商品的商品名称 pBody += string.Format("<IsCredit>{0}</IsCredit>", ""); //直连选项 1 环迅收款台 pBody += string.Format("<BankCode>{0}</BankCode>", ""); //IPS唯一标识指定的银行编号 00018 pBody += string.Format("<ProductType>{0}</ProductType>", "1"); //产品类型 1个人银行 2企业银行 pBody += string.Format("</body>"); } //生成数字签名 <body>……</body>节点字符串+商户号+商户数字证书迚行签名(包括body标签) if (pBody != "") { string Rs = pBody + merchantId + Sign; MD5CryptoServiceProvider hashmd5; hashmd5 = new MD5CryptoServiceProvider(); Signature = StringToMD5Hash(Rs); } return(pBody); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(BCW.Model.Payrmb model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into tb_Payrmb("); strSql.Append("UsID,UsName,Types,CardAmt,CardNum,CardPwd,CardOrder,State,AddUsIP,AddTime,MerBillNo,Amount,GatewayType,Attach,BillEXP,GoodsName,IsCredit,BankCode,ProductType)"); strSql.Append(" values ("); strSql.Append("@UsID,@UsName,@Types,@CardAmt,@CardNum,@CardPwd,@CardOrder,@State,@AddUsIP,@AddTime,@MerBillNo,@Amount,@GatewayType,@Attach,@BillEXP,@GoodsName,@IsCredit,@BankCode,@ProductType)"); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@UsID", SqlDbType.Int, 4), new SqlParameter("@UsName", SqlDbType.NVarChar, 50), new SqlParameter("@Types", SqlDbType.Int, 4), new SqlParameter("@CardAmt", SqlDbType.Int, 4), new SqlParameter("@CardNum", SqlDbType.NVarChar, 50), new SqlParameter("@CardPwd", SqlDbType.NVarChar, 50), new SqlParameter("@CardOrder", SqlDbType.NVarChar, 50), new SqlParameter("@State", SqlDbType.Int, 4), new SqlParameter("@AddUsIP", SqlDbType.NVarChar, 50), new SqlParameter("@AddTime", SqlDbType.DateTime), new SqlParameter("@MerBillNo", SqlDbType.NVarChar, 30), new SqlParameter("@Amount", SqlDbType.Money), new SqlParameter("@GatewayType", SqlDbType.NVarChar, 50), new SqlParameter("@Attach", SqlDbType.NVarChar, 50), new SqlParameter("@BillEXP", SqlDbType.Int), new SqlParameter("@GoodsName", SqlDbType.NVarChar, 50), new SqlParameter("@IsCredit", SqlDbType.NVarChar, 50), new SqlParameter("@BankCode", SqlDbType.NVarChar, 50), new SqlParameter("@ProductType", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.UsID; parameters[1].Value = model.UsName; parameters[2].Value = model.Types; parameters[3].Value = model.CardAmt; parameters[4].Value = model.CardNum; parameters[5].Value = model.CardPwd; parameters[6].Value = model.CardOrder; parameters[7].Value = model.State; parameters[8].Value = model.AddUsIP; parameters[9].Value = model.AddTime; parameters[10].Value = model.MerBillNo; parameters[11].Value = model.Amount; parameters[12].Value = model.GatewayType; parameters[13].Value = model.Attach; parameters[14].Value = model.BillEXP; parameters[15].Value = model.GoodsName; parameters[16].Value = model.IsCredit; parameters[17].Value = model.BankCode; parameters[18].Value = model.ProductType; object obj = SqlHelper.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }