|
|
|
@ -1,7 +1,4 @@ |
|
|
|
|
using MathNet.Numerics.Distributions; |
|
|
|
|
using Microsoft.EntityFrameworkCore.Metadata.Internal; |
|
|
|
|
|
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
|
namespace Tiobon.Core.Services; |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 开班管理 (服务) |
|
|
|
@ -311,12 +308,81 @@ public class Ghre_OpenClassServices : BaseServices<Ghre_OpenClass, Ghre_OpenClas |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
#region 修改状态 |
|
|
|
|
public async Task<ServiceResult> UpdateStatus(List<long> ids, string status) |
|
|
|
|
[UseTran] |
|
|
|
|
public async Task<ServiceResult> UpdateStatus(List<long> ids, string status, string source = null) |
|
|
|
|
{ |
|
|
|
|
await Db.Updateable<Ghre_OpenClass>() |
|
|
|
|
.SetColumns(it => new Ghre_OpenClass() { Status = status }) |
|
|
|
|
|
|
|
|
|
switch (source) |
|
|
|
|
{ |
|
|
|
|
case "TransferOpening": |
|
|
|
|
|
|
|
|
|
#region 转入开课,开班自动产生考试数据 |
|
|
|
|
var list = await Query(x => ids.Contains(x.Id)); |
|
|
|
|
for (int i = 0; i < list.Count; i++) |
|
|
|
|
{ |
|
|
|
|
var entity = list[i]; |
|
|
|
|
|
|
|
|
|
if (entity.ExamId.IsNullOrEmpty()) |
|
|
|
|
{ |
|
|
|
|
var exam = new Ghre_Exam() |
|
|
|
|
{ |
|
|
|
|
ExamNo = entity.OpenClassNo, |
|
|
|
|
ExamName = entity.OpenClassName, |
|
|
|
|
UseDefaultCoverImage = true, |
|
|
|
|
DateType = "ExamDate", |
|
|
|
|
BeginTime = entity.ExamStartTime, |
|
|
|
|
EndTime = entity.ExamEndTime, |
|
|
|
|
ExamMode = "Online", |
|
|
|
|
IsLinkOpenClass = true, |
|
|
|
|
Status = "Released", |
|
|
|
|
LinkType = entity.LinkType == "Course" ? "CourseId" : "CourseSceneId", |
|
|
|
|
CourseId = entity.LinkType == "Course" ? entity.LinkId : null, |
|
|
|
|
CourseSceneId = entity.LinkType == "CourseScene" ? entity.LinkId : null, |
|
|
|
|
ExamPaperId = entity.ExamPaperId, |
|
|
|
|
Source = "OpenClass" |
|
|
|
|
}; |
|
|
|
|
var examId = await Db.Insertable(exam).ExecuteReturnSnowflakeIdAsync(); |
|
|
|
|
|
|
|
|
|
await Db.Updateable<Ghre_OpenClass>() |
|
|
|
|
.SetColumns(it => new Ghre_OpenClass() { Status = status, ExamId = examId }) |
|
|
|
|
.Where(it => it.Id == entity.Id) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
await Db.Updateable<Ghre_Exam>() |
|
|
|
|
.SetColumns(it => new Ghre_Exam() |
|
|
|
|
{ |
|
|
|
|
ExamNo = entity.OpenClassNo, |
|
|
|
|
ExamName = entity.OpenClassName, |
|
|
|
|
BeginTime = entity.ExamStartTime, |
|
|
|
|
EndTime = entity.ExamEndTime, |
|
|
|
|
LinkType = entity.LinkType == "Course" ? "CourseId" : "CourseSceneId", |
|
|
|
|
CourseId = entity.LinkType == "Course" ? entity.LinkId : null, |
|
|
|
|
CourseSceneId = entity.LinkType == "CourseScene" ? entity.LinkId : null, |
|
|
|
|
ExamPaperId = entity.ExamPaperId |
|
|
|
|
}) |
|
|
|
|
.Where(it => it.Id == entity.ExamId) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
|
|
|
|
|
await Db.Updateable<Ghre_OpenClass>() |
|
|
|
|
.SetColumns(it => new Ghre_OpenClass() { Status = status }) |
|
|
|
|
.Where(it => it.Id == entity.Id) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
await Db.Updateable<Ghre_OpenClass>() |
|
|
|
|
.SetColumns(it => new Ghre_OpenClass() { Status = status }) |
|
|
|
|
.Where(it => ids.Contains(it.Id)) |
|
|
|
|
.ExecuteCommandAsync(); |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ServiceResult.OprateSuccess(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|