From f7291f3486efb2596d5afd6cc5fc2561165a9178 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E8=82=A5=E7=BE=8A?= <1048382248@qq.com>
Date: Wed, 30 Jul 2025 12:59:56 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E6=A8=A1=E5=9E=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Learn.Archives.Core/Common/AppCommon.cs | 6 +-
.../Model/Dto/SchoolBusinessDto.cs | 96 +++++++++++++++++++
.../Model/Enum/ExamTypeEnum.cs | 21 ++++
.../Model/Enum/FeedbackQuestionEnum.cs | 17 ++++
.../Model/Enum/PositionTypeEnum.cs | 16 ++++
.../Model/Enum/TestPaperTypeEnum.cs | 17 ++++
Learn.Archives.Core/Model/Exam.cs | 68 +++++++++++++
Learn.Archives.Core/Model/ExamClassInfo.cs | 82 ++++++++++++++++
Learn.Archives.Core/Model/Grade.cs | 43 +++++++++
Learn.Archives.Core/Model/SchoolBusiness.cs | 87 +++++++++++++++++
.../Model/SchoolBusinessUser.cs | 37 +++++++
.../Model/{User.cs => Student.cs} | 6 +-
12 files changed, 491 insertions(+), 5 deletions(-)
create mode 100644 Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs
create mode 100644 Learn.Archives.Core/Model/Enum/ExamTypeEnum.cs
create mode 100644 Learn.Archives.Core/Model/Enum/FeedbackQuestionEnum.cs
create mode 100644 Learn.Archives.Core/Model/Enum/PositionTypeEnum.cs
create mode 100644 Learn.Archives.Core/Model/Enum/TestPaperTypeEnum.cs
create mode 100644 Learn.Archives.Core/Model/Exam.cs
create mode 100644 Learn.Archives.Core/Model/ExamClassInfo.cs
create mode 100644 Learn.Archives.Core/Model/Grade.cs
create mode 100644 Learn.Archives.Core/Model/SchoolBusiness.cs
create mode 100644 Learn.Archives.Core/Model/SchoolBusinessUser.cs
rename Learn.Archives.Core/Model/{User.cs => Student.cs} (91%)
diff --git a/Learn.Archives.Core/Common/AppCommon.cs b/Learn.Archives.Core/Common/AppCommon.cs
index f05d31e..22b3db2 100644
--- a/Learn.Archives.Core/Common/AppCommon.cs
+++ b/Learn.Archives.Core/Common/AppCommon.cs
@@ -38,9 +38,11 @@ namespace Learn.Archives.Core.Common
{
try
{
+ var projectName = Assembly.GetExecutingAssembly().GetName().Name;
Assemblies = ExpandFunction.GetAssemblies();
- var assembliesType = Assemblies.Where(s => s.FullName.Contains("Archives")).SelectMany(s => s.ExportedTypes
- .Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.IsDefined(typeof(SugarTable), false)));
+ var assembliesType = Assemblies
+ //.Where(s => s.FullName.Contains(projectName))
+ .SelectMany(s => s.ExportedTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass && u.IsDefined(typeof(SugarTable), false)));
DbMatserType = assembliesType
.Where(u => u.GetInterfaces().Contains(typeof(IDB)));
UserCenterType = assembliesType
diff --git a/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs b/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs
new file mode 100644
index 0000000..1f8cb18
--- /dev/null
+++ b/Learn.Archives.Core/Model/Dto/SchoolBusinessDto.cs
@@ -0,0 +1,96 @@
+using Learn.Archives.Core.Model.Enum;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Learn.Archives.Core.Model.Dto
+{
+ ///
+ /// 解决方案记录
+ ///
+ public class SolutionRecordDto
+ {
+ ///
+ /// 需求+解决方案
+ ///
+ public string? Solution { get; set; }
+ ///
+ /// 解决方案是否已经完结
+ ///
+ public bool? SolutionEnd => !string.IsNullOrEmpty(EndRecord);
+ ///
+ /// 完结记录
+ ///
+ public string? EndRecord { get; set; }
+ ///
+ /// 执行记录
+ ///
+ public List Record { get; set; }=new List();
+ }
+
+ ///
+ /// 执行记录
+ ///
+ public class RecordDto
+ {
+ ///
+ /// 执行记录
+ ///
+ public required string ExecutionRecords { get; set; }
+ ///
+ /// 执行时间
+ ///
+ public DateTime ExecutionTime { get; set; }
+
+ }
+
+
+ ///
+ /// 赴校信息-反馈问题
+ ///
+ public class FeedbackQuestionsDto
+ {
+ ///
+ /// 反馈问题的类型
+ ///
+ public FeedbackQuestionTypeEnum QuestionType { get; set; }
+
+ ///
+ /// 同类型下的序号 例如[问题1]
+ ///
+ public required string Sort { get; set; }
+ ///
+ /// 问题
+ ///
+ public required string Question { get; set; }
+ ///
+ /// 解决方案
+ ///
+ public string? Solution { get; set; }
+ ///
+ /// 解决时间
+ ///
+ public DateTime? EndTime { get; set; }
+ }
+
+ ///
+ /// 赴校问题
+ ///
+ public class BusinessQuestionDto
+ {
+ ///
+ /// 问题
+ ///
+ public required string Question { get; set; }
+ ///
+ /// 解决方案
+ ///
+ public string? Solution { get; set; }
+ ///
+ /// 解决时间
+ ///
+ public DateTime? EndTime { get; set; }
+ }
+}
diff --git a/Learn.Archives.Core/Model/Enum/ExamTypeEnum.cs b/Learn.Archives.Core/Model/Enum/ExamTypeEnum.cs
new file mode 100644
index 0000000..9b9da39
--- /dev/null
+++ b/Learn.Archives.Core/Model/Enum/ExamTypeEnum.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Learn.Archives.Core.Model.Enum
+{
+ ///
+ /// 考试类型
+ ///
+ public enum ExamTypeEnum
+ {
+ 周考 = 0,
+ 月考 = 1,
+ 期中考试 = 2,
+ 期末考试 = 3,
+ 会考 = 4,
+ 限时作业 = 5,
+ }
+}
diff --git a/Learn.Archives.Core/Model/Enum/FeedbackQuestionEnum.cs b/Learn.Archives.Core/Model/Enum/FeedbackQuestionEnum.cs
new file mode 100644
index 0000000..70627fb
--- /dev/null
+++ b/Learn.Archives.Core/Model/Enum/FeedbackQuestionEnum.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Learn.Archives.Core.Model.Enum
+{
+ public enum FeedbackQuestionTypeEnum
+ {
+ 学校领导班子=1,
+ 双师课堂=10,
+ 设备=15,
+ 学生=20,
+ 其他=999,
+ }
+}
diff --git a/Learn.Archives.Core/Model/Enum/PositionTypeEnum.cs b/Learn.Archives.Core/Model/Enum/PositionTypeEnum.cs
new file mode 100644
index 0000000..d2ea0dc
--- /dev/null
+++ b/Learn.Archives.Core/Model/Enum/PositionTypeEnum.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Learn.Archives.Core.Model.Enum
+{
+ public enum PositionTypeEnum
+ {
+ 年级主任=100,
+ 年级学科组组长= 110,
+ 教导主任 = 120,
+ 校长 = 130,
+ }
+}
diff --git a/Learn.Archives.Core/Model/Enum/TestPaperTypeEnum.cs b/Learn.Archives.Core/Model/Enum/TestPaperTypeEnum.cs
new file mode 100644
index 0000000..d0417f9
--- /dev/null
+++ b/Learn.Archives.Core/Model/Enum/TestPaperTypeEnum.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Learn.Archives.Core.Model.Enum
+{
+ ///
+ /// 试卷类型
+ ///
+ public enum TestPaperTypeEnum
+ {
+ 统一考试=1,
+ 本校考试 = 10,
+ }
+}
diff --git a/Learn.Archives.Core/Model/Exam.cs b/Learn.Archives.Core/Model/Exam.cs
new file mode 100644
index 0000000..ff1e1f6
--- /dev/null
+++ b/Learn.Archives.Core/Model/Exam.cs
@@ -0,0 +1,68 @@
+using Learn.Archives.Core.Model.Enum;
+using Learn.Archives.Core.Model.Interface;
+using SqlSugar;
+using System.ComponentModel.DataAnnotations;
+using System.Net;
+using System.Text.Json;
+using UserCenter.Model;
+using UserCenter.Model.Enum;
+using UserCenter.Model.Interface;
+
+namespace Learn.Archives.Core.Model
+{
+ ///
+ /// 考试
+ ///
+ [SugarTable("exam")]
+ public class Exam : EntityBaseId, IDB
+ {
+ ///
+ /// 考试名称
+ ///
+ [SugarColumn(Length = 20)]
+ public required string Name { get; set; }
+
+ ///
+ /// 考试名称
+ ///
+ [SugarColumn(Length = 20)]
+ public required string AdminName { get; set; }
+ ///
+ /// 年级
+ ///
+ [SugarColumn(Length = 12)]
+ public GradeEnum Level { get; set; }
+ ///
+ /// 试卷类型
+ ///
+ public TestPaperTypeEnum TestPaperType { get; set; }
+
+ ///
+ /// 考试类型
+ ///
+ public ExamTypeEnum Type { get; set; }
+
+ ///
+ /// 划线分数
+ ///
+ public decimal ScoreLine { get; set; }
+ ///
+ /// 参与班级数量
+ ///
+ public int? ClassCount { get; set; }
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; } = DateTime.Now;
+ ///
+ /// 考试开始时间
+ ///
+ public DateTime StartTime { get; set; }
+
+ ///
+ /// 考试结束时间
+ ///
+ public DateTime EndTime { get; set; }
+
+ }
+}
diff --git a/Learn.Archives.Core/Model/ExamClassInfo.cs b/Learn.Archives.Core/Model/ExamClassInfo.cs
new file mode 100644
index 0000000..5655ff7
--- /dev/null
+++ b/Learn.Archives.Core/Model/ExamClassInfo.cs
@@ -0,0 +1,82 @@
+using Learn.Archives.Core.Model.Enum;
+using Learn.Archives.Core.Model.Interface;
+using SqlSugar;
+using System.ComponentModel.DataAnnotations;
+using System.Net;
+using System.Text.Json;
+using UserCenter.Model;
+using UserCenter.Model.Enum;
+using UserCenter.Model.Interface;
+
+namespace Learn.Archives.Core.Model
+{
+ ///
+ /// 班级考试详情
+ ///
+ [SugarTable("examclassinfo")]
+ public class ExamClassInfo : EntityBaseId, IDB
+ {
+ ///
+ /// 考试Id
+ ///
+ [SugarColumn(Length = 20)]
+ public required string ExamId { get; set; }
+ ///
+ /// 考试名称
+ ///
+ [SugarColumn(Length = 20)]
+ public required string ExamName { get; set; }
+ ///
+ /// 考试班级名称
+ ///
+ [SugarColumn(Length = 20)]
+ public required string ClassName { get; set; }
+ ///
+ /// 考试班级id
+ ///
+ public long ClassId { get; set; }
+
+ ///
+ /// 考试班级所属学校ID
+ ///
+ [SugarColumn(Length = 20)]
+ public required string SchoolName { get; set; }
+ ///
+ /// 考试班级所属学校名称
+ ///
+ public long SchoolId { get; set; }
+
+ ///
+ /// 年级
+ ///
+ public GradeLevelEnum GradeLevel { get; set; }
+ ///
+ /// 毕业年份 毕业届
+ ///
+ public int GradeYear { get; set; }
+
+ ///
+ /// 上线人数 考试排名
+ ///
+ public decimal OnLineRanking { get; set; }
+ ///
+ /// 上线率
+ ///
+ public decimal OnLineRate { get; set; }
+ ///
+ /// 上线人数
+ ///
+ public int OnLineCount { get; set; }
+ ///
+ /// 参加人数
+ ///
+ public int PeopleCount { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; } = DateTime.Now;
+
+
+ }
+}
diff --git a/Learn.Archives.Core/Model/Grade.cs b/Learn.Archives.Core/Model/Grade.cs
new file mode 100644
index 0000000..4b4055b
--- /dev/null
+++ b/Learn.Archives.Core/Model/Grade.cs
@@ -0,0 +1,43 @@
+using Learn.Archives.Core.Model.Interface;
+using SqlSugar;
+using System.ComponentModel.DataAnnotations;
+using System.Net;
+using System.Text.Json;
+using UserCenter.Model;
+using UserCenter.Model.Enum;
+using UserCenter.Model.Interface;
+
+namespace Learn.Archives.Core.Model
+{
+ ///
+ /// 年级
+ ///
+ [SugarTable("grade")]
+ public class Grade : EntityBaseId, IDB
+ {
+ ///
+ /// 年级
+ ///
+ [SugarColumn(Length = 12)]
+ public GradeLevelEnum Level { get; set; }
+ ///
+ /// 毕业界
+ ///
+ [SugarColumn(Length = 6)]
+ public int Year { get; set; }
+ ///
+ /// 学校名称
+ ///
+ [SugarColumn(Length = 12)]
+ public required string SchoolName { get; set; }
+ ///
+ /// 学校Id
+ ///
+ public long SchoolId { get; set; }
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; } = DateTime.Now;
+
+ }
+}
diff --git a/Learn.Archives.Core/Model/SchoolBusiness.cs b/Learn.Archives.Core/Model/SchoolBusiness.cs
new file mode 100644
index 0000000..7181b0d
--- /dev/null
+++ b/Learn.Archives.Core/Model/SchoolBusiness.cs
@@ -0,0 +1,87 @@
+using Learn.Archives.Core.Model.Interface;
+using SqlSugar;
+using System.ComponentModel.DataAnnotations;
+using System.Net;
+using System.Text.Json;
+using UserCenter.Model;
+using UserCenter.Model.Enum;
+
+namespace Learn.Archives.Core.Model
+{
+ ///
+ /// 学校业务联系表
+ ///
+ [SugarTable("schoolbusiness")]
+ public class SchoolBusiness : EntityBaseId, IDB
+ {
+ ///
+ /// 学校ID
+ ///
+ public long SchoolId { get; set; }
+ ///
+ /// 学校名称
+ ///
+ public required string SchoolName { get; set; }
+ ///
+ /// 年级
+ ///
+ public required string Grade { get; set; }
+ ///
+ /// 赴校时间
+ ///
+ public DateTime StartTime { get; set; } = DateTime.Now;
+ ///
+ /// 赴校备注
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string? Remark { get; set; }
+
+ ///
+ /// 反馈问题数量
+ ///
+ public long FeedbackCount{ get; set; }
+ ///
+ /// 反馈问题已解决数量
+ ///
+ public long SolveFeedbackCount { get; set; }
+
+ ///
+ /// 赴校问题已解决
+ ///
+ public long SolutionEnd { get; set; }
+
+ ///
+ /// 反馈问题
+ /// 序列化类型
+ ///
+ [SugarColumn(IsNullable = true, ColumnDataType = "text")]
+ public string? FeedbackQuestions { get; set; }
+ ///
+ /// 解决方案的记录
+ /// 序列化类型
+ ///
+ [SugarColumn(IsNullable = true, ColumnDataType = "text")]
+ public string? SolutionRecord { get; set; }
+
+
+ ///
+ /// 开展座谈
+ ///
+ [SugarColumn(IsNullable =true,Length = 1000)]
+ public string? Discussion { get; set; }
+ ///
+ /// 开展班会
+ ///
+ [SugarColumn(IsNullable = true, Length = 1000)]
+ public string? ClassMeeting { get; set; }
+ ///
+ /// 开展过座谈
+ ///
+ public bool IsDiscussion => !string.IsNullOrEmpty(Discussion);
+ ///
+ /// 开展过班会
+ ///
+ public bool IsClassMeeting => !string.IsNullOrEmpty(ClassMeeting);
+
+ }
+}
diff --git a/Learn.Archives.Core/Model/SchoolBusinessUser.cs b/Learn.Archives.Core/Model/SchoolBusinessUser.cs
new file mode 100644
index 0000000..18bd432
--- /dev/null
+++ b/Learn.Archives.Core/Model/SchoolBusinessUser.cs
@@ -0,0 +1,37 @@
+using Learn.Archives.Core.Model.Interface;
+using SqlSugar;
+using System.ComponentModel.DataAnnotations;
+using System.Net;
+using System.Text.Json;
+using UserCenter.Model;
+using UserCenter.Model.Enum;
+
+namespace Learn.Archives.Core.Model
+{
+ ///
+ /// 学校业务赴校人员表
+ ///
+ [SugarTable("schoolbusinessuser")]
+ public class SchoolBusinessUser : EntityBaseId, IDB
+ {
+ ///
+ /// 学校业务ID
+ ///
+ public long SchoolBusinessId { get; set; }
+
+ ///
+ /// 人员Id
+ ///
+ public required long AdminId { get; set; }
+ ///
+ /// 人员名称
+ ///
+ public required string AdminName { get; set; }
+ ///
+ /// 创建时间
+ ///
+ public DateTime CreateTime { get; set; } = DateTime.Now;
+
+ //todo 与产品确认赴校信息的流程来设计表
+ }
+}
diff --git a/Learn.Archives.Core/Model/User.cs b/Learn.Archives.Core/Model/Student.cs
similarity index 91%
rename from Learn.Archives.Core/Model/User.cs
rename to Learn.Archives.Core/Model/Student.cs
index b674b78..e028dc1 100644
--- a/Learn.Archives.Core/Model/User.cs
+++ b/Learn.Archives.Core/Model/Student.cs
@@ -10,10 +10,10 @@ namespace Learn.Archives.Core.Model
{
///
/// 用户
- /// 数据中心拓展用户
+ /// 数据中心拓展学生
///
- [SugarTable("userexpand")]
- public class UserExpand : EntityBaseId, IDB
+ [SugarTable("student")]
+ public class Student : EntityBaseId, IDB
{
///
/// 用户中心的id