1.新增考试查询【草稿箱、已发布、已归档】数据接口

master
xiaochanghai 1 year ago
parent 5f6d21ed4b
commit 7d0cf3faab
  1. 18
      Tiobon.Core.Api/Controllers/Ghre/Ghre_ExamController.cs
  2. 10
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 8
      Tiobon.Core.Api/Tiobon.Core.xml
  4. 4
      Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs
  5. 6
      Tiobon.Core.Model/Base/Ghre/Ghre_Exam.Dto.Base.cs
  6. 6
      Tiobon.Core.Model/Models/Ghre/Ghre_Exam.cs
  7. 98
      Tiobon.Core.Services/Ghre/Ghre_ExamServices.cs
  8. 10
      Tiobon.Core/Tiobon.Core.Model.xml
  9. 8
      Tiobon.Core/Tiobon.Core.xml

@ -12,7 +12,7 @@ public class Ghre_ExamController : BaseController<IGhre_ExamServices, Ghre_Exam,
{
}
#region 查询
#region 查询初始化数据
/// <summary>
/// 查询初始化数据
/// </summary>
@ -25,4 +25,20 @@ public class Ghre_ExamController : BaseController<IGhre_ExamServices, Ghre_Exam,
}
#endregion
#region 根据条件查询数据
/// <summary>
/// 根据条件查询数据
/// </summary>
/// <param name="status">status</param>
/// <param name="body">条件</param>
/// <returns></returns>
[HttpPost, Route("QueryList/{status}")]
public async Task<ServicePageResult<Ghre_ExamDto>> QueryList(string status, [FromBody] QueryBody body)
{
var data = await _service.QueryList(body, status);
return data;
}
#endregion
}

@ -880,6 +880,11 @@
开班ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamBase.Status">
<summary>
状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamBase.RemarkSz">
<summary>
备注
@ -3128,6 +3133,11 @@
开班ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Exam.Status">
<summary>
状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Exam.RemarkSz">
<summary>
备注

@ -590,6 +590,14 @@
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.QueryList(System.String,Tiobon.Core.Common.QueryBody)">
<summary>
根据条件查询数据
</summary>
<param name="status">status</param>
<param name="body">条件</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamPaperConfigController">
<summary>
试卷配置(Controller)

@ -1,4 +1,5 @@
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Common;
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model;
using Tiobon.Core.Model.Models;
@ -10,5 +11,6 @@ namespace Tiobon.Core.IServices
public interface IGhre_ExamServices : IBaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhre_ExamInput, EditGhre_ExamInput>
{
Task<dynamic> GetModuleInfo(ModuleParam param);
Task<ServicePageResult<Ghre_ExamDto>> QueryList(QueryBody body, string status);
}
}

@ -102,6 +102,12 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public long? OpenClassId { get; set; }
/// <summary>
/// 状态
/// </summary>
[Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")]
public string Status { get; set; }
/// <summary>
/// 备注
/// </summary>

@ -104,6 +104,12 @@ namespace Tiobon.Core.Model.Models
/// </summary>
public long? OpenClassId { get; set; }
/// <summary>
/// 状态
/// </summary>
[Display(Name = "Status"), Description("状态"), MaxLength(32, ErrorMessage = "状态 不能超过 32 个字符")]
public string Status { get; set; }
/// <summary>
/// 备注
/// </summary>

@ -9,6 +9,9 @@ using Tiobon.Core.Model;
using Tiobon.Core.Common;
using AgileObjects.AgileMapper;
using Newtonsoft.Json;
using System.Text.RegularExpressions;
using Newtonsoft.Json.Linq;
using SqlSugar;
namespace Tiobon.Core.Services;
@ -18,11 +21,17 @@ namespace Tiobon.Core.Services;
public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhre_ExamInput, EditGhre_ExamInput>, IGhre_ExamServices
{
private readonly IBaseRepository<Ghre_Exam> _dal;
public Ghre_ExamServices(ICaching caching, IBaseRepository<Ghre_Exam> dal)
private readonly IGhre_CourseServices _ghre_CourseServices;
private readonly IGhre_CourseSceneServices _ghre_CourseSceneServices;
public Ghre_ExamServices(ICaching caching,
IGhre_CourseServices ghre_CourseServices,
IGhre_CourseSceneServices ghre_CourseSceneServices, IBaseRepository<Ghre_Exam> dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_ghre_CourseServices = ghre_CourseServices;
_ghre_CourseSceneServices = ghre_CourseSceneServices;
}
public async Task<dynamic> GetModuleInfo(ModuleParam param)
{
@ -173,4 +182,91 @@ public class Ghre_ExamServices : BaseServices<Ghre_Exam, Ghre_ExamDto, InsertGhr
return result;
}
public async Task<ServicePageResult<Ghre_ExamDto>> QueryList(QueryBody body, string status)
{
var data = await QueryFilterPage1(body, status);
var data1 = Mapper.Map(data.result.DT_TableDataT1).ToANew<List<Ghre_ExamDto>>();
//var linkIds = data1.Where(x => x.LinkId != null).Select(x => x.LinkId.Value).Distinct().ToList();
//var courses = await _ghre_CourseServices.Query(x => linkIds.Contains(x.Id));
//var courseScenes = await _ghre_CourseSceneServices.Query(x => linkIds.Contains(x.Id));
//data1.ForEach(async x =>
//{
// try
// {
// x.ScoreMethodLabel = await GetParaLabel("ScoreMethod", x.ScoreMethod);
// x.TotalScore1 = Regex.Replace(x.PassScore.ToString(), @"\.(0+)$", "") + "/" + Regex.Replace(x.TotalScore.ToString(), @"\.(0+)$", "");
// x.SetMethodLabel = await GetParaLabel("SetMethod", x.SetMethod);
// if (x.LinkType == "CourseId")
// x.CourseName = courses.FirstOrDefault(o => o.Id == x.LinkId)?.CourseName;
// else if (x.LinkType == "CourseSceneId")
// x.CourseName = courseScenes.FirstOrDefault(o => o.Id == x.LinkId)?.SceneName;
// }
// catch (Exception)
// {
// }
//});
return new ServicePageResult<Ghre_ExamDto>(body.pageNum, data.result.DT_TablePageInfoT1.TotalCount, body.pageSize, data1);
}
public async Task<ServicePageResult<Ghre_Exam>> QueryFilterPage1(QueryBody filter, string status = null)
{
if (string.IsNullOrWhiteSpace(filter.orderBy))
filter.orderBy = "CreateTime DESC";
RefAsync<int> totalCount = 0;
var query = Db.Queryable<Ghre_Exam>();
if (!string.IsNullOrWhiteSpace(status))
query = query.Where(x => x.Status == status);
string conditions = "1=1";
if (filter.jsonParam != null)
foreach (JProperty jProperty in filter.jsonParam.Properties())
{
var name = jProperty.Name;
var value = jProperty.Value.ToString();
if (name == "page" || name == "pageSize")
continue;
if (!string.IsNullOrWhiteSpace(value))
{
var jsonParam = JsonConvert.DeserializeObject<JsonParam>(value);
switch (jsonParam.operationKey)
{
case "Include":
conditions += $" AND {name} LIKE '%{jsonParam.columnValue}%'";
break;
case "NotInclude":
conditions += $" AND {name} NOT LIKE '%{jsonParam.columnValue}%'";
break;
case "IsNull":
conditions += $" AND {name} IS NULL";
break;
case "NotNull":
conditions += $" AND {name} IS NOT NULL";
break;
case "Equal":
conditions += $" AND {name} ='{jsonParam.columnValue}'";
break;
case "NotEqual":
conditions += $" AND {name} !='{jsonParam.columnValue}'";
break;
default:
break;
}
}
}
if (filter.pageSize == 0)
filter.pageSize = 10000;
query = query.Where(conditions);
var list = await query
.OrderByIF(!string.IsNullOrEmpty(filter.orderBy), filter.orderBy)
.ToPageListAsync(filter.pageNum, filter.pageSize, totalCount);
return new ServicePageResult<Ghre_Exam>(filter.pageNum, totalCount, filter.pageSize, list);
}
}

@ -880,6 +880,11 @@
开班ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamBase.Status">
<summary>
状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_ExamBase.RemarkSz">
<summary>
备注
@ -3128,6 +3133,11 @@
开班ID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Exam.Status">
<summary>
状态
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_Exam.RemarkSz">
<summary>
备注

@ -590,6 +590,14 @@
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_ExamController.QueryList(System.String,Tiobon.Core.Common.QueryBody)">
<summary>
根据条件查询数据
</summary>
<param name="status">status</param>
<param name="body">条件</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_ExamPaperConfigController">
<summary>
试卷配置(Controller)

Loading…
Cancel
Save