Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        /// <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));
            }
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(JMP.MDL.jmp_userbank model)
 {
     return(dal.Update(model));
 }
Beispiel #6
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public int Add(JMP.MDL.jmp_userbank model)
 {
     return(dal.Add(model));
 }
Beispiel #7
0
        /// <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);
            }
        }
Beispiel #8
0
        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);
        }