Commit 7c631793 authored by 罗超's avatar 罗超

测试推送

parent ee0d61b8
...@@ -198,6 +198,9 @@ namespace Edu.Module.Course ...@@ -198,6 +198,9 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly Repository.Mall.RB_Goods_SpecificationPriceRepository goods_SpecificationPriceRepository = new Repository.Mall.RB_Goods_SpecificationPriceRepository(); private readonly Repository.Mall.RB_Goods_SpecificationPriceRepository goods_SpecificationPriceRepository = new Repository.Mall.RB_Goods_SpecificationPriceRepository();
/// <summary>
/// 账户仓储层
/// </summary>
private readonly RB_AccountRepository accountRepository= new RB_AccountRepository(); private readonly RB_AccountRepository accountRepository= new RB_AccountRepository();
/// <summary> /// <summary>
...@@ -1923,6 +1926,7 @@ namespace Edu.Module.Course ...@@ -1923,6 +1926,7 @@ namespace Edu.Module.Course
}; };
string LogContent = ""; string LogContent = "";
var shenyuHours = guestModel.ValidClassHours - completeHours;
//已上课时>=有效课时,如果是,修改学员状态为停课,并且备注“有效课时消耗完毕,系统自动停课” //已上课时>=有效课时,如果是,修改学员状态为停课,并且备注“有效课时消耗完毕,系统自动停课”
if (completeHours > guestModel.ValidClassHours) if (completeHours > guestModel.ValidClassHours)
{ {
...@@ -1931,17 +1935,18 @@ namespace Edu.Module.Course ...@@ -1931,17 +1935,18 @@ namespace Edu.Module.Course
orderFileds.Add(nameof(RB_Order_Guest_ViewModel.DropOutRemark), "有效课时消耗完毕,系统自动停课"); orderFileds.Add(nameof(RB_Order_Guest_ViewModel.DropOutRemark), "有效课时消耗完毕,系统自动停课");
LogContent = guestModel.GuestName + "有效课时消耗完毕,系统自动停课!"; LogContent = guestModel.GuestName + "有效课时消耗完毕,系统自动停课!";
#region 欠费提醒
var orderModel = orderRepository.GetEntity(guestModel.OrderId); var orderModel = orderRepository.GetEntity(guestModel.OrderId);
var shengyuMoney = orderModel.PreferPrice - orderModel.Income + orderModel.Refund - orderModel.PlatformTax - orderModel.DiscountMoney - orderModel.LessPrice;
var classModel = classRepository.GetEntity<RB_Class_ViewModel>(guestModel.ClassId);
var sellerInfo = UserReidsCache.GetUserLoginInfo(orderModel.EnterID);
#region 欠费提醒(销售)
var queryTargetWorkId = accountRepository.GetWorkUserIdRepository(orderModel.EnterID); var queryTargetWorkId = accountRepository.GetWorkUserIdRepository(orderModel.EnterID);
if (!string.IsNullOrEmpty(queryTargetWorkId)) if (!string.IsNullOrEmpty(queryTargetWorkId))
{ {
// 学员名称(名称+电话),剩余课时,关联单号,待收金额,班级老师,班级名称 // 学员名称(名称+电话),剩余课时,关联单号,待收金额,班级老师,班级名称
var path = $"/sale/myOrder?OrderId={guestModel.OrderId}"; var path = $"/sale/myOrder?OrderId={guestModel.OrderId}";
path = HttpUtility.UrlEncode(path); path = HttpUtility.UrlEncode(path);
var shengyuMoney = orderModel.PreferPrice - orderModel.Income + orderModel.Refund - orderModel.PlatformTax - orderModel.DiscountMoney - orderModel.LessPrice; string markdownContent = $"`欠费通知` 学员欠费停课通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>当前状态:<font color='warning'>停课</font>\n>关联单号:{guestModel.OrderId}\n>\n>待收金额:<font color='warning'>¥{shengyuMoney.ToString("0.00")}</font>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})";
var classModel = classRepository.GetEntity<RB_Class_ViewModel>(guestModel.ClassId);
string markdownContent = $"`欠费通知` 学员欠费停课通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>当前状态:<font color='warning'>停课</font>\n>关联单号:{guestModel.OrderId}\n>\n>待收金额:<font color='warning'>¥{shengyuMoney.ToString("0.00")}</font>\n>班级教师:<font color='comment'>{classModel.TeacherName}老师</font>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel() Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{ {
CategoryId = PushMessageCategoryEnum.SalePeople, CategoryId = PushMessageCategoryEnum.SalePeople,
...@@ -1960,10 +1965,96 @@ namespace Edu.Module.Course ...@@ -1960,10 +1965,96 @@ namespace Edu.Module.Course
} }
#endregion #endregion
#region 欠费提醒(管理者)
var queryNotifyManagerWorkId = accountRepository.GetWorkUserIdByDictRepository("Push_Arrears");
if (!string.IsNullOrEmpty(queryTargetWorkId))
{
var path = $"/sale/orderStatistics?OrderId={guestModel.OrderId}";
path = HttpUtility.UrlEncode(path);
string markdownContent = $"`欠费通知` 学员欠费停课通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>当前状态:<font color='warning'>停课</font>\n>关联单号:{guestModel.OrderId}({sellerInfo.AccountName})\n>\n>待收金额:<font color='warning'>¥{shengyuMoney.ToString("0.00")}</font>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = PushMessageCategoryEnum.SalePeople,
Content = markdownContent,
CoverImg = "",
CreateByName = "系统",
JumpUrl = "",
WorkMsgType = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "学员欠费停课通知",
Platform = 5,
ReceiveId = queryNotifyManagerWorkId
};
Common.Message.MessageHelper.SendMessage(modelWork);
}
#endregion
} }
else if (guestModel.TotalHours > guestModel.ValidClassHours && (guestModel.ValidClassHours - completeHours) < 12) else if (guestModel.TotalHours > guestModel.ValidClassHours && shenyuHours < 12)
{ {
#region 即将欠费提醒 var orderModel = orderRepository.GetEntity(guestModel.OrderId);
var shengyuMoney = orderModel.PreferPrice - orderModel.Income + orderModel.Refund - orderModel.PlatformTax - orderModel.DiscountMoney - orderModel.LessPrice;
var classModel = classRepository.GetEntity<RB_Class_ViewModel>(guestModel.ClassId);
var sellerInfo = UserReidsCache.GetUserLoginInfo(orderModel.EnterID);
#region 即将欠费提醒(销售)
var queryTargetWorkId = accountRepository.GetWorkUserIdRepository(orderModel.EnterID);
if (!string.IsNullOrEmpty(queryTargetWorkId))
{
// 学员名称(名称+电话),剩余课时,关联单号,待收金额,班级老师,班级名称
var path = $"/sale/myOrder?OrderId={guestModel.OrderId}";
path = HttpUtility.UrlEncode(path);
string markdownContent = $"`欠费预警` 学员即将欠费通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>剩余课时:<font color='warning'>{shenyuHours}</font>\n>关联单号:{guestModel.OrderId}\n>\n>待收金额:<font color='warning'>¥{shengyuMoney.ToString("0.00")}</font>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = PushMessageCategoryEnum.SalePeople,
Content = markdownContent,
CoverImg = "",
CreateByName = "系统",
JumpUrl = "",
WorkMsgType = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "学员即将欠费通知",
Platform = 5,
ReceiveId = queryTargetWorkId
};
Common.Message.MessageHelper.SendMessage(modelWork);
}
#endregion
#region 即将欠费提醒(管理者)
var queryNotifyManagerWorkId = accountRepository.GetWorkUserIdByDictRepository("Push_Arrears");
if (!string.IsNullOrEmpty(queryNotifyManagerWorkId))
{
var path = $"/sale/orderStatistics?OrderId={guestModel.OrderId}";
path = HttpUtility.UrlEncode(path);
string markdownContent = $"`欠费预警` 学员即将欠费通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>剩余课时:<font color='warning'>{shenyuHours}</font>\n>关联单号:{guestModel.OrderId}({sellerInfo.AccountName})\n>\n>待收金额:<font color='warning'>¥{shengyuMoney.ToString("0.00")}</font>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
CategoryId = PushMessageCategoryEnum.SalePeople,
Content = markdownContent,
CoverImg = "",
CreateByName = "系统",
JumpUrl = "",
WorkMsgType = "markdown",
SendTime = DateTime.Now,
SendType = 0,
Title = "学员即将欠费通知",
Platform = 5,
ReceiveId = queryNotifyManagerWorkId
};
Common.Message.MessageHelper.SendMessage(modelWork);
}
#endregion
}
else if (guestModel.TotalHours == guestModel.ValidClassHours && shenyuHours < 12)
{
#region 即将结课提醒
var orderModel = orderRepository.GetEntity(guestModel.OrderId); var orderModel = orderRepository.GetEntity(guestModel.OrderId);
var queryTargetWorkId = accountRepository.GetWorkUserIdRepository(orderModel.EnterID); var queryTargetWorkId = accountRepository.GetWorkUserIdRepository(orderModel.EnterID);
if (!string.IsNullOrEmpty(queryTargetWorkId)) if (!string.IsNullOrEmpty(queryTargetWorkId))
...@@ -1973,7 +2064,7 @@ namespace Edu.Module.Course ...@@ -1973,7 +2064,7 @@ namespace Edu.Module.Course
path = HttpUtility.UrlEncode(path); path = HttpUtility.UrlEncode(path);
var shengyuMoney = orderModel.PreferPrice - orderModel.Income + orderModel.Refund - orderModel.PlatformTax - orderModel.DiscountMoney - orderModel.LessPrice; var shengyuMoney = orderModel.PreferPrice - orderModel.Income + orderModel.Refund - orderModel.PlatformTax - orderModel.DiscountMoney - orderModel.LessPrice;
var classModel = classRepository.GetEntity<RB_Class_ViewModel>(guestModel.ClassId); var classModel = classRepository.GetEntity<RB_Class_ViewModel>(guestModel.ClassId);
string markdownContent = $"`欠费预警` 学员即将欠费通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>剩余课时:<font color='warning'>{guestModel.ValidClassHours-completeHours}</font>\n>关联单号:{guestModel.OrderId}\n>\n>待收金额:<font color='warning'>¥{shengyuMoney.ToString("0.00")}</font>\n>班级教师:<font color='comment'>{classModel.TeacherName}老师</font>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})"; string markdownContent = $"`结课预警` 学员即将结课通知\n>**概要信息** \n>学员名称:{guestModel.GuestName}({guestModel.Mobile})\n>剩余课时:<font color='warning'>{shenyuHours}</font>\n>是否续班:<font color='{(orderModel.RenewOrderId > 0 ? "info" : "warning")}'>{(orderModel.RenewOrderId > 0 ? "已续班(" + orderModel.RenewOrderId + ")" : "未续班")}</font>\n>关联单号:{guestModel.OrderId}\n>\n>班级名称:<font>{classModel.ClassName}</font>\n>请点击:[查看详情]({Config.ErpUrl}/autologin?loginId={orderModel.EnterID}&target={path})";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel() Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{ {
CategoryId = PushMessageCategoryEnum.SalePeople, CategoryId = PushMessageCategoryEnum.SalePeople,
...@@ -1989,10 +2080,12 @@ namespace Edu.Module.Course ...@@ -1989,10 +2080,12 @@ namespace Edu.Module.Course
ReceiveId = queryTargetWorkId ReceiveId = queryTargetWorkId
}; };
Common.Message.MessageHelper.SendMessage(modelWork); Common.Message.MessageHelper.SendMessage(modelWork);
} }
#endregion #endregion
} }
flag = order_GuestRepository.Update(orderFileds, new WhereHelper(nameof(RB_Order_Guest_ViewModel.Id), item.OrderGuestId)); flag = order_GuestRepository.Update(orderFileds, new WhereHelper(nameof(RB_Order_Guest_ViewModel.Id), item.OrderGuestId));
if (flag && !string.IsNullOrEmpty(LogContent)) if (flag && !string.IsNullOrEmpty(LogContent))
{ {
......
...@@ -654,7 +654,21 @@ WHERE e.RB_Group_id ={GroupId} AND e.IsLeave =0 AND o.Score =0 GROUP BY e.Employ ...@@ -654,7 +654,21 @@ WHERE e.RB_Group_id ={GroupId} AND e.IsLeave =0 AND o.Score =0 GROUP BY e.Employ
var result = ExecuteScalar(sql, null); var result = ExecuteScalar(sql, null);
return !result.Equals(null) && Convert.IsDBNull(result) ? string.Empty : result.ToString(); return result!=null ? string.Empty : result.ToString();
}
/// <summary>
/// 获取指定DictKey的推送人员信息
/// </summary>
/// <param name="departmentIds"></param>
/// <returns></returns>
public string GetWorkUserIdByDictRepository(string dictKey)
{
string sql = $"select GROUP_CONCAT(WorkUserId SEPARATOR '|') from rb_account a where EXISTS(select DictKey from rb_dictvalue where DictKey='{dictKey}' and FIND_IN_SET(a.Id,Content)>0)";
var result = ExecuteScalar(sql, null);
return result != null ? string.Empty : result.ToString();
} }
} }
} }
\ No newline at end of file
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