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
3 years ago
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
;
}
}
}
}
This diff is collapsed.
Click to expand it.
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
;
}
}
}
}
}
This diff is collapsed.
Click to expand it.
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
,
...
...
This diff is collapsed.
Click to expand it.
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>
...
...
This diff is collapsed.
Click to expand it.
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
));
...
...
This diff is collapsed.
Click to expand it.
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
();
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
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
...
...
This diff is collapsed.
Click to expand it.
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>
/// 获取手机号码
/// 获取手机号码
...
...
This diff is collapsed.
Click to expand it.
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
);
}
}
...
...
This diff is collapsed.
Click to expand it.
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