using Api.Framework;
using Api.Framework.Enums;
using Api.Framework.Model;
using Api.Framework.SDK;
using Api.Framework.Tools;
using CsharpHttpHelper;
using CsharpHttpHelper.Enum;
using DevExpress.XtraEditors;
using FLSystem.Events;
using Newtonsoft.Json;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Api.Framework.Utils;
using UI.Framework.Controls;
using UI.Framework.Entitys;
using UI.Framework.Forms;
using ApplyType = Chat.Framework.WXSdk.IPAD.ApplyType;
namespace FLSystem.Forms
{
public partial class point_manage_control : XtraUserControl
{
private string username = string.Empty;
private string query_type = string.Empty;
public point_manage_control(string username, string query_type)
{
InitializeComponent();
this.username = username;
this.query_type = query_type;
}
private void MainEvent_CommonEvents(object sender, CommonEvents e)
{
if (this.IsDisposed) return;
try
{
if (e.Commons != null && e.Commons.Count != 0 && xtraTabControl1.TabPages.Count != 0)
{
if (e.Commons.ContainsKey("control_name") && e.Commons.ContainsKey("username"))
{
if (e.Commons["control_name"].ToString() == "提现管理")
{
var query_type = e.Commons["query_type"].ToString();
if (query_type == "积分日志")
{
textBox1.Text = e.Commons["username"].ToString();
comboBox1.SelectedIndex = 0;
comboBoxEdit3.SelectedIndex = 1;
if (xtraTabControl1.SelectedTabPageIndex == 2)
xtraTabControl1.SelectedTabPageIndex = 1;
xtraTabControl1.SelectedTabPageIndex = 2;
}
else if (query_type == "未兑换提现")
{
textBox3.Text = e.Commons["username"].ToString();
comboBoxEdit1.SelectedIndex = 0;
comboBoxEdit4.SelectedIndex = 1;
checkBox2.Checked = false;
if (this.xtraTabControl1.SelectedTabPageIndex == 1)
xtraTabControl1.SelectedTabPageIndex = 0;
xtraTabControl1.SelectedTabPageIndex = 1;
}
else if (query_type == "已兑换提现")
{
textBox2.Text = e.Commons["username"].ToString();
comboBoxEdit2.SelectedIndex = 0;
comboBoxEdit5.SelectedIndex = 1;
checkBox1.Checked = false;
if (xtraTabControl1.SelectedTabPageIndex == 0)
xtraTabControl1.SelectedTabPageIndex = 1;
xtraTabControl1.SelectedTabPageIndex = 0;
}
}
}
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
public class exchange_list_temp
{
[
Browsable(false)
]
public long id { get; set; }
///
/// 用户id
///
[
Browsable(false)
]
public long uid { get; set; }
///
/// 机器人id
///
[
Browsable(false)
]
public long rid { get; set; }
///
/// 平台类型
///
[
Category("1)、平台信息"), DisplayName("平台"), ReadOnly(true), Description(@"只读:平台信息"),
]
public ChatType chattype { get; set; }
///
/// 用户fl_robot_info的机器人账号 robot_name
///
[
Category("1)、平台信息"), DisplayName("机器人账号"), ReadOnly(true), Description(@"只读:机器人账号"),
]
public string robot_name { get; set; }
///
/// 用户fl_robot_info的机器人昵称 nick
///
[
Category("1)、平台信息"), DisplayName("机器人昵称"), ReadOnly(true), Description(@"只读:机器人昵称"),
]
public string robot_nick { get; set; }
///
/// 用户账号
///
[
Category("2)、用户信息"), DisplayName("用户账号"), ReadOnly(true), Description(@"只读:用户账号")
]
public string username { get; set; }
///
/// [昵称]
///
[
Category("2)、用户信息"), DisplayName("昵称"), ReadOnly(true), Description(@"只读:昵称")
]
public string usernick { get; set; }
///
/// [昵称]
///
[
Category("2)、用户信息"), DisplayName("用户备注"), ReadOnly(true), Description(@"只读:用户备注")
]
public string member_remark { get; set; }
///
/// 支付宝账号
///
[
Category("2)、用户信息"), DisplayName("支付宝账号"), ReadOnly(true), Description(@"只读:用户支付宝账号")
]
public string alipay_num { get; set; }
///
/// 支付宝名称
///
[
Category("2)、用户信息"), DisplayName("支付宝名称"), ReadOnly(true), Description(@"只读:用户支付宝名称")
]
public string alipay_name { get; set; }
///
/// 身份证名称
///
[
Category("2)、用户信息"), DisplayName("身份证名称"), ReadOnly(true), Description(@"只读:用户身份证名称")
]
public string identity_name { get; set; }
///
/// 身份证号码
///
[
Category("2)、用户信息"), DisplayName("身份证号码"), ReadOnly(true), Description(@"只读:用户身份证号码")
]
public string identity_card { get; set; }
///
/// 兑换群
///
[
Category("2)、用户信息"), DisplayName("兑换群号"), ReadOnly(true), Description(@"只读:再群内兑换才会有群号")
]
public string groupid { get; set; }
///
/// 兑换时间
///
[
Category("2)、用户信息"), DisplayName("用户兑换时间"), ReadOnly(true), Description(@"只读:用户的兑换时间")
]
public DateTime time { get; set; }
///
/// 用户积分
///
[
Category("2)、用户信息"), DisplayName("用户兑换积分"), ReadOnly(true), Description(@"只读:用户兑换积分")
]
public double point { get; set; }
///
/// 状态
///
[
Category("3)、订单操作"), DisplayName("订单状态"), Description(@"设置订单状态")
]
public ApplyType state { get; set; }
///
/// 备注
///
[
Category("3)、订单操作"), DisplayName("订单备注"), Description(@"用户兑换备注"), Editor(typeof(PropertyGridRichText), typeof(System.Drawing.Design.UITypeEditor))
]
public string remark { get; set; }
///
/// 审核时间
///
[
Browsable(false)
]
public DateTime check_time { get; set; }
}
//积分日志
public class pointlog_list_temp
{
public long uid { get; set; }
public long rid { get; set; }
///
/// 平台类型
///
public ChatType chattype { get; set; }
///
/// 用户账号
///
public string username { get; set; }
///
/// 用户昵称
///
public string usernick { get; set; }
///
/// 机器人昵称
///
public string robot_nick { get; set; }
///
/// 机器人账号
///
public string robot_name { get; set; }
///
/// 操作积分
///
public double point { get; set; }
///
/// 平台类型
///
public string pointtype { get; set; }
///
///
///
public string message { get; set; }
///
///
///
public DateTime crt_time { get; set; }
///
/// 修改前积分
///
public double before_point { get; set; }
///
/// 修改后积分
///
public double after_point { get; set; }
}
///
/// 商户链接临时类
///
public class shpay_temp
{
public long id { get; set; }
///
/// 机器人id
///
public long rid { get; set; }
///
/// 机器人账号
///
public string robot_name { get; set; }
///
/// 机器人昵称
///
public string robot_nick { get; set; }
///
/// 用户id
///
public long uid { get; set; }
///
/// 用户账号
///
public string username { get; set; }
///
/// 用户昵称
///
public string usernick { get; set; }
///
/// 用户备注
///
public string remark { get; set; }
///
/// 平台
///
public ChatType chattype { get; set; }
///
/// 提现金额
///
public double point { get; set; }
///
/// 商户连接
///
public string payurl { get; set; }
///
/// 生成连接时间
///
public long ctime { get; set; }
///
/// 领取状态
///
public PayGetType paytype { get; set; } = PayGetType.未领取;
///
/// 用户领取时间
///
public long paytime { get; set; }
///
/// 商户orderid
///
public string orderid { get; set; }
///
/// 生成日期
///
public long ctimedate { get; set; }
///
/// 通知发送时间
///
public long sendtime { get; set; }
}
///
/// 商户请求状态返回
///
public class shpayResult
{
///
/// 请求状态
///
public bool ok { get; set; }
///
/// 7d043f8e8e4be0784a596a25cbc078fb|未支付\r\n144a00f52c271c39513937c252a54ef6|已支付
///
public string res { get; set; }
}
private void gridView3_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
try
{
//if (e.HitInfo.Column.Caption == "状态")
// gridView3.SelectRow(e.HitInfo.RowHandle);
//if (gridView3.GetSelectedRows().Length == 0) return;
//var selectRow = gridView3.GetSelectedRows()[0];
var id = this.gridView3.GetRowCellValue(e.RowHandle, "id").ToString();//获取ID列的数据
var state = this.gridView3.GetRowCellValue(e.RowHandle, "state").ToString().ToLower();//获取state列的数据
#region 单元格双击修改 用户兑换状态
if (e.Clicks == 2)
{
if (state == ApplyType.未审核.ToString())
{
var session = ApiClient.GetSession();
var exchange = session.Queryable()
.Where(f => f.id == int.Parse(id))
.Select((o) =>
new exchange_list_temp()
{
id = o.id,
groupid = o.groupid,
time = o.time,
point = o.point,
state = o.state,
remark = o.remark,
uid = o.uid,
rid = o.rid
//alipay_name = ,
//alipay_num = ,
//chattype = ,
//identity_card = ,
//identity_name = ,
//member_remark = ,
//rid = ,
//robot_name = ,
//robot_nick = ,
//uid = ,
//username = ,
//usernick =
}).First();
if (exchange != null)
{
#region 附加用户
if (exchange.uid != 0)
{
var member = session.Queryable().First(f => f.id == exchange.uid);
if (member != null)
{
exchange.alipay_name = member.alipay_name;
exchange.alipay_num = member.alipay_num;
exchange.chattype = member.robot_type;
exchange.identity_card = member.identity_card;
exchange.identity_name = member.identity_name;
exchange.member_remark = member.remark;
exchange.username = member.username;
exchange.usernick = member.usernick;
}
}
#endregion
#region 附加机器人信息
if (exchange.rid != 0)
{
var robot = session.FindRobots().FirstOrDefault(f => f.id == exchange.rid);
if (robot != null)
{
exchange.chattype = robot.type;
exchange.robot_name = robot.name;
exchange.robot_nick = robot.nick;
}
}
#endregion
}
try
{
var exchangeStateForm = new ExchangeStateForm(exchange);
exchangeStateForm.ShowDialog();
if (exchange.state != ApplyType.未审核)
{
var exchangeResult = session.Find("select * from fl_exchange_info where id = @id", new { id = id }).FirstOrDefault();
if (exchangeResult == null) throw new Exception("对不起数据异常,请稍后重试!");
session.ExcuteSQL("update fl_exchange_info set state = @state,remark = @remark,check_time = @check_time where id = @id", new { state = exchange.state, check_time = DateTime.Now, remark = exchange.remark, id = id });
var robot_info = session.FindRobotInfo(exchange.robot_name, exchange.chattype);
// if (robot_info == null) throw new Exception(@"兑换异常
//机器人账号:" + exchange.robot_name + " 信息异常");
var member_info = session.Find("select * from fl_member_info where id = @id", new { id = exchangeResult.uid }).FirstOrDefault();
var pointConfig = ApiClient.GetPointManageConfig();
if (pointConfig == null)
throw new Exception("获取积分管理配置为空/");
if (member_info != null && robot_info != null)
{
if (exchange.state == ApplyType.退回兑换)
{
member_info = session.ChangePoint(PointType.退回积分, exchangeResult.point, member_info.id, $"退回兑换{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
if (robot_info != null)
ApiClient.SendMessage(robot_info, exchange.username, new VariateReplace().CommonReplace(pointConfig.ExchangeReturnTip.Replace("[兑换金额]", exchangeResult.point.ToString()).Replace("[备注]", exchange.remark), member_info), exchange.groupid);
}
else if (exchange.state == ApplyType.已审核)
{
if (member_info != null && robot_info != null)
{
var mess = new VariateReplace().CommonReplace(pointConfig.ExchangeAdoptTip.Replace("[兑换金额]", exchangeResult.point.ToString()).Replace("[领取地址]", exchangeStateForm.pay_url), member_info);
var sends = new List();
if (!string.IsNullOrWhiteSpace(exchangeStateForm.mess))
sends.Add(new temp_send_data() { Groupid = exchange.groupid, Message = exchangeStateForm.mess, Robot = robot_info, TouserName = exchange.username });
sends.Add(new temp_send_data() { Groupid = exchange.groupid, Message = mess, Robot = robot_info, TouserName = exchange.username });
ApiClient.SendMessage(sends.ToArray());
}
}
else //没收兑换
{
ApiClient.SendMessage(robot_info, exchange.username, new VariateReplace().CommonReplace(pointConfig.ExchangeConfiscateTip.Replace("[兑换金额]", exchangeResult.point.ToString()).Replace("[备注]", exchange.remark), member_info), exchange.groupid);
}
}
else
{
if (exchange.state == ApplyType.退回兑换)
throw new Exception("兑换退回失败,请稍后重试.");
}
this.gridView3.DeleteRow(e.RowHandle);
}
else
{
session.ExcuteSQL("update fl_exchange_info set remark = @remark where id = @id", new { remark = exchange.remark, id = id });
}
label3.Visible = gridView3.RowCount == 0;
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message + "-" + ex.StackTrace, "错误1", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message + "*" + ex.StackTrace, "错误2", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void simpleButton2_Click(object sender, EventArgs e)
{
this.pageControl3.GotoPage();
label3.Visible = gridView3.RowCount == 0;
}
private void simpleButton3_Click(object sender, EventArgs e)
{
this.pageControl2.GotoPage();
label2.Visible = gridView2.RowCount == 0;
}
private void simpleButton1_Click(object sender, EventArgs e)
{
this.pageControl4.GotoPage();
label4.Visible = gridView4.RowCount == 0;
}
private void xtraTabControl1_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
{
try
{
if (xtraTabControl1.SelectedTabPageIndex == 0)
{
Task.Run(() =>
{
this.Invoke(new Action(() =>
{
if (IsInitYiJingDuiHuan == false)
{
YiJingDuihuan();
}
if (IsInitYiJingDuiHuan)
{
pageControl2.GotoPage(1);
label2.Visible = gridView2.RowCount == 0;
}
}));
});
}
else if (xtraTabControl1.SelectedTabPageIndex == 1)
{
if (IsInitNotDuiHuan == false)
{
NotDuiHuan();
}
if (IsInitNotDuiHuan)
{
pageControl3.GotoPage(1);
label3.Visible = gridView3.RowCount == 0;
}
}
else if (xtraTabControl1.SelectedTabPageIndex == 2)
{
if (IsInitJiFenRecord == false)
{
JiFenRecord();
}
if (IsInitJiFenRecord)
{
pageControl4.GotoPage(1);
label4.Visible = gridView4.RowCount == 0;
}
}
else if (xtraTabControl1.SelectedTabPageIndex == 3)
{
if (IsInitShangHuView == false)
{
ShangHuView();
}
if (IsInitShangHuView)
{
pageControl1.GotoPage(1);
label1.Visible = gridView1.RowCount == 0;
}
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
dateTimePicker6.Enabled = dateTimePicker5.Enabled = checkBox2.Checked;
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
dateTimePicker4.Enabled = dateTimePicker3.Enabled = checkBox1.Checked;
}
private string FindUsernameByGrid()
{
try
{
if (xtraTabControl1.SelectedTabPageIndex == 0)
{
var rows = gridView2.GetSelectedRows();
if (rows != null && rows.Length > 0)
return gridView2.GetRowCellValue(rows[0], "username").ToString();//获取列的数据
return string.Empty;
}
else if (xtraTabControl1.SelectedTabPageIndex == 1)
{
//var rows = gridView3.GetSelectedRows();
var rows1 = gridView3.GetFocusedRow();
if (rows1 != null)
return (rows1 as exchange_list_temp).username;
//var rows = gridView3.GetFocusedDataSourceRowIndex();
//if (rows >= 0)
// return gridView3.GetRowCellValue(rows, "username").ToString();//获取列的数据
return string.Empty;
}
else if (xtraTabControl1.SelectedTabPageIndex == 2)
{
var rows = gridView4.GetSelectedRows();
if (rows != null && rows.Length > 0)
return gridView4.GetRowCellValue(rows[0], "username").ToString();//获取列的数据
return string.Empty;
}
}
catch (Exception)
{ }
return string.Empty;
}
private void 查看用户信息1ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var username = FindUsernameByGrid();
if (!string.IsNullOrWhiteSpace(username))
{
var tsmi = sender as ToolStripMenuItem;
if (tsmi == null) throw new Exception("数据异常");
var common = new Dictionary();
common["control_name"] = tsmi.Text;
common["username"] = username;
MainEvent.OnEvent(null, new CommonEvents(common));
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
var username = FindUsernameByGrid();
if (!string.IsNullOrWhiteSpace(username))
{
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();
common["cps_type"] = (int)cps;
common["username"] = username;
MainEvent.OnEvent(null, new CommonEvents(common));
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ToolStripMenuItem2_Click(object sender, EventArgs e)
{
try
{
var username = FindUsernameByGrid();
if (!string.IsNullOrWhiteSpace(username))
{
var tsmi = sender as ToolStripMenuItem;
if (tsmi == null) throw new Exception("数据异常");
if (tsmi.Text == "查看积分日志")
{
xtraTabControl1.SelectedTabPageIndex = 2;
textBox1.Text = username;
comboBox1.SelectedIndex = 0;
comboBoxEdit3.SelectedIndex = 1;
dateTimePicker1.Value = DateTime.Today.AddDays(-10);
dateTimePicker2.Value = DateTime.Today;
pageControl4.GotoPage(1);
label4.Visible = gridView4.RowCount == 0;
}
else if (tsmi.Text == "未兑换提现")
{
xtraTabControl1.SelectedTabPageIndex = 1;
textBox3.Text = username;
comboBoxEdit1.SelectedIndex = 0;
comboBoxEdit4.SelectedIndex = 1;
pageControl3.GotoPage(1);
label3.Visible = gridView3.RowCount == 0;
}
else if (tsmi.Text == "已兑换提现")
{
xtraTabControl1.SelectedTabPageIndex = 0;
comboBoxEdit5.SelectedIndex = 1;
textBox2.Text = username;
comboBoxEdit2.SelectedIndex = 0;
pageControl2.GotoPage(1);
label2.Visible = gridView2.RowCount == 0;
}
}
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private CancellationTokenSource tokenSource = new CancellationTokenSource();
private async void hyperlinkLabelControl1_Click(object sender, EventArgs e)
{
if (XtraMessageBox.Show(@"是否校准用户对应机器人信息
校准情况如下:
①机器人信息删除,导致用户绑定的机器人信息丢失
②机器人账号异常,用户迁移新机器人无法审核提现
注:校验后还没有机器人信息,让客户发条信息后重试!
", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.No) return;
try
{
EventClient.StopParsing = true;
groupBox2.Enabled = false;
try
{
await Task.Run(() =>
{
var session = ApiClient.GetSession();
session.BeginTransaction();
try
{
var exchange_infos = session.Find("state = 1");
var robots = session.FindRobots(true);
foreach (var item in exchange_infos)
{
var member = session.FindMemberInfoById(item.uid);
if (member == null) continue;
var robot = robots.FirstOrDefault(f => f.name == member.robot_name && f.type == member.robot_type);
if (robot == null) continue;
if (robot.id == item.rid) continue;
item.rid = robot.id;
session.Updateable(item).ExecuteCommand();
}
session.Commit();
XtraMessageBox.Show("校准完成", "温馨提示", MessageBoxButtons.OK);
}
catch (Exception ex)
{
session.Rollback();
this.Invoke(new Action(delegate
{
XtraMessageBox.Show(ex.Message, "校准失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}));
}
finally
{
this.Invoke(new Action(delegate
{
groupBox2.Enabled = true;
EventClient.StopParsing = false;
pageControl3.GotoPage(1);
}));
}
}, tokenSource.Token);
}
catch (Exception)
{ }
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private bool IsInitYiJingDuiHuan = false;
///
/// 初始化已经兑换
///
private void YiJingDuihuan()
{
#region 加载已兑换用户信息列表
try
{
pageControl2.Bind((index, size) =>
{
var stopWatch = new Stopwatch();
stopWatch.Start();
var stopWatch4 = new Stopwatch();
stopWatch4.Start();
var keyword = textBox2.Text.Replace("'", "''").Trim();
List conModels = new List();
var session = ApiClient.GetSession();
if (!string.IsNullOrWhiteSpace(keyword))
{
List member_ids = new List();
switch (comboBoxEdit5.Text)
{
case "客户账号":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "username", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户昵称":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "usernick", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户备注":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "remark", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户编号":
{
member_ids.Add(keyword);
}
break;
case "支付宝账号":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "alipay_num", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "支付宝姓名":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "alipay_name", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
}
if (member_ids.Count == 1)
conModels.Add(new ConditionalModel()
{
FieldName = "uid",
ConditionalType = ConditionalType.Equal,
FieldValue = member_ids[0]
});
else if (member_ids.Count == 0)
conModels.Add(new ConditionalModel()
{ FieldName = "uid", ConditionalType = ConditionalType.Equal, FieldValue = "-1" });
else
conModels.Add(new ConditionalModel()
{
FieldName = "uid",
ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", member_ids)
});
}
conModels.Add(new ConditionalModel()
{ FieldName = "state", ConditionalType = ConditionalType.IsNot, FieldValue = "1" });
if (checkBox1.Checked)
{
conModels.Add(new ConditionalModel()
{
FieldName = "time",
ConditionalType = ConditionalType.GreaterThanOrEqual,
FieldValue = dateTimePicker4.Value.Date.ToString("yyyy-MM-dd HH:mm:ss")
});
conModels.Add(new ConditionalModel()
{
FieldName = "time",
ConditionalType = ConditionalType.LessThanOrEqual,
FieldValue = dateTimePicker3.Value.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss")
});
}
if (comboBoxEdit2.SelectedIndex != 0)
{
var robotIds = session.FindRobots().Where(f => f.name == comboBoxEdit2.Text.Trim())
.Select(f => f.id).ToList();
if (robotIds != null)
conModels.Add(new ConditionalModel()
{
FieldName = "rid",
ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", robotIds)
});
}
stopWatch4.Stop();
LogHelper.GetSingleObj().Info("", $"A-3执行时间:{stopWatch4.Elapsed.TotalSeconds.ToString("0.0000")}");
#region 统计已提现金额
var point = session.Queryable().Where(conModels).Sum(f => f.point);
this.Invoke(new Action(() =>
{
gridView2.Columns["point"].SummaryItem.SetSummary(DevExpress.Data.SummaryItemType.Custom, point.ToString("0.00"));
}));
#endregion
var stopWatch3 = new Stopwatch();
stopWatch3.Start();
int totalNumber = 0; //总数
var result = session.Queryable()
.Where(conModels)
.OrderBy(f => f.id, OrderByType.Desc)
.Select(f => new exchange_list_temp()
{
id = f.id,
groupid = f.groupid,
point = f.point,
remark = f.remark,
state = f.state,
time = f.time,
uid = f.uid,
rid = f.rid,
check_time = f.check_time
//alipay_name = m.alipay_name,
//alipay_num = m.alipay_num,
//chattype = m.robot_type,
//identity_card = m.identity_card,
//identity_name = m.identity_name,
//member_remark = m.remark,
//username = m.username,
//usernick = m.usernick,
//robot_name = r.name,
//robot_nick = r.nick
}).ToPageList(index, size, ref totalNumber);
stopWatch3.Stop();
LogHelper.GetSingleObj().Info("", $"A-2执行时间:{stopWatch3.Elapsed.TotalSeconds.ToString("0.0000")}");
if (result.Count != 0)
{
#region 附加用户
var stopWatch2 = new Stopwatch();
stopWatch2.Start();
var bindUsersList = result.Where(f => f.uid != 0).Select(f => f.uid.ToString()).ToList();
var memberData = new List();
if (bindUsersList != null && bindUsersList.Count != 0)
{
memberData = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "id", ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", bindUsersList)
}
}).ToList();
}
foreach (var member in memberData)
{
var items = result.Where(f => f.uid == member.id).ToList();
foreach (var item in items)
{
item.alipay_name = member.alipay_name;
item.alipay_num = member.alipay_num;
item.chattype = member.robot_type;
item.identity_card = member.identity_card;
item.identity_name = member.identity_name;
item.member_remark = member.remark;
item.username = member.username;
item.usernick = member.usernick;
}
}
stopWatch2.Stop();
LogHelper.GetSingleObj().Info("", $"A-0执行时间:{stopWatch2.Elapsed.TotalSeconds.ToString("0.0000")}");
#endregion
#region 附加机器人信息
var stopWatch1 = new Stopwatch();
stopWatch1.Start();
var robotList = result.Where(f => f.rid != 0).Select(f => f.rid.ToString()).ToList();
var robotData = new List();
if (robotList != null && robotList.Count != 0)
robotData = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "id", ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", robotList)
}
}).ToList();
foreach (var robot in robotData)
{
var items = result.Where(f => f.rid == robot.id).ToList();
foreach (var item in items)
{
item.robot_name = robot.name;
item.robot_nick = robot.nick;
}
}
stopWatch1.Stop();
LogHelper.GetSingleObj().Info("", $"A-1执行时间:{stopWatch1.Elapsed.TotalSeconds.ToString("0.0000")}");
#endregion
}
stopWatch.Stop();
LogHelper.GetSingleObj().Info("", $"A执行时间:{stopWatch.Elapsed.TotalSeconds.ToString("0.0000")}");
return new PageControl.SerchResult() { Result = result, Total = totalNumber };
}, gridControl2, 40, true, true);
IsInitYiJingDuiHuan = true;
}
catch (Exception ex)
{
IsInitYiJingDuiHuan = false;
BaseForm.ShowError(ex);
}
label2.Visible = gridView2.RowCount == 0;
#endregion
}
private bool IsInitNotDuiHuan = false;
private void NotDuiHuan()
{
#region 未兑换列表
try
{
pageControl3.Bind((page, size) =>
{
var stopWatch = new Stopwatch();
stopWatch.Start();
var keyword = textBox3.Text.Replace("'", "''").Trim();
List conModels = new List();
var session = ApiClient.GetSession();
if (!string.IsNullOrWhiteSpace(keyword))
{
List member_ids = new List();
switch (comboBoxEdit4.Text)
{
case "客户账号":
{
member_ids = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "username", ConditionalType = ConditionalType.Like, FieldValue = keyword } }).Select(f => f.id.ToString()).ToList();//模糊查询的用户id集合
}
break;
case "客户昵称":
{
member_ids = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "usernick", ConditionalType = ConditionalType.Like, FieldValue = keyword } }).Select(f => f.id.ToString()).ToList();//模糊查询的用户id集合
}
break;
case "客户备注":
{
member_ids = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "remark", ConditionalType = ConditionalType.Like, FieldValue = keyword } }).Select(f => f.id.ToString()).ToList();//模糊查询的用户id集合
}
break;
case "客户编号":
{
member_ids.Add(keyword);
}
break;
case "支付宝账号":
{
member_ids = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "alipay_num", ConditionalType = ConditionalType.Like, FieldValue = keyword } }).Select(f => f.id.ToString()).ToList();//模糊查询的用户id集合
}
break;
case "支付宝姓名":
{
member_ids = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "alipay_name", ConditionalType = ConditionalType.Like, FieldValue = keyword } }).Select(f => f.id.ToString()).ToList();//模糊查询的用户id集合
}
break;
}
if (member_ids.Count == 1)
conModels.Add(new ConditionalModel() { FieldName = "uid", ConditionalType = ConditionalType.Equal, FieldValue = member_ids[0] });
else if (member_ids.Count == 0)
conModels.Add(new ConditionalModel() { FieldName = "uid", ConditionalType = ConditionalType.Equal, FieldValue = "-1" });
else
conModels.Add(new ConditionalModel() { FieldName = "uid", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", member_ids) });
}
if (checkBox2.Checked)
{
//where += " and '" + dateTimePicker6.Value.Date.ToString("yyyy-MM-dd HH:mm:ss") + "' <= e.time and e.time < '" + dateTimePicker5.Value.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss") + "'";
conModels.Add(new ConditionalModel() { FieldName = "time", ConditionalType = ConditionalType.GreaterThanOrEqual, FieldValue = dateTimePicker6.Value.Date.ToString("yyyy-MM-dd HH:mm:ss") });
conModels.Add(new ConditionalModel() { FieldName = "time", ConditionalType = ConditionalType.LessThan, FieldValue = dateTimePicker5.Value.Date.AddDays(1).ToString("yyyy-MM-dd HH:mm:ss") });
}
if (comboBoxEdit1.SelectedIndex != 0)
{
var robotIds = session.FindRobots().Where(f => f.name == comboBoxEdit2.Text.Trim()).Select(f => f.id).ToList();
if (robotIds != null)
{
conModels.Add(new ConditionalModel() { FieldName = "rid", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", robotIds) });
}
}
conModels.Add(new ConditionalModel() { FieldName = "state", ConditionalType = ConditionalType.Equal, FieldValue = "1" });
#region 统计未提现金额
var point = session.Queryable().Where(conModels).Sum(f => f.point);
this.Invoke(new Action(() =>
{
gridView3.Columns["point"].SummaryItem.SetSummary(DevExpress.Data.SummaryItemType.Custom, point.ToString("0.00"));
}));
#endregion
int totalNumber = 0;//总数
var result = session.Queryable()
.Where(conModels)
.OrderBy(f => f.id, OrderByType.Desc)
.Select(f => new exchange_list_temp()
{
id = f.id,
groupid = f.groupid,
point = f.point,
remark = f.remark,
state = f.state,
time = f.time,
uid = f.uid,
rid = f.rid
//alipay_name = m.alipay_name,
//alipay_num = m.alipay_num,
//chattype = m.robot_type,
//identity_card = m.identity_card,
//identity_name = m.identity_name,
//member_remark = m.remark,
//username = m.username,
//usernick = m.usernick,
//robot_name = r.name,
//robot_nick = r.nick
}).ToPageList(page, size, ref totalNumber);
if (result.Count != 0)
{
#region 附加用户
var bindUsersList = result.Where(f => f.uid != 0).Select(f => f.uid.ToString()).Distinct().ToList();
var memberData = new List();
if (bindUsersList.Count != 0)
{
memberData = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", bindUsersList) } }).ToList();
}
foreach (var member in memberData)
{
var items = result.Where(f => f.uid == member.id).ToList();
foreach (var item in items)
{
item.alipay_name = member.alipay_name;
item.alipay_num = member.alipay_num;
item.chattype = member.robot_type;
item.identity_card = member.identity_card;
item.identity_name = member.identity_name;
item.member_remark = member.remark;
item.username = member.username;
item.usernick = member.usernick;
}
}
#endregion
#region 附加机器人信息
var robotList = result.Where(f => f.rid != 0).Select(f => f.rid.ToString()).Distinct().ToList();
var robotData = new List();
if (robotList != null && robotList.Count != 0)
{
//robotData = session.Queryable().Where(new List() { session.WhereConditionaOrList("id", robotList) }).ToList();
robotData = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", robotList) } }).ToList();
}
foreach (var robot in robotData)
{
var items = result.Where(f => f.rid == robot.id).ToList();
foreach (var item in items)
{
item.robot_name = robot.name;
item.robot_nick = robot.nick;
item.chattype = robot.type;
}
}
#endregion
}
stopWatch.Stop();
LogHelper.GetSingleObj().Info("", $"B执行时间:{stopWatch.Elapsed.TotalSeconds.ToString("0.0000")}");
return new PageControl.SerchResult() { Result = result, Total = totalNumber };
}, gridControl3, 40, true, true);
IsInitNotDuiHuan = true;
}
catch (Exception ex)
{
IsInitNotDuiHuan = false;
BaseForm.ShowError(ex);
}
label3.Visible = gridView3.RowCount == 0;
#endregion
}
private bool IsInitShangHuView = false;
private void ShangHuView()
{
#region 加载商户链接信息列表
try
{
pageControl1.Bind((index, size) =>
{
var stopWatch = new Stopwatch();
stopWatch.Start();
var stopWatch2 = new Stopwatch();
stopWatch2.Start();
var keyword = textBox4.Text.Replace("'", "''").Trim();
List conModels = new List();
var session = ApiClient.GetSession();
if (!string.IsNullOrWhiteSpace(keyword))
{
var isrobot = false;
List member_ids = new List();
List robot_ids = new List();
switch (comboBoxEdit6.Text)
{
case "客户账号":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "username", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户昵称":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "usernick", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户备注":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "remark", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户编号":
{
member_ids.Add(keyword);
}
break;
case "机器人编号":
{
isrobot = true;
robot_ids.Add(keyword);
}
break;
case "机器人账号":
{
isrobot = true;
robot_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "name", ConditionalType = ConditionalType.Like, FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList();
}
break;
case "机器人昵称":
{
isrobot = true;
robot_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "nick", ConditionalType = ConditionalType.Like, FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList();
}
break;
}
if (!isrobot)
{
if (member_ids.Count == 1)
conModels.Add(new ConditionalModel()
{
FieldName = "uid",
ConditionalType = ConditionalType.Equal,
FieldValue = member_ids[0]
});
else if (member_ids.Count == 0)
conModels.Add(new ConditionalModel()
{ FieldName = "uid", ConditionalType = ConditionalType.Equal, FieldValue = "-1" });
else
conModels.Add(new ConditionalModel()
{
FieldName = "uid",
ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", member_ids)
});
}
else
{
if (robot_ids.Count == 1)
conModels.Add(new ConditionalModel()
{
FieldName = "rid",
ConditionalType = ConditionalType.Equal,
FieldValue = robot_ids[0]
});
else if (robot_ids.Count == 0)
conModels.Add(new ConditionalModel()
{ FieldName = "rid", ConditionalType = ConditionalType.Equal, FieldValue = "-1" });
else
conModels.Add(new ConditionalModel()
{
FieldName = "rid",
ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", robot_ids)
});
}
}
conModels.Add(new ConditionalModel()
{
FieldName = "ctime",
ConditionalType = ConditionalType.GreaterThanOrEqual,
FieldValue = HttpExtend.GetTimeStamp(dateTimePicker8.Value.Date).ObjToString()
});
conModels.Add(new ConditionalModel()
{
FieldName = "ctime",
ConditionalType = ConditionalType.LessThanOrEqual,
FieldValue = HttpExtend.GetTimeStamp(dateTimePicker7.Value.Date.AddDays(1)).ToString()
});
if (comboBoxEdit7.SelectedIndex != 0)
{
conModels.Add(new ConditionalModel()
{
FieldName = "chattype",
ConditionalType = ConditionalType.Equal,
FieldValue = (comboBoxEdit7.SelectedIndex - 1).ToString()
});
}
if (comboBoxEdit8.SelectedIndex != 0)
{
conModels.Add(new ConditionalModel()
{
FieldName = "paytype",
ConditionalType = ConditionalType.Equal,
FieldValue = (comboBoxEdit8.SelectedIndex - 1).ToString()
});
}
stopWatch2.Stop();
LogHelper.GetSingleObj().Info("", $"D-1执行时间:{stopWatch2.Elapsed.TotalSeconds.ToString("0.0000")}");
var stopWatch3 = new Stopwatch();
stopWatch3.Start();
int totalNumber = 0; //总数
var result = session.Queryable()
.Where(conModels)
.OrderBy(f => f.id, OrderByType.Desc)
.Select(f => new shpay_temp()
{
id = f.id,
chattype = f.chattype,
point = f.point,
ctime = f.ctime,
paytime = f.paytime,
uid = f.uid,
rid = f.rid,
paytype = f.paytype,
payurl = f.payurl,
ctimedate = f.ctimedate,
orderid = f.orderid,
sendtime = f.sendtime,
robot_name = f.robotname,
robot_nick = f.robotnick,
username = f.username,
usernick = f.usernick
}).ToPageList(index, size, ref totalNumber);
stopWatch3.Stop();
LogHelper.GetSingleObj().Info("", $"D-2执行时间:{stopWatch3.Elapsed.TotalSeconds.ToString("0.0000")}");
if (result.Count != 0)
{
#region 这里获取远程获取商户链接领取状态
var stopWatch4 = new Stopwatch();
stopWatch4.Start();
var resultTmp = result.Where(f => f.paytype == PayGetType.未领取).ToList();
if (resultTmp.Count != 0)
{
List yjPayList = new List(); //已经领取的连接
var timedate = resultTmp.GroupBy(f => f.ctimedate).Select(f => f.Key).ToList();
foreach (var date in timedate)
{
var html = string.Empty;
try
{
var arr = resultTmp.Where(f => f.ctimedate == date)
.Select(f => "\"" + f.orderid + "\"").ToList();
if (arr.Count() != 0)
{
string parm = "orders=[" + string.Join(",", arr) + $"]&time={date}";
HttpHelper http = new HttpHelper();
HttpItem item = new HttpItem()
{
URL = "https://pay.api.52cmg.cn/pay/CheckOrders",
Method = "POST",
Timeout = 100000,
ReadWriteTimeout = 30000,
IsToLower = false,
Cookie = "",
UserAgent =
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0",
Accept = "text/html, application/xhtml+xml, */*",
ContentType = "application/json",
Referer = "",
Allowautoredirect = false,
AutoRedirectCookie = false,
Postdata = parm,
ResultType = ResultType.String,
};
html = http.GetHtml(item).Html;
//{"ok":true,"res":"7d043f8e8e4be0784a596a25cbc078fb|未支付\r\n144a00f52c271c39513937c252a54ef6|已支付"}
var shResult = JsonConvert.DeserializeObject(html);
if (shResult != null && shResult.ok)
{
var regs = Regex.Split(shResult.res, @"[\r\n]")
.Where(f => !string.IsNullOrWhiteSpace(f)).ToList();
if (regs.Count == 0) continue;
foreach (var tmp in regs)
{
var split = tmp.Split(new string[] { "|" },
StringSplitOptions.RemoveEmptyEntries);
var r = result.FirstOrDefault(f => split[0] == f.orderid);
if (r != null)
{
r.paytype = split[1] == "已支付" ? PayGetType.已领取 : PayGetType.未领取;
if (r.paytype == PayGetType.已领取)
yjPayList.Add(split[0]);
}
}
}
}
}
catch (Exception ex)
{
EventClient.OnEvent("", $"商户状态查询异常:{ex.Message} - {ex.StackTrace} , {html}");
}
}
#region 修改数据库中的状态
if (yjPayList.Count != 0)
{
try
{
var shpayList = new List();
foreach (var item in yjPayList)
{
var shpay = session.FindSingle("orderid = @orderid",
new { orderid = item });
if (shpay != null)
{
shpay.paytime = HttpExtend.GetTimeStamp(DateTime.Now);
shpay.paytype = PayGetType.已领取;
shpayList.Add(shpay);
}
}
if (shpayList.Count != 0)
session.Updateable(shpayList).ExecuteCommand();
}
catch (Exception ex)
{
EventClient.OnEvent("", $"商户状态修改异常:{ex.Message} - {ex.StackTrace}");
}
}
#endregion
}
stopWatch4.Stop();
LogHelper.GetSingleObj().Info("", $"D-4执行时间:{stopWatch4.Elapsed.TotalSeconds.ToString("0.0000")}");
#endregion
if (comboBoxEdit8.SelectedIndex == 1)
result = result.Where(f => f.paytype == PayGetType.未领取).ToList();
else if (comboBoxEdit8.SelectedIndex == 2)
result = result.Where(f => f.paytype == PayGetType.已领取).ToList();
#region 附加用户xxx
//var bindUsersList = result.Where(f => f.uid != 0).Select(f => f.uid.ToString()).ToList();
//var memberData = new List();
//if (bindUsersList != null && bindUsersList.Count != 0)
//{
// memberData = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", bindUsersList) } }).ToList();
//}
//foreach (var member in memberData)
//{
// var items = result.Where(f => f.uid == member.id).ToList();
// foreach (var item in items)
// {
// item.remark = member.remark;
// item.chattype = member.robot_type;
// item.username = member.username;
// item.usernick = member.usernick;
// }
//}
#endregion
#region 附加机器人信息xxx
//var robotList = result.Where(f => f.rid != 0).Select(f => f.rid.ToString()).ToList();
//var robotData = new List();
//if (robotList != null && robotList.Count != 0)
// robotData = session.Queryable().Where(new List() { new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.In, FieldValue = string.Join(",", robotList) } }).ToList();
//foreach (var robot in robotData)
//{
// var items = result.Where(f => f.rid == robot.id).ToList();
// foreach (var item in items)
// {
// item.robot_name = robot.name;
// item.robot_nick = robot.nick;
// }
//}
#endregion
}
stopWatch.Stop();
LogHelper.GetSingleObj().Info("", $"D执行时间:{stopWatch.Elapsed.TotalSeconds.ToString("0.0000")}");
return new PageControl.SerchResult() { Result = result, Total = totalNumber };
}, gridControl1, 40, true, true);
IsInitShangHuView = true;
}
catch (Exception ex)
{
IsInitShangHuView = false;
BaseForm.ShowError(ex);
}
label1.Visible = gridView1.RowCount == 0;
#endregion
}
private bool IsInitJiFenRecord = false;
private void JiFenRecord()
{
#region 用户积分兑换日志
try
{
pageControl4.Bind((page, size) =>
{
var stopWatch = new Stopwatch();
stopWatch.Start();
var keyword = textBox1.Text.Replace("'", "''").Trim();
List conModels = new List();
this.Invoke(new Action(() =>
{
if (comboBox1.SelectedIndex != 0)
conModels.Add(new ConditionalModel()
{
FieldName = "type",
ConditionalType = ConditionalType.Equal,
FieldValue = comboBox1.Text
});
}));
conModels.Add(new ConditionalModel()
{
FieldName = "crt_time",
ConditionalType = ConditionalType.GreaterThan,
FieldValue = dateTimePicker1.Value.AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss")
});
conModels.Add(new ConditionalModel()
{
FieldName = "crt_time",
ConditionalType = ConditionalType.LessThanOrEqual,
FieldValue = dateTimePicker2.Value.AddDays(1).AddSeconds(-1).ToString("yyyy-MM-dd HH:mm:ss")
});
var session = ApiClient.GetSession();
if (!string.IsNullOrWhiteSpace(keyword))
{
List member_ids = new List();
switch (comboBoxEdit3.Text)
{
case "客户账号":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "username", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户昵称":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "usernick", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户备注":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "remark", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "客户编号":
{
member_ids.Add(keyword);
}
break;
case "支付宝账号":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "alipay_num", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
case "支付宝姓名":
{
member_ids = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "alipay_name", ConditionalType = ConditionalType.Like,
FieldValue = keyword
}
}).Select(f => f.id.ToString()).ToList(); //模糊查询的用户id集合
}
break;
}
if (member_ids.Count == 1)
conModels.Add(new ConditionalModel()
{
FieldName = "uid",
ConditionalType = ConditionalType.Equal,
FieldValue = member_ids[0]
});
else if (member_ids.Count == 0)
conModels.Add(new ConditionalModel()
{ FieldName = "uid", ConditionalType = ConditionalType.Equal, FieldValue = "-1" });
else
conModels.Add(new ConditionalModel()
{
FieldName = "uid",
ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", member_ids)
});
}
#region 统计积分日志金额
var point = session.Queryable().Where(conModels).Sum(f => f.point);
this.Invoke(new Action(() =>
{
gridView4.Columns["point"].SummaryItem.SetSummary(DevExpress.Data.SummaryItemType.Custom, point.ToString("0.00"));
}));
#endregion
int totalNumber = 0; //总记录数
var result = session.Queryable()
.Where(conModels)
.OrderBy(p => p.id, OrderByType.Desc)
.Select(p => new pointlog_list_temp()
{
after_point = p.after_point,
before_point = p.before_point,
crt_time = p.crt_time,
message = p.message,
point = p.point,
pointtype = p.type,
uid = p.uid,
rid = p.rid
//robot_name = r.name,
//robot_nick = r.nick,
//chattype = m.robot_type,
//username = m.username,
//usernick = m.usernick
}).ToPageList(page, size, ref totalNumber);
if (result.Count != 0)
{
#region 附加用户
var bindUsersList = result.Where(f => f.uid != 0).Select(f => f.uid.ToString()).Distinct()
.ToList();
var memberData = new List();
if (bindUsersList != null && bindUsersList.Count != 0)
{
memberData = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "id", ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", bindUsersList)
}
}).ToList();
}
foreach (var member in memberData)
{
var items = result.Where(f => f.uid == member.id).ToList();
foreach (var item in items)
{
item.chattype = member.robot_type;
item.username = member.username;
item.usernick = member.usernick;
}
}
#endregion
#region 附加机器人信息
var robotList = result.Where(f => f.rid != 0).Select(f => f.rid.ToString()).Distinct().ToList();
var robotData = new List();
if (robotList.Count != 0)
{
//robotData = session.Queryable().Where(new List() { session.WhereConditionaOrList("id", robotList) }).ToList();
robotData = session.Queryable().Where(new List()
{
new ConditionalModel()
{
FieldName = "id", ConditionalType = ConditionalType.In,
FieldValue = string.Join(",", robotList)
}
}).ToList();
}
foreach (var robot in robotData)
{
var items = result.Where(f => f.rid == robot.id).ToList();
foreach (var item in items)
{
item.robot_name = robot.name;
item.robot_nick = robot.nick;
}
}
#endregion
}
stopWatch.Stop();
LogHelper.GetSingleObj().Info("", $"C执行时间:{stopWatch.Elapsed.TotalSeconds.ToString("0.0000")}");
return new PageControl.SerchResult() { Result = result, Total = totalNumber };
}, gridControl4, 40, true, true);
IsInitJiFenRecord = true;
}
catch (Exception ex)
{
IsInitJiFenRecord = false;
BaseForm.ShowError(ex);
}
label4.Visible = gridView4.RowCount == 0;
#endregion
}
private void point_manage_control_Load(object sender, EventArgs e)
{
try
{
memoEdit1.Text = ApiClient.Setting.SystemConfig.send_shpay_msg;
checkEdit1.Checked = ApiClient.Setting.SystemConfig.send_shpay_switch;
checkEdit2.Checked = ApiClient.Setting.SystemConfig.send_shpay_minixml;
comboBoxEdit8.SelectedIndex = 0;
#region 增加平台类型
this.comboBoxEdit7.Properties.Items.Clear();
var objList1 = new List