public JMP.MDL.jmp_userbank GetUserBankByBankNo(string u_banknumber, int u_userid) { StringBuilder strSql = new StringBuilder(); strSql.Append("select u_id, u_date, u_freeze, u_province, u_area, u_flag, u_userid, u_banknumber, u_bankname, u_openbankname, u_name, u_state, u_remarks, u_auditor "); strSql.Append(" from jmp_userbank "); strSql.Append(" where u_freeze=1 and u_banknumber=@u_banknumber and u_state!='-1' "); strSql.Append(" and u_userid=@u_userid"); SqlParameter[] parameters = { new SqlParameter("@u_banknumber", SqlDbType.NVarChar, 100), new SqlParameter("@u_userid", SqlDbType.Int, 4) }; parameters[0].Value = u_banknumber; parameters[1].Value = u_userid; JMP.MDL.jmp_userbank model = new JMP.MDL.jmp_userbank(); DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["u_id"].ToString() != "") { model.u_id = int.Parse(ds.Tables[0].Rows[0]["u_id"].ToString()); } if (ds.Tables[0].Rows[0]["u_date"].ToString() != "") { model.u_date = DateTime.Parse(ds.Tables[0].Rows[0]["u_date"].ToString()); } if (ds.Tables[0].Rows[0]["u_freeze"].ToString() != "") { model.u_freeze = int.Parse(ds.Tables[0].Rows[0]["u_freeze"].ToString()); } model.u_province = ds.Tables[0].Rows[0]["u_province"].ToString(); model.u_area = ds.Tables[0].Rows[0]["u_area"].ToString(); model.u_flag = ds.Tables[0].Rows[0]["u_flag"].ToString(); if (ds.Tables[0].Rows[0]["u_userid"].ToString() != "") { model.u_userid = int.Parse(ds.Tables[0].Rows[0]["u_userid"].ToString()); } model.u_banknumber = ds.Tables[0].Rows[0]["u_banknumber"].ToString(); model.u_bankname = ds.Tables[0].Rows[0]["u_bankname"].ToString(); model.u_openbankname = ds.Tables[0].Rows[0]["u_openbankname"].ToString(); model.u_name = ds.Tables[0].Rows[0]["u_name"].ToString(); if (ds.Tables[0].Rows[0]["u_state"].ToString() != "") { model.u_state = int.Parse(ds.Tables[0].Rows[0]["u_state"].ToString()); } model.u_remarks = ds.Tables[0].Rows[0]["u_remarks"].ToString(); model.u_auditor = ds.Tables[0].Rows[0]["u_auditor"].ToString(); return(model); } else { return(null); } }
public ActionResult AppUserBankAuditing(int id) { int userid = string.IsNullOrEmpty(Request["id"]) ? 0 : int.Parse(Request["id"]); JMP.BLL.jmp_userbank bll = new JMP.BLL.jmp_userbank(); JMP.MDL.jmp_userbank model = bll.GetModel(userid); //审核状态 ViewBag.start = model.u_state; ViewBag.reaks = model.u_remarks; ViewBag.userid = userid; return(View()); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(JMP.MDL.jmp_userbank model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into jmp_userbank("); strSql.Append("u_date,u_freeze,u_province,u_area,u_flag,u_userid,u_banknumber,u_bankname,u_openbankname,u_name,u_state,u_remarks,u_auditor"); strSql.Append(") values ("); strSql.Append("@u_date,@u_freeze,@u_province,@u_area,@u_flag,@u_userid,@u_banknumber,@u_bankname,@u_openbankname,@u_name,@u_state,@u_remarks,@u_auditor"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@u_date", SqlDbType.DateTime), new SqlParameter("@u_freeze", SqlDbType.Int, 4), new SqlParameter("@u_province", SqlDbType.NVarChar, 100), new SqlParameter("@u_area", SqlDbType.NVarChar, 100), new SqlParameter("@u_flag", SqlDbType.NVarChar, 20), new SqlParameter("@u_userid", SqlDbType.Int, 4), new SqlParameter("@u_banknumber", SqlDbType.NVarChar, 50), new SqlParameter("@u_bankname", SqlDbType.NVarChar, 50), new SqlParameter("@u_openbankname", SqlDbType.NVarChar, 500), new SqlParameter("@u_name", SqlDbType.NVarChar, 50), new SqlParameter("@u_state", SqlDbType.Int, 4), new SqlParameter("@u_remarks", SqlDbType.NVarChar, 200), new SqlParameter("@u_auditor", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.u_date; parameters[1].Value = model.u_freeze; parameters[2].Value = model.u_province; parameters[3].Value = model.u_area; parameters[4].Value = model.u_flag; parameters[5].Value = model.u_userid; parameters[6].Value = model.u_banknumber; parameters[7].Value = model.u_bankname; parameters[8].Value = model.u_openbankname; parameters[9].Value = model.u_name; parameters[10].Value = model.u_state; parameters[11].Value = model.u_remarks; parameters[12].Value = model.u_auditor; object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 获得数据列表 /// </summary> public List <JMP.MDL.jmp_userbank> DataTableToList(DataTable dt) { List <JMP.MDL.jmp_userbank> modelList = new List <JMP.MDL.jmp_userbank>(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { JMP.MDL.jmp_userbank model; for (int n = 0; n < rowsCount; n++) { model = new JMP.MDL.jmp_userbank(); if (dt.Rows[n]["u_id"].ToString() != "") { model.u_id = int.Parse(dt.Rows[n]["u_id"].ToString()); } if (dt.Rows[n]["u_date"].ToString() != "") { model.u_date = DateTime.Parse(dt.Rows[n]["u_date"].ToString()); } if (dt.Rows[n]["u_freeze"].ToString() != "") { model.u_freeze = int.Parse(dt.Rows[n]["u_freeze"].ToString()); } model.u_province = dt.Rows[n]["u_province"].ToString(); model.u_area = dt.Rows[n]["u_area"].ToString(); model.u_flag = dt.Rows[n]["u_flag"].ToString(); if (dt.Rows[n]["u_userid"].ToString() != "") { model.u_userid = int.Parse(dt.Rows[n]["u_userid"].ToString()); } model.u_banknumber = dt.Rows[n]["u_banknumber"].ToString(); model.u_bankname = dt.Rows[n]["u_bankname"].ToString(); model.u_openbankname = dt.Rows[n]["u_openbankname"].ToString(); model.u_name = dt.Rows[n]["u_name"].ToString(); if (dt.Rows[n]["u_state"].ToString() != "") { model.u_state = int.Parse(dt.Rows[n]["u_state"].ToString()); } model.u_remarks = dt.Rows[n]["u_remarks"].ToString(); model.u_auditor = dt.Rows[n]["u_auditor"].ToString(); modelList.Add(model); } } return(modelList); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(JMP.MDL.jmp_userbank model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public int Add(JMP.MDL.jmp_userbank model) { return(dal.Add(model)); }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(JMP.MDL.jmp_userbank model) { StringBuilder strSql = new StringBuilder(); strSql.Append("update jmp_userbank set "); strSql.Append(" u_date = @u_date , "); strSql.Append(" u_freeze = @u_freeze , "); strSql.Append(" u_province = @u_province , "); strSql.Append(" u_area = @u_area , "); strSql.Append(" u_flag = @u_flag , "); strSql.Append(" u_userid = @u_userid , "); strSql.Append(" u_banknumber = @u_banknumber , "); strSql.Append(" u_bankname = @u_bankname , "); strSql.Append(" u_openbankname = @u_openbankname , "); strSql.Append(" u_name = @u_name , "); strSql.Append(" u_state = @u_state , "); strSql.Append(" u_remarks = @u_remarks , "); strSql.Append(" u_auditor = @u_auditor "); strSql.Append(" where u_id=@u_id "); SqlParameter[] parameters = { new SqlParameter("@u_id", SqlDbType.Int, 4), new SqlParameter("@u_date", SqlDbType.DateTime), new SqlParameter("@u_freeze", SqlDbType.Int, 4), new SqlParameter("@u_province", SqlDbType.NVarChar, 100), new SqlParameter("@u_area", SqlDbType.NVarChar, 100), new SqlParameter("@u_flag", SqlDbType.NVarChar, 20), new SqlParameter("@u_userid", SqlDbType.Int, 4), new SqlParameter("@u_banknumber", SqlDbType.NVarChar, 50), new SqlParameter("@u_bankname", SqlDbType.NVarChar, 50), new SqlParameter("@u_openbankname", SqlDbType.NVarChar, 500), new SqlParameter("@u_name", SqlDbType.NVarChar, 50), new SqlParameter("@u_state", SqlDbType.Int, 4), new SqlParameter("@u_remarks", SqlDbType.NVarChar, 200), new SqlParameter("@u_auditor", SqlDbType.NVarChar, 50) }; parameters[0].Value = model.u_id; parameters[1].Value = model.u_date; parameters[2].Value = model.u_freeze; parameters[3].Value = model.u_province; parameters[4].Value = model.u_area; parameters[5].Value = model.u_flag; parameters[6].Value = model.u_userid; parameters[7].Value = model.u_banknumber; parameters[8].Value = model.u_bankname; parameters[9].Value = model.u_openbankname; parameters[10].Value = model.u_name; parameters[11].Value = model.u_state; parameters[12].Value = model.u_remarks; parameters[13].Value = model.u_auditor; int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters); if (rows > 0) { return(true); } else { return(false); } }
public bool SubmitChinaPay(HandelPay handelPay) { bool flag = false; JMP.BLL.jmp_userbank userBankBll = new jmp_userbank(); JMP.MDL.jmp_userbank userBankMode = new JMP.MDL.jmp_userbank(); JMP.BLL.jmp_BankPlaymoney bll = new JMP.BLL.jmp_BankPlaymoney(); Random r = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0)); //商户流水号 string merSeqId = DateTime.Now.ToString("yyMMddHHmmss") + r.Next(1111, 9999).ToString(); //查询提现银行卡信息 userBankMode = userBankBll.SelectUserBank_Paymoney(handelPay.batchnumber); //金额分 string money = Math.Floor(userBankMode.b_money * 100).ToString(); //用途备注 string purpose = "商户提款"; //备注 string remark = "操作人:" + UserInfo.UserName + ",于时间:" + DateTime.Now + ",对批次号:" + handelPay.batchnumber + ",进行代付自动打款,"; //修改交易编号 flag = bll.UpdateBankPayNumber(handelPay.batchnumber, merSeqId, 2, remark); if (flag) { ChinaPayParameter payParameter = new ChinaPayParameter { merId = handelPay.MerchantNumber, merSeqId = merSeqId, cardNo = userBankMode.u_banknumber, usrName = userBankMode.u_name, transAmt = money, prov = userBankMode.u_province, city = userBankMode.u_area, openBank = userBankMode.u_bankname, subBank = userBankMode.u_openbankname, purpose = purpose, priKeyPath = handelPay.PrivateKey, flags = userBankMode.u_flag }; //调用代付 string respStr = ChinaPayForAnother.ChinaPay(payParameter); if (!string.IsNullOrEmpty(respStr)) { #region 代付有返回信息时 //转换成键值集合 System.Collections.Specialized.NameValueCollection nvclist = HttpUtility.ParseQueryString(respStr); if (nvclist.Count > 0) { //验签方法 if (ChinaPayForAnother.VerificationSign(nvclist, handelPay.PublicKey)) { #region //验证请求应答码 if (ChinaPayForAnother.VerificationResponseCode(nvclist)) { int state = ChinaPayForAnother.VerificationStat(nvclist, respStr); #region 交易状态码(1:交易成功,-1:交易失败,2:处理中) switch (state) { case 1: //获取ChinaPay系统内部流水 string cpSeqId = ChinaPayForAnother.VerificationCpSeqId(nvclist, respStr); //修改银行打款对接表相关信息 flag = bll.UpdateBankPayHD(handelPay.batchnumber, 1, merSeqId, cpSeqId, DateTime.Now); if (!flag) { Logger.PayForAnotherLog("修改银行打款对接表状态失败", "批次号:" + handelPay.batchnumber + "交易状态:" + 1 + "代付返回参数:" + respStr); } break; case 2: //修改银行打款对接表相关信息 flag = bll.UpdateBankPayHD(handelPay.batchnumber, 2, merSeqId, "", DateTime.Now); if (!flag) { Logger.PayForAnotherLog("修改银行打款对接表状态失败", "批次号:" + handelPay.batchnumber + "交易状态:" + 2 + "代付返回参数:" + respStr); } break; case -1: //修改银行打款对接表相关信息 flag = bll.UpdateBankPayHD(handelPay.batchnumber, -1, merSeqId, "", DateTime.Now); if (!flag) { Logger.PayForAnotherLog("修改银行打款对接表状态失败", "批次号:" + handelPay.batchnumber + "交易状态:" + -1 + "代付返回参数:" + respStr); } Logger.PayForAnotherLog("代付提现失败返回参数", "批次号:" + handelPay.batchnumber + "代付返回参数:" + respStr); break; } #endregion } else { //响应码不为0000时,记录失败日志 flag = bll.UpdateBankPayHD(handelPay.batchnumber, -1, merSeqId, "", DateTime.Now); if (!flag) { Logger.PayForAnotherLog("修改银行打款对接表状态失败", "批次号:" + handelPay.batchnumber + "交易状态:" + 2 + "代付返回参数:" + respStr); } Logger.PayForAnotherLog("代付提现失败返回参数", "批次号:" + handelPay.batchnumber + "代付返回参数:" + respStr); } #endregion } else { //修改银行打款对接表相关信息 flag = bll.UpdateBankPayHD(handelPay.batchnumber, -1, merSeqId, "", DateTime.Now); Logger.PayForAnotherLog("代付提现回传参数验证签名失败", "批次号:" + handelPay.batchnumber + "代付返回参数:" + respStr); if (!flag) { Logger.PayForAnotherLog("修改银行打款对接表状态失败", "批次号:" + handelPay.batchnumber + "交易状态:" + -1 + "代付返回参数:" + respStr); } } } else { //修改银行打款对接表相关信息 flag = bll.UpdateBankPayHD(handelPay.batchnumber, 3, merSeqId, "", DateTime.Now); if (!flag) { Logger.PayForAnotherLog("修改银行打款对接表状态失败", "批次号:" + handelPay.batchnumber + "交易状态:" + -1 + "代付返回参数:" + respStr); } Logger.PayForAnotherLog("代付返回参数转换键值集合出错", "批次号:" + handelPay.batchnumber + "代付返回参数:" + respStr); } #endregion } else { #region 代付异常时调用一次查询接口 SelectChinaPayParameter PayParameter = new SelectChinaPayParameter { merSeqId = merSeqId, merDate = DateTime.Now.ToString("yyyyMMdd"), pid = 0, p_PublicKey = handelPay.PublicKey, merId = handelPay.MerchantNumber, PrivateKey = handelPay.PrivateKey }; SelectChinaPay ChinaPay = new SelectChinaPay(); flag = ChinaPay.SubmitSelectChinaPay(PayParameter); #endregion } } else { Logger.PayForAnotherLog("修改[jmp_BankPlaymoney]表交易编号失败(重复提交也会报这个错误)", "批次号:" + handelPay.batchnumber + "交易编号:" + merSeqId); } return(flag); }