Commit b3b2ac97 authored by liudong1993's avatar liudong1993

1

parent d3206d26
......@@ -30,8 +30,10 @@ namespace Edu.Education
new QuarzHelper().RevenueReportTimer().GetAwaiter().GetResult();
new QuarzHelper().WeXinMediumTimer().GetAwaiter().GetResult();//企业微信定时上传文件 2021-08-09
new QuarzHelper().WeXinChannelTimer().GetAwaiter().GetResult();//企业微信定时渠道码更新 2021-08-20
new QuarzHelper().EduB2BOrderCancelTimer().GetAwaiter().GetResult();//教育同业订单超时取消
//new QuarzHelper().EduB2BOrderCommissionTimer().GetAwaiter().GetResult();//教育同业订单返佣
//new QuarzHelper().EduB2BOrderCancelTimer().GetAwaiter().GetResult();//教育同业订单超时取消 (2022-01-25 暂屏蔽)
//new QuarzHelper().EduB2BOrderCommissionTimer().GetAwaiter().GetResult();//教育同业订单返佣 (2022-01-25 暂屏蔽)
new QuarzHelper().EduCreateScrollClassTimer().GetAwaiter().GetResult();//滚动开班
new QuarzHelper().EduCreateScrollAppointmentTimer().GetAwaiter().GetResult();//预约课程
new QuarzHelper().CheckPerparingTimer().GetAwaiter().GetResult();
}
......
......@@ -316,6 +316,7 @@ namespace Edu.Education.Helper
/// <returns></returns>
public async Task EduCreateScrollClassTimer()
{
string cronExpression = "0 10 0 1 * ?";//每月1号 凌晨10分
NameValueCollection props = new NameValueCollection
{
{ "quartz.serializer.type", "binary" }
......@@ -327,17 +328,17 @@ namespace Edu.Education.Helper
IJobDetail job = JobBuilder.Create<CreateScrollClass>()
.WithIdentity("job10", "group10")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger10", "group10")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInHours(1)
.RepeatForever())
.Build();
//ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
//ITrigger trigger = TriggerBuilder.Create()
// .WithIdentity("trigger10", "group10")
// .WithCronSchedule(cronExpression)
// .StartNow()
// .WithSimpleSchedule(x => x
// .WithIntervalInHours(1)
// .RepeatForever())
// .Build();
ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity("trigger10", "group10")
.WithCronSchedule(cronExpression)
.Build();
await scheduler.ScheduleJob(job, trigger);
}
......@@ -360,17 +361,17 @@ namespace Edu.Education.Helper
IJobDetail job = JobBuilder.Create<CreateScrollAppointment>()
.WithIdentity("job11", "group11")
.Build();
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("trigger11", "group11")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInHours(1)
.RepeatForever())
.Build();
//ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
//ITrigger trigger = TriggerBuilder.Create()
// .WithIdentity("trigger11", "group11")
// .WithCronSchedule(cronExpression)
// .StartNow()
// .WithSimpleSchedule(x => x
// .WithIntervalInHours(1)
// .RepeatForever())
// .Build();
ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
.WithIdentity("trigger11", "group11")
.WithCronSchedule(cronExpression)
.Build();
await scheduler.ScheduleJob(job, trigger);
}
......
......@@ -40,6 +40,8 @@
"TeachingBonusTemplete": 141,
"BonusCostTypeId": 540,
"EduDateBase": "uat_reborn_edu",
//消息推送AppId
"PushAppId": "JiaHeJiaoYu",
"RabbitMqConfig": {
"HostName": "47.96.25.130",
"VirtualHost": "/",
......
......@@ -226,7 +226,8 @@ namespace Edu.Module.Course
if (item.Count() < item.Key.ScrollMinNum)
{
//人数未达标 取消课程
foreach (var qitem in item) {
foreach (var qitem in item)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Scroll_Appointment_ViewModel.State), Common.Enum.Course.CourseAppointStateEnum.Cancel}
};
......@@ -238,7 +239,8 @@ namespace Edu.Module.Course
}
};
bool flag = scroll_AppointmentRepository.Update(keyValues, wheres);
if (flag) {
if (flag)
{
//给学生推送 取消课程的订阅消息
SendAppointmentCancelMsg(token, qitem.StuOpenId, qitem, StartTime);
}
......@@ -253,71 +255,72 @@ namespace Edu.Module.Course
上课时段:<font color='warning'>{CourseTime}</font>\n>
取消原因:<font color='comment'>预约人数未达到最低成班人数 {item.Key.ScrollMinNum}人</font>\n>
请 点 击:[查看详情]({Config.ErpUrl}/autologin?loginId={item.Key.AccountId}&target={recipientPath})";
PushWorkChatHelper.PushToWorkChat(content, item.Key.WorkUserId, "课程取消通知");
PushWorkChatHelper.PushToWorkChat(content, "LiuDong", "课程取消通知");
}
}
else {
else
{
//人数达标 写入计划课程
foreach (var qitem in item)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Scroll_Appointment_ViewModel.State), Common.Enum.Course.CourseAppointStateEnum.WaitCourse}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Scroll_Appointment_ViewModel.Id),
FiledValue = qitem.Id,
OperatorEnum =OperatorEnum.Equal
}
};
bool flag = scroll_AppointmentRepository.Update(keyValues, wheres);
if (flag)
#region 写入class_plan 计划表
int planId = class_PlanRepository.Insert(new RB_Class_Plan()
{
#region 写入class_plan 计划表
int planId = class_PlanRepository.Insert(new RB_Class_Plan()
{
ClassPlanId = 0,
ClassId = 0,
ClassDate = qitem.Date,
Status = 0,
ClassRoomId = qitem.RoomId,
Group_Id = groupId,
School_Id = 0,// 暂时 应该要赋值 订单上的预约校区
TeacherId = qitem.TeacherId,
BeiKeStatus = 0,
FanKuiStatus = 0,
ParentFanKuiStatus = 0,
RepeatPlanIds = "",
PlanType = 2,
CourseId = qitem.CourseId
});
if (planId > 0)
ClassPlanId = 0,
ClassId = 0,
ClassDate = qitem.Date,
Status = 0,
ClassRoomId = qitem.RoomId,
Group_Id = groupId,
School_Id = 0,// 暂时 应该要赋值 订单上的预约校区
TeacherId = qitem.TeacherId,
BeiKeStatus = 0,
FanKuiStatus = 0,
ParentFanKuiStatus = 0,
RepeatPlanIds = "",
PlanType = 2,
CourseId = qitem.CourseId
});
if (planId > 0)
{
//写入时间
foreach (var citem in CourseTimeList)
{
//写入时间
foreach (var citem in CourseTimeList) {
class_TimeRepository.Insert(new RB_Class_Time()
{
ClassTimeId = 0,
ClassId = 0,
ClassPlanId = planId,
StartTime = citem.StartTime,
EndTime = citem.EndTime,
Group_Id = groupId,
School_Id = 0,//暂时 应该要赋值 订单上的预约校区
ClassStatus = 0,
SuiPai = "",
VideoUrl = "",
TimeHour = citem.ClassHours
});
}
//更新预约 =》 计划ID
class_TimeRepository.Insert(new RB_Class_Time()
{
ClassTimeId = 0,
ClassId = 0,
ClassPlanId = planId,
StartTime = citem.StartTime,
EndTime = citem.EndTime,
Group_Id = groupId,
School_Id = 0,//暂时 应该要赋值 订单上的预约校区
ClassStatus = 0,
SuiPai = "",
VideoUrl = "",
TimeHour = citem.ClassHours
});
}
#endregion
//给学生推送 预约课程的订阅消息
SendAppointmentSusscessMsg(token, qitem.StuOpenId, qitem, StartTime);
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Scroll_Appointment_ViewModel.State), Common.Enum.Course.CourseAppointStateEnum.WaitCourse},
{ nameof(RB_Scroll_Appointment_ViewModel.ClassPlanId), planId}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Scroll_Appointment_ViewModel.Id),
FiledValue = qitem.Id,
OperatorEnum =OperatorEnum.Equal
}
};
bool flag = scroll_AppointmentRepository.Update(keyValues, wheres);
if (flag)
{
//给学生推送 预约课程的订阅消息
SendAppointmentSusscessMsg(token, qitem.StuOpenId, qitem, StartTime);
}
}
#endregion
}
//给老师推送课程 信息
......@@ -331,7 +334,7 @@ namespace Edu.Module.Course
上课教室:<font color='warning'>{item.Key.RoomName}({item.Key.RoomSchoolName})</font>\n>
上课人数:<font color='comment'>{item.Count()}人</font>\n>
请 点 击:[查看详情]({Config.ErpUrl}/autologin?loginId={item.Key.AccountId}&target={recipientPath})";
PushWorkChatHelper.PushToWorkChat(content, item.Key.WorkUserId, "课程预约成功通知");
PushWorkChatHelper.PushToWorkChat(content, "LiuDong", "课程预约成功通知");
}
}
......@@ -448,7 +451,7 @@ namespace Edu.Module.Course
};
wenXinResult = HttpHelper.HttpPost(Url, JsonHelper.Serialize(postdata), "");
LogHelper.WriteInfo("SendAppointmentSusscessMsg 预约成功发送订阅消息:" + wenXinResult);
LogHelper.WriteInfo("SendAppointmentCancelMsg 预约取消发送订阅消息:" + wenXinResult);
JObject jo = (JObject)JsonConvert.DeserializeObject(wenXinResult);
int errcode = Convert.ToInt32(jo["errcode"].ToString());
if (errcode == 0)
......@@ -458,7 +461,7 @@ namespace Edu.Module.Course
}
else
{
LogHelper.Write(string.Format("SendAppointmentSusscessMsg:wenXinResult:{0}", wenXinResult));
LogHelper.Write(string.Format("SendAppointmentCancelMsg:wenXinResult:{0}", wenXinResult));
}
}
return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment