Exemplo n.º 1
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public long  Add(lgk.Model.tb_change model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into tb_change(");
            strSql.Append("UserID,ToUserType,ToUserID,ChangeType,MoneyType,Amount,ChangeDate,Change001,Change002,Change003,Change004,Change005,Change006)");
            strSql.Append(" values (");
            strSql.Append("@UserID,@ToUserType,@ToUserID,@ChangeType,@MoneyType,@Amount,@ChangeDate,@Change001,@Change002,@Change003,@Change004,@Change005,@Change006)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@UserID",     SqlDbType.Int,        4),
                new SqlParameter("@ToUserType", SqlDbType.Int,        4),
                new SqlParameter("@ToUserID",   SqlDbType.Int,        4),
                new SqlParameter("@ChangeType", SqlDbType.Int,        4),
                new SqlParameter("@MoneyType",  SqlDbType.Int,        4),
                new SqlParameter("@Amount",     SqlDbType.Decimal,    9),
                new SqlParameter("@ChangeDate", SqlDbType.DateTime),
                new SqlParameter("@Change001",  SqlDbType.Int,        4),
                new SqlParameter("@Change002",  SqlDbType.Int,        4),
                new SqlParameter("@Change003",  SqlDbType.VarChar,   50),
                new SqlParameter("@Change004",  SqlDbType.VarChar,   50),
                new SqlParameter("@Change005",  SqlDbType.Decimal,    9),
                new SqlParameter("@Change006",  SqlDbType.Decimal, 9)
            };
            parameters[0].Value  = model.UserID;
            parameters[1].Value  = model.ToUserType;
            parameters[2].Value  = model.ToUserID;
            parameters[3].Value  = model.ChangeType;
            parameters[4].Value  = model.MoneyType;
            parameters[5].Value  = model.Amount;
            parameters[6].Value  = model.ChangeDate;
            parameters[7].Value  = model.Change001;
            parameters[8].Value  = model.Change002;
            parameters[9].Value  = model.Change003;
            parameters[10].Value = model.Change004;
            parameters[11].Value = model.Change005;
            parameters[12].Value = model.Change006;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt64(obj));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 输入验证
        /// </summary>
        /// <returns></returns>
        private bool RegValidate(long userid, string toUserCode, string txtMoney, string dropCurrency, string Phone, string paypassword, out string message)
        {
            long    toUserID = 0;
            decimal dResult;

            lgk.Model.tb_user userInfo = userBLL.GetModel(userid);

            lgk.Model.tb_change changeInfo = new lgk.Model.tb_change();
            if (userInfo == null)
            {
                message = "会员不存在";
                return(false);
            }

            if (!ValidPassword(userInfo.SecondPassword, paypassword))
            {
                message = "支付密码错误";
                return(false);
            }

            if (txtMoney.Trim() == "")
            {
                message = GetLanguage("transferMoneyIsnull");//转账金额不能为空

                return(false);
            }
            //if (Phone.Trim() == "")
            //{
            //    message = GetLanguage("Phoneempty");//手机号不能为空

            //    return false;
            //}
            dResult = 0;
            if (decimal.TryParse(txtMoney.Trim(), out dResult))
            {
                decimal dTrans = getParamAmount("Transfer1"); //转账最低金额
                decimal d      = getParamAmount("Transfer2"); //转账倍数基数
                if (dResult < dTrans)
                {
                    message = GetLanguage("equalTo") + dTrans;//转账金额必须是大于等于XX的整数

                    return(false);
                }
                if (d != 0 && dResult % d != 0)
                {
                    message = GetLanguage("amountMustbe") + d + GetLanguage("Multiples");//转账金额必须是XX的倍数

                    return(false);
                }
            }
            if (dropCurrency == "1")
            {
                if (dResult > userInfo.Emoney)
                {
                    message = GetLanguage("NotRegistered"); //注册币余额不足
                    return(false);
                }
            }
            else if (dropCurrency == "3")
            {
                // if (Math.Round(dResult / getParamAmount("TransferRateBTE"), 2) > userInfo.BonusAccount)
                if (dResult > userInfo.User018)
                {
                    message = "复利分余额不足"; //复利分余额不足
                    return(false);
                }
            }
            else
            {
                if (dResult > userInfo.BonusAccount)
                {
                    message = GetLanguage("NotCurrency"); //奖励分余额不足
                    return(false);
                }
            }

            //  if (dropCurrency != "3") //转给其他会员
            {
                lgk.Model.tb_user touserInfo = userBLL.GetModel(userBLL.GetUserID(toUserCode.Trim()));

                string strUserCode = userInfo.UserCode;

                if (touserInfo == null)
                {
                    message = GetLanguage("numberIsExist");//会员编号不存在
                    return(false);
                }
                else
                {
                    toUserID = int.Parse(touserInfo.UserID.ToString());
                }

                if (toUserID <= 0)
                {
                    message = GetLanguage("objectExist");//转帐对象不存在

                    return(false);
                }
                if (toUserID == userInfo.UserID)
                {
                    message = GetLanguage("TransferToOuner");//不能给自己转账
                    return(false);
                }
            }
            message = "";
            return(true);
        }
Exemplo n.º 3
0
        public bool Transfer(long userid, string toUserCode, string txtMoney, string dropCurrency, string Phone, string paypassword, out string message)
        {
            if (RegValidate(userid, toUserCode, txtMoney, dropCurrency, Phone, paypassword, out message))
            {
                long              toUserID = 0;
                decimal           fee = 0, balance = 0;
                lgk.Model.tb_user userInfo = userBLL.GetModel(userid);
                if (userInfo.IsLock == 1)
                {
                    message = "账户已冻结,转账失败";
                    return(false);
                }
                lgk.Model.tb_user touserInfo = userBLL.GetModelByUserCode(toUserCode.Trim());
                if (touserInfo == null)
                {
                    message = "接收账户不存在";
                    return(false);
                }
                toUserID = touserInfo.UserID;

                lgk.Model.tb_change changeInfo = new lgk.Model.tb_change();

                changeInfo.UserID     = userInfo.UserID;
                changeInfo.ToUserID   = toUserID;
                changeInfo.ToUserType = 0;
                changeInfo.MoneyType  = 0;
                changeInfo.Amount     = decimal.Parse(txtMoney);
                changeInfo.ChangeType = Convert.ToInt32(dropCurrency);
                changeInfo.Change003  = Util.CreateNo();//订单号
                changeInfo.ChangeDate = DateTime.Now;
                //if (dropCurrency != "3")
                //{
                changeInfo.Change005 = changeInfo.Amount - changeInfo.Amount * getParamAmount("Transfer3") / 100; //到账金额
                changeInfo.Change006 = getParamAmount("Transfer3");                                               // 转账手续费
                //}
                //else
                //{
                //    changeInfo.Change006 = getParamAmount("TransferRateBTE");//奖励分转换注册币比例
                //    changeInfo.Change005 = Math.Round(changeInfo.Amount / getParamAmount("TransferRateBTE"), 2);  //奖励分转换注册币比例  ,Change005 奖励分,Amount 注册币
                //}
                if (changeBLL.Add(changeInfo) > 0)
                {
                    try
                    {
                        if (changeInfo.ChangeType == 1)//注册分转给其他会员
                        {
                            #region 注册分转给其他会员
                            decimal dBonusAccount = userBLL.GetMoney(userid, "Emoney ");
                            if (dBonusAccount >= changeInfo.Amount)
                            {
                                UpdateAccount("Emoney ", userInfo.UserID, changeInfo.Amount, 0); //
                                UpdateAccount("Emoney ", toUserID, changeInfo.Change005, 1);     //

                                balance = userBLL.GetMoney(userid, "Emoney ");
                                fee     = changeInfo.Amount - changeInfo.Change005;
                                //加入流水账表(佣金币减少)
                                lgk.Model.tb_journal jmodel = new lgk.Model.tb_journal();
                                jmodel.UserID        = userInfo.UserID;
                                jmodel.Remark        = "注册分转给" + toUserCode;
                                jmodel.RemarkEn      = "Currency to shopping currency";
                                jmodel.InAmount      = 0;
                                jmodel.OutAmount     = changeInfo.Change005;
                                jmodel.BalanceAmount = balance + fee;
                                jmodel.JournalDate   = DateTime.Now;
                                jmodel.JournalType   = (int)Library.AccountType.注册分;
                                jmodel.Journal01     = toUserID;
                                journalBLL.Add(jmodel);

                                //转账手续费
                                if (fee > 0)
                                {
                                    lgk.Model.tb_journal jmodelfee = new lgk.Model.tb_journal();
                                    jmodelfee.UserID        = userInfo.UserID;
                                    jmodelfee.Remark        = "注册分转给" + toUserCode + ",手续费";
                                    jmodelfee.RemarkEn      = "Currency to shopping currency";
                                    jmodelfee.InAmount      = 0;
                                    jmodelfee.OutAmount     = fee;
                                    jmodelfee.BalanceAmount = balance;
                                    jmodelfee.JournalDate   = DateTime.Now;
                                    jmodelfee.JournalType   = (int)Library.AccountType.注册分;
                                    jmodelfee.Journal01     = toUserID;
                                    journalBLL.Add(jmodelfee);
                                }

                                //加入流水账表(现金币增加)
                                lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal();
                                journalInfo.UserID        = toUserID;
                                journalInfo.Remark        = "获得" + userInfo.UserCode + "转来注册分";
                                journalInfo.RemarkEn      = "Currency to shopping currency";
                                journalInfo.InAmount      = changeInfo.Change005;
                                journalInfo.OutAmount     = 0;
                                journalInfo.BalanceAmount = userBLL.GetMoney(toUserID, "Emoney ");
                                journalInfo.JournalDate   = DateTime.Now;
                                journalInfo.JournalType   = (int)Library.AccountType.注册分;
                                journalInfo.Journal01     = userInfo.UserID;
                                journalBLL.Add(journalInfo);
                            }
                            else
                            {
                                message = GetLanguage("objectExist");//转帐对象不存在
                            }
                            #endregion
                        }
                        else if (changeInfo.ChangeType == 2)//奖励分转给其他会员
                        {
                            #region 奖励分转给其他会员
                            decimal dBonusAccount = userBLL.GetMoney(userid, "BonusAccount ");
                            if (dBonusAccount >= changeInfo.Amount)
                            {
                                UpdateAccount("BonusAccount ", userInfo.UserID, changeInfo.Amount, 0); //
                                UpdateAccount("BonusAccount ", toUserID, changeInfo.Change005, 1);     //

                                balance = userBLL.GetMoney(userid, "BonusAccount ");
                                fee     = changeInfo.Amount - changeInfo.Change005;
                                //加入流水账表(佣金币减少)
                                lgk.Model.tb_journal jmodel = new lgk.Model.tb_journal();
                                jmodel.UserID        = userInfo.UserID;
                                jmodel.Remark        = "奖励分转给" + toUserCode;
                                jmodel.RemarkEn      = "Currency to shopping currency";
                                jmodel.InAmount      = 0;
                                jmodel.OutAmount     = changeInfo.Change005;
                                jmodel.BalanceAmount = balance + fee;
                                jmodel.JournalDate   = DateTime.Now;
                                jmodel.JournalType   = (int)Library.AccountType.奖励分;
                                jmodel.Journal01     = toUserID;
                                journalBLL.Add(jmodel);

                                //转账手续费
                                if (fee > 0)
                                {
                                    lgk.Model.tb_journal jmodelfee = new lgk.Model.tb_journal();
                                    jmodelfee.UserID        = userInfo.UserID;
                                    jmodelfee.Remark        = "奖励分转给" + toUserCode + ",手续费";
                                    jmodelfee.RemarkEn      = "Currency to shopping currency";
                                    jmodelfee.InAmount      = 0;
                                    jmodelfee.OutAmount     = fee;
                                    jmodelfee.BalanceAmount = balance;
                                    jmodelfee.JournalDate   = DateTime.Now;
                                    jmodelfee.JournalType   = (int)Library.AccountType.奖励分;
                                    jmodelfee.Journal01     = toUserID;
                                    journalBLL.Add(jmodelfee);
                                }

                                //加入流水账表(现金币增加)
                                lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal();
                                journalInfo.UserID        = toUserID;
                                journalInfo.Remark        = "获得" + userInfo.UserCode + "转来奖励分";
                                journalInfo.RemarkEn      = "Currency to shopping currency";
                                journalInfo.InAmount      = changeInfo.Change005;
                                journalInfo.OutAmount     = 0;
                                journalInfo.BalanceAmount = userBLL.GetMoney(toUserID, "BonusAccount ");
                                journalInfo.JournalDate   = DateTime.Now;
                                journalInfo.JournalType   = (int)Library.AccountType.奖励分;
                                journalInfo.Journal01     = userInfo.UserID;
                                journalBLL.Add(journalInfo);

                                //如果冻结奖励分账户大于0,激活矿机时转入明细
                                if (touserInfo.User016 > 0)
                                {
                                    UpdateAccount("User016", toUserID, touserInfo.User016, 0);      //
                                    UpdateAccount("BonusAccount", toUserID, touserInfo.User016, 1); //

                                    lgk.Model.tb_journal jourInfo = new lgk.Model.tb_journal();
                                    jourInfo.UserID        = touserInfo.UserID;
                                    jourInfo.Remark        = "奖励分账户进账,冻结奖励分转入奖励分账户";
                                    jourInfo.RemarkEn      = "Cash withdrawal";
                                    jourInfo.InAmount      = touserInfo.User016;
                                    jourInfo.OutAmount     = 0;
                                    jourInfo.BalanceAmount = userBLL.GetMoney(toUserID, "BonusAccount");
                                    jourInfo.JournalDate   = DateTime.Now;
                                    jourInfo.JournalType   = (int)Library.AccountType.奖励分;
                                    jourInfo.Journal01     = touserInfo.UserID;
                                    journalBLL.Add(jourInfo);
                                }
                            }
                            else
                            {
                                message = GetLanguage("objectExist");//转帐对象不存在
                            }
                            #endregion
                        }
                        else if (changeInfo.ChangeType == 3)//复利分转给其他会员
                        {
                            #region 奖励分转给其他会员
                            decimal dBonusAccount = userBLL.GetMoney(userid, "User018 ");
                            if (dBonusAccount >= changeInfo.Amount)
                            {
                                UpdateAccount("User018 ", userInfo.UserID, changeInfo.Amount, 0); //
                                UpdateAccount("User018 ", toUserID, changeInfo.Change005, 1);     //

                                balance = userBLL.GetMoney(userid, "User018 ");
                                fee     = changeInfo.Amount - changeInfo.Change005;
                                //加入流水账表(佣金币减少)
                                lgk.Model.tb_journal jmodel = new lgk.Model.tb_journal();
                                jmodel.UserID        = userInfo.UserID;
                                jmodel.Remark        = "复利分转给" + toUserCode;
                                jmodel.RemarkEn      = "Currency to shopping currency";
                                jmodel.InAmount      = 0;
                                jmodel.OutAmount     = changeInfo.Change005;
                                jmodel.BalanceAmount = balance + fee;
                                jmodel.JournalDate   = DateTime.Now;
                                jmodel.JournalType   = (int)Library.AccountType.利分;
                                jmodel.Journal01     = toUserID;
                                journalBLL.Add(jmodel);

                                //转账手续费
                                if (fee > 0)
                                {
                                    lgk.Model.tb_journal jmodelfee = new lgk.Model.tb_journal();
                                    jmodelfee.UserID        = userInfo.UserID;
                                    jmodelfee.Remark        = "复利分转给" + toUserCode + ",手续费";
                                    jmodelfee.RemarkEn      = "Currency to shopping currency";
                                    jmodelfee.InAmount      = 0;
                                    jmodelfee.OutAmount     = fee;
                                    jmodelfee.BalanceAmount = balance;
                                    jmodelfee.JournalDate   = DateTime.Now;
                                    jmodelfee.JournalType   = (int)Library.AccountType.利分;
                                    jmodelfee.Journal01     = toUserID;
                                    journalBLL.Add(jmodelfee);
                                }
                                //加入流水账表(现金币增加)
                                lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal();
                                journalInfo.UserID        = toUserID;
                                journalInfo.Remark        = "获得" + userInfo.UserCode + "转来复利分";
                                journalInfo.RemarkEn      = "Currency to shopping currency";
                                journalInfo.InAmount      = changeInfo.Change005;
                                journalInfo.OutAmount     = 0;
                                journalInfo.BalanceAmount = userBLL.GetMoney(toUserID, "User018 ");
                                journalInfo.JournalDate   = DateTime.Now;
                                journalInfo.JournalType   = (int)Library.AccountType.利分;
                                journalInfo.Journal01     = userInfo.UserID;
                                journalBLL.Add(journalInfo);
                            }
                            else
                            {
                                message = GetLanguage("objectExist");//转帐对象不存在
                            }
                            #endregion
                        }
                    }
                    catch
                    {
                        message = GetLanguage("addError");    //添加流水账错误
                    }
                    message = GetLanguage("TransferSuccess"); //转账成功
                }
                else
                {
                    message = GetLanguage("addError");//操作失败
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(lgk.Model.tb_change model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update tb_change set ");
            strSql.Append("UserID=@UserID,");
            strSql.Append("ToUserType=@ToUserType,");
            strSql.Append("ToUserID=@ToUserID,");
            strSql.Append("ChangeType=@ChangeType,");
            strSql.Append("MoneyType=@MoneyType,");
            strSql.Append("Amount=@Amount,");
            strSql.Append("ChangeDate=@ChangeDate,");
            strSql.Append("Change001=@Change001,");
            strSql.Append("Change002=@Change002,");
            strSql.Append("Change003=@Change003,");
            strSql.Append("Change004=@Change004,");
            strSql.Append("Change005=@Change005,");
            strSql.Append("Change006=@Change006");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@UserID",     SqlDbType.Int,        4),
                new SqlParameter("@ToUserType", SqlDbType.Int,        4),
                new SqlParameter("@ToUserID",   SqlDbType.Int,        4),
                new SqlParameter("@ChangeType", SqlDbType.Int,        4),
                new SqlParameter("@MoneyType",  SqlDbType.Int,        4),
                new SqlParameter("@Amount",     SqlDbType.Decimal,    9),
                new SqlParameter("@ChangeDate", SqlDbType.DateTime),
                new SqlParameter("@Change001",  SqlDbType.Int,        4),
                new SqlParameter("@Change002",  SqlDbType.Int,        4),
                new SqlParameter("@Change003",  SqlDbType.VarChar,   50),
                new SqlParameter("@Change004",  SqlDbType.VarChar,   50),
                new SqlParameter("@Change005",  SqlDbType.Decimal,    9),
                new SqlParameter("@Change006",  SqlDbType.Decimal,    9),
                new SqlParameter("@ID",         SqlDbType.BigInt, 8)
            };
            parameters[0].Value  = model.UserID;
            parameters[1].Value  = model.ToUserType;
            parameters[2].Value  = model.ToUserID;
            parameters[3].Value  = model.ChangeType;
            parameters[4].Value  = model.MoneyType;
            parameters[5].Value  = model.Amount;
            parameters[6].Value  = model.ChangeDate;
            parameters[7].Value  = model.Change001;
            parameters[8].Value  = model.Change002;
            parameters[9].Value  = model.Change003;
            parameters[10].Value = model.Change004;
            parameters[11].Value = model.Change005;
            parameters[12].Value = model.Change006;
            parameters[13].Value = model.ID;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public lgk.Model.tb_change GetModel(long ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 ID,UserID,ToUserType,ToUserID,ChangeType,MoneyType,Amount,ChangeDate,Change001,Change002,Change003,Change004,Change005,Change006 from tb_change ");
            strSql.Append(" where ID=@ID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.BigInt)
            };
            parameters[0].Value = ID;

            lgk.Model.tb_change model = new lgk.Model.tb_change();
            DataSet             ds    = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["ID"] != null && ds.Tables[0].Rows[0]["ID"].ToString() != "")
                {
                    model.ID = long.Parse(ds.Tables[0].Rows[0]["ID"].ToString());
                }
                if (ds.Tables[0].Rows[0]["UserID"] != null && ds.Tables[0].Rows[0]["UserID"].ToString() != "")
                {
                    model.UserID = int.Parse(ds.Tables[0].Rows[0]["UserID"].ToString());
                }
                if (ds.Tables[0].Rows[0]["ToUserType"] != null && ds.Tables[0].Rows[0]["ToUserType"].ToString() != "")
                {
                    model.ToUserType = int.Parse(ds.Tables[0].Rows[0]["ToUserType"].ToString());
                }
                if (ds.Tables[0].Rows[0]["ToUserID"] != null && ds.Tables[0].Rows[0]["ToUserID"].ToString() != "")
                {
                    model.ToUserID = int.Parse(ds.Tables[0].Rows[0]["ToUserID"].ToString());
                }
                if (ds.Tables[0].Rows[0]["ChangeType"] != null && ds.Tables[0].Rows[0]["ChangeType"].ToString() != "")
                {
                    model.ChangeType = int.Parse(ds.Tables[0].Rows[0]["ChangeType"].ToString());
                }
                if (ds.Tables[0].Rows[0]["MoneyType"] != null && ds.Tables[0].Rows[0]["MoneyType"].ToString() != "")
                {
                    model.MoneyType = int.Parse(ds.Tables[0].Rows[0]["MoneyType"].ToString());
                }
                if (ds.Tables[0].Rows[0]["Amount"] != null && ds.Tables[0].Rows[0]["Amount"].ToString() != "")
                {
                    model.Amount = decimal.Parse(ds.Tables[0].Rows[0]["Amount"].ToString());
                }
                if (ds.Tables[0].Rows[0]["ChangeDate"] != null && ds.Tables[0].Rows[0]["ChangeDate"].ToString() != "")
                {
                    model.ChangeDate = DateTime.Parse(ds.Tables[0].Rows[0]["ChangeDate"].ToString());
                }
                if (ds.Tables[0].Rows[0]["Change001"] != null && ds.Tables[0].Rows[0]["Change001"].ToString() != "")
                {
                    model.Change001 = int.Parse(ds.Tables[0].Rows[0]["Change001"].ToString());
                }
                if (ds.Tables[0].Rows[0]["Change002"] != null && ds.Tables[0].Rows[0]["Change002"].ToString() != "")
                {
                    model.Change002 = int.Parse(ds.Tables[0].Rows[0]["Change002"].ToString());
                }
                if (ds.Tables[0].Rows[0]["Change003"] != null && ds.Tables[0].Rows[0]["Change003"].ToString() != "")
                {
                    model.Change003 = ds.Tables[0].Rows[0]["Change003"].ToString();
                }
                if (ds.Tables[0].Rows[0]["Change004"] != null && ds.Tables[0].Rows[0]["Change004"].ToString() != "")
                {
                    model.Change004 = ds.Tables[0].Rows[0]["Change004"].ToString();
                }
                if (ds.Tables[0].Rows[0]["Change005"] != null && ds.Tables[0].Rows[0]["Change005"].ToString() != "")
                {
                    model.Change005 = decimal.Parse(ds.Tables[0].Rows[0]["Change005"].ToString());
                }
                if (ds.Tables[0].Rows[0]["Change006"] != null && ds.Tables[0].Rows[0]["Change006"].ToString() != "")
                {
                    model.Change006 = decimal.Parse(ds.Tables[0].Rows[0]["Change006"].ToString());
                }
                return(model);
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 6
0
        public bool Transfer(long userid, string toUserCode, string txtMoney, string dropCurrency, string Phone, string paypassword, out string message)
        {
            if (RegValidate(userid, toUserCode, txtMoney, dropCurrency, Phone, paypassword, out message))
            {
                long              toUserID = 0;
                decimal           fee = 0, balance = 0;
                lgk.Model.tb_user userInfo = userBLL.GetModel(userid);
                if (userInfo.IsLock == 1)
                {
                    message = "账户已冻结,转账失败";
                    return(false);
                }
                if (dropCurrency != "3")
                {
                    lgk.Model.tb_user touserInfo = userBLL.GetModel(userBLL.GetUserID(toUserCode.Trim()));
                    toUserID = touserInfo.UserID;
                }
                else
                {
                    toUserID = userid;
                }

                lgk.Model.tb_change changeInfo = new lgk.Model.tb_change();

                changeInfo.UserID     = userInfo.UserID;
                changeInfo.ToUserID   = toUserID;
                changeInfo.ToUserType = 0;
                changeInfo.MoneyType  = 0;
                changeInfo.Amount     = decimal.Parse(txtMoney);
                changeInfo.ChangeType = Convert.ToInt32(dropCurrency);
                changeInfo.Change003  = Util.CreateNo();//订单号
                changeInfo.ChangeDate = DateTime.Now;
                if (dropCurrency != "3")
                {
                    changeInfo.Change005 = changeInfo.Amount - changeInfo.Amount * getParamAmount("Transfer3") / 100; //到账金额
                    changeInfo.Change006 = getParamAmount("Transfer3");                                               // 转账手续费
                }
                else
                {
                    //注册币 = 云图*比例b
                    //云图 = 注册币 / 比例b
                    changeInfo.Change006 = getParamAmount("TransferRateBTE");                                    //云图转换注册币比例
                    changeInfo.Change005 = Math.Round(changeInfo.Amount / getParamAmount("TransferRateBTE"), 2); //云图转换注册币比例  ,Change005 云图,Amount 注册币
                }
                if (changeBLL.Add(changeInfo) > 0)
                {
                    try
                    {
                        if (changeInfo.ChangeType == 1)//云盾转给其他会员
                        {
                            #region 云盾转给其他会员
                            decimal dBonusAccount = userBLL.GetMoney(userid, "Emoney ");
                            if (dBonusAccount >= changeInfo.Amount)
                            {
                                UpdateAccount("Emoney ", userInfo.UserID, changeInfo.Amount, 0); //
                                UpdateAccount("Emoney ", toUserID, changeInfo.Change005, 1);     //

                                balance = userBLL.GetMoney(userid, "Emoney ");
                                fee     = changeInfo.Amount - changeInfo.Change005;
                                //加入流水账表(佣金币减少)
                                lgk.Model.tb_journal jmodel = new lgk.Model.tb_journal();
                                jmodel.UserID        = userInfo.UserID;
                                jmodel.Remark        = "云盾转给" + toUserCode;
                                jmodel.RemarkEn      = "Currency to shopping currency";
                                jmodel.InAmount      = 0;
                                jmodel.OutAmount     = changeInfo.Change005;
                                jmodel.BalanceAmount = balance + fee;
                                jmodel.JournalDate   = DateTime.Now;
                                jmodel.JournalType   = (int)Library.AccountType.云盾;
                                jmodel.Journal01     = toUserID;
                                journalBLL.Add(jmodel);

                                //转账手续费
                                if (fee > 0)
                                {
                                    lgk.Model.tb_journal jmodelfee = new lgk.Model.tb_journal();
                                    jmodelfee.UserID        = userInfo.UserID;
                                    jmodelfee.Remark        = "云盾转给" + toUserCode + ",手续费";
                                    jmodelfee.RemarkEn      = "Currency to shopping currency";
                                    jmodelfee.InAmount      = 0;
                                    jmodelfee.OutAmount     = fee;
                                    jmodelfee.BalanceAmount = balance;
                                    jmodelfee.JournalDate   = DateTime.Now;
                                    jmodelfee.JournalType   = (int)Library.AccountType.云盾;
                                    jmodelfee.Journal01     = toUserID;
                                    journalBLL.Add(jmodelfee);
                                }

                                //加入流水账表(现金币增加)
                                lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal();
                                journalInfo.UserID        = toUserID;
                                journalInfo.Remark        = "获得" + userInfo.UserCode + "转来云盾";
                                journalInfo.RemarkEn      = "Currency to shopping currency";
                                journalInfo.InAmount      = changeInfo.Change005;
                                journalInfo.OutAmount     = 0;
                                journalInfo.BalanceAmount = userBLL.GetMoney(toUserID, "Emoney ");
                                journalInfo.JournalDate   = DateTime.Now;
                                journalInfo.JournalType   = (int)Library.AccountType.云盾;
                                journalInfo.Journal01     = userInfo.UserID;
                                journalBLL.Add(journalInfo);
                            }
                            else
                            {
                                message = GetLanguage("objectExist");//转帐对象不存在
                            }
                            #endregion
                        }
                        if (changeInfo.ChangeType == 2)//云图转给其他会员
                        {
                            #region 云图转给其他会员
                            decimal dBonusAccount = userBLL.GetMoney(userid, "BonusAccount ");
                            if (dBonusAccount >= changeInfo.Amount)
                            {
                                UpdateAccount("BonusAccount ", userInfo.UserID, changeInfo.Amount, 0); //
                                UpdateAccount("BonusAccount ", toUserID, changeInfo.Change005, 1);     //

                                balance = userBLL.GetMoney(userid, "BonusAccount ");
                                fee     = changeInfo.Amount - changeInfo.Change005;
                                //加入流水账表(佣金币减少)
                                lgk.Model.tb_journal jmodel = new lgk.Model.tb_journal();
                                jmodel.UserID        = userInfo.UserID;
                                jmodel.Remark        = "云图转给" + toUserCode;
                                jmodel.RemarkEn      = "Currency to shopping currency";
                                jmodel.InAmount      = 0;
                                jmodel.OutAmount     = changeInfo.Change005;
                                jmodel.BalanceAmount = balance + fee;
                                jmodel.JournalDate   = DateTime.Now;
                                jmodel.JournalType   = (int)Library.AccountType.云图;
                                jmodel.Journal01     = toUserID;
                                journalBLL.Add(jmodel);

                                //转账手续费
                                if (fee > 0)
                                {
                                    lgk.Model.tb_journal jmodelfee = new lgk.Model.tb_journal();
                                    jmodelfee.UserID        = userInfo.UserID;
                                    jmodelfee.Remark        = "云图转给" + toUserCode + ",手续费";
                                    jmodelfee.RemarkEn      = "Currency to shopping currency";
                                    jmodelfee.InAmount      = 0;
                                    jmodelfee.OutAmount     = fee;
                                    jmodelfee.BalanceAmount = balance;
                                    jmodelfee.JournalDate   = DateTime.Now;
                                    jmodelfee.JournalType   = (int)Library.AccountType.云图;
                                    jmodelfee.Journal01     = toUserID;
                                    journalBLL.Add(jmodelfee);
                                }

                                //加入流水账表(现金币增加)
                                lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal();
                                journalInfo.UserID        = toUserID;
                                journalInfo.Remark        = "获得" + userInfo.UserCode + "转来云图";
                                journalInfo.RemarkEn      = "Currency to shopping currency";
                                journalInfo.InAmount      = changeInfo.Change005;
                                journalInfo.OutAmount     = 0;
                                journalInfo.BalanceAmount = userBLL.GetMoney(toUserID, "BonusAccount ");
                                journalInfo.JournalDate   = DateTime.Now;
                                journalInfo.JournalType   = (int)Library.AccountType.云图;
                                journalInfo.Journal01     = userInfo.UserID;
                                journalBLL.Add(journalInfo);
                            }
                            else
                            {
                                message = GetLanguage("objectExist");//转帐对象不存在
                            }
                            #endregion
                        }
                        if (changeInfo.ChangeType == 3)//云图转给注册币
                        {
                            #region 云图转给注册币
                            decimal dBonusAccount = userBLL.GetMoney(userid, "BonusAccount");
                            if (dBonusAccount >= changeInfo.Change005)
                            {
                                UpdateAccount("BonusAccount ", userInfo.UserID, changeInfo.Change005, 0); //
                                UpdateAccount("Emoney ", toUserID, changeInfo.Amount, 1);                 //
                                //加入流水账表(佣金币减少)
                                lgk.Model.tb_journal jmodel = new lgk.Model.tb_journal();
                                jmodel.UserID        = userInfo.UserID;
                                jmodel.Remark        = "云图转换云图(AEC),消耗云图";
                                jmodel.RemarkEn      = "Currency to shopping currency";
                                jmodel.InAmount      = 0;
                                jmodel.OutAmount     = changeInfo.Change005;
                                jmodel.BalanceAmount = userBLL.GetMoney(userid, "BonusAccount");
                                jmodel.JournalDate   = DateTime.Now;
                                jmodel.JournalType   = (int)Library.AccountType.云图;
                                jmodel.Journal01     = toUserID;
                                journalBLL.Add(jmodel);

                                //加入流水账表(现金币增加)
                                lgk.Model.tb_journal journalInfo = new lgk.Model.tb_journal();
                                journalInfo.UserID        = toUserID;
                                journalInfo.Remark        = "云图转换云图(AEC),获得云图(AEC)";
                                journalInfo.RemarkEn      = "Currency to shopping currency";
                                journalInfo.InAmount      = changeInfo.Amount;
                                journalInfo.OutAmount     = 0;
                                journalInfo.BalanceAmount = userBLL.GetMoney(toUserID, "Emoney");
                                journalInfo.JournalDate   = DateTime.Now;
                                journalInfo.JournalType   = (int)Library.AccountType.云图;
                                journalInfo.Journal01     = userInfo.UserID;
                                journalBLL.Add(journalInfo);
                            }
                            else
                            {
                                message = GetLanguage("objectExist");//转帐对象不存在
                            }
                            #endregion
                        }
                    }

                    catch
                    {
                        message = GetLanguage("addError");    //添加流水账错误
                    }
                    message = GetLanguage("TransferSuccess"); //转账成功
                }
                else
                {
                    message = GetLanguage("addError");//操作失败
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }