/// <summary> /// /// </summary> /// <param name="bankUserInfo"></param> /// <param name="bankAccountInfoCollection"></param> public void addBankUserAndAccount(BankUserInfo bankUserInfo, IEnumerable <BankAccountInfo> bankAccountInfoCollection) { using (TransactionScope transactionScope = new TransactionScope()) { UIDataConfig.DefaultDataAdapterFactory.BankUserDb.addBankUser(new BankUserConverter().convertBack(bankUserInfo)); bankAccountInfoCollection .Select(t => this.BankAccountConverter.convertBack(t)) .ToList() .ForEach(t => UIDataConfig.DefaultDataAdapterFactory.BankAccountDb.addBankAccount(t)); transactionScope.Complete(); } }
private void BatchRechargeForm_Load(object sender, EventArgs e) { //批量充值 Thread thBtRechar = new Thread(async() => { this.toolStripButton.Enabled = false; foreach (DataGridViewModel data in this.userIndentifiers) { string useridentifier = data.UserIdentifer; this.lbl_showRechrge.Text = $"{useridentifier}: 正在进行充值操作......."; this.isFlag = false; this.secondsRecharge = 0; BankUserInfo bankUser = await this.jymService.GetBankUserInfoAsync(data.UserIdentifer); if (bankUser == null) { this.lbl_showRechrge.Text = $"{useridentifier}: 该用户还未开户"; Thread.Sleep(1500); continue; } //充值 RechargeReqeust rechargeReqeust = new RechargeReqeust { Amount = 8000000000, ChannelType = 10, ClientType = 900, ReturnUrl = "http://www.dev.ad.jinyinmao.com.cn/redirect/Home/?request=http://www.baidu.com", UserIdentifier = useridentifier, Password = data.Password, CellPhone = data.CellPhone }; string useridentifier1 = useridentifier; await this.bankPageCommon.Recharge(rechargeReqeust, () => { this.lbl_showRechrge.Text = $"{useridentifier1}: 该用户充值成功"; //记录充值 SqlHelper.ExecuteNoneQuery($"update AccountUsers set RechargeNums=RechargeNums+1,RechargeAmount=RechargeAmount+{8000000000} where UserIdentifier='{useridentifier1}'"); this.isFlag = true; }, this.webBrowser_batchRecharge); while (!this.isFlag) { //secondsRecharge Thread.Sleep(4000); this.secondsRecharge += this.secondsRecharge + 4000; if (this.secondsRecharge >= 60000) { this.lbl_showRechrge.Text = $"{useridentifier}: 充值超时"; break; } } } this.toolStripButton.Enabled = true; this.action(); this.Close(); }) { IsBackground = true }; thBtRechar.Start(); }
/// <summary> /// 用户授权 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UserBankAuthForm_Load(object sender, EventArgs e) { //批量充值 Thread thBtRechar = new Thread(async() => { this.toolStripButton.Enabled = false; foreach (DataGridViewModel data in this.datas) { string useridentifier = data.UserIdentifer; this.lbl_showRechrge.Text = $"{useridentifier}: 正在进行授权操作......."; this.isFlag = false; this.secondsRecharge = 0; BankUserInfo bankUser = await this.jymService.GetBankUserInfoAsync(data.UserIdentifer); if (bankUser == null) { this.lbl_showRechrge.Text = $"{useridentifier}: 该用户还未开户"; Thread.Sleep(1500); continue; } //充值 string useridentifier1 = useridentifier; await this.bankPageCommon.UserAuth(useridentifier, () => { this.lbl_showRechrge.Text = $"{useridentifier1}: 该用户授权成功"; //记录充值 SqlHelper.ExecuteNoneQuery($"update AccountUsers set IsBankAuth=1 where UserIdentifier='{useridentifier1}'"); this.isFlag = true; }, this.webBrowser_batchAuth); while (!this.isFlag) { //secondsRecharge Thread.Sleep(4000); this.secondsRecharge += this.secondsRecharge + 4000; if (this.secondsRecharge >= 60000) { this.lbl_showRechrge.Text = $"{useridentifier}: 授权超时"; break; } } } this.toolStripButton.Enabled = true; this.action(); this.Close(); }) { IsBackground = true }; thBtRechar.Start(); }
/// <summary> /// 获取银行版本的用户信息 /// </summary> /// <param name="userIdentifier"></param> /// <returns></returns> public async Task <BankUserInfo> GetBankUserInfoAsync(string userIdentifier) { try { //HttpClient httpClient=new HttpClient {BaseAddress = new Uri("http://api.dev.ad.jinyinmao.com.cn/") }; string url = $"{bankGetwayBaseUrl}api/users/accountsearch"; HttpResponseMessage responseMessage = await Client.PostAsJsonAsync(url, new { UserId = userIdentifier }); string userInfoStr = await responseMessage.Content.ReadAsStringAsync(); BankUserInfo userInfo = JsonConvert.DeserializeObject <BankUserInfo>(userInfoStr); return(userInfo.UserId.IsNullOrEmpty() ? null : userInfo); } catch (Exception) { return(null); } }
private async void button2_Click(object sender, EventArgs e) { this.btn_recharge.Enabled = false; this.lbl_showRecharge.Text = "正在进行充值操作......."; string userIdentifiers = this.txb_userIndentifiers.Text.Trim(); string[] userInfoList = Regex.Split(userIdentifiers, "\r\n", RegexOptions.IgnoreCase); if (userInfoList.Length == 0) { MessageBox.Show("数据格式不对"); return; } foreach (string user in userInfoList) { //判断该用户是否在银行开户 List <string> userInfos = user.GetListByStr(); if (userInfos == null || userInfos.Count == 0) { //格式不正确 this.rechargeResults.Append($"{user}:格式不正确"); this.rechargeResults.Append("\r\n"); //this.txb_RechargeResults.Text = this.rechargeResults.ToString(); //提示 continue; } BankUserInfo bankUser = await this.jymService.GetBankUserInfoAsync(userInfos[0]); if (bankUser == null) { this.rechargeResults.Append($"{user}:该用户还未开户"); this.rechargeResults.Append("\r\n"); //this.txb_RechargeResults.Text = this.rechargeResults.ToString(); //提示 continue; } //充值 RechargeReqeust rechargeReqeust = new RechargeReqeust { Amount = Convert.ToInt64(userInfos[1]), ChannelType = 10, ClientType = 900, ReturnUrl = "http://www.dev.ad.jinyinmao.com.cn/redirect/Home/?request=http://www.baidu.com", UserIdentifier = userInfos[0] }; await this.bankPageCommon.Recharge(rechargeReqeust, () => { this.rechargeResults.Append($"{user}:充值成功"); this.isFlag = true; this.rechargeResults.Append("\r\n"); //this.txb_RechargeResults.Text = this.rechargeResults.ToString(); //提示成功 }); while (!this.isFlag) { Thread.Sleep(5000); } } //充值操作结束 this.btn_recharge.Enabled = true; this.lbl_showRecharge.Text = "充值操作结束"; //this.button2.Enabled = false; //int nums = Convert.ToInt16(this.txb_num.Text.Trim()); //this.count = nums; //for (int i = 0; i < nums; i++) //{ // RegisterSuccessInfo d = await this.Register(); // if (d.IsSuccess) // { // //开通存管账户 // await this.OpenBankAccount(d, this.webBrowser1); // } //} //this.button2.Enabled = true; //MessageBox.Show("成功"); }
/// <summary> /// 批量充值 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_recharge_Click(object sender, EventArgs e) { //批量充值 string userIdentifiers = this.txb_userIndentifiers.Text.Trim(); string amountTxt = this.txb_amount.Text.Trim(); if (string.IsNullOrEmpty(amountTxt) || string.IsNullOrEmpty(userIdentifiers)) { MessageBox.Show("信息不能为空"); return; } Regex regex = new Regex("^[1-9]{1}[0-9]{0,14}$"); if (!regex.IsMatch(amountTxt)) { MessageBox.Show("金额格式不对"); return; } long amount = Convert.ToInt64(amountTxt); string[] userInfoList = Regex.Split(userIdentifiers, "\r\n", RegexOptions.IgnoreCase); Thread thBtRechar = new Thread(async() => { this.btn_recharge.Enabled = false; this.button1.Enabled = false; foreach (string useridentifier in userInfoList) { this.lbl_showRecharge.Text = $"{useridentifier}: 正在进行充值操作......."; this.isFlag = false; this.secondsRecharge = 0; //判断该用户是否在银行开户 //List<string> userInfos = user.GetListByStr(); Regex regexuserIdentifier = new Regex("^[0-9a-zA-Z]{32}$"); if (!regexuserIdentifier.IsMatch(useridentifier)) { //格式不正确 this.lbl_showRecharge.Text = $"{useridentifier}: 格式错误,充值失败....."; Thread.Sleep(1500); continue; } BankUserInfo bankUser = await this.jymService.GetBankUserInfoAsync(useridentifier.ToUpper()); if (bankUser == null) { this.lbl_showRecharge.Text = $"{useridentifier}: 该用户还未开户"; //this.txb_RechargeResults.Text = this.rechargeResults.ToString(); //提示 Thread.Sleep(1500); continue; } //充值 RechargeReqeust rechargeReqeust = new RechargeReqeust { Amount = amount, ChannelType = 10, ClientType = 900, ReturnUrl = "http://www.dev.ad.jinyinmao.com.cn/redirect/Home/?request=http://www.baidu.com", UserIdentifier = useridentifier }; await this.bankPageCommon.Recharge(rechargeReqeust, () => { this.lbl_showRecharge.Text = $"{useridentifier}: 该用户充值成功"; //记录充值 SqlHelper.ExecuteNoneQuery($"update AccountUsers set RechargeNums=RechargeNums+1,RechargeAmount=RechargeAmount+{amount} where UserIdentifier='{useridentifier}'"); this.isFlag = true; }, this.webBrowser_recharge); while (!this.isFlag) { //secondsRecharge Thread.Sleep(4000); this.secondsRecharge += this.secondsRecharge + 4000; if (this.secondsRecharge >= 120000) { break; } } } //充值操作结束 this.btn_recharge.Enabled = true; this.button1.Enabled = true; this.lbl_showRecharge.Text = "充值操作结束"; }) { IsBackground = true }; thBtRechar.Start(); }