public ActionResult TransferUser(int id)
        {
            var BaoUsers = this.Entity.BaoUsers.FirstOrDefault(o => o.Id == id);

            if (BaoUsers == null)
            {
                ViewBag.ErrorMsg = "数据不存在";
                return(View("Error"));
            }
            if (BaoUsers.AllMoney == 0)
            {
                ViewBag.ErrorMsg = "总金额为0不能转出到余额";
                return(View("Error"));
            }
            var Users = this.Entity.Users.FirstOrDefault(o => o.Id == BaoUsers.UId);

            if (Users == null)
            {
                ViewBag.ErrorMsg = "数据不存在";
                return(View("Error"));
            }
            var AllMoney = BaoUsers.AllMoney;
            var BaoLog   = new BaoLog()
            {
                UId         = Users.Id,
                AddTime     = DateTime.Now,
                LType       = 2,
                Amount      = AllMoney,
                AfterAmount = 0,
                AfterFrozen = 0,
                BeforAmount = BaoUsers.AllMoney,
                BeforFrozen = 0,
                State       = 1,
            };

            this.Entity.BaoLog.AddObject(BaoLog);

            string SP_Ret = Entity.SP_UsersMoney(Users.Id, "理财转出", AllMoney, 1, "转出到余额");

            if (SP_Ret != "3")
            {
                Utils.WriteLog(string.Format("U{0},O{1},T{2}:{3}【{4}】", Users.Id, "理财转出", 1, AllMoney, SP_Ret), "SP_UsersMoney");
            }

            BaoUsers.AllMoney = 0;
            BaoUsers.ActMoney = 0;
            this.Entity.SaveChanges();

            Utils.WriteLog("用户ID:" + Users.Id.ToString() + "金额:" + AllMoney.ToString() + "操作员:" + this.AdminUser.TrueName + "操作时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm"), "TransferUser");
            ViewBag.Msg = "操作成功";
            return(View("Succeed"));
        }
        public ActionResult Log(BaoLog BaoLog, EFPagingInfo <BaoLog> p)
        {
            if (!BaoLog.UId.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.UId == BaoLog.UId);
            }
            if (!BaoLog.LType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.LType == BaoLog.LType);
            }
            if (!BaoLog.State.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.State == BaoLog.State);
            }
            p.OrderByList.Add("Id", "DESC");
            IPageOfItems <BaoLog> BaoLogList = Entity.Selects <BaoLog>(p);

            ViewBag.BaoLogList = BaoLogList;
            ViewBag.BaoLog     = BaoLog;
            return(View());
        }
Exemplo n.º 3
0
        public void Post()
        {
            string Data = DataObj.GetData();

            if (Data.IsNullOrEmpty())
            {
                DataObj.OutError("1000");
                return;
            }
            JObject json = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(Data);
            }
            catch (Exception Ex)
            {
                Log.Write("[BaoUsersOut]:", "【Data】" + Data, Ex);
            }
            if (json == null)
            {
                DataObj.OutError("1000");
                return;
            }
            BaoUsers BaoUsers = new BaoUsers();

            BaoUsers = JsonToObject.ConvertJsonToModel(BaoUsers, json);
            if (BaoUsers.Token.IsNullOrEmpty() || BaoUsers.ActMoney.IsNullOrEmpty() || BaoUsers.PayPwd.IsNullOrEmpty())
            {
                DataObj.OutError("1000");
                return;
            }
            if (BaoUsers.PayPwd.Length < 6)//6位及以上
            {
                DataObj.OutError("1000");
                return;
            }
            Users Users = Entity.Users.FirstOrDefault(n => n.Token == BaoUsers.Token);

            if (Users == null)//用户令牌不存在
            {
                DataObj.OutError("2004");
                return;
            }
            if (Users.State != 1)
            {
                DataObj.OutError("2003");
                return;
            }
            if (Users.CardStae != 2)//未实名认证
            {
                DataObj.OutError("2006");
                return;
            }
            if (Users.MiBao != 1)//未设置支付密码
            {
                DataObj.OutError("2008");
                return;
            }
            decimal ActMoney = BaoUsers.ActMoney;
            string  PayPwd   = BaoUsers.PayPwd;

            BaoUsers = Entity.BaoUsers.FirstOrDefault(n => n.UId == Users.Id);
            if (BaoUsers == null)
            {
                DataObj.OutError("1000");
                return;
            }
            //提现金额大于余额
            if (ActMoney > BaoUsers.AllMoney)
            {
                DataObj.OutError("6001");
                return;
            }
            if (Users.PayLock == 1)//密码错误太多次锁定
            {
                DataObj.OutError("2050");
                return;
            }

            //这里是执行指纹解锁
            bool IfCheckOk = true;

            if (PayPwd.Substring(0, 3) == "HF_")
            {
                string PassWord = PayPwd;
                PassWord = PassWord.Replace("HF_", "");
                string Token = Users.Token;
                Token = Token + "GoodPay";
                string Md5Token = Token.GetMD5().ToUpper();
                string Pass     = Md5Token.Substring(0, 4) + Md5Token.Substring(Md5Token.Length - 4, 4);
                if (Pass != PassWord)
                {
                    IfCheckOk = false;
                }
            }
            else if (Users.PayPwd != PayPwd.GetPayMD5())
            {
                //原支付密码错误
                IfCheckOk = false;
            }
            if (!IfCheckOk)
            {
                //付密码错误
                SysSet SysSet = Entity.SysSet.FirstOrNew();
                //系统统一修改标识SAME002
                Users.PayErr++;
                if (Users.PayErr >= SysSet.PayLock)
                {
                    Users.PayLock = 1;
                }
                Entity.SaveChanges();
                Users Out = new Users();
                Out.PayErr   = SysSet.PayLock - Users.PayErr;
                Out.Cols     = "PayErr";
                DataObj.Data = Out.OutJson();
                DataObj.Code = "2010";
                DataObj.OutString();
                return;
            }

            Users.PayErr = 0;
            Entity.SaveChanges();

            //业务开始
            //===========================================================================
            //余额宝变动记录
            BaoLog BaoLog = new BaoLog();

            BaoLog.UId         = Users.Id;
            BaoLog.LType       = 2;//1转入 2转出 3收益
            BaoLog.BeforAmount = BaoUsers.ActMoney;
            BaoLog.BeforFrozen = BaoUsers.InMoney;
            BaoLog.Amount      = ActMoney;

            if (BaoUsers.InMoney == 0)
            {
                //未计息帐户没钱,全部扣除计息帐户
                BaoUsers.ActMoney = BaoUsers.ActMoney - ActMoney;
                BaoUsers.AllMoney = BaoUsers.AllMoney - ActMoney;
            }
            else
            {
                //未计息帐户有钱
                if (ActMoney < BaoUsers.InMoney)
                {
                    //转出小于未计息帐户金额,直接扣除未计息帐户中金额
                    BaoUsers.InMoney  = BaoUsers.InMoney - ActMoney;
                    BaoUsers.AllMoney = BaoUsers.AllMoney - ActMoney;
                }
                else
                {
                    //转出大于未计息帐户金额,直接扣除未计息帐户中全部金额,不足从计息帐户中扣除
                    BaoUsers.ActMoney = BaoUsers.ActMoney + BaoUsers.InMoney - ActMoney;
                    BaoUsers.InMoney  = 0;
                    BaoUsers.AllMoney = BaoUsers.AllMoney - ActMoney;
                }
            }

            BaoLog.AfterAmount = BaoUsers.ActMoney;
            BaoLog.AfterFrozen = BaoUsers.InMoney;
            BaoLog.State       = 1;
            BaoLog.AddTime     = DateTime.Now;
            Entity.BaoLog.AddObject(BaoLog);

            //帐户变动记录
            int    USERSID = Users.Id;
            string SP_Ret  = Entity.SP_UsersMoney(USERSID, "理财转出", ActMoney, 1, "");

            if (SP_Ret != "3")
            {
                Utils.WriteLog(string.Format("U{0},O{1},T{2}:{3}【{4}】", USERSID, "理财转出", 1, ActMoney, SP_Ret), "SP_UsersMoney");
                DataObj.OutError("8888");
                return;
            }
            Entity.SaveChanges();

            BaoConfig BaoConfig = Entity.BaoConfig.FirstOrNew();

            BaoUsers.GetCost = BaoConfig.GetCost;
            DataObj.Data     = BaoUsers.OutJson();
            DataObj.Code     = "0000";
            DataObj.OutString();
        }
Exemplo n.º 4
0
        public void Post()
        {
            string Data = DataObj.GetData();

            if (Data.IsNullOrEmpty())
            {
                DataObj.OutError("1000");
                return;
            }
            JObject json = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(Data);
            }
            catch (Exception Ex)
            {
                Log.Write("[BaoList]:", "【Data】" + Data, Ex);
            }
            if (json == null)
            {
                DataObj.OutError("1000");
                return;
            }
            BaoLog BaoLog = new BaoLog();

            BaoLog = JsonToObject.ConvertJsonToModel(BaoLog, json);
            if (BaoLog.Token.IsNullOrEmpty())
            {
                DataObj.OutError("1000");
                return;
            }

            Users Users = Entity.Users.FirstOrDefault(n => n.Token == BaoLog.Token);

            if (Users == null)//用户令牌不存在
            {
                DataObj.OutError("2004");
                return;
            }
            if (Users.State != 1)
            {
                DataObj.OutError("2003");
                return;
            }
            if (Users.CardStae != 2)//未实名认证
            {
                DataObj.OutError("2006");
                return;
            }
            if (Users.MiBao != 1)//未设置支付密码
            {
                DataObj.OutError("2008");
                return;
            }

            EFPagingInfo <BaoLog> p = new EFPagingInfo <BaoLog>();

            if (!BaoLog.Pg.IsNullOrEmpty())
            {
                p.PageIndex = BaoLog.Pg;
            }
            if (!BaoLog.Pgs.IsNullOrEmpty())
            {
                p.PageSize = BaoLog.Pgs;
            }
            if (!BaoLog.LType.IsNullOrEmpty())
            {
                p.SqlWhere.Add(f => f.LType == BaoLog.LType);
            }

            p.SqlWhere.Add(f => f.UId == Users.Id);
            p.SqlWhere.Add(f => f.LType == 1 || f.LType == 2 || f.LType == 3);
            p.OrderByList.Add("Id", "DESC");

            IPageOfItems <BaoLog> List = Entity.Selects <BaoLog>(p);

            foreach (var P in List)
            {
                if (P.LType == 1)
                {
                    P.LTypeName = "转入";
                }
                if (P.LType == 2)
                {
                    P.LTypeName = "转出";
                }
                if (P.LType == 3)
                {
                    P.LTypeName = "收益";
                }
            }

            IList <BaoLog> iList = List.ToList();

            StringBuilder sb = new StringBuilder("");

            sb.Append("{");
            sb.Append(List.PageToString());
            sb.Append(",");
            sb.Append(iList.EntityToString());
            sb.Append("}");

            DataObj.Data = sb.ToString();
            DataObj.Code = "0000";
            DataObj.OutString();
        }