Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
Education
Commits
d026f290
Commit
d026f290
authored
Aug 10, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/Kui2/education
parents
16d3a83d
ebe850a1
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
846 additions
and
0 deletions
+846
-0
RB_Examination_Details.cs
Edu.Model/Entity/Exam/RB_Examination_Details.cs
+131
-0
RB_Examination_Group.cs
Edu.Model/Entity/Exam/RB_Examination_Group.cs
+45
-0
RB_Examination_Paper.cs
Edu.Model/Entity/Exam/RB_Examination_Paper.cs
+66
-0
RB_Examination_Details_ViewModel.cs
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
+18
-0
RB_Examination_Group_ViewModel.cs
Edu.Model/ViewModel/Exam/RB_Examination_Group_ViewModel.cs
+23
-0
RB_Examination_Paper_ViewModel.cs
Edu.Model/ViewModel/Exam/RB_Examination_Paper_ViewModel.cs
+28
-0
Edu.Module.Exam.csproj
Edu.Module.Exam/Edu.Module.Exam.csproj
+15
-0
PaperModule.cs
Edu.Module.Exam/PaperModule.cs
+198
-0
RB_Examination_DetailsRepository.cs
Edu.Repository/Exam/RB_Examination_DetailsRepository.cs
+45
-0
RB_Examination_GroupRepository.cs
Edu.Repository/Exam/RB_Examination_GroupRepository.cs
+43
-0
RB_Examination_PaperRepository.cs
Edu.Repository/Exam/RB_Examination_PaperRepository.cs
+49
-0
ExamController.cs
Edu.WebApi/Controllers/Exam/ExamController.cs
+177
-0
Edu.WebApi.csproj
Edu.WebApi/Edu.WebApi.csproj
+1
-0
education.sln
education.sln
+7
-0
No files found.
Edu.Model/Entity/Exam/RB_Examination_Details.cs
0 → 100644
View file @
d026f290
using
Edu.Common.Enum
;
using
Edu.Common.Enum.Course
;
using
Edu.Common.Enum.Question
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 试卷题目实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Examination_Details
{
/// <summary>
/// 试卷详情编号
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 试卷编号
/// </summary>
public
int
PaperId
{
get
;
set
;
}
/// <summary>
/// 题库编号
/// </summary>
public
int
BankId
{
get
;
set
;
}
/// <summary>
/// 问题编号
/// </summary>
public
int
QuestionId
{
get
;
set
;
}
/// <summary>
/// 问题名称(题干)
/// </summary>
public
string
Title
{
get
;
set
;
}
/// <summary>
/// 问题内容
/// </summary>
public
string
QuestionContent
{
get
;
set
;
}
/// <summary>
/// 难易程度(1-易,2-中,3-难)
/// </summary>
public
DifficultyTypeEnum
DifficultyType
{
get
;
set
;
}
/// <summary>
/// 答案解析
/// </summary>
public
string
AnswerParse
{
get
;
set
;
}
/// <summary>
/// 问题类型编号
/// </summary>
public
int
QuestionTypeId
{
get
;
set
;
}
/// <summary>
/// 问题类型Key
/// </summary>
public
string
QuestionTypeKey
{
get
;
set
;
}
/// <summary>
/// 知识点
/// </summary>
public
string
Knowledge
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 修改人
/// </summary>
public
int
UpdateBy
{
get
;
set
;
}
/// <summary>
/// 更新时间
/// </summary>
public
DateTime
UpdateTime
{
get
;
set
;
}
/// <summary>
/// 是否同步修改引用此题目的作业和考试(1-是)
/// </summary>
public
int
IsUpdateJobExam
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
DateStateEnum
Status
{
get
;
set
;
}
/// <summary>
/// 排序
/// </summary>
public
int
SortNum
{
get
;
set
;
}
/// <summary>
/// 问题答案【JSON字符串】
/// </summary>
public
string
Answer
{
get
;
set
;
}
/// <summary>
/// 填空题(答案顺序打乱也判正确)
/// </summary>
public
int
IsMutex
{
get
;
set
;
}
/// <summary>
/// 题目所属大类
/// </summary>
public
QuestionCategoryEnum
?
Category
{
get
;
set
;
}
/// <summary>
/// 考级程度
/// </summary>
public
LevelTypeEnum
?
LevelType
{
get
;
set
;
}
/// <summary>
/// 题目分数
/// </summary>
public
decimal
Score
{
get
;
set
;
}
}
}
Edu.Model/Entity/Exam/RB_Examination_Group.cs
0 → 100644
View file @
d026f290
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 试卷题目分组实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Examination_Group
{
/// <summary>
/// 试卷分组编号
/// </summary>
public
int
GId
{
get
;
set
;
}
/// <summary>
/// 试卷编号
/// </summary>
public
int
PaperId
{
get
;
set
;
}
/// <summary>
/// 分组名称
/// </summary>
public
string
GroupName
{
get
;
set
;
}
/// <summary>
/// 问题类型编号
/// </summary>
public
int
QuestionTypeId
{
get
;
set
;
}
/// <summary>
/// 问题类型Key
/// </summary>
public
string
QuestionTypeKey
{
get
;
set
;
}
/// <summary>
/// 排序
/// </summary>
public
int
GSortNum
{
get
;
set
;
}
}
}
Edu.Model/Entity/Exam/RB_Examination_Paper.cs
0 → 100644
View file @
d026f290
using
Edu.Common.Enum.Question
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 试卷实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Examination_Paper
{
/// <summary>
/// 试卷编号
/// </summary>
public
int
PaperId
{
get
;
set
;
}
/// <summary>
/// 试卷名称
/// </summary>
public
string
PaperName
{
get
;
set
;
}
/// <summary>
/// 关联题库编号
/// </summary>
public
string
QuestionBandIds
{
get
;
set
;
}
/// <summary>
/// 难易程度(1-易,2-中,3-难)
/// </summary>
public
DifficultyTypeEnum
DifficultyType
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 发布次数
/// </summary>
public
int
PublishCount
{
get
;
set
;
}
/// <summary>
/// 集团编号
/// </summary>
public
int
Group_Id
{
get
;
set
;
}
/// <summary>
/// 学校编号
/// </summary>
public
int
School_Id
{
get
;
set
;
}
/// <summary>
/// 删除状态
/// </summary>
public
int
Status
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Exam/RB_Examination_Details_ViewModel.cs
0 → 100644
View file @
d026f290
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 试卷题目视图实体类
/// </summary>
public
class
RB_Examination_Details_ViewModel
:
RB_Examination_Details
{
/// <summary>
/// 试卷编号【查询使用】
/// </summary>
public
string
QPaperIds
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Exam/RB_Examination_Group_ViewModel.cs
0 → 100644
View file @
d026f290
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 试卷题目分组视图实体类
/// </summary>
public
class
RB_Examination_Group_ViewModel
:
RB_Examination_Group
{
/// <summary>
/// 试卷分组题目列表
/// </summary>
public
List
<
RB_Examination_Details_ViewModel
>
DetailsList
{
get
;
set
;
}
/// <summary>
/// 试卷编号【查询使用】
/// </summary>
public
string
QPaperIds
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Exam/RB_Examination_Paper_ViewModel.cs
0 → 100644
View file @
d026f290
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 试卷师徒实体类
/// </summary>
public
class
RB_Examination_Paper_ViewModel
:
RB_Examination_Paper
{
/// <summary>
/// 创建人
/// </summary>
public
string
CreateByName
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
string
CreateTimeStr
{
get
{
return
Common
.
ConvertHelper
.
FormatDate
(
this
.
CreateTime
);
}
}
/// <summary>
/// 试卷题目分组列表
/// </summary>
public
List
<
RB_Examination_Group_ViewModel
>
GroupList
{
get
;
set
;
}
}
}
Edu.Module.Exam/Edu.Module.Exam.csproj
0 → 100644
View file @
d026f290
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Edu.Aop\Edu.Aop.csproj" />
<ProjectReference Include="..\Edu.Cache\Edu.Cache.csproj" />
<ProjectReference Include="..\Edu.Common\Edu.Common.csproj" />
<ProjectReference Include="..\Edu.Model\Edu.Model.csproj" />
<ProjectReference Include="..\Edu.Repository\Edu.Repository.csproj" />
</ItemGroup>
</Project>
Edu.Module.Exam/PaperModule.cs
0 → 100644
View file @
d026f290
using
Edu.AOP.CustomerAttribute
;
using
Edu.Model.ViewModel.Exam
;
using
Edu.Repository.Exam
;
using
System
;
using
System.Collections.Generic
;
using
VT.FW.DB
;
using
System.Linq
;
namespace
Edu.Module.Exam
{
/// <summary>
/// 试卷处理类
/// </summary>
public
class
PaperModule
{
/// <summary>
/// 试卷题目仓储层对象
/// </summary>
private
readonly
RB_Examination_DetailsRepository
examination_DetailsRepository
=
new
RB_Examination_DetailsRepository
();
/// <summary>
/// 试卷仓储层对象
/// </summary>
private
readonly
RB_Examination_PaperRepository
examination_PaperRepository
=
new
RB_Examination_PaperRepository
();
/// <summary>
/// 试卷分组仓储层对象
/// </summary>
private
readonly
RB_Examination_GroupRepository
examination_GroupRepository
=
new
RB_Examination_GroupRepository
();
/// <summary>
/// 获取试卷分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Examination_Paper_ViewModel
>
GetExaminationPaperPageModule
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_Examination_Paper_ViewModel
query
)
{
return
examination_PaperRepository
.
GetExaminationPaperPageRepository
(
pageIndex
,
pageSize
,
out
rowsCount
,
query
);
}
/// <summary>
/// 获取试卷题目列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Examination_Group_ViewModel
>
GetExaminationGroupListModule
(
RB_Examination_Group_ViewModel
query
)
{
return
examination_GroupRepository
.
GetExaminationGroupListRepository
(
query
);
}
/// <summary>
/// 获取试卷题目列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Examination_Details_ViewModel
>
GetExaminationDetailsListModule
(
RB_Examination_Details_ViewModel
query
)
{
return
examination_DetailsRepository
.
GetExaminationDetailsListRepository
(
query
);
}
/// <summary>
/// 新增/修改试卷
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetExaminationPaperModule
(
RB_Examination_Paper_ViewModel
model
)
{
bool
flag
;
if
(
model
.
PaperId
>
0
)
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_Paper_ViewModel
.
PaperName
),
model
.
PaperName
},
{
nameof
(
RB_Examination_Paper_ViewModel
.
DifficultyType
),
model
.
DifficultyType
},
};
flag
=
examination_PaperRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Examination_Paper_ViewModel
.
PaperId
),
model
.
PaperId
));
}
else
{
var
newPaperId
=
examination_PaperRepository
.
Insert
(
model
);
model
.
PaperId
=
newPaperId
;
flag
=
newPaperId
>
0
;
}
if
(
model
.
GroupList
!=
null
&&
model
.
GroupList
.
Count
>
0
)
{
foreach
(
var
gitem
in
model
.
GroupList
)
{
gitem
.
PaperId
=
model
.
PaperId
;
if
(
flag
)
{
if
(
gitem
.
GId
>
0
)
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_Group_ViewModel
.
PaperId
),
gitem
.
PaperId
},
{
nameof
(
RB_Examination_Group_ViewModel
.
GroupName
),
gitem
.
GroupName
},
{
nameof
(
RB_Examination_Group_ViewModel
.
QuestionTypeId
),
gitem
.
QuestionTypeId
},
{
nameof
(
RB_Examination_Group_ViewModel
.
QuestionTypeKey
),
gitem
.
QuestionTypeKey
},
{
nameof
(
RB_Examination_Group_ViewModel
.
GSortNum
),
gitem
.
GSortNum
},
};
flag
=
examination_GroupRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Examination_Group_ViewModel
.
GId
),
gitem
.
GId
));
}
else
{
var
newGroupId
=
examination_GroupRepository
.
Insert
(
gitem
);
gitem
.
GId
=
newGroupId
;
flag
=
newGroupId
>
0
;
}
}
if
(
flag
&&
gitem
.
DetailsList
!=
null
&&
gitem
.
DetailsList
.
Count
>
0
)
{
foreach
(
var
dItem
in
gitem
.
DetailsList
)
{
if
(
dItem
.
Id
>
0
)
{
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Examination_Details_ViewModel
.
PaperId
),
dItem
.
PaperId
},
{
nameof
(
RB_Examination_Details_ViewModel
.
BankId
),
dItem
.
BankId
},
{
nameof
(
RB_Examination_Details_ViewModel
.
QuestionId
),
dItem
.
QuestionId
},
{
nameof
(
RB_Examination_Details_ViewModel
.
Title
),
dItem
.
Title
},
{
nameof
(
RB_Examination_Details_ViewModel
.
QuestionContent
),
dItem
.
QuestionContent
},
{
nameof
(
RB_Examination_Details_ViewModel
.
DifficultyType
),
dItem
.
DifficultyType
},
{
nameof
(
RB_Examination_Details_ViewModel
.
AnswerParse
),
dItem
.
AnswerParse
},
{
nameof
(
RB_Examination_Details_ViewModel
.
QuestionTypeId
),
dItem
.
QuestionTypeId
},
{
nameof
(
RB_Examination_Details_ViewModel
.
QuestionTypeKey
),
dItem
.
QuestionTypeKey
},
{
nameof
(
RB_Examination_Details_ViewModel
.
Knowledge
),
dItem
.
Knowledge
},
{
nameof
(
RB_Examination_Details_ViewModel
.
UpdateBy
),
dItem
.
UpdateBy
},
{
nameof
(
RB_Examination_Details_ViewModel
.
UpdateTime
),
dItem
.
UpdateTime
},
{
nameof
(
RB_Examination_Details_ViewModel
.
IsUpdateJobExam
),
dItem
.
IsUpdateJobExam
},
{
nameof
(
RB_Examination_Details_ViewModel
.
SortNum
),
dItem
.
SortNum
},
{
nameof
(
RB_Examination_Details_ViewModel
.
Answer
),
dItem
.
Answer
},
{
nameof
(
RB_Examination_Details_ViewModel
.
IsMutex
),
dItem
.
IsMutex
},
{
nameof
(
RB_Examination_Details_ViewModel
.
Category
),
dItem
.
Category
},
{
nameof
(
RB_Examination_Details_ViewModel
.
LevelType
),
dItem
.
LevelType
},
{
nameof
(
RB_Examination_Details_ViewModel
.
Score
),
dItem
.
Score
},
};
flag
=
examination_DetailsRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Examination_Details_ViewModel
.
Id
),
dItem
.
Id
));
}
else
{
var
newDetailsId
=
examination_DetailsRepository
.
Insert
(
dItem
);
dItem
.
Id
=
newDetailsId
;
flag
=
newDetailsId
>
0
;
}
}
}
}
}
return
flag
;
}
/// <summary>
/// 根据试卷编号获取试卷实体
/// </summary>
/// <param name="PaperId"></param>
/// <returns></returns>
public
RB_Examination_Paper_ViewModel
GetExaminationPaperModule
(
object
PaperId
)
{
var
extModel
=
examination_PaperRepository
.
GetEntity
<
RB_Examination_Paper_ViewModel
>(
PaperId
);
if
(
extModel
!=
null
&&
extModel
.
PaperId
>
0
)
{
extModel
.
GroupList
=
GetExaminationGroupListModule
(
new
RB_Examination_Group_ViewModel
()
{
PaperId
=
extModel
.
PaperId
});
var
detailsList
=
GetExaminationDetailsListModule
(
new
RB_Examination_Details_ViewModel
()
{
PaperId
=
extModel
.
PaperId
});
if
(
extModel
.
GroupList
!=
null
&&
extModel
.
GroupList
.
Count
>
0
&&
detailsList
!=
null
&&
detailsList
.
Count
>
0
)
{
foreach
(
var
gItem
in
extModel
.
GroupList
)
{
gItem
.
DetailsList
=
detailsList
?.
Where
(
qitem
=>
qitem
.
QuestionTypeId
==
gItem
.
QuestionTypeId
)?.
ToList
()
??
new
List
<
RB_Examination_Details_ViewModel
>();
}
}
}
return
extModel
;
}
/// <summary>
/// 根据编号删除试卷题目
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public
bool
RemoveExaminationDetailsModule
(
int
Id
)
{
return
examination_DetailsRepository
.
Delete
(
Id
)
>
0
;
}
}
}
Edu.Repository/Exam/RB_Examination_DetailsRepository.cs
0 → 100644
View file @
d026f290
using
Edu.Common.Enum
;
using
Edu.Model.Entity.Exam
;
using
Edu.Model.ViewModel.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Edu.Repository.Exam
{
/// <summary>
/// 试卷题目仓储层
/// </summary>
public
class
RB_Examination_DetailsRepository
:
BaseRepository
<
RB_Examination_Details
>
{
/// <summary>
/// 获取试卷题目列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Examination_Details_ViewModel
>
GetExaminationDetailsListRepository
(
RB_Examination_Details_ViewModel
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_Examination_Details AS A
WHERE 1=1
"
);
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_Examination_Details_ViewModel
.
Status
),
(
int
)
DateStateEnum
.
Normal
);
if
(
query
!=
null
)
{
if
(
query
.
PaperId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Examination_Details_ViewModel
.
PaperId
),
query
.
PaperId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QPaperIds
))
{
builder
.
AppendFormat
(
@" AND A.{0} IN({1}) "
,
nameof
(
RB_Examination_Details_ViewModel
.
PaperId
),
query
.
QPaperIds
);
}
}
return
Get
<
RB_Examination_Details_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
}
}
Edu.Repository/Exam/RB_Examination_GroupRepository.cs
0 → 100644
View file @
d026f290
using
Edu.Model.Entity.Exam
;
using
Edu.Model.ViewModel.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
using
System.Linq
;
namespace
Edu.Repository.Exam
{
/// <summary>
/// 试卷题目分组仓储层
/// </summary>
public
class
RB_Examination_GroupRepository
:
BaseRepository
<
RB_Examination_Group
>
{
/// <summary>
/// 获取试卷题目列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Examination_Group_ViewModel
>
GetExaminationGroupListRepository
(
RB_Examination_Group_ViewModel
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_Examination_Group AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
PaperId
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Examination_Group_ViewModel
.
PaperId
),
query
.
PaperId
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QPaperIds
))
{
builder
.
AppendFormat
(
@" AND A.{0} IN({1}) "
,
nameof
(
RB_Examination_Group_ViewModel
.
PaperId
),
query
.
QPaperIds
);
}
}
return
Get
<
RB_Examination_Group_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
}
}
Edu.Repository/Exam/RB_Examination_PaperRepository.cs
0 → 100644
View file @
d026f290
using
Edu.Model.Entity.Exam
;
using
Edu.Model.ViewModel.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
VT.FW.DB.Dapper
;
namespace
Edu.Repository.Exam
{
/// <summary>
/// 试卷仓储层
/// </summary>
public
class
RB_Examination_PaperRepository
:
BaseRepository
<
RB_Examination_Paper
>
{
/// <summary>
/// 获取试卷分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_Examination_Paper_ViewModel
>
GetExaminationPaperPageRepository
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_Examination_Paper_ViewModel
query
)
{
var
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_Examination_Paper AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
Group_Id
>
0
)
{
builder
.
AppendFormat
(
@" AND A.{0}={1} "
,
nameof
(
RB_Examination_Paper_ViewModel
.
Group_Id
),
query
.
Group_Id
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
PaperName
))
{
builder
.
AppendFormat
(
" AND A.{0} LIKE @PaperName "
,
nameof
(
RB_Examination_Paper_ViewModel
.
PaperName
));
parameters
.
Add
(
"PaperName"
,
"%"
+
query
.
PaperName
.
Trim
()
+
"%"
);
}
}
return
GetPage
<
RB_Examination_Paper_ViewModel
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
(),
parameters
).
ToList
();
}
}
}
Edu.WebApi/Controllers/Exam/ExamController.cs
0 → 100644
View file @
d026f290
using
Edu.Cache.User
;
using
Edu.Common.API
;
using
Edu.Common.Enum.Course
;
using
Edu.Common.Enum.Question
;
using
Edu.Common.Plugin
;
using
Edu.Model.ViewModel.Exam
;
using
Edu.Module.Exam
;
using
Edu.WebApi.Filter
;
using
Microsoft.AspNetCore.Cors
;
using
Microsoft.AspNetCore.Mvc
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
namespace
Edu.WebApi.Controllers.Exam
{
/// <summary>
/// 改变流程相关申请
/// </summary>
[
Route
(
"api/[controller]/[action]"
)]
[
ApiExceptionFilter
]
[
ApiController
]
[
EnableCors
(
"AllowCors"
)]
public
class
ExamController
:
BaseController
{
/// <summary>
/// 试卷处理类对象
/// </summary>
private
readonly
PaperModule
paperModule
=
AOP
.
AOPHelper
.
CreateAOPObject
<
PaperModule
>();
/// <summary>
/// 获取试卷分页列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetPaperPage
()
{
var
pageModel
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
ResultPageModel
>(
RequestParm
.
Msg
.
ToString
());
var
query
=
new
RB_Examination_Paper_ViewModel
()
{
PaperName
=
base
.
ParmJObj
.
GetStringValue
(
"PaperName"
),
};
query
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
List
<
object
>
result
=
new
List
<
object
>();
var
list
=
paperModule
.
GetExaminationPaperPageModule
(
pageModel
.
PageIndex
,
pageModel
.
PageSize
,
out
long
rowsCount
,
query
);
foreach
(
var
item
in
list
)
{
if
(
item
.
CreateBy
>
0
)
{
item
.
CreateByName
=
UserReidsCache
.
GetUserLoginInfo
(
item
.
CreateBy
)?.
AccountName
??
""
;
}
result
.
Add
(
new
{
item
.
PaperId
,
item
.
PaperName
,
item
.
CreateTimeStr
,
item
.
CreateByName
,
});
}
pageModel
.
Count
=
rowsCount
;
pageModel
.
PageData
=
result
;
return
ApiResult
.
Success
(
data
:
pageModel
);
}
/// <summary>
/// 添加修改试卷
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
SetPaper
()
{
var
extModel
=
new
RB_Examination_Paper_ViewModel
()
{
PaperId
=
base
.
ParmJObj
.
GetInt
(
"PaperId"
),
PaperName
=
base
.
ParmJObj
.
GetStringValue
(
"PaperName"
),
QuestionBandIds
=
base
.
ParmJObj
.
GetStringValue
(
"QuestionBandIds"
),
DifficultyType
=(
DifficultyTypeEnum
)
base
.
ParmJObj
.
GetInt
(
"DifficultyType"
),
CreateBy
=
UserInfo
.
Id
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
base
.
UserInfo
.
Group_Id
,
};
extModel
.
GroupList
=
new
List
<
RB_Examination_Group_ViewModel
>();
string
groups
=
base
.
ParmJObj
.
GetStringValue
(
"GroupList"
);
if
(!
string
.
IsNullOrEmpty
(
groups
))
{
JArray
jarray
=
JArray
.
Parse
(
groups
);
if
(
jarray
!=
null
&&
jarray
.
Count
>
0
)
{
int
gSortNum
=
0
;
foreach
(
var
jItem
in
jarray
)
{
JObject
jobj
=
JObject
.
Parse
(
jItem
.
ToString
());
RB_Examination_Group_ViewModel
gModel
=
new
RB_Examination_Group_ViewModel
()
{
GId
=
jobj
.
GetInt
(
"GId"
),
PaperId
=
jobj
.
GetInt
(
"PaperId"
),
GroupName
=
jobj
.
GetStringValue
(
"GroupName"
),
QuestionTypeId
=
jobj
.
GetInt
(
"QuestionTypeId"
),
QuestionTypeKey
=
jobj
.
GetStringValue
(
"QuestionTypeKey"
),
GSortNum
=
gSortNum
,
DetailsList
=
new
List
<
RB_Examination_Details_ViewModel
>(),
};
gSortNum
++;
string
details
=
jobj
.
GetStringValue
(
"DetailsList"
);
if
(!
string
.
IsNullOrEmpty
(
details
))
{
JArray
subArray
=
JArray
.
Parse
(
details
);
int
dSortNum
=
0
;
foreach
(
var
sItem
in
subArray
)
{
JObject
sObj
=
JObject
.
Parse
(
sItem
.
ToString
());
var
detailModel
=
new
RB_Examination_Details_ViewModel
()
{
Id
=
sObj
.
GetInt
(
"Id"
),
PaperId
=
sObj
.
GetInt
(
"PaperId"
),
BankId
=
sObj
.
GetInt
(
"BankId"
),
QuestionId
=
sObj
.
GetInt
(
"QuestionId"
),
Title
=
sObj
.
GetStringValue
(
"Title"
),
QuestionContent
=
sObj
.
GetStringValue
(
"QuestionContent"
),
DifficultyType
=
(
DifficultyTypeEnum
)
sObj
.
GetInt
(
"DifficultyType"
),
AnswerParse
=
sObj
.
GetStringValue
(
"AnswerParse"
),
QuestionTypeId
=
sObj
.
GetInt
(
"QuestionTypeId"
),
QuestionTypeKey
=
sObj
.
GetStringValue
(
"QuestionTypeKey"
),
Knowledge
=
sObj
.
GetStringValue
(
"Knowledge"
),
CreateBy
=
base
.
UserInfo
.
Id
,
CreateTime
=
DateTime
.
Now
,
UpdateBy
=
base
.
UserInfo
.
Id
,
UpdateTime
=
DateTime
.
Now
,
IsUpdateJobExam
=
sObj
.
GetInt
(
"IsUpdateJobExam"
),
Status
=
Common
.
Enum
.
DateStateEnum
.
Normal
,
SortNum
=
dSortNum
,
Answer
=
sObj
.
GetStringValue
(
"Answer"
),
IsMutex
=
sObj
.
GetInt
(
"IsMutex"
),
Category
=
(
QuestionCategoryEnum
)
sObj
.
GetInt
(
"Category"
),
LevelType
=
(
LevelTypeEnum
)
sObj
.
GetInt
(
"LevelType"
),
Score
=
sObj
.
GetDecimal
(
"Score"
),
};
dSortNum
++;
gModel
.
DetailsList
.
Add
(
detailModel
);
}
}
extModel
.
GroupList
.
Add
(
gModel
);
}
}
}
bool
flag
=
paperModule
.
SetExaminationPaperModule
(
extModel
);
return
flag
?
ApiResult
.
Success
(
data
:
extModel
)
:
ApiResult
.
Failed
();
}
/// <summary>
/// 根据编号获取试卷信息
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetPaper
()
{
var
PaperId
=
base
.
ParmJObj
.
GetInt
(
"PaperId"
);
var
model
=
paperModule
.
GetExaminationPaperModule
(
PaperId
);
return
ApiResult
.
Success
(
data
:
model
);
}
/// <summary>
/// 根据编号删除试卷题目
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
DeletePaperQuestion
()
{
var
PaperId
=
base
.
ParmJObj
.
GetInt
(
"PaperId"
);
var
model
=
paperModule
.
RemoveExaminationDetailsModule
(
PaperId
);
return
ApiResult
.
Success
(
data
:
model
);
}
}
}
Edu.WebApi/Edu.WebApi.csproj
View file @
d026f290
...
...
@@ -41,6 +41,7 @@
<ProjectReference Include="..\Edu.Module.Course\Edu.Module.Course.csproj" />
<ProjectReference Include="..\Edu.Module.Duty\Edu.Module.Duty.csproj" />
<ProjectReference Include="..\Edu.Module.EduTask\Edu.Module.EduTask.csproj" />
<ProjectReference Include="..\Edu.Module.Exam\Edu.Module.Exam.csproj" />
<ProjectReference Include="..\Edu.Module.Finance\Edu.Module.Finance.csproj" />
<ProjectReference Include="..\Edu.Module.OKR\Edu.Module.OKR.csproj" />
<ProjectReference Include="..\Edu.Module.Public\Edu.Module.Public.csproj" />
...
...
education.sln
View file @
d026f290
...
...
@@ -68,6 +68,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Edu.Module.EduTask", "Edu.M
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Edu.Module.QYWeChat", "Edu.Module.QYWeChat\Edu.Module.QYWeChat.csproj", "{00E05F5A-A5B7-46ED-AE5F-9D54D67FA78F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Edu.Module.Exam", "Edu.Module.Exam\Edu.Module.Exam.csproj", "{81C24D63-1109-4476-99AB-590EF54972E5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
...
...
@@ -166,6 +168,10 @@ Global
{00E05F5A-A5B7-46ED-AE5F-9D54D67FA78F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{00E05F5A-A5B7-46ED-AE5F-9D54D67FA78F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{00E05F5A-A5B7-46ED-AE5F-9D54D67FA78F}.Release|Any CPU.Build.0 = Release|Any CPU
{81C24D63-1109-4476-99AB-590EF54972E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81C24D63-1109-4476-99AB-590EF54972E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81C24D63-1109-4476-99AB-590EF54972E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81C24D63-1109-4476-99AB-590EF54972E5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
@@ -192,6 +198,7 @@ Global
{43408243-8E36-4F9E-84C0-998CE383EC53} = {7AC0A4EC-3215-4FF2-96DC-DE8325ED6915}
{FEDB8D19-2C7E-4393-8D91-332256EC89CC} = {7AC0A4EC-3215-4FF2-96DC-DE8325ED6915}
{00E05F5A-A5B7-46ED-AE5F-9D54D67FA78F} = {7AC0A4EC-3215-4FF2-96DC-DE8325ED6915}
{81C24D63-1109-4476-99AB-590EF54972E5} = {7AC0A4EC-3215-4FF2-96DC-DE8325ED6915}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8763B446-FAB1-46BF-9743-F2628533241B}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment