|
|
|
@ -669,4 +669,87 @@ WHERE A.OpenClassId = '{Id}' AND A.IsEnable = 1"; |
|
|
|
|
return ServiceResult.OprateSuccess("签到成功!"); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 邮件 |
|
|
|
|
/// <summary> |
|
|
|
|
/// 邮件 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="Id">开班ID</param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
public async Task<ServiceResult> Email(long Id) |
|
|
|
|
{ |
|
|
|
|
var entity = await base.QueryById(Id); |
|
|
|
|
var stafffIds = new List<int>(); |
|
|
|
|
if (entity.StaffGroupId.IsNotEmptyOrNull()) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
var staffGroups = await _ghre_StaffGroupServices.QueryStaff(entity.StaffGroupId.Value, new QueryBody(), "", true); |
|
|
|
|
|
|
|
|
|
stafffIds = staffGroups.result.DT_TableDataT1.Select(x => x.StaffID).ToList(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var staffIds1 = await Db.Queryable<Ghre_OpenClassStaff>().Where(x => x.OpenClassId == Id && x.StaffId != null).Select(s => s.StaffId.Value).ToListAsync(); |
|
|
|
|
|
|
|
|
|
stafffIds.AddRange(staffIds1); |
|
|
|
|
stafffIds = stafffIds.Distinct().ToList(); |
|
|
|
|
|
|
|
|
|
var staffs = await Db.Queryable<Ghra_Staff>().Where(x => stafffIds.Contains(x.StaffID) && !string.IsNullOrEmpty(x.Email)).Select(x => new { x.StaffID, x.Email }).ToListAsync(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var courseName = await Db.Ado.GetStringAsync($"select CourseName from Ghre_CourseScene_V where id='{entity.LinkId}'"); |
|
|
|
|
|
|
|
|
|
var content = entity.NoticeContent + " </br>" |
|
|
|
|
+ $"开班编号: {entity.OpenClassNo}</br>" |
|
|
|
|
+ $"开班名称: {entity.OpenClassName}</br>" |
|
|
|
|
+ $"课程名称: {courseName}</br>" |
|
|
|
|
+ $"开班起止日期: {DateTimeHelper.ConvertToMiniuteString(entity.StartTime)}~{DateTimeHelper.ConvertToMiniuteString(entity.EndTime)}</br>" |
|
|
|
|
+ $"报名起止日期: {DateTimeHelper.ConvertToMiniuteString(entity.RegisterStartTime)}~{DateTimeHelper.ConvertToMiniuteString(entity.RegisterStartTime)}</br>" |
|
|
|
|
+ $"考试起止日期: {DateTimeHelper.ConvertToMiniuteString(entity.ExamStartTime)}~{DateTimeHelper.ConvertToMiniuteString(entity.ExamStartTime)}</br>"; |
|
|
|
|
for (int i = 0; i < staffs.Count; i++) |
|
|
|
|
{ |
|
|
|
|
#region 发送邮件 |
|
|
|
|
var mailOutbox = new Ghrs_MailOutbox(); |
|
|
|
|
mailOutbox.TOMail = staffs[i].Email; |
|
|
|
|
mailOutbox.MailTitle = "开班通知"; |
|
|
|
|
mailOutbox.MailBody = content; |
|
|
|
|
mailOutbox.MailPriority = 1; |
|
|
|
|
mailOutbox.ScheduleTime = DateTime.Now; |
|
|
|
|
mailOutbox.IsEnable = 1; |
|
|
|
|
mailOutbox.SortNo = 1; |
|
|
|
|
mailOutbox.CompanyID = 0; |
|
|
|
|
mailOutbox.IsDefault = 0; |
|
|
|
|
mailOutbox.CreateProg = "OpenClass"; |
|
|
|
|
var id1 = await Db.Insertable(mailOutbox).ExecuteReturnIdentityAsync(); |
|
|
|
|
#endregion |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var teacher = await Db.Queryable<Ghre_Teacher>().Where(x => x.Id == entity.TeacherId).FirstAsync(); |
|
|
|
|
if (teacher != null && teacher.Email.IsNotEmptyOrNull()) |
|
|
|
|
{ |
|
|
|
|
content = entity.TeacherNoticeContent + " </br>" |
|
|
|
|
+ $"开班编号: {entity.OpenClassNo}</br>" |
|
|
|
|
+ $"开班名称: {entity.OpenClassName}</br>" |
|
|
|
|
+ $"课程名称: {courseName}</br>" |
|
|
|
|
+ $"开班起止日期: {DateTimeHelper.ConvertToMiniuteString(entity.StartTime)}~{DateTimeHelper.ConvertToMiniuteString(entity.EndTime)}</br>" |
|
|
|
|
+ $"报名起止日期: {DateTimeHelper.ConvertToMiniuteString(entity.RegisterStartTime)}~{DateTimeHelper.ConvertToMiniuteString(entity.RegisterStartTime)}</br>" |
|
|
|
|
+ $"考试起止日期: {DateTimeHelper.ConvertToMiniuteString(entity.ExamStartTime)}~{DateTimeHelper.ConvertToMiniuteString(entity.ExamStartTime)}</br>"; |
|
|
|
|
|
|
|
|
|
#region 发送邮件 |
|
|
|
|
var mailOutbox = new Ghrs_MailOutbox(); |
|
|
|
|
mailOutbox.TOMail = teacher.Email; |
|
|
|
|
mailOutbox.MailTitle = "开班通知"; |
|
|
|
|
mailOutbox.MailBody = content; |
|
|
|
|
mailOutbox.MailPriority = 1; |
|
|
|
|
mailOutbox.ScheduleTime = DateTime.Now; |
|
|
|
|
mailOutbox.IsEnable = 1; |
|
|
|
|
mailOutbox.SortNo = 1; |
|
|
|
|
mailOutbox.CompanyID = 0; |
|
|
|
|
mailOutbox.IsDefault = 0; |
|
|
|
|
mailOutbox.CreateProg = "OpenClass"; |
|
|
|
|
await Db.Insertable(mailOutbox).ExecuteReturnIdentityAsync(); |
|
|
|
|
#endregion |
|
|
|
|
} |
|
|
|
|
return ServiceResult.OprateSuccess("发送成功!"); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
} |