Beispiel #1
0
 public string UserTranAcc(string Type, string UserId, string ToUserId, string Money, string PassWord)
 {
     if (Convert.ToDecimal(Money) < new Decimal(0))
     {
         return(this.GetJsonResult(0, "转账金额不正确!"));
     }
     using (DbOperHandler dbOperHandler = new ComData().Doh())
     {
         dbOperHandler.Reset();
         dbOperHandler.ConditionExpress = "id=@id";
         dbOperHandler.AddConditionParameter("@id", (object)UserId);
         object[] fields = dbOperHandler.GetFields("N_User", "Money,PayPass");
         if (fields.Length <= 0)
         {
             return(this.GetJsonResult(0, "账号出现问题,请您重新登陆!"));
         }
         if (Convert.ToDecimal(Money) > Convert.ToDecimal(fields[0]))
         {
             return(this.GetJsonResult(0, "您的可用余额不足"));
         }
         if (!MD5.Last64(MD5.Lower32(PassWord)).Equals(fields[1].ToString()))
         {
             return(this.GetJsonResult(0, "您的取款密码错误"));
         }
         if (new UserChargeDAL().SaveUpCharge(Type, UserId, ToUserId, Convert.ToDecimal(Money)) <= 0)
         {
             return(this.GetJsonResult(0, "转账失败!"));
         }
         new LogSysDAL().Save("会员管理", "Id为" + UserId + "的会员转账给Id为" + ToUserId + "的会员!");
         return(this.GetJsonResult(1, "转账成功!"));
     }
 }
Beispiel #2
0
        public int Check(string _cashId, string _Msg, int State)
        {
            int num = 0;

            using (SqlConnection sqlConnection = new SqlConnection(ComData.connectionString))
            {
                sqlConnection.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = sqlConnection;
                try
                {
                    object[] objArray = new object[2];
                    using (DbOperHandler dbOperHandler = new ComData().Doh())
                    {
                        dbOperHandler.Reset();
                        dbOperHandler.ConditionExpress = "id=" + _cashId;
                        objArray = dbOperHandler.GetFields("N_UserGetCash", "UserId,Money,ssId,STime");
                    }
                    if (State == 1)
                    {
                        SqlParameter[] values = new SqlParameter[3]
                        {
                            new SqlParameter("@Id", (object)_cashId),
                            new SqlParameter("@Msg", (object)_Msg),
                            new SqlParameter("@State", (object)1)
                        };
                        cmd.CommandText = "update N_UserGetCash set Msg=@Msg,STime2=getdate(),State=1 where Id=" + _cashId;
                        cmd.Parameters.AddRange(values);
                        num = Convert.ToInt32(cmd.ExecuteScalar());
                        cmd.Parameters.Clear();
                        new UserMessageDAL().Save(cmd, int.Parse(objArray[0].ToString()), "提现成功", "您的" + objArray[1].ToString() + "元提现已处理,请注意查收,如有疑问请联系在线客服!");
                    }
                    if (State == 2)
                    {
                        if (new UserTotalTran().MoneyOpers(objArray[2].ToString(), objArray[0].ToString(), -Convert.ToDecimal(objArray[1].ToString()), 0, 0, 0, 2, 99, "提现失败", "您的" + objArray[1].ToString() + "元提现被拒绝,拒绝理由:(" + _Msg + "),如有疑问请联系在线客服!", "提现失败", objArray[3].ToString()) <= 0)
                        {
                            return(0);
                        }
                        SqlParameter[] values = new SqlParameter[3]
                        {
                            new SqlParameter("@Id", (object)_cashId),
                            new SqlParameter("@Msg", (object)_Msg),
                            new SqlParameter("@State", (object)2)
                        };
                        cmd.CommandText = "update N_UserGetCash set Msg=@Msg,STime2=getdate(),State=2 where Id=" + _cashId;
                        cmd.Parameters.AddRange(values);
                        num = Convert.ToInt32(cmd.ExecuteScalar());
                        cmd.Parameters.Clear();
                    }
                }
                catch (Exception ex)
                {
                    new LogExceptionDAL().Save("系统异常", ex.Message);
                }
            }
            return(num);
        }
Beispiel #3
0
        public string UserTranAcc(string Type, string UserId, string ToUserId, string Money, string PassWord)
        {
            if (Convert.ToDecimal(Money) < 0m)
            {
                return(base.GetJsonResult(0, "转账金额不正确!"));
            }
            string jsonResult;

            using (DbOperHandler dbOperHandler = new ComData().Doh())
            {
                dbOperHandler.Reset();
                dbOperHandler.ConditionExpress = "id=@id";
                dbOperHandler.AddConditionParameter("@id", UserId);
                object[] fields = dbOperHandler.GetFields("N_User", "Money,PayPass");
                if (fields.Length > 0)
                {
                    if (Convert.ToDecimal(Money) > Convert.ToDecimal(fields[0]))
                    {
                        jsonResult = base.GetJsonResult(0, "您的可用余额不足");
                    }
                    else if (!MD5.Last64(MD5.Lower32(PassWord)).Equals(fields[1].ToString()))
                    {
                        jsonResult = base.GetJsonResult(0, "您的取款密码错误");
                    }
                    else if (new UserChargeDAL().SaveUpCharge(Type, UserId, ToUserId, Convert.ToDecimal(Money)) > 0)
                    {
                        new LogSysDAL().Save("会员管理", string.Concat(new string[]
                        {
                            "Id为",
                            UserId,
                            "的会员转账给Id为",
                            ToUserId,
                            "的会员!"
                        }));
                        jsonResult = base.GetJsonResult(1, "转账成功!");
                    }
                    else
                    {
                        jsonResult = base.GetJsonResult(0, "转账失败!");
                    }
                }
                else
                {
                    jsonResult = base.GetJsonResult(0, "账号出现问题,请您重新登陆!");
                }
            }
            return(jsonResult);
        }
        /// <summary>
        /// 获取订单状态
        /// </summary>
        /// <param name="userId">用户Id</param>
        /// <param name="orderId">订单号</param>
        /// <returns></returns>
        public int GetState(int userId, string orderId)
        {
            using (DbOperHandler dbOperHandler = new ComData().Doh())
            {
                dbOperHandler.Reset();
                dbOperHandler.ConditionExpress = "SsId=@orderId and UserId=@userId";
                dbOperHandler.AddConditionParameter("@orderId", orderId);
                dbOperHandler.AddConditionParameter("@userId", userId);
                object[] fields = dbOperHandler.GetFields("N_UserCharge", "State");

                if (fields == null || fields.Length != 1)
                {
                    throw new Exception("无效订单");
                }

                return(Convert.ToInt32(fields[0]));
            }
        }
Beispiel #5
0
        public string UserGetCash(string UserId, string UserBankId, string BankId, string Money, string PassWord)
        {
            string result;

            using (DbOperHandler dbOperHandler = new ComData().Doh())
            {
                dbOperHandler.Reset();
                dbOperHandler.SqlCmd = "select top 1 * from Sys_Bank where id=" + BankId;
                DataTable dataTable = dbOperHandler.GetDataTable();
                if (Convert.ToInt32(dataTable.Rows[0]["IsUsed"]) == 1)
                {
                    result = "取款失败,当前银行禁止取款!";
                }
                else
                {
                    dbOperHandler.Reset();
                    dbOperHandler.ConditionExpress = "id=@id";
                    dbOperHandler.AddConditionParameter("@id", UserId);
                    object[] fields = dbOperHandler.GetFields("N_User", "Money,PayPass,IsGetCash,EnableSeason,UserGroup");
                    if (fields.Length > 0)
                    {
                        int num = Convert.ToInt32(fields[2]);
                        fields[3].ToString();
                        if (num != 0)
                        {
                            result = "取款失败,您的帐号禁止取款!";
                        }
                        else if (Convert.ToDecimal(Money) > Convert.ToDecimal(fields[0]))
                        {
                            result = "您的可用余额不足";
                        }
                        else if (!MD5.Last64(MD5.Lower32(PassWord)).Equals(fields[1].ToString()))
                        {
                            result = "您的提现密码错误";
                        }
                        else
                        {
                            dbOperHandler.Reset();
                            dbOperHandler.SqlCmd = string.Format("select STime from Act_ActiveRecord where UserId={0} and ActiveType='Charge' and Convert(varchar(10),STime,120)=Convert(varchar(10),Getdate(),120)", UserId);
                            DataTable dataTable2 = dbOperHandler.GetDataTable();
                            if (dataTable2.Rows.Count > 0)
                            {
                                if (Convert.ToDecimal(fields[0]) - Convert.ToDecimal(Money) < 50m)
                                {
                                    dbOperHandler.Reset();
                                    dbOperHandler.SqlCmd = string.Format("SELECT cast(round(isnull(Sum(Total*Times),0),4) as numeric(20,4)) as bet FROM [N_UserBet]\r\n                                                                where UserId={0} and (state=2 or state=3) and STime>'{1}' ", UserId, dataTable2.Rows[0]["STime"].ToString());
                                    dataTable2           = dbOperHandler.GetDataTable();
                                    if (dataTable2.Rows.Count > 0 && Convert.ToDecimal(dataTable2.Rows[0]["bet"]) < 800m)
                                    {
                                        result = "首充佣金50元不能体现,您的消费未满800元!";
                                        return(result);
                                    }
                                }
                            }
                            else if (Convert.ToInt32(fields[4].ToString()) < 2)
                            {
                                dbOperHandler.Reset();
                                dbOperHandler.SqlCmd = "SELECT (isnull(sum(Bet),0)-isnull(sum(Cancellation),0)) as bet,isnull(sum(charge),0) as charge FROM [N_UserMoneyStatAll] with(nolock) where userId=" + UserId;
                                DataTable dataTable3 = dbOperHandler.GetDataTable();
                                double    num2       = Convert.ToDouble(dataTable3.Rows[0]["bet"].ToString());
                                double    num3       = Convert.ToDouble(dataTable3.Rows[0]["charge"].ToString());
                                if (num3 > 0.0 && num2 * 100.0 / num3 < Convert.ToDouble(dataTable.Rows[0]["BetPerCheck"]))
                                {
                                    result = "对不起,您未消费到充值的" + dataTable.Rows[0]["BetPerCheck"] + "%,不能提现!";
                                    return(result);
                                }
                            }
                            if (Convert.ToDecimal(Money) < Convert.ToDecimal(dataTable.Rows[0]["MinCharge"]))
                            {
                                result = "提现金额不能小于单笔最小金额";
                            }
                            else if (Convert.ToDecimal(Money) > Convert.ToDecimal(dataTable.Rows[0]["MaxCharge"]))
                            {
                                result = "提现金额不能大于单笔最大金额";
                            }
                            else
                            {
                                DateTime t   = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + dataTable.Rows[0]["StartTime"]);
                                DateTime t2  = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + dataTable.Rows[0]["EndTime"]);
                                DateTime now = DateTime.Now;
                                if (t.Hour >= t2.Hour)
                                {
                                    if (now < t && now > t2)
                                    {
                                        result = string.Concat(new object[]
                                        {
                                            "提现时间为",
                                            dataTable.Rows[0]["StartTime"],
                                            "至",
                                            dataTable.Rows[0]["EndTime"]
                                        });
                                        return(result);
                                    }
                                }
                                else if (now < t || now > t2)
                                {
                                    result = string.Concat(new object[]
                                    {
                                        "提现时间为",
                                        dataTable.Rows[0]["StartTime"],
                                        "至",
                                        dataTable.Rows[0]["EndTime"]
                                    });
                                    return(result);
                                }
                                string value = "0";
                                dbOperHandler.Reset();
                                dbOperHandler.SqlCmd = "select count(*) as txcs,isnull(sum(Money),0) as txje from N_UserGetCash where userId=" + UserId + " and datediff(d,STime,getdate())=0 and State<>2";
                                DataTable dataTable4 = dbOperHandler.GetDataTable();
                                if (dataTable4.Rows.Count > 0)
                                {
                                    value = dataTable4.Rows[0]["txcs"].ToString();
                                    dataTable4.Rows[0]["txje"].ToString();
                                }
                                if (Convert.ToDecimal(value) > Convert.ToDecimal(dataTable.Rows[0]["MaxGetCash"]))
                                {
                                    result = "今日提现已得到最大提现次数";
                                }
                                else
                                {
                                    dbOperHandler.Reset();
                                    dbOperHandler.SqlCmd = "SELECT [PayBank],[PayAccount],[PayName] FROM [N_UserBank] where UserId=" + UserId + " and Id=" + UserBankId;
                                    dataTable4           = dbOperHandler.GetDataTable();
                                    if (dataTable4.Rows.Count > 0)
                                    {
                                        if (this.Save(UserId, UserBankId, dataTable4.Rows[0]["PayBank"].ToString(), dataTable4.Rows[0]["PayAccount"].ToString(), dataTable4.Rows[0]["PayName"].ToString(), Convert.ToDecimal(Money)) > 0)
                                        {
                                            new LogSysDAL().Save("会员管理", "Id为" + UserId + "的会员申请提现!");
                                            result = "申请提现成功!";
                                        }
                                        else
                                        {
                                            result = "申请提现失败!";
                                        }
                                    }
                                    else
                                    {
                                        result = "申请提现失败!";
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        result = "账号出现问题,请您重新登陆!";
                    }
                }
            }
            return(result);
        }
Beispiel #6
0
        public string UserGetCash(string UserId, string UserBankId, string BankId, string Money, string PassWord)
        {
            using (DbOperHandler dbOperHandler = new ComData().Doh())
            {
                dbOperHandler.Reset();
                dbOperHandler.SqlCmd = "select top 1 * from Sys_Bank where id=" + BankId;
                DataTable dataTable1 = dbOperHandler.GetDataTable();

                //每日最大提款金额
                decimal minCharge = Convert.ToDecimal(dataTable1.Rows[0]["MinCharge"]);
                decimal maxCharge = Convert.ToDecimal(dataTable1.Rows[0]["MaxCharge"]);
                maxCharge = maxCharge > 20000M ? 20000M : maxCharge;

                if (Convert.ToDecimal(Money) > maxCharge || Convert.ToDecimal(Money) < minCharge)
                {
                    return(string.Format("提款金额最大{0}元,最小{0}元", maxCharge, minCharge));
                }

                //每日最大提现次数
                int maxCashCount = Convert.ToInt32(dataTable1.Rows[0]["MaxGetCash"]);
                maxCashCount = maxCashCount > 5 ? 5 : maxCashCount;

                //充值消费额度
                double betPerCheck = Convert.ToDouble(dataTable1.Rows[0]["BetPerCheck"]);
                betPerCheck = betPerCheck < 50.0 ? 50.0 : betPerCheck;

                //绑卡时间提现期限, 至少绑定24小时,才能提现
                int bindTime = Convert.ToInt32(dataTable1.Rows[0]["BindTime"]);
                bindTime = bindTime < 24 ? 24 : bindTime;

                //是否允许银行卡提现
                if (Convert.ToInt32(dataTable1.Rows[0]["IsUsed"]) == 1)
                {
                    return("取款失败,当前银行禁止取款!");
                }

                //会员信息
                dbOperHandler.Reset();
                dbOperHandler.ConditionExpress = "id=@id";
                dbOperHandler.AddConditionParameter("@id", (object)UserId);
                object[] fields = dbOperHandler.GetFields("N_User", "Money,PayPass,IsGetCash,EnableSeason,UserGroup");
                if (fields.Length <= 0)
                {
                    return("账号出现问题,请您重新登陆!");
                }

                //会员是否允许提现
                int int32 = Convert.ToInt32(fields[2]); //IsGetCash
                if (int32 != 0)
                {
                    return("取款失败,您的帐号禁止取款!");
                }

                //提款金额是否大于会员余额
                if (Convert.ToDecimal(Money) > Convert.ToDecimal(fields[0]))
                {
                    return("您的可用余额不足");
                }

                //提款密码是否正确
                if (!MD5.Last64(MD5.Lower32(PassWord)).Equals(fields[1].ToString()))
                {
                    return("您的提现密码错误");
                }

                //会员银行卡信息
                dbOperHandler.Reset();
                dbOperHandler.SqlCmd = "SELECT [PayBank],[PayAccount],[PayName], AddTime FROM [N_UserBank] where UserId=" + UserId + " and Id=" + UserBankId;
                DataTable dataTable5 = dbOperHandler.GetDataTable();
                if (dataTable5.Rows.Count <= 0)
                {
                    return("您的银行卡无效");
                }

                //检查绑定时间
                DateTime addTime = Convert.ToDateTime(dataTable5.Rows[0]["AddTime"]);
                if ((DateTime.Now - addTime).TotalHours <= bindTime)
                {
                    return(string.Format("您的银行卡绑定还未满{0}小时", bindTime));
                }

                //今天的充值记录
                dbOperHandler.Reset();
                dbOperHandler.SqlCmd = string.Format(@"select STime from Act_ActiveRecord where UserId={0} 
                                and ActiveType='Charge' and Convert(varchar(10),STime,120)=Convert(varchar(10),Getdate(),120)", (object)UserId);
                DataTable dataTable2 = dbOperHandler.GetDataTable();
                if (dataTable2.Rows.Count > 0)
                {
                    if (Convert.ToDecimal(fields[0]) - Convert.ToDecimal(Money) < new Decimal(50))
                    {
                        dbOperHandler.Reset();
                        dbOperHandler.SqlCmd = string.Format("SELECT cast(round(isnull(Sum(Total*Times),0),4) as numeric(20,4)) as bet FROM [N_UserBet]\r\n                                                                where UserId={0} and (state=2 or state=3) and STime>'{1}' ", (object)UserId, (object)dataTable2.Rows[0]["STime"].ToString());
                        DataTable dataTable3 = dbOperHandler.GetDataTable();
                        if (dataTable3.Rows.Count > 0 && Convert.ToDecimal(dataTable3.Rows[0]["bet"]) < new Decimal(800))
                        {
                            return("首充佣金50元不能体现,您的消费未满800元!");
                        }
                    }
                }
                else if (Convert.ToInt32(fields[4].ToString()) < 2)
                {
                    dbOperHandler.Reset();
                    dbOperHandler.SqlCmd = "SELECT (isnull(sum(Bet),0)-isnull(sum(Cancellation),0)) as bet,isnull(sum(charge),0) as charge FROM [N_UserMoneyStatAll] with(nolock) where userId=" + UserId;
                    DataTable dataTable3 = dbOperHandler.GetDataTable();
                    double    num1       = Convert.ToDouble(dataTable3.Rows[0]["bet"].ToString());    //消费金额, 下注金额
                    double    num2       = Convert.ToDouble(dataTable3.Rows[0]["charge"].ToString()); //充值金额总数
                    if (num2 > 0.0 && num1 * 100.0 / num2 < betPerCheck)
                    {
                        return("对不起,您未消费到充值的" + betPerCheck + "%,不能提现!");
                    }
                }
                if (Convert.ToDecimal(Money) < Convert.ToDecimal(dataTable1.Rows[0]["MinCharge"]))
                {
                    return("提现金额不能小于单笔最小金额");
                }
                if (Convert.ToDecimal(Money) > Convert.ToDecimal(dataTable1.Rows[0]["MaxCharge"]))
                {
                    return("提现金额不能大于单笔最大金额");
                }
                DateTime dateTime1 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + dataTable1.Rows[0]["StartTime"]);
                DateTime dateTime2 = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + dataTable1.Rows[0]["EndTime"]);
                DateTime now       = DateTime.Now;
                if (dateTime1.Hour >= dateTime2.Hour)
                {
                    if (now < dateTime1 && now > dateTime2)
                    {
                        return("提现时间为" + dataTable1.Rows[0]["StartTime"] + "至" + dataTable1.Rows[0]["EndTime"]);
                    }
                }
                else if (now < dateTime1 || now > dateTime2)
                {
                    return("提现时间为" + dataTable1.Rows[0]["StartTime"] + "至" + dataTable1.Rows[0]["EndTime"]);
                }

                int cashCount = 0; //已提现次数
                dbOperHandler.Reset();
                dbOperHandler.SqlCmd = "select count(*) as txcs,isnull(sum(Money),0) as txje from N_UserGetCash where userId=" + UserId + " and datediff(d,STime,getdate())=0 and State<>2";
                DataTable dataTable4 = dbOperHandler.GetDataTable();
                if (dataTable4.Rows.Count > 0)
                {
                    cashCount = Convert.ToInt32(dataTable4.Rows[0]["txcs"]);
                    dataTable4.Rows[0]["txje"].ToString();
                }

                if (cashCount > maxCashCount)
                {
                    return(string.Format("今日提现已得到最大提现次数{0}次", maxCashCount));
                }

                if (dataTable5.Rows.Count <= 0 || this.Save(UserId, UserBankId, dataTable5.Rows[0]["PayBank"].ToString(), dataTable5.Rows[0]["PayAccount"].ToString(), dataTable5.Rows[0]["PayName"].ToString(), Convert.ToDecimal(Money)) <= 0)
                {
                    return("申请提现失败!");
                }
                new LogSysDAL().Save("会员管理", "Id为" + UserId + "的会员申请提现!");
                return("申请提现成功!");
            }
        }