using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; using DevExpress.XtraEditors; using UI.Framework.Forms; using SqlSugar; using Api.Framework; using Api.Framework.Model; using Api.Framework.Enums; using Api.Framework.Tools; using Grant.Framework; using System.Threading; using CsharpHttpHelper; namespace FLSystem.Forms { public partial class member_base_info_form : BaseForm { private SqlSugarClient session = null; long uid = 0; fl_member_info member = null; public member_base_info_form(long uid) { InitializeComponent(); this.uid = uid; session = ApiClient.GetSession(); } private MemberType old_status; private void member_base_info_form_Load(object sender, EventArgs e) { try { comboBoxEdit2.Properties.Items.Clear(); foreach (int v in Enum.GetValues(typeof(MemberType))) { string strName = Enum.GetName(typeof(MemberType), v); comboBoxEdit2.Properties.Items.AddRange(new object[] { strName }); } comboBoxEdit3.Properties.Items.Clear(); foreach (int v in Enum.GetValues(typeof(ExchangeType))) { string strName = Enum.GetName(typeof(ExchangeType), v); comboBoxEdit3.Properties.Items.AddRange(new object[] { strName }); } comboBoxEdit1.Properties.Items.Clear(); foreach (int v in Enum.GetValues(typeof(SwitchType))) { string strName = Enum.GetName(typeof(SwitchType), v); comboBoxEdit1.Properties.Items.AddRange(new object[] { strName }); } var groups = session.FindGroups(); if (groups != null && groups.Count != 0) { comboBox1.DataSource = groups; comboBox1.DisplayMember = "name"; comboBox1.Tag = groups; } loadMemberInfo(); } catch (Exception ex) { ShowError(ex); } } private CancellationTokenSource tokenSource = new CancellationTokenSource(); /// /// 加载数据 /// /// 是否重新赋值可修改的控件数据 private void loadMemberInfo(bool noAssignment = true) { try { if (uid != 0) { member = session.FindMemberInfoById(uid); if (member == null) throw new Exception("用户数据存在异常"); old_status = member.status; memoEdit1.Text = member.username; memoEdit2.Text = member.usernick; memoEdit3.Text = member.robot_type.ToString(); textEdit1.Text = member.inviter_id.ToString(); if (comboBox1.Tag != null) { var groups = comboBox1.Tag as List; var group = groups.FirstOrDefault(f => f.id == member.group_id); comboBox1.Text = group != null ? group.name : groups.FirstOrDefault().name; } memoEdit11.Text = member.remark; memoEdit5.Text = member.cur_point.ToString("0.00"); memoEdit7.Text = member.buy_point.ToString("0.00"); memoEdit6.Text = member.sum_point.ToString("0.00"); memoEdit8.Text = member.ext_point.ToString("0.00"); memoEdit9.Text = member.rew_point.ToString("0.00"); memoEdit10.Text = member.finish_order.ToString(); dateTimePicker5.Value = member.crt_time; dateTimePicker6.Value = member.upd_time; dateTimePicker7.Value = (member.blackout_time == DateTime.MinValue ? DateTime.Parse("1900-01-01 00:00:00") : member.blackout_time); memoEdit22.Text = member.chat_count.ToString(); var dic_t = FindOrderTotalInfo(uid, tokenSource.Token); dic_t.ContinueWith(f => { var dic = f.Result; this.Invoke(new Action(() => { try { memoEdit4.Text = (dic == null ? "异常" : dic["count_pay"].ToString("0.00"));//待收货数 memoEdit19.Text = (dic == null ? "异常" : dic["point_pay"].ToString("0.00"));//未收货金额 memoEdit21.Text = (dic == null ? "异常" : dic["count_sleep"].ToString("0.00"));//冻结数量 memoEdit20.Text = (dic == null ? "异常" : dic["point_sleep"].ToString("0.00"));//冻结金额 } catch (Exception) { } })); }, tokenSource.Token); if (noAssignment) { comboBoxEdit2.SelectedIndex = (int)member.status; comboBoxEdit3.SelectedIndex = (int)member.exchange_type; comboBoxEdit1.SelectedIndex = (int)member.ignore_group_update; memoEdit17.Text = member.identity_name; memoEdit18.Text = member.identity_card; memoEdit15.Text = member.alipay_name; memoEdit16.Text = member.alipay_num; dateTimePicker1.Value = member.ban_exchange_time; numericUpDown1.Value = (decimal)member.private_ratio; } is_loding = true; } } catch (Exception ex) { if (!this.IsDisposed) ShowError(ex); } } /// /// 统计阿里妈妈,京东,拼多多,(付款状态订单合计/冻结状态订单合计/付款和冻结状态订单合计) /// /// 表名 /// 用户id /// private Task> FindOrderTotalInfo(long uid, CancellationToken Token) { return Task.Run(() => { try { var session = ApiClient.GetSession(); var result = session.FindTable($"select round(COALESCE(sum(db_userpoint),0) ,2) as sum ,count(id) as count from fl_order_alimama where db_userid = @id and db_status = 1001 UNION ALL select round(COALESCE(sum(db_userpoint), 0), 2) as sum, count(id) as count from fl_order_alimama where db_userid = @id and db_status = 1005 union all select round(COALESCE(sum(db_userpoint),0) ,2) as sum ,count(id) as count from fl_order_jingdong where db_userid = @id and db_status = 1001 UNION ALL select round(COALESCE(sum(db_userpoint), 0), 2) as sum, count(id) as count from fl_order_jingdong where db_userid = @id and db_status = 1005 union all select round(COALESCE(sum(db_userpoint),0) ,2) as sum ,count(id) as count from fl_order_pinduoduo where db_userid = @id and db_status = 1001 UNION ALL select round(COALESCE(sum(db_userpoint), 0), 2) as sum, count(id) as count from fl_order_pinduoduo where db_userid = @id and db_status = 1005", new { id = uid }); if (result.Rows.Count != 0 && result.Rows.Count == 6) { var dic = new Dictionary(); var ali_point_sleep = decimal.Parse(result.Rows[0]["sum"].ToString()); var ali_count_sleep = int.Parse(result.Rows[0]["count"].ToString()); var ali_point_pay = decimal.Parse(result.Rows[1]["sum"].ToString()); var ali_count_pay = int.Parse(result.Rows[1]["count"].ToString()); var jd_point_sleep = decimal.Parse(result.Rows[2]["sum"].ToString()); var jd_count_sleep = int.Parse(result.Rows[2]["count"].ToString()); var jd_point_pay = decimal.Parse(result.Rows[3]["sum"].ToString()); var jd_count_pay = int.Parse(result.Rows[3]["count"].ToString()); var pdd_point_sleep = decimal.Parse(result.Rows[4]["sum"].ToString()); var pdd_count_sleep = int.Parse(result.Rows[4]["count"].ToString()); var pdd_point_pay = decimal.Parse(result.Rows[5]["sum"].ToString()); var pdd_count_pay = int.Parse(result.Rows[5]["count"].ToString()); dic.Add("point_sleep", ali_point_sleep + jd_point_sleep + pdd_point_sleep); dic.Add("count_sleep", ali_count_sleep + jd_count_sleep + pdd_count_sleep); dic.Add("point_pay", ali_point_pay + jd_point_pay + pdd_point_pay); dic.Add("count_pay", ali_count_pay + jd_count_pay + pdd_count_pay); return dic; } } catch (Exception ex) { } return null; }, Token); } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { try { DialogResult dialogResult = DialogResult.No; CsharpHttpHelper.IniHelper Config = new CsharpHttpHelper.IniHelper(HttpExtend.MapFile("系统配置.ini", "Config")); var pass = Config.GetValue("帐号信息", "密码2"); if (!string.IsNullOrWhiteSpace(pass)) { var v = new VerifyPassForm(pass); dialogResult = v.ShowDialog(); } else { var verify = new Grant.Framework.VerifyPassForm(); dialogResult = verify.ShowDialog(); } if (dialogResult == DialogResult.OK) { if (uid == 0) throw new Exception("当前窗体数据异常"); var changepoint = new change_point_form(uid); changepoint.ShowDialog(); loadMemberInfo(false); } } catch (Exception ex) { ShowError(ex); } } private void member_base_info_form_FormClosing(object sender, FormClosingEventArgs e) { try { memoEdit17.Focus(); if (is_change && XtraMessageBox.Show("您当前做了修改操作,是否保存?", "系统提示", MessageBoxButtons.YesNo) == DialogResult.Yes) { member.status = (MemberType)comboBoxEdit2.SelectedIndex; member.exchange_type = (ExchangeType)comboBoxEdit3.SelectedIndex; member.ignore_group_update = (SwitchType)comboBoxEdit1.SelectedIndex; member.identity_name = memoEdit17.Text.Trim(); member.ban_exchange_time = dateTimePicker1.Value; member.private_ratio = (double)numericUpDown1.Value; member.identity_card = memoEdit18.Text.Trim(); member.alipay_name = memoEdit15.Text.Trim(); member.alipay_num = memoEdit16.Text.Trim(); member.inviter_id = int.Parse(textEdit1.Text); if (comboBox1.SelectedValue != null) member.group_id = (comboBox1.SelectedValue as fl_member_group).id; member.remark = memoEdit11.Text; session.SaveOrUpdate(member); session.FindBlacklistMemberInfos(true);//刷新黑名单缓存 } tokenSource.Cancel(); } catch (Exception ex) { ShowError(ex); } } private bool is_change = false; private bool is_loding = false; /// /// 现在有8个控件可以赋值,如果8个值都没有被修改那么关闭的时候将不提示是否保存提示 /// /// /// private void ChangeInput(object sender, EventArgs e) { if (is_loding) is_change = true; try { if (sender is TextEdit) { var edit = sender as TextEdit; if (edit.Name == "textEdit1") { try { if (edit.Text.Trim() == "0") throw new Exception("无"); var session = ApiClient.GetSession(); var member = session.FindMemberInfoById(int.Parse(edit.Text.Trim())); if (member == null) throw new Exception("数据异常"); memoEdit14.Text = member.usernick; } catch (Exception ex) { memoEdit14.Text = ex.Message; } } } } catch (Exception) { } } } }