开班新增发送邮件接口

master
xiaochanghai 2 months ago
parent 7b6801eb1b
commit 6f83038d7f
  1. 10
      Tiobon.Core.Api/Controllers/Ghre/Ghre_OpenClassController.cs
  2. 7
      Tiobon.Core.Api/Tiobon.Core.xml
  3. 2
      Tiobon.Core.IServices/Ghre/IGhre_OpenClassServices.cs
  4. 83
      Tiobon.Core.Services/Ghre/Ghre_OpenClassServices.cs
  5. 10
      Tiobon.Core/Tiobon.Core.Model.xml
  6. 7
      Tiobon.Core/Tiobon.Core.xml

@ -220,4 +220,14 @@ public class Ghre_OpenClassController : BaseController<IGhre_OpenClassServices,
[HttpPost, Route("AttendCheckOut/{Id}")]
public async Task<ServiceResult> AttendCheckOut(long Id) => await _service.Attend(Id, "CheckOut");
#endregion
#region 邮件
/// <summary>
/// 邮件
/// </summary>
/// <param name="Id">开班ID</param>
/// <returns></returns>
[HttpPost, Route("Email/{Id}")]
public async Task<ServiceResult> Email(long Id) => await _service.Email(Id);
#endregion
}

@ -1260,6 +1260,13 @@
<param name="Id">开班ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_OpenClassController.Email(System.Int64)">
<summary>
邮件
</summary>
<param name="Id">开班ID</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_OpenClassFeeController">
<summary>
开班费用(Controller)

@ -35,4 +35,6 @@ public interface IGhre_OpenClassServices : IBaseServices<Ghre_OpenClass, Ghre_Op
Task<ServiceResult<Ghre_OpenClassSchedule1>> QuerySchedule(long Id);
Task<ServiceResult> Attend(long Id, string type);
Task<ServiceResult> Email(long Id);
}

@ -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
}

@ -6855,6 +6855,11 @@
系统内置
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_PlanBase.OutSideOrg">
<summary>
外训机构
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_QuestionBase">
<summary>
题目 (Dto.Base)
@ -25472,6 +25477,11 @@
系统内置
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Plan.OutSideOrg">
<summary>
外训机构
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghre_Question">
<summary>
题目 (Model)

@ -1260,6 +1260,13 @@
<param name="Id">开班ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_OpenClassController.Email(System.Int64)">
<summary>
邮件
</summary>
<param name="Id">开班ID</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_OpenClassFeeController">
<summary>
开班费用(Controller)

Loading…
Cancel
Save