old_flsystem/FLSystem/Forms/member_manage_control.cs

438 lines
20 KiB
C#
Raw Permalink Normal View History

2022-09-20 03:10:29 +00:00
using Api.Framework;
using Api.Framework.Enums;
using Api.Framework.Model;
using Api.Framework.Tools;
using DevExpress.XtraEditors;
using FLSystem.Events;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows.Forms;
using UI.Framework.Forms;
namespace FLSystem.Forms
{
public partial class member_manage_control : XtraUserControl
{
List<fl_member_group> groups = null;
public member_manage_control(string textedit = "")
{
try
{
InitializeComponent();
textEdit1.Text = textedit;
this.comboBoxEdit1.SelectedIndex = string.IsNullOrEmpty(textedit) ? 0 : 1;
this.comboBoxEdit3.Properties.Items.Clear();
this.comboBoxEdit3.Properties.Items.AddRange(new object[] { "全部状态" }); ;
foreach (int v in Enum.GetValues(typeof(MemberType)))
{
this.comboBoxEdit3.Properties.Items.AddRange(new object[] { Enum.GetName(typeof(MemberType), v) });
}
this.comboBoxEdit3.SelectedIndex = 0;
this.gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator;
this.pageControl1.Bind(delegate (int index, int pagesize)
{
try
{
var session = ApiClient.GetSession();
this.groups = session.FindGroups();
List<fl_member_info> result = null;
List<IConditionalModel> conModels = new List<IConditionalModel>();
string keyword = this.textEdit1.Text.Trim();
if (!string.IsNullOrEmpty(keyword) || this.comboBoxEdit1.Text == "积分为负数" || this.comboBoxEdit1.Text == "私人推广位" || this.comboBoxEdit1.Text == "私人比例")
{
//where = " where ";
switch (this.comboBoxEdit1.Text)
{
case "客户账号":
{
conModels.Add(new ConditionalModel() { FieldName = "username", ConditionalType = ConditionalType.Equal, FieldValue = keyword });
break;
}
case "客户昵称":
{
conModels.Add(new ConditionalModel() { FieldName = "usernick", ConditionalType = ConditionalType.Like, FieldValue = keyword });
conModels.Add(new ConditionalCollections()
{
ConditionalList = new List<KeyValuePair<WhereType, SqlSugar.ConditionalModel>>() { new KeyValuePair<WhereType, ConditionalModel>(WhereType.Or, new ConditionalModel() { FieldName = "usernick", ConditionalType = ConditionalType.Like, FieldValue = keyword }), new KeyValuePair<WhereType, ConditionalModel>(WhereType.Or, new ConditionalModel() { FieldName = "remark", ConditionalType = ConditionalType.Like, FieldValue = keyword }) }
});
break;
}
case "客户编号":
{
conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = keyword });
break;
}
case "支付宝账号":
{
conModels.Add(new ConditionalModel() { FieldName = "alipay_num", ConditionalType = ConditionalType.Equal, FieldValue = keyword });
break;
}
case "支付宝姓名":
{
conModels.Add(new ConditionalModel() { FieldName = "alipay_name", ConditionalType = ConditionalType.Equal, FieldValue = keyword });
break;
}
case "上级编号":
{
conModels.Add(new ConditionalModel() { FieldName = "inviter_id", ConditionalType = ConditionalType.Equal, FieldValue = keyword });
break;
}
case "上级账号":
{
var friend = session.Find<fl_member_info>("username = @username", new { username = keyword }).FirstOrDefault();
conModels.Add(new ConditionalModel() { FieldName = "inviter_id", ConditionalType = ConditionalType.Equal, FieldValue = (friend != null ? friend.id.ToString() : "0") });
break;
}
case "上级昵称":
{
var friend = session.Find<fl_member_info>("usernick like @usernick", new { usernick = "%" + keyword + "%" }).FirstOrDefault();
conModels.Add(new ConditionalModel() { FieldName = "inviter_id", ConditionalType = ConditionalType.Equal, FieldValue = (friend != null ? friend.id.ToString() : "0") });
break;
}
case "积分为负数":
{
conModels.Add(new ConditionalModel() { FieldName = "cur_point", ConditionalType = ConditionalType.LessThan, FieldValue = "0" });
break;
}
case "私人推广位":
{
var members = session.FindAdzoneInfos().Where(f => f.custom_type == PrivateAdzoneCustomType.pid.ToString() && f.member_id > 0).GroupBy(f => f.member_id).Select(f => f.Key);
conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", members) });
break;
}
case "私人比例":
{
conModels.Add(new ConditionalModel() { FieldName = "private_ratio", ConditionalType = ConditionalType.GreaterThan, FieldValue = "0" });
break;
}
}
}
if (!string.IsNullOrWhiteSpace(comboBoxEdit3.Text) && comboBoxEdit3.Text != "全部状态")
{
conModels.Add(new ConditionalModel() { FieldName = "status", ConditionalType = ConditionalType.Equal, FieldValue = ((int)(MemberType)Enum.Parse(typeof(MemberType), comboBoxEdit3.Text)).ToString() });
}
int totalNumber = 0;
switch (this.comboBoxEdit2.Text)
{
case "最近新增":
{
result = session.Queryable<fl_member_info>()
.Where(conModels)
.OrderBy(m => m.crt_time, OrderByType.Desc)
.ToPageList(index, pagesize, ref totalNumber);
break;
}
case "最早聊天":
{
result = session.Queryable<fl_member_info>()
.Where(conModels)
.OrderBy(m => m.upd_time, OrderByType.Asc)
.ToPageList(index, pagesize, ref totalNumber);
break;
}
case "最近聊天":
{
result = session.Queryable<fl_member_info>()
.Where(conModels)
.OrderBy(m => m.upd_time, OrderByType.Desc)
.ToPageList(index, pagesize, ref totalNumber);
break;
}
case "消费最多":
{
result = session.Queryable<fl_member_info>()
.Where(conModels)
.OrderBy(m => m.buy_point, OrderByType.Desc)
.ToPageList(index, pagesize, ref totalNumber);
break;
}
}
return new UI.Framework.Controls.PageControl.SerchResult() { Result = result, Total = totalNumber };
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "搜索标题", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return new UI.Framework.Controls.PageControl.SerchResult() { Result = null, Total = 0 };
}, this.gridControl1, 30, true, true);
MainEvent.CommonEvents += Main_CommonEvents;
this.Disposed += Control_Disposed;
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message);
}
}
private void Control_Disposed(object sender, EventArgs e)
{
MainEvent.CommonEvents -= Main_CommonEvents;
}
private void Main_CommonEvents(object sender, CommonEvents e)
{
try
{
if (e.Commons != null && e.Commons.Count != 0)
{
if (e.Commons.ContainsKey("control_name") && e.Commons.ContainsKey("username"))
{
var control_name = e.Commons["control_name"].ToString();
if (control_name == "查看用户信息")
{
textEdit1.Text = e.Commons["username"].ToString();
comboBoxEdit1.SelectedIndex = 1;
comboBoxEdit3.SelectedIndex = comboBoxEdit2.SelectedIndex = 0;
pageControl1.GotoPage(1);
}
}
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message);
}
}
private void GridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
if (e.Info.IsRowIndicator && e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
private void simpleButton1_Click(object sender, EventArgs e)
{
this.pageControl1.Go(sender, e);
}
private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
if (e.Column.Caption == "分组等级")
{
var row = e.Row as fl_member_info;
if (row != null)
{
var group = groups.FirstOrDefault(f => f.id == row.group_id);
e.Value = group == null ? "未分组" : group.name;
}
}
}
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.Caption == "邀请人编号")
{
if (e.Value.ToString() == "0") e.DisplayText = "无";
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var old_row = this.gridView1.GetRow(rows[0]) as base_model;
var from = new member_base_info_form(old_row.id);
from.ShowDialog();
this.pageControl1.GotoPage(1);
}
}
private void comboBoxEdit1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBoxEdit1.SelectedIndex == 0 || comboBoxEdit1.SelectedIndex == 9 || comboBoxEdit1.SelectedIndex == 10 || comboBoxEdit1.SelectedIndex == 11)
{
this.textEdit1.Enabled = false;
this.textEdit1.Text = "";
}
else this.textEdit1.Enabled = true;
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var old_row = this.gridView1.GetRow(rows[0]) as base_model;
member_private_config member_private = new member_private_config(old_row.id);
member_private.ShowDialog();
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var selectRows = gridView1.GetSelectedRows();
if (selectRows.Length > 0)
{
var id = int.Parse(gridView1.GetRowCellValue(selectRows[0], "id").ToString());
member_inviter_control inviter_Control = new member_inviter_control(id);
inviter_Control.ShowDialog();
}
}
catch (Exception ex)
{
XtraMessageBoxArgs args = new XtraMessageBoxArgs();
args.AutoCloseOptions.Delay = 6000;
args.Caption = "系统错误";
args.Text = ex.Message;
args.Buttons = new DialogResult[] { DialogResult.OK, DialogResult.Cancel };
XtraMessageBox.Show(args);
}
}
/// <summary>
/// 查询用户对应订单列表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var username = this.gridView1.GetRowCellValue(rows[0], "username").ToString();//获取列的数据
var tsmi = sender as ToolStripMenuItem;
if (tsmi == null) throw new Exception("数据异常");
var text = tsmi.Text.Replace("订单", "");
var cps = (CpsType)Enum.Parse(typeof(CpsType), text);
var common = new Dictionary<string, object>();
common["cps_type"] = (int)cps;
common["username"] = username;
MainEvent.OnEvent(null, new CommonEvents(common));
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message);
}
}
/// <summary>
/// 查询用户对应积分列表
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var username = this.gridView1.GetRowCellValue(rows[0], "username").ToString();//获取列的数据
var tsmi = sender as ToolStripMenuItem;
if (tsmi == null) throw new Exception("数据异常");
var common = new Dictionary<string, object>();
common["control_name"] = "提现管理";
common["query_type"] = tsmi.Text;
common["username"] = username;
MainEvent.OnEvent(null, new CommonEvents(common));
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
try
{
var rows = this.gridView1.GetSelectedRows();
if (!(rows != null && rows.Length > 0)) e.Cancel = true;
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var member = this.gridView1.GetRow(rows[0]) as fl_member_info;
new AddCloudblack(member).ShowDialog();
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var member = this.gridView1.GetRow(rows[0]) as fl_member_info;
CloudBlack cloud = new CloudBlack();
var black = cloud.QueryBlack(member);
var msg = $@"{member.username}({member.usernick})【非云名单用户】";
if (black != null)
msg = $@"{member.username}({member.usernick})【是云黑名单用户】 ";
XtraMessageBoxArgs args = new XtraMessageBoxArgs();
args.AutoCloseOptions.Delay = 5000;
args.Caption = $"云黑名单 - {(5000 / 1000)}秒后自动关闭";
args.Text = msg;
args.Buttons = new DialogResult[] { DialogResult.OK };
XtraMessageBox.Show(args).ToString();
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var rows = this.gridView1.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
var member = this.gridView1.GetRow(rows[0]) as fl_member_info;
if (XtraMessageBox.Show($"确定修改用户:{member.usernick}({member.username})的兑换类型?", "系统提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
member.exchange_type = member.exchange_type == ExchangeType. ? ExchangeType. : ExchangeType.;
ApiClient.GetSession().SaveOrUpdate(member);
this.pageControl1.GotoPage(1);
}
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "系统错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}