代码优化

master
xiaochanghai 1 year ago
parent 7c5a0f2b87
commit cfdbb23b6c
  1. 5
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  2. 2
      Tiobon.Core.Model/Base/Ghre/Ghre_ExamPaperConfig.Dto.Base.cs
  3. 13
      Tiobon.Core.Services/Ghre/Ghre_ExamPaperServices.cs

@ -4957,6 +4957,11 @@
题目类型 题目类型
</summary> </summary>
</member> </member>
<member name="P:Tiobon.Core.Model.DefaultGhre_ExamPaperPreview.QuestionContent">
<summary>
题目内容
</summary>
</member>
<member name="P:Tiobon.Core.Model.DefaultGhre_ExamPaperPreview.ConfigId"> <member name="P:Tiobon.Core.Model.DefaultGhre_ExamPaperPreview.ConfigId">
<summary> <summary>
试卷配置ID 试卷配置ID

@ -59,7 +59,7 @@ namespace Tiobon.Core.Model.Models
/// <summary> /// <summary>
/// 题目内容ID /// 题目内容ID
/// </summary> /// </summary>
[Display(Name = "QuestionContent"), Description("题目内容ID"), MaxLength(2000, ErrorMessage = "题目内容 不能超过 2000 个字符")] [Display(Name = "QuestionId"), Description("题目内容ID")]
public long? QuestionId { get; set; } public long? QuestionId { get; set; }
/// <summary> /// <summary>

@ -316,7 +316,7 @@ namespace Tiobon.Core.Services
ConfigId = x.ConfigId, ConfigId = x.ConfigId,
parentId = x.ConfigId, parentId = x.ConfigId,
QuestionId = x.QuestionId.Value, QuestionId = x.QuestionId.Value,
ExamPaperId = x.ExamPaperId, ExamPaperId = x.ExamPaperId
}).ToList(); }).ToList();
var questionIds = previews.Select(x => x.QuestionId).Distinct().ToList(); var questionIds = previews.Select(x => x.QuestionId).Distinct().ToList();
@ -326,7 +326,8 @@ namespace Tiobon.Core.Services
previews.ForEach(x => previews.ForEach(x =>
{ {
var answers1 = answers.Where(y => y.QuestionId == x.QuestionId).ToList(); var answers1 = answers.Where(y => y.QuestionId == x.QuestionId).ToList();
x.QuestionType = questions1.FirstOrDefault(a=>a.Id==x.QuestionId)?.QuestionType;
x.QuestionContent = questions1.FirstOrDefault(a=>a.Id==x.QuestionId)?.QuestionContent;
//var detail = questions1.Select(o => //var detail = questions1.Select(o =>
//new FromGhre_QuestionQuestionTypeDetail() //new FromGhre_QuestionQuestionTypeDetail()
@ -381,6 +382,9 @@ namespace Tiobon.Core.Services
long parentId = SnowFlakeSingle.instance.getID(); long parentId = SnowFlakeSingle.instance.getID();
input.tableData = Mapper.Map(insert).ToANew<Ghre_ExamPaperConfig>(); input.tableData = Mapper.Map(insert).ToANew<Ghre_ExamPaperConfig>();
input.tableData.Id = parentId; input.tableData.Id = parentId;
if (insert.QuestionId != null)
insert.Quantity = 1;
string sql = $@"SELECT TOP {insert.Quantity} *,NEWID() AS GuidValue FROM Ghre_Question WHERE IsEnable=1"; string sql = $@"SELECT TOP {insert.Quantity} *,NEWID() AS GuidValue FROM Ghre_Question WHERE IsEnable=1";
if (!string.IsNullOrWhiteSpace(insert.DifficultyLevel)) if (!string.IsNullOrWhiteSpace(insert.DifficultyLevel))
sql += $" AND DifficultyLevel='{insert.DifficultyLevel}'"; sql += $" AND DifficultyLevel='{insert.DifficultyLevel}'";
@ -388,6 +392,8 @@ namespace Tiobon.Core.Services
sql += $" AND QuestionType='{insert.QuestionType}'"; sql += $" AND QuestionType='{insert.QuestionType}'";
if (insert.CourseId != null) if (insert.CourseId != null)
sql += $" AND CourseId='{insert.CourseId}'"; sql += $" AND CourseId='{insert.CourseId}'";
if (insert.CourseId != null)
sql += $" AND Id='{insert.QuestionId}'";
sql += $" ORDER BY GuidValue ASC"; sql += $" ORDER BY GuidValue ASC";
var questions = await Db.Ado.SqlQueryAsync<Ghre_Question>(sql); var questions = await Db.Ado.SqlQueryAsync<Ghre_Question>(sql);
@ -435,11 +441,12 @@ namespace Tiobon.Core.Services
var insert = new InsertGhre_ExamPaperInput(); var insert = new InsertGhre_ExamPaperInput();
insert = Mapper.Map(insertModel.baseData).ToANew<InsertGhre_ExamPaperInput>(); insert = Mapper.Map(insertModel.baseData).ToANew<InsertGhre_ExamPaperInput>();
insert.PaperNo = await GenerateContinuousSequence("Ghre_ExamPaper", "P", "PaperNo"); insert.PaperNo = await GenerateContinuousSequence("Ghre_ExamPaper", "PaperNo", "P");
insert.LinkId = insertModel.baseData.LinkType == "CourseId" ? insertModel.baseData.CourseId : insertModel.baseData.CourseSceneId; insert.LinkId = insertModel.baseData.LinkType == "CourseId" ? insertModel.baseData.CourseId : insertModel.baseData.CourseSceneId;
insert.CoverUrl = insertModel.styleInfo.coverImage; insert.CoverUrl = insertModel.styleInfo.coverImage;
insert.Style = insertModel.styleInfo.paperStyle; insert.Style = insertModel.styleInfo.paperStyle;
insert.ScoreMethod = insertModel.examPaperSetType; insert.ScoreMethod = insertModel.examPaperSetType;
insert.Status = "Draft";
var id = await Add(insert); var id = await Add(insert);
var configs = Mapper.Map(insertModel.examPaperSetData).ToANew<List<Ghre_ExamPaperConfig>>(); var configs = Mapper.Map(insertModel.examPaperSetData).ToANew<List<Ghre_ExamPaperConfig>>();

Loading…
Cancel
Save