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
b102fa5a
Commit
b102fa5a
authored
Sep 13, 2021
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/Kui2/education
parents
9e327063
56a1a3bc
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
140 additions
and
17 deletions
+140
-17
ExamTemplate.cs
Edu.Model/ViewModel/Exam/ExamTemplate.cs
+30
-2
RB_Examination_Publish_ViewModel.cs
Edu.Model/ViewModel/Exam/RB_Examination_Publish_ViewModel.cs
+5
-0
PaperModule.cs
Edu.Module.Exam/PaperModule.cs
+15
-1
QuestionModule.cs
Edu.Module.Question/QuestionModule.cs
+74
-0
RB_Examination_PublishRepository.cs
Edu.Repository/Exam/RB_Examination_PublishRepository.cs
+9
-4
RB_QuestionRepository.cs
Edu.Repository/Question/RB_QuestionRepository.cs
+3
-3
AppletIndexController.cs
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
+3
-1
AppletLoginController.cs
Edu.WebApi/Controllers/Applet/AppletLoginController.cs
+0
-5
QuestionController.cs
Edu.WebApi/Controllers/Course/QuestionController.cs
+1
-1
No files found.
Edu.Model/ViewModel/Exam/ExamTemplate.cs
View file @
b102fa5a
using
Edu.Common.Enum.Question
;
using
Edu.Common.Enum.Course
;
using
Edu.Common.Enum.Question
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Text
;
using
System.Text
;
...
@@ -36,7 +37,7 @@ namespace Edu.Model.ViewModel.Exam
...
@@ -36,7 +37,7 @@ namespace Edu.Model.ViewModel.Exam
public
string
QuestionDesc
{
get
;
set
;
}
public
string
QuestionDesc
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 选择类型(1-题库随机,2-题库难易程度)
/// 选择类型(1-题库随机,2-题库难易程度
,3-题库按照分类选题
)
/// </summary>
/// </summary>
public
int
ChooseType
{
get
;
set
;
}
public
int
ChooseType
{
get
;
set
;
}
...
@@ -49,6 +50,11 @@ namespace Edu.Model.ViewModel.Exam
...
@@ -49,6 +50,11 @@ namespace Edu.Model.ViewModel.Exam
/// 难易程度选题【ChooseType=2时使用】
/// 难易程度选题【ChooseType=2时使用】
/// </summary>
/// </summary>
public
List
<
DifficultyTypeItem
>
ChooseList
{
get
;
set
;
}
public
List
<
DifficultyTypeItem
>
ChooseList
{
get
;
set
;
}
/// <summary>
/// 题目分类列表
/// </summary>
public
List
<
CategoryItem
>
CategoryList
{
get
;
set
;
}
}
}
/// <summary>
/// <summary>
...
@@ -66,4 +72,26 @@ namespace Edu.Model.ViewModel.Exam
...
@@ -66,4 +72,26 @@ namespace Edu.Model.ViewModel.Exam
/// </summary>
/// </summary>
public
int
ChooseNum
{
get
;
set
;
}
public
int
ChooseNum
{
get
;
set
;
}
}
}
/// <summary>
/// 题型分类
/// </summary>
public
class
CategoryItem
{
/// <summary>
/// 题型分类
/// </summary>
public
QuestionCategoryEnum
Category
{
get
;
set
;
}
/// <summary>
/// 选择题目数
/// </summary>
public
int
ChooseNum
{
get
;
set
;
}
/// <summary>
/// 难易程度选题【ChooseType=2时使用】
/// </summary>
public
List
<
DifficultyTypeItem
>
ChooseList
{
get
;
set
;
}
}
}
}
Edu.Model/ViewModel/Exam/RB_Examination_Publish_ViewModel.cs
View file @
b102fa5a
...
@@ -75,5 +75,10 @@ namespace Edu.Model.ViewModel.Exam
...
@@ -75,5 +75,10 @@ namespace Edu.Model.ViewModel.Exam
/// 学员考试表编号
/// 学员考试表编号
/// </summary>
/// </summary>
public
int
Exam_Student_Id
{
get
;
set
;
}
public
int
Exam_Student_Id
{
get
;
set
;
}
/// <summary>
/// 账号编号
/// </summary>
public
string
QAccountIds
{
get
;
set
;
}
}
}
}
}
Edu.Module.Exam/PaperModule.cs
View file @
b102fa5a
...
@@ -466,7 +466,7 @@ namespace Edu.Module.Exam
...
@@ -466,7 +466,7 @@ namespace Edu.Module.Exam
//题库难易程度随机选题
//题库难易程度随机选题
else
if
(
item
.
ChooseType
==
2
)
else
if
(
item
.
ChooseType
==
2
)
{
{
foreach
(
var
subItem
in
item
.
ChooseList
)
foreach
(
var
subItem
in
item
.
ChooseList
.
Where
(
qitem
=>
qitem
.
ChooseNum
>
0
)
)
{
{
var
tempList
=
tempQuestioinList
?.
Where
(
qitem
=>
qitem
.
DifficultyType
==
subItem
.
DifficultyType
)?.
OrderBy
(
qitem
=>
Guid
.
NewGuid
())?.
Take
(
subItem
.
ChooseNum
)?.
ToList
();
var
tempList
=
tempQuestioinList
?.
Where
(
qitem
=>
qitem
.
DifficultyType
==
subItem
.
DifficultyType
)?.
OrderBy
(
qitem
=>
Guid
.
NewGuid
())?.
Take
(
subItem
.
ChooseNum
)?.
ToList
();
if
(
tempList
!=
null
&&
tempList
.
Count
>
0
)
if
(
tempList
!=
null
&&
tempList
.
Count
>
0
)
...
@@ -475,6 +475,20 @@ namespace Edu.Module.Exam
...
@@ -475,6 +475,20 @@ namespace Edu.Module.Exam
}
}
}
}
}
}
else
if
(
item
.
ChooseType
==
3
)
{
if
(
item
.
CategoryList
!=
null
&&
item
.
CategoryList
.
Count
>
0
)
{
foreach
(
var
subItem
in
item
.
CategoryList
.
Where
(
qitem
=>
qitem
.
ChooseNum
>
0
))
{
var
tempList
=
tempQuestioinList
?.
Where
(
qitem
=>
qitem
.
Category
==
subItem
.
Category
)?.
OrderBy
(
qitem
=>
Guid
.
NewGuid
())?.
Take
(
subItem
.
ChooseNum
)?.
ToList
();
if
(
tempList
!=
null
&&
tempList
.
Count
>
0
)
{
subTempQuestionList
.
AddRange
(
tempList
);
}
}
}
}
var
groupModel
=
new
RB_Examination_Group_ViewModel
()
var
groupModel
=
new
RB_Examination_Group_ViewModel
()
{
{
GId
=
0
,
GId
=
0
,
...
...
Edu.Module.Question/QuestionModule.cs
View file @
b102fa5a
...
@@ -165,6 +165,7 @@ namespace Edu.Module.Question
...
@@ -165,6 +165,7 @@ namespace Edu.Module.Question
DifficultyTypeCount
=
qitem
.
QuestionCount
,
DifficultyTypeCount
=
qitem
.
QuestionCount
,
ChooseNum
=
0
ChooseNum
=
0
});
});
var
obj
=
new
var
obj
=
new
{
{
item
.
QuestionTypeId
,
item
.
QuestionTypeId
,
...
@@ -183,6 +184,79 @@ namespace Edu.Module.Question
...
@@ -183,6 +184,79 @@ namespace Edu.Module.Question
return
list
;
return
list
;
}
}
/// <summary>
/// 根据题库编号获取题库题型分类列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
object
>
GetQuestionCategoryList_V2Module
(
RB_Question_ViewModel
query
)
{
List
<
object
>
list
=
new
List
<
object
>();
var
dataList
=
questionRepository
.
GetQuestionStaticsListRepository
(
query
);
if
(
dataList
!=
null
&&
dataList
.
Count
>
0
)
{
var
questionTypeList
=
GetQuestionTypeListModule
(
new
RB_Question_Type_ViewModel
());
var
groupList
=
dataList
.
GroupBy
(
qitem
=>
new
{
qitem
.
QuestionTypeId
,
}).
Select
(
qitem
=>
new
{
qitem
.
Key
.
QuestionTypeId
});
foreach
(
var
item
in
groupList
)
{
var
qType
=
questionTypeList
?.
Where
(
qitem
=>
qitem
.
QId
==
item
.
QuestionTypeId
)?.
FirstOrDefault
();
var
diffTypeList
=
dataList
.
Where
(
qitem
=>
qitem
.
QuestionTypeId
==
item
.
QuestionTypeId
)
.
GroupBy
(
qitem
=>
new
{
qitem
.
QuestionTypeId
,
qitem
.
DifficultyType
})
.
Select
(
qitem
=>
new
{
qitem
.
Key
.
DifficultyType
,
DifficultyTypeName
=
qitem
.
Key
.
DifficultyType
.
ToName
(),
DifficultyTypeCount
=
qitem
.
Sum
(
c
=>
c
.
QuestionCount
),
ChooseNum
=
0
});
var
categoryList
=
dataList
.
Where
(
qitem
=>
qitem
.
QuestionTypeId
==
item
.
QuestionTypeId
).
GroupBy
(
qitem
=>
new
{
qitem
.
Category
}).
Select
(
qitem
=>
new
{
qitem
.
Key
.
Category
});
List
<
object
>
resultCategoryList
=
new
List
<
object
>();
foreach
(
var
subItem
in
categoryList
)
{
var
tempCategoryList
=
dataList
.
Where
(
qitem
=>
qitem
.
QuestionTypeId
==
item
.
QuestionTypeId
&&
qitem
.
Category
==
subItem
.
Category
)?.
ToList
();
if
(
tempCategoryList
!=
null
&&
tempCategoryList
.
Count
>
0
)
{
var
cObj
=
new
{
subItem
.
Category
,
CategoryName
=
subItem
.
Category
.
ToName
(),
QuestionTypeNum
=
tempCategoryList
.
Sum
(
qitem
=>
qitem
.
QuestionCount
),
ChooseNum
=
0
,
ChooseList
=
tempCategoryList
?.
Select
(
qitem
=>
new
{
qitem
.
DifficultyType
,
DifficultyTypeName
=
qitem
.
DifficultyType
.
ToName
(),
DifficultyTypeCount
=
qitem
.
QuestionCount
,
ChooseNum
=
0
})
};
resultCategoryList
.
Add
(
cObj
);
}
}
var
obj
=
new
{
item
.
QuestionTypeId
,
QuestionTypeKey
=
qType
?.
Key
,
QuestionTypeName
=
qType
?.
Name
,
QuestionScore
=
0
,
QuestionDesc
=
""
,
ChooseType
=
1
,
ChooseNum
=
0
,
QuestionTypeNum
=
dataList
.
Where
(
qitem
=>
qitem
.
QuestionTypeId
==
item
.
QuestionTypeId
).
Sum
(
qitem
=>
qitem
.
QuestionCount
),
CategoryList
=
resultCategoryList
,
ChooseList
=
diffTypeList
,
};
list
.
Add
(
obj
);
}
}
return
list
;
}
/// <summary>
/// <summary>
/// 新增修改题目
/// 新增修改题目
/// </summary>
/// </summary>
...
...
Edu.Repository/Exam/RB_Examination_PublishRepository.cs
View file @
b102fa5a
...
@@ -104,10 +104,11 @@ WHERE 1=1
...
@@ -104,10 +104,11 @@ WHERE 1=1
var
parameters
=
new
DynamicParameters
();
var
parameters
=
new
DynamicParameters
();
StringBuilder
builder
=
new
StringBuilder
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
builder
.
AppendFormat
(
@"
SELECT A.*,IFNULL(B.PaperName,'') AS PaperName,c.ExamStatus,C.Id AS Exam_Student_Id
SELECT A.ExamStartTime,A.ExamineStatus,A.Id,A.PublishPic, C.PaperId,IFNULL(B.PaperName,'') AS PaperName,c.ExamStatus,C.Id AS Exam_Student_Id,C.GuestId
FROM RB_Examination_Publish AS A INNER JOIN rb_examination_paper AS B ON A.PaperId=B.PaperId
FROM rb_examination_student AS C INNER JOIN RB_Examination_Publish AS A ON C.PublishId=A.Id
INNER JOIN rb_examination_student as c on c.PublishId=a.Id
INNER JOIN rb_examination_paper AS B ON C.PaperId=B.PaperId
WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
LEFT JOIN rb_student_orderguest AS D ON C.GuestId=D.Id
WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
"
);
"
);
if
(
query
!=
null
)
if
(
query
!=
null
)
{
{
...
@@ -119,6 +120,10 @@ WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
...
@@ -119,6 +120,10 @@ WHERE 1=1 and a.ExamineStatus=2 and b.ExamineStatus=2
{
{
builder
.
AppendFormat
(
" AND c.{0}={1} "
,
nameof
(
RB_Examination_Publish_ViewModel
.
GuestId
),
query
.
GuestId
);
builder
.
AppendFormat
(
" AND c.{0}={1} "
,
nameof
(
RB_Examination_Publish_ViewModel
.
GuestId
),
query
.
GuestId
);
}
}
if
(!
string
.
IsNullOrEmpty
(
query
.
QAccountIds
))
{
builder
.
AppendFormat
(
" AND D.Account_Id IN({0}) "
,
query
.
QAccountIds
);
}
if
(!
string
.
IsNullOrEmpty
(
query
.
PaperName
))
if
(!
string
.
IsNullOrEmpty
(
query
.
PaperName
))
{
{
builder
.
AppendFormat
(
" AND B.{0} LIKE @PaperName "
,
nameof
(
RB_Examination_Publish_ViewModel
.
PaperName
));
builder
.
AppendFormat
(
" AND B.{0} LIKE @PaperName "
,
nameof
(
RB_Examination_Publish_ViewModel
.
PaperName
));
...
...
Edu.Repository/Question/RB_QuestionRepository.cs
View file @
b102fa5a
...
@@ -57,9 +57,9 @@ WHERE 1=1
...
@@ -57,9 +57,9 @@ WHERE 1=1
{
{
StringBuilder
builder
=
new
StringBuilder
();
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
builder
.
AppendFormat
(
@"
SELECT QuestionTypeId,DifficultyType,Count(QuestionId) AS QuestionCount
SELECT QuestionTypeId,DifficultyType,C
ategory,C
ount(QuestionId) AS QuestionCount
FROM RB_Question
FROM RB_Question
WHERE 1=1
WHERE 1=1
AND `Status`=0
"
);
"
);
if
(
query
==
null
)
if
(
query
==
null
)
{
{
...
@@ -79,7 +79,7 @@ WHERE 1=1
...
@@ -79,7 +79,7 @@ WHERE 1=1
{
{
builder
.
AppendFormat
(
" AND {0} IN({1}) "
,
nameof
(
RB_Question_ViewModel
.
QuestionTypeId
),
query
.
Q_QuestionTypeIds
);
builder
.
AppendFormat
(
" AND {0} IN({1}) "
,
nameof
(
RB_Question_ViewModel
.
QuestionTypeId
),
query
.
Q_QuestionTypeIds
);
}
}
builder
.
AppendFormat
(
" GROUP BY QuestionTypeId,DifficultyType "
);
builder
.
AppendFormat
(
" GROUP BY QuestionTypeId,DifficultyType
,Category
"
);
return
Get
<
RB_Question_ViewModel
>(
builder
.
ToString
()).
ToList
();
return
Get
<
RB_Question_ViewModel
>(
builder
.
ToString
()).
ToList
();
}
}
}
}
...
...
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
View file @
b102fa5a
...
@@ -103,7 +103,8 @@ namespace Edu.WebApi.Controllers.Applet
...
@@ -103,7 +103,8 @@ namespace Edu.WebApi.Controllers.Applet
List
<
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
>
examinationPublishList
=
new
List
<
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
>();
List
<
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
>
examinationPublishList
=
new
List
<
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
>();
if
(
studentModel
!=
null
&&
studentModel
.
GuestId
>
0
)
if
(
studentModel
!=
null
&&
studentModel
.
GuestId
>
0
)
{
{
examinationPublishList
=
paperModule
.
GetGuestExaminationPublishPage
(
1
,
5
,
out
long
rowsCount
,
new
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
{
GuestId
=
studentModel
.
GuestId
,
Group_Id
=
studentModel
.
Group_Id
});
examinationPublishList
=
paperModule
.
GetGuestExaminationPublishPage
(
1
,
5
,
out
long
rowsCount
,
new
RB_Examination_Publish_ViewModel
{
QAccountIds
=
appletUserInfo
.
Id
.
ToString
(),
Group_Id
=
studentModel
.
Group_Id
});
if
(
examinationPublishList
==
null
)
if
(
examinationPublishList
==
null
)
{
{
examinationPublishList
=
new
List
<
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
>();
examinationPublishList
=
new
List
<
Model
.
ViewModel
.
Exam
.
RB_Examination_Publish_ViewModel
>();
...
@@ -170,6 +171,7 @@ namespace Edu.WebApi.Controllers.Applet
...
@@ -170,6 +171,7 @@ namespace Edu.WebApi.Controllers.Applet
x
.
Id
,
x
.
Id
,
x
.
PaperName
,
x
.
PaperName
,
x
.
PicList
,
x
.
PicList
,
x
.
GuestId
,
ExamStartTime
=
x
.
ExamStartTime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
),
ExamStartTime
=
x
.
ExamStartTime
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
),
x
.
ExamStatus
,
x
.
ExamStatus
,
x
.
ExamStatusStr
x
.
ExamStatusStr
...
...
Edu.WebApi/Controllers/Applet/AppletLoginController.cs
View file @
b102fa5a
...
@@ -178,8 +178,6 @@ namespace Edu.WebApi.Controllers.APP
...
@@ -178,8 +178,6 @@ namespace Edu.WebApi.Controllers.APP
}
}
/// <summary>
/// <summary>
/// 根据手机号码一键登录
/// 根据手机号码一键登录
/// </summary>
/// </summary>
...
@@ -189,7 +187,6 @@ namespace Edu.WebApi.Controllers.APP
...
@@ -189,7 +187,6 @@ namespace Edu.WebApi.Controllers.APP
[
AllowAnonymous
]
[
AllowAnonymous
]
public
ApiResult
LoginByAccount
()
public
ApiResult
LoginByAccount
()
{
{
JObject
jobj
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
JObject
jobj
=
JObject
.
Parse
(
RequestParm
.
Msg
.
ToString
());
string
account
=
jobj
.
GetStringValue
(
"Account"
);
string
account
=
jobj
.
GetStringValue
(
"Account"
);
string
UnionId
=
jobj
.
GetStringValue
(
"UnionId"
);
string
UnionId
=
jobj
.
GetStringValue
(
"UnionId"
);
...
@@ -287,8 +284,6 @@ namespace Edu.WebApi.Controllers.APP
...
@@ -287,8 +284,6 @@ namespace Edu.WebApi.Controllers.APP
}
}
}
}
#
region
小程序获取手机号码
#
region
小程序获取手机号码
/// <summary>
/// <summary>
/// 获取手机号码
/// 获取手机号码
...
...
Edu.WebApi/Controllers/Course/QuestionController.cs
View file @
b102fa5a
...
@@ -257,7 +257,7 @@ namespace Edu.WebApi.Controllers.Course
...
@@ -257,7 +257,7 @@ namespace Edu.WebApi.Controllers.Course
BankId
=
base
.
ParmJObj
.
GetInt
(
"BankId"
),
BankId
=
base
.
ParmJObj
.
GetInt
(
"BankId"
),
QBankIds
=
base
.
ParmJObj
.
GetStringValue
(
"QBankIds"
),
QBankIds
=
base
.
ParmJObj
.
GetStringValue
(
"QBankIds"
),
};
};
var
data
=
questionModule
.
GetQuestionCategoryListModule
(
query
);
var
data
=
questionModule
.
GetQuestionCategoryList
_V2
Module
(
query
);
return
ApiResult
.
Success
(
data
:
data
);
return
ApiResult
.
Success
(
data
:
data
);
}
}
...
...
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