438 lines
20 KiB
C#
438 lines
20 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|