182 lines
6.7 KiB
C#
182 lines
6.7 KiB
C#
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 Api.Framework;
|
|
using EncourageUser.Entitys;
|
|
using Api.Framework.Tools;
|
|
using Api.Framework.Model;
|
|
|
|
namespace EncourageUser
|
|
{
|
|
public partial class TaskForm : BaseForm
|
|
{
|
|
/// <summary>
|
|
/// 需要发送的用户
|
|
/// </summary>
|
|
private List<fl_member_info> mList = null;
|
|
public TaskForm(List<fl_member_info> mList)
|
|
{
|
|
InitializeComponent();
|
|
dateTimePicker1.Value = DateTime.Now.AddHours(1);
|
|
dateTimePicker2.Value = DateTime.Parse($"{DateTime.Now.ToString("yyyy-MM-dd")} 19:00:00");
|
|
this.mList = mList;
|
|
}
|
|
|
|
public fl_qunfa_task eTask;
|
|
public TaskForm(fl_qunfa_task eTask)
|
|
{
|
|
InitializeComponent();
|
|
this.eTask = eTask;
|
|
}
|
|
|
|
private void TaskForm_Load(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
long select = 0;
|
|
if (eTask != null)
|
|
{
|
|
numericUpDown1.Value = eTask.interval;
|
|
numericUpDown2.Value = eTask.totalSentCount;
|
|
numericUpDown3.Value = eTask.restSendCount;
|
|
numericUpDown4.Value = eTask.restInterval;
|
|
dateTimePicker1.Value = eTask.startTime.Date;
|
|
dateTimePicker2.Value = eTask.endTime.Date;
|
|
//dateTimePicker3.Value = DateTime.Parse(eTask.startTime.Date.ToString("yyyy-MM-dd") + " " + eTask.startTime.ToString("HH:mm:ss"));
|
|
//dateTimePicker4.Value = DateTime.Parse(eTask.endTime.Date.ToString("yyyy-MM-dd") + " " + eTask.endTime.ToString("HH:mm:ss"));
|
|
dateTimePicker3.Value = DateTime.Parse(eTask.startTime.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
dateTimePicker4.Value = DateTime.Parse(eTask.endTime.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
select = eTask.id;
|
|
}
|
|
|
|
var index = 0;
|
|
var session = ApiClient.GetSession();
|
|
var messs = session.Find<fl_plugin_encourage_user_messs>("select * from fl_plugin_encourage_user_messs");
|
|
if (messs == null || messs.Count != 0)
|
|
{
|
|
var list = new List<object>();
|
|
for (int i = 0; i < messs.Count; i++)
|
|
{
|
|
if (messs[i].id == select)
|
|
index = i;
|
|
list.Add($"{messs[i].note.Trim()}");
|
|
}
|
|
this.comboBoxEdit1.Properties.Items.AddRange(list);
|
|
|
|
comboBoxEdit1.SelectedIndex = index;
|
|
|
|
comboBoxEdit1.Tag = messs;
|
|
}
|
|
else
|
|
{
|
|
XtraMessageBox.Show($"当前还未设置发送的内容", "温馨提示", MessageBoxButtons.OK);
|
|
this.Close();
|
|
}
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowError(ex);
|
|
}
|
|
}
|
|
|
|
private void simpleButton2_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void simpleButton1_Click(object sender, EventArgs e)
|
|
{
|
|
try
|
|
{
|
|
var data1 = dateTimePicker1.Value.Date;
|
|
var data2 = dateTimePicker2.Value.Date;
|
|
if (data1 > data2)
|
|
throw new Exception("结束日期不能小于开始日期");
|
|
var time1 = dateTimePicker3.Value.ToString("HH:mm:ss");
|
|
var time2 = dateTimePicker4.Value.ToString("HH:mm:ss");
|
|
if (DateTime.Parse("2000-01-01 " + time1) >= DateTime.Parse("2000-01-01 " + time2))
|
|
throw new Exception("结束时间不能小于等于开始时间");
|
|
|
|
var messs = comboBoxEdit1.Tag as List<fl_plugin_encourage_user_messs>;
|
|
if (messs == null) throw new Exception("数据异常,请稍后重试");
|
|
var mess = messs.FirstOrDefault(f => f.note.Trim() == comboBoxEdit1.Text);
|
|
if (mess == null) throw new Exception("数据异常,请稍后重试");
|
|
var session = ApiClient.GetSession();
|
|
|
|
if (eTask == null)
|
|
{
|
|
eTask = new fl_qunfa_task();
|
|
eTask.id = session.Insertable(eTask).ExecuteReturnIdentity();
|
|
var sendNum = HandlerUser();
|
|
eTask.sendnum = 0;
|
|
eTask.allsendnum = eTask.unsendnum = sendNum;
|
|
eTask.execType = ExecType.未执行完毕;
|
|
}
|
|
|
|
eTask.interval = (int)numericUpDown1.Value;
|
|
eTask.totalSentCount = (int)numericUpDown2.Value;
|
|
eTask.restSendCount = (int)numericUpDown3.Value;
|
|
eTask.restInterval = (int)numericUpDown4.Value;
|
|
|
|
|
|
eTask.startTime = DateTime.Parse(data1.ToString("yyyy-MM-dd") + " " + time1);
|
|
eTask.endTime = DateTime.Parse(data2.ToString("yyyy-MM-dd") + " " + time2);
|
|
|
|
eTask.messid = mess.id;
|
|
|
|
if (eTask.id == 0)
|
|
eTask.id = session.Insertable(eTask).ExecuteReturnIdentity();
|
|
else
|
|
session.Updateable(eTask).ExecuteCommand();
|
|
TaskJob.Abort(eTask.id);
|
|
this.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowError(ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 将用户添加到任务中
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private int HandlerUser()
|
|
{
|
|
try
|
|
{
|
|
List<fl_qunfa_user> list = new List<fl_qunfa_user>();
|
|
foreach (var member in mList)
|
|
{
|
|
list.Add(new fl_qunfa_user()
|
|
{
|
|
chattype = member.robot_type,
|
|
robotname = member.robot_name,
|
|
taskid = eTask.id,
|
|
userid = member.id,
|
|
username = member.username,
|
|
issend = false
|
|
});
|
|
}
|
|
ApiClient.GetSession().Insertable(list).ExecuteCommand();
|
|
return list.Count;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
EventClient.OnEvent("整理发送用户", $"{ex.Message} - {ex.StackTrace}");
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
}
|
|
} |