public HttpResponseMessage SetPay([FromBody] PayModel payModel) { var user = (UserBase)_workContext.CurrentUser; var broker = new BrokerEntity { }; var BrokeAccount = new BrokeAccountEntity { }; var BrokerWithdraw = new BrokerWithdrawEntity { }; var BrokerWithDrawDetail = new BrokerWithdrawDetailEntity { }; //var condition = new BrokerWithdrawDetailSearchCondition //{ // BrokerWithdraw = payModel.Id //}; if (user == null) { //broker = _brokerService.GetBrokerByUserId(user.Id); //获取当前经纪人 //if (broker == null) //{ return(PageHelper.toJson(PageHelper.ReturnValue(false, "获取用户失败,请检查是否登陆"))); //} } if (string.IsNullOrEmpty(payModel.Id)) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据不能为空"))); } //根据经纪人提现ID查询经纪人体现信息 BrokerWithdraw = _brokerwithdrawService.GetBrokerWithdrawById(Convert.ToInt32(payModel.Id)); // 判断提现状态,如果状态为一,则表示已经提现 if (BrokerWithdraw.State == 1) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "财务已经打款"))); } //////////////////////////////////////////////////////////////////////////////////////////////// //if (string.IsNullOrEmpty(payModel.Ids)) //{ // return PageHelper.toJson(PageHelper.ReturnValue(false, "数据不能为空")); //} //if (string.IsNullOrEmpty(payModel.BrokeAccountId)) //{ // return PageHelper.toJson(PageHelper.ReturnValue(false,"数据不能为空")); //} //构建查询实体 var seach = new BrokerWithdrawDetailSearchCondition { OrderBy = EnumBrokerWithdrawDetailSearchOrderBy.OrderByTime, BrokerWithdraw = _brokerwithdrawService.GetBrokerWithdrawById(Convert.ToInt32(payModel.Id)), }; var list = _brokerwithdrawDetailService.GetBrokerWithdrawDetailsByCondition(seach).Select(b => new { b.Id, b.Withdrawnum, b.BrokeAccount_Id, b.Withdrawtime, b.Type, b.BrokerWithdraw.WithdrawDesc, b.BrokerWithdraw.BankCard.Num, }).ToList().Select(a => new { a.Id, a.Withdrawnum, a.BrokeAccount_Id, a.Type, a.Num, WithdrawDesc = a.WithdrawDesc, Withdrawtime = a.Withdrawtime.ToString("yyy-MM-dd"), }); foreach (var p in list) { if (p == null) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据错误"))); } if (Convert.ToInt32(p.Type) == 0) { var blModel = new BLPayEntity { Name = payModel.Name, Describe = payModel.Describe, BankCard = p.Num, Accountantid = user.Id, Amount = p.Withdrawnum, Adduser = user.Id, Upuser = user.Id, Addtime = DateTime.Now, Uptime = DateTime.Now, }; _blPayService.Create(blModel); } if (Convert.ToInt32(p.Type) == 1) { var breModel = new BRECPayEntity { Name = payModel.Name, Describe = payModel.Describe, BankCard = p.Num, Accountantid = user.Id, Amount = p.Withdrawnum, Adduser = user.Id, Upuser = user.Id, Addtime = DateTime.Now, Uptime = DateTime.Now, }; _brecPayService.Create(breModel); } BrokeAccount = _brokerAcountService.GetBrokeAccountById(p.BrokeAccount_Id.Id); BrokeAccount.State = 1; BrokeAccount.Uptime = DateTime.Now; BrokeAccount.Upuser = user.Id; _brokerAcountService.Update(BrokeAccount); } //string[] strBrokeAccountId = payModel.BrokeAccountId.Split(','); //foreach (var BrokeAccountId in strBrokeAccountId) //{ // if (string.IsNullOrEmpty(BrokeAccountId)) // { // return PageHelper.toJson(PageHelper.ReturnValue(false, "数据错误")); // } // BrokeAccount = _brokerAcountService.GetBrokeAccountById(Convert.ToInt32(BrokeAccountId)); // if (BrokeAccount.State == 1) // { // break; // } //} //string[] strIds = payModel.Ids.Split(','); //foreach (var id in strIds) //{ // if(string.IsNullOrEmpty(id)) // { // break; // } // var model = _brokerwithdrawDetailService.GetBrokerWithdrawDetailById(Convert.ToInt32(id)); // if (Convert.ToInt32(model.Type) == 0) // { // var blModel = new BLPayEntity // { // Name = payModel.Name, // Describe = payModel.Describe, // BankCard = Convert.ToInt32(model.BankCard.Num), // Accountantid = broker.Id, // Amount = model.Withdrawnum, // Adduser = broker.Id, // Upuser = broker.Id, // Addtime = DateTime.Now, // Uptime = DateTime.Now, // }; // _blPayService.Create(blModel); // } // if (Convert.ToInt32(model.Type) == 1) // { // var breModel = new BRECPayEntity // { // Name = payModel.Name, // Describe = payModel.Describe, // BankCard = Convert.ToInt32(model.BankCard.Num), // Accountantid = broker.Id, // Amount = model.Withdrawnum, // Adduser = broker.Id, // Upuser = broker.Id, // Addtime = DateTime.Now, // Uptime = DateTime.Now, // }; // _brecPayService.Create(breModel); // } //} BrokerWithdraw.State = 1; //BrokerWithdraw.AccAccountantId.UserId = user.Id; BrokerWithdraw.Uptime = DateTime.Now; BrokerWithdraw.Upuser = user.Id; BrokerWithdraw.WithdrawDesc = payModel.Describe; BrokerWithdraw.BankSn = payModel.BankSn; _brokerwithdrawService.Update(BrokerWithdraw); return(PageHelper.toJson(PageHelper.ReturnValue(true, "打款成功"))); }
public HttpResponseMessage AddBrokerWithdrawDetail([FromBody] AddMoneyEntity MoneyEntity) { int bankId = 0; //银行Id decimal withdrawMoney = 0; //提现金额 if (string.IsNullOrEmpty(MoneyEntity.Bank) || string.IsNullOrEmpty(MoneyEntity.Ids) || string.IsNullOrEmpty(MoneyEntity.Hidm) || string.IsNullOrEmpty(MoneyEntity.MobileYzm) || string.IsNullOrEmpty(MoneyEntity.Money)) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误"))); } if (!Int32.TryParse(MoneyEntity.Bank, out bankId)) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误"))); } //if (!Int32.TryParse(MoneyEntity.Money, out withdrawMoney)) //{ // return PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误")); //} //else //{ // if (withdrawMoney <= 0) // { // return PageHelper.toJson(PageHelper.ReturnValue(false, "提现金额必须大于零")); // } //} #region 验证码判断 解密 var strDes = EncrypHelper.Decrypt(MoneyEntity.Hidm, "Hos2xNLrgfaYFY2MKuFf3g=="); //解密 string[] str = strDes.Split('$'); string source = str[0]; //获取验证码 DateTime date = Convert.ToDateTime(str[1]); //获取发送验证码的时间 DateTime dateNow = Convert.ToDateTime(DateTime.Now.ToLongTimeString()); //获取当前时间 TimeSpan ts = dateNow.Subtract(date); double secMinu = ts.TotalMinutes; //得到发送时间与现在时间的时间间隔分钟数 if (secMinu > 3) //发送时间与接受时间是否大于3分钟 { return(PageHelper.toJson(PageHelper.ReturnValue(false, "你已超过时间验证,请重新发送验证码!"))); } else { if (MoneyEntity.MobileYzm != source)//判断验证码是否一致 { return(PageHelper.toJson(PageHelper.ReturnValue(false, "验证码错误,请重新发送!"))); } } #endregion //非空验证 var user = (UserBase)_workContext.CurrentUser; if (user != null) { var broker = _brokerService.GetBrokerByUserId(user.Id);//获取当前经纪人 if (broker != null) { //根据对应的经纪人账户明细Ids 添加到提现主表 附表中去 if (!string.IsNullOrEmpty(MoneyEntity.Ids)) { var bankCard = _bankcardService.GetBankCardById(Convert.ToInt32(MoneyEntity.Bank)); if (bankCard.Broker.Id != broker.Id) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误"))); } List <BrokerWithdrawDetailEntity> listBrokerWithDetail = new List <BrokerWithdrawDetailEntity>(); //提现明细List var brokerWithdraw = new BrokerWithdrawEntity //提现主表 { Addtime = DateTime.Now, Adduser = broker.Id, BankCard = bankCard, BankSn = "", Broker = broker, State = 0, Uptime = DateTime.Now, Upuser = broker.Id, WithdrawDesc = "", WithdrawTime = DateTime.Now, }; try { foreach (var p in MoneyEntity.Ids.Split(',')) { if (string.IsNullOrEmpty(p)) { continue; } var broaccount = _brokeaccountService.GetBrokeAccountById(Convert.ToInt32(p)); //获取该笔账户 if (broaccount.Broker.Id != broker.Id) //判断该笔账户金额是否是当前这个经纪人 { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误"))); } else { withdrawMoney += broaccount.Balancenum;//提现总金额 var bwithdrawDetail = new BrokerWithdrawDetailEntity { BankCard = bankCard, Withdrawnum = Convert.ToDecimal(broaccount.Balancenum), Withdrawtime = DateTime.Now, Broker = broker, Uptime = DateTime.Now, Addtime = DateTime.Now, Adduser = broker.Id, Upuser = broker.Id, Type = broaccount.Type.ToString(), BrokeAccount_Id = broaccount }; listBrokerWithDetail.Add(bwithdrawDetail); } } //更新提现总金额 brokerWithdraw.WithdrawTotalNum = withdrawMoney; brokerWithdraw = _brokerwithdrawService.Create(brokerWithdraw); //添加到提现主表 foreach (var browithdetail in listBrokerWithDetail) //添加到提现附表 { browithdetail.BrokerWithdraw = brokerWithdraw; _brokerwithdrawdetailService.Create(browithdetail); //更改账户表中 状态 var brokeraccount = browithdetail.BrokeAccount_Id; brokeraccount.State = -1; _brokeaccountService.Update(brokeraccount); } //更新到经纪人表中 可用金额 broker.Amount = Convert.ToDecimal(GetBrokerAmount()); _brokerService.Update(broker); return(PageHelper.toJson(PageHelper.ReturnValue(true, "提现申请成功!"))); } catch { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误"))); } } else { return(PageHelper.toJson(PageHelper.ReturnValue(false, "数据验证错误"))); } #region 以前的逻辑 //decimal getMoney = Convert.ToDecimal(GetBrokerAmount());//计算得到的剩余总金额 //decimal syMoney = 0;//剩余金额 //// 提现金额逻辑判断(账户金额表 和提现表相减 跟经纪人表中‘提现金额’字段一致) //if (Convert.ToDecimal(MoneyEntity.Money) > getMoney) //{ // return PageHelper.toJson(PageHelper.ReturnValue(false, "账户余额不足,不能提现")); //} //syMoney = getMoney - Convert.ToDecimal(MoneyEntity.Money); ////将剩余金额更新到经纪人表中金额字段 ////broker.Amount = syMoney; ////_brokerService.Update(broker); ////更新到提现表中 //var entity = new BrokerWithdrawDetailEntity //{ // BankCard = _bankcardService.GetBankCardById(Convert.ToInt32(MoneyEntity.Bank)), // Withdrawnum = Convert.ToDecimal(MoneyEntity.Money), // Withdrawtime = DateTime.Now, // Broker = broker, // Uptime = DateTime.Now, // Addtime = DateTime.Now, // Adduser = broker.Id, // Upuser = broker.Id, // Type = "0" //}; //try //{ // if (_brokerwithdrawdetailService.Create(entity) != null) // { // return PageHelper.toJson(PageHelper.ReturnValue(true, entity.Id.ToString())); // } //} //catch //{ // return PageHelper.toJson(PageHelper.ReturnValue(false, "数据添加失败!")); //} #endregion } } return(PageHelper.toJson(PageHelper.ReturnValue(false, "获取用户失败,请检查是否登陆"))); }