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
d3201505
Commit
d3201505
authored
Jan 11, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
11e6d98c
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
610 additions
and
14 deletions
+610
-14
RB_StuWords_Exam.cs
Edu.Model/Entity/Exam/RB_StuWords_Exam.cs
+79
-0
RB_StuWords_ExamDetail.cs
Edu.Model/Entity/Exam/RB_StuWords_ExamDetail.cs
+53
-0
RB_StuWords_ExamDetail_Extend.cs
Edu.Model/ViewModel/Exam/RB_StuWords_ExamDetail_Extend.cs
+15
-0
RB_StuWords_Exam_Extend.cs
Edu.Model/ViewModel/Exam/RB_StuWords_Exam_Extend.cs
+14
-0
ClassModule.cs
Edu.Module.Course/ClassModule.cs
+4
-2
OrderModule.cs
Edu.Module.Course/OrderModule.cs
+314
-1
OrderModule2.cs
Edu.Module.Course/OrderModule2.cs
+12
-2
CourseExamModule.cs
Edu.Module.Exam/CourseExamModule.cs
+17
-3
RB_StuWords_ExamDetailRepository.cs
Edu.Repository/Exam/RB_StuWords_ExamDetailRepository.cs
+38
-0
RB_StuWords_ExamRepository.cs
Edu.Repository/Exam/RB_StuWords_ExamRepository.cs
+41
-0
AppletIndexController.cs
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
+22
-5
OrderController.cs
Edu.WebApi/Controllers/Course/OrderController.cs
+1
-1
No files found.
Edu.Model/Entity/Exam/RB_StuWords_Exam.cs
0 → 100644
View file @
d3201505
using
Edu.Common.Enum
;
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 单词测试实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_StuWords_Exam
{
/// <summary>
/// 学员单词考试主键编号
/// </summary>
public
int
Id
{
get
;
set
;
}
/// <summary>
/// 班级编号
/// </summary>
public
int
ClassId
{
get
;
set
;
}
/// <summary>
/// 课程编号
/// </summary>
public
int
CourseId
{
get
;
set
;
}
/// <summary>
/// Account表(Id字段)学员账号
/// </summary>
public
int
Stu_Account_Id
{
get
;
set
;
}
/// <summary>
/// 章节编号
/// </summary>
public
int
ChapterId
{
get
;
set
;
}
/// <summary>
/// 创建人
/// </summary>
public
int
CreateBy
{
get
;
set
;
}
/// <summary>
/// 创建时间
/// </summary>
public
DateTime
CreateTime
{
get
;
set
;
}
/// <summary>
/// 学校Id
/// </summary>
public
int
?
School_Id
{
get
;
set
;
}
/// <summary>
/// 集团编号
/// </summary>
public
int
?
Group_Id
{
get
;
set
;
}
/// <summary>
/// 状态
/// </summary>
public
DateStateEnum
Status
{
get
;
set
;
}
/// <summary>
/// 得分
/// </summary>
public
decimal
Score
{
get
;
set
;
}
/// <summary>
/// 考试开始时间
/// </summary>
public
DateTime
?
ExamStartTime
{
get
;
set
;
}
/// <summary>
/// 考试结束时间
/// </summary>
public
DateTime
?
ExamEndTime
{
get
;
set
;
}
}
}
Edu.Model/Entity/Exam/RB_StuWords_ExamDetail.cs
0 → 100644
View file @
d3201505
using
System
;
using
VT.FW.DB
;
namespace
Edu.Model.Entity.Exam
{
/// <summary>
/// 单词测试详情实体类
/// </summary>
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_StuWords_ExamDetail
{
/// <summary>
/// 单词考试详情主键编号
/// </summary>
public
int
DetailId
{
get
;
set
;
}
/// <summary>
/// 单词考试编号
/// </summary>
public
int
ExamId
{
get
;
set
;
}
/// <summary>
/// 单词编号
/// </summary>
public
int
WordId
{
get
;
set
;
}
/// <summary>
/// 问题标题
/// </summary>
public
string
Title
{
get
;
set
;
}
/// <summary>
/// 问题内容
/// </summary>
public
string
QuestionContent
{
get
;
set
;
}
/// <summary>
/// 问题类型编号
/// </summary>
public
int
?
QuestionTypeId
{
get
;
set
;
}
/// <summary>
/// 问题类型Key
/// </summary>
public
string
QuestionTypeKey
{
get
;
set
;
}
/// <summary>
/// 题目分数
/// </summary>
public
decimal
Score
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Exam/RB_StuWords_ExamDetail_Extend.cs
0 → 100644
View file @
d3201505
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 单词测试详情扩展实体类
/// </summary>
public
class
RB_StuWords_ExamDetail_Extend
:
RB_StuWords_ExamDetail
{
}
}
Edu.Model/ViewModel/Exam/RB_StuWords_Exam_Extend.cs
0 → 100644
View file @
d3201505
using
Edu.Model.Entity.Exam
;
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Edu.Model.ViewModel.Exam
{
/// <summary>
/// 单词测试扩展实体类
/// </summary>
public
class
RB_StuWords_Exam_Extend
:
RB_StuWords_Exam
{
}
}
Edu.Module.Course/ClassModule.cs
View file @
d3201505
...
...
@@ -4919,7 +4919,8 @@ namespace Edu.Module.Course
public
List
<
RB_Class_Plan_ViewModel
>
GetMyStudyCourseList
(
int
classId
,
int
group_Id
)
{
var
planList
=
class_PlanRepository
.
GetStudyClassPlanList
(
classId
,
group_Id
);
if
(
planList
.
Any
())
{
if
(
planList
.
Any
())
{
string
planIds
=
string
.
Join
(
","
,
planList
.
Select
(
x
=>
x
.
ClassPlanId
));
var
timeList
=
class_TimeRepository
.
GetClassTimeListRepository
(
new
RB_Class_Time_ViewModel
()
{
Group_Id
=
group_Id
,
QClassPlanIds
=
planIds
});
var
MaxPlan
=
planList
.
OrderByDescending
(
x
=>
x
.
ClassDate
).
FirstOrDefault
();
...
...
@@ -4935,7 +4936,8 @@ namespace Edu.Module.Course
}
}
planList
=
planList
.
OrderByDescending
(
x
=>
x
.
ClassDate
).
ToList
();
foreach
(
var
item
in
planList
)
{
foreach
(
var
item
in
planList
)
{
item
.
PlanTimeList
=
timeList
.
Where
(
x
=>
x
.
ClassPlanId
==
item
.
ClassPlanId
).
ToList
();
}
}
...
...
Edu.Module.Course/OrderModule.cs
View file @
d3201505
...
...
@@ -2638,13 +2638,326 @@ namespace Edu.Module.Course
Group_Id
=
dmodel
.
Group_Id
,
IsDisable
=
1
,
ProviceId
=
0
,
School_Id
=
classmodel
.
School_Id
,
School_Id
=
(
classmodel
?.
School_Id
??
0
)
,
Status
=
DateStateEnum
.
Normal
,
StuBirth
=
dmodel
.
BirthDate
,
StuIcon
=
dmodel
.
StuIcon
,
StuName
=
dmodel
.
GuestName
,
StuSex
=
dmodel
.
Sex
-
1
,
StuTel
=
dmodel
.
Mobile
,
QQ
=
dmodel
?.
QQ
??
""
,
WeChatNo
=
dmodel
?.
WeChatNo
??
""
,
UpdateBy
=
dmodel
.
CreateBy
,
UpdateTime
=
DateTime
.
Now
,
CustomerId
=
ordermodel
.
CustomerId
,
StuStage
=
1
,
CreateType
=
Common
.
Enum
.
User
.
StuCreateTypeEnum
.
EmployeeInput
};
studentRepository
.
SetStudentRepository
(
stuModel
);
}
//检查【学员表(rb_order_guest)和学生表(rb_student)】关联信息
var
stuOrderGuestModel
=
student_OrderGuestRepository
.
GetStrOrderGuestListRepository
(
new
RB_Student_OrderGuest_ViewModel
{
ClassId
=
ordermodel
.
ClassId
,
OrderId
=
ordermodel
.
OrderId
,
GuestId
=
dmodel
.
Id
}).
FirstOrDefault
();
//不存在学员表、学生表、账号表】关联信息
if
(
stuOrderGuestModel
==
null
)
{
//创建【学员表、学生表、账号表】关联信息
student_OrderGuestRepository
.
Insert
(
new
Model
.
Entity
.
User
.
RB_Student_OrderGuest
()
{
Id
=
0
,
Account_Id
=
stuModel
.
Account_Id
,
ClassId
=
ordermodel
.
ClassId
,
CreateBy
=
dmodel
.
CreateBy
,
CreateTime
=
DateTime
.
Now
,
GuestId
=
dmodel
.
Id
,
OrderId
=
dmodel
.
OrderId
,
Status
=
DateStateEnum
.
Normal
,
Student_Id
=
stuModel
.
StuId
});
LogContent
+=
",自动创建学生账号【"
+
stuModel
.
Account_Id
+
"】"
;
}
}
#
endregion
#
region
添加日志
if
(
flag
&&
!
string
.
IsNullOrEmpty
(
LogContent
))
{
//记录日志
changeLogRepository
.
Insert
(
new
Model
.
Entity
.
Log
.
RB_User_ChangeLog
()
{
Id
=
0
,
Type
=
2
,
CreateBy
=
dmodel
.
CreateBy
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
dmodel
.
Group_Id
,
LogContent
=
LogContent
,
School_Id
=
dmodel
.
School_Id
,
SourceId
=
dmodel
.
OrderId
});
}
#
endregion
return
flag
;
}
/// <summary>
/// 新增修改 学生
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetOrderGuestInfo_V2
(
RB_Order_Guest_ViewModel
dmodel
,
out
string
message
)
{
bool
flag
=
false
;
bool
isAdd
=
dmodel
.
Id
<=
0
;
if
(
dmodel
.
BirthDate
!=
null
)
{
dmodel
.
Age
=
Common
.
ConvertHelper
.
GetAgeByBirthdate
(
dmodel
.
BirthDate
);
}
message
=
""
;
//订单实体
var
ordermodel
=
orderRepository
.
GetEntity
(
dmodel
.
OrderId
);
if
(
ordermodel
==
null
)
{
message
=
"订单不存在"
;
return
flag
;
}
//班级实体
var
classmodel
=
classRepository
.
GetEntity
(
ordermodel
.
ClassId
);
string
LogContent
=
""
;
//修改学员信息
if
(
dmodel
.
Id
>
0
)
{
var
gModel
=
order_GuestRepository
.
GetEntity
(
dmodel
.
Id
);
LogContent
=
"修改学生名单【"
+
dmodel
.
Id
+
"】"
;
if
(
gModel
.
Age
!=
dmodel
.
Age
)
{
LogContent
+=
",年龄由【"
+
gModel
.
Age
+
"】修改为【"
+
dmodel
.
Age
+
"】"
;
}
gModel
.
Age
=
dmodel
.
Age
;
if
(
gModel
.
Basics
!=
dmodel
.
Basics
)
{
LogContent
+=
",日语基础由【"
+
gModel
.
Basics
+
"】修改为【"
+
dmodel
.
Basics
+
"】"
;
}
gModel
.
Basics
=
dmodel
.
Basics
;
if
(
gModel
.
Contact
!=
dmodel
.
Contact
)
{
LogContent
+=
",紧急联系人由【"
+
gModel
.
Contact
+
"】修改为【"
+
dmodel
.
Contact
+
"】"
;
}
gModel
.
Contact
=
dmodel
.
Contact
;
if
(
gModel
.
ContactMobile
!=
dmodel
.
ContactMobile
)
{
LogContent
+=
",紧急联系电话由【"
+
gModel
.
ContactMobile
+
"】修改为【"
+
dmodel
.
ContactMobile
+
"】"
;
}
gModel
.
ContactMobile
=
dmodel
.
ContactMobile
;
if
(
gModel
.
Education
!=
dmodel
.
Education
)
{
LogContent
+=
",学历由【"
+
gModel
.
Education
.
ToName
()
+
"】修改为【"
+
dmodel
.
Education
.
ToName
()
+
"】"
;
}
gModel
.
Education
=
dmodel
.
Education
;
if
(
gModel
.
GuestName
!=
dmodel
.
GuestName
)
{
LogContent
+=
",客人名称由【"
+
gModel
.
GuestName
+
"】修改为【"
+
dmodel
.
GuestName
+
"】"
;
}
gModel
.
GuestName
=
dmodel
.
GuestName
;
if
(
gModel
.
GuestSource
!=
dmodel
.
GuestSource
)
{
LogContent
+=
",客人来源由【"
+
gModel
.
GuestSource
.
ToName
()
+
"】修改为【"
+
dmodel
.
GuestSource
.
ToName
()
+
"】"
;
}
gModel
.
GuestSource
=
dmodel
.
GuestSource
;
if
(
gModel
.
LearningGoals
!=
dmodel
.
LearningGoals
)
{
string
oldName
=
learningGoalsRepository
.
GetLearningGoalsExtEntityRepository
(
gModel
.
LearningGoals
)?.
Name
??
""
;
string
newName
=
learningGoalsRepository
.
GetLearningGoalsExtEntityRepository
(
dmodel
.
LearningGoals
)?.
Name
??
""
;
LogContent
+=
",学习目的由【"
+
oldName
+
"】修改为【"
+
newName
+
"】"
;
}
gModel
.
LearningGoals
=
dmodel
.
LearningGoals
;
if
(
gModel
.
Mobile
!=
dmodel
.
Mobile
)
{
LogContent
+=
",手机号码由【"
+
gModel
.
Mobile
+
"】修改为【"
+
dmodel
.
Mobile
+
"】"
;
}
gModel
.
Mobile
=
dmodel
.
Mobile
;
if
(
gModel
.
Profession
!=
dmodel
.
Profession
)
{
LogContent
+=
",职业由【"
+
gModel
.
Profession
+
"】修改为【"
+
dmodel
.
Profession
+
"】"
;
}
gModel
.
Profession
=
dmodel
.
Profession
;
if
(
gModel
.
Sex
!=
dmodel
.
Sex
)
{
LogContent
+=
",性别由【"
+
gModel
.
Sex
+
"】修改为【"
+
dmodel
.
Sex
+
"】"
;
}
gModel
.
Sex
=
dmodel
.
Sex
;
if
(
gModel
.
IDCard
!=
dmodel
.
IDCard
)
{
LogContent
+=
",身份证由【"
+
gModel
.
IDCard
+
"】修改为【"
+
dmodel
.
IDCard
+
"】"
;
}
gModel
.
IDCard
=
dmodel
.
IDCard
;
if
(
gModel
.
Domicile
!=
dmodel
.
Domicile
)
{
LogContent
+=
",身份证居住地由【"
+
gModel
.
Domicile
+
"】修改为【"
+
dmodel
.
Domicile
+
"】"
;
}
gModel
.
Domicile
=
dmodel
.
Domicile
;
if
(
gModel
.
ContactAddress
!=
dmodel
.
ContactAddress
)
{
LogContent
+=
",联系地址由【"
+
gModel
.
ContactAddress
+
"】修改为【"
+
dmodel
.
ContactAddress
+
"】"
;
}
gModel
.
ContactAddress
=
dmodel
.
ContactAddress
;
if
(
gModel
.
GraduatedSchool
!=
dmodel
.
GraduatedSchool
)
{
LogContent
+=
",毕业院校由【"
+
gModel
.
GraduatedSchool
+
"】修改为【"
+
dmodel
.
GraduatedSchool
+
"】"
;
}
gModel
.
GraduatedSchool
=
dmodel
.
GraduatedSchool
;
if
(
gModel
.
GraduatedMajor
!=
dmodel
.
GraduatedMajor
)
{
LogContent
+=
",毕业专业由【"
+
gModel
.
GraduatedMajor
+
"】修改为【"
+
dmodel
.
GraduatedMajor
+
"】"
;
}
gModel
.
GraduatedMajor
=
dmodel
.
GraduatedMajor
;
if
(
gModel
.
VolunteerMajor
!=
dmodel
.
VolunteerMajor
)
{
LogContent
+=
",志愿专业由【"
+
gModel
.
VolunteerMajor
+
"】修改为【"
+
dmodel
.
VolunteerMajor
+
"】"
;
}
gModel
.
VolunteerMajor
=
dmodel
.
VolunteerMajor
;
if
(
gModel
.
Price
!=
dmodel
.
Price
)
{
LogContent
+=
",价格由【"
+
gModel
.
Price
+
"】修改为【"
+
dmodel
.
Price
+
"】"
;
}
gModel
.
Price
=
dmodel
.
Price
;
if
(
gModel
.
StudyRemark
!=
dmodel
.
StudyRemark
)
{
LogContent
+=
",备注由【"
+
gModel
.
StudyRemark
+
"】修改为【"
+
dmodel
.
StudyRemark
+
"】"
;
}
gModel
.
StudyRemark
=
dmodel
.
StudyRemark
;
if
(
gModel
.
BirthDate
!=
dmodel
.
BirthDate
)
{
LogContent
+=
",出身日期由【"
+
gModel
.
BirthDate
+
"】修改为【"
+
dmodel
.
BirthDate
+
"】"
;
}
gModel
.
BirthDate
=
dmodel
.
BirthDate
;
if
(
gModel
.
TotalHours
!=
dmodel
.
TotalHours
)
{
LogContent
+=
",总课时由【"
+
gModel
.
TotalHours
+
"】修改为【"
+
dmodel
.
TotalHours
+
"】"
;
}
if
(
gModel
.
StuIcon
!=
dmodel
.
StuIcon
)
{
LogContent
+=
",学生头像由【"
+
gModel
.
StuIcon
+
"】修改为【"
+
dmodel
.
StuIcon
+
"】"
;
}
gModel
.
StuIcon
=
dmodel
.
StuIcon
;
gModel
.
TotalHours
=
dmodel
.
TotalHours
;
gModel
.
GuestContractNo
=
dmodel
.
GuestContractNo
;
gModel
.
ContractType
=
dmodel
.
ContractType
;
gModel
.
ContractUrl
=
dmodel
.
ContractUrl
;
gModel
.
UpdateTime
=
dmodel
.
UpdateTime
;
flag
=
order_GuestRepository
.
Update
(
gModel
);
}
//新增学员信息
else
{
#
region
验证电话是否已是他人客户
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
Mobile
))
{
var
slist
=
studentRepository
.
GetStudentListRepository
(
new
RB_Student_ViewModel
()
{
Group_Id
=
dmodel
.
Group_Id
,
StuTel
=
dmodel
.
Mobile
,
School_Id
=
-
1
});
if
(
slist
.
Where
(
x
=>
x
.
CustomerId
!=
ordermodel
.
CustomerId
).
Any
())
{
message
=
"学员'"
+
dmodel
.
GuestName
+
"'已被他人注册"
;
return
false
;
}
}
#
endregion
dmodel
.
ClassId
=
ordermodel
.
ClassId
;
dmodel
.
SourceId
=
ordermodel
.
SourceId
;
int
GuestNum
=
order_GuestRepository
.
GetOrderGuestNumRepository
(
new
RB_Order_Guest_ViewModel
()
{
OrderId
=
dmodel
.
OrderId
,
GuestState
=
GuestStateEnum
.
Normal
});
if
(
GuestNum
>=
ordermodel
.
GuestNum
)
{
message
=
"学生名单已录入完毕"
;
return
flag
;
}
int
Id
=
order_GuestRepository
.
Insert
(
dmodel
);
dmodel
.
Id
=
Id
;
flag
=
Id
>
0
;
}
#
region
新增修改学员账号
if
(
flag
&&
isAdd
)
{
RB_Student_ViewModel
stuModel
=
null
;
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
Mobile
))
{
//学员表
stuModel
=
studentRepository
.
GetStuByTelRepository
(
new
RB_Student_ViewModel
()
{
Group_Id
=
dmodel
.
Group_Id
,
StuTel
=
dmodel
.
Mobile
});
}
if
(
stuModel
==
null
&&
!
string
.
IsNullOrEmpty
(
dmodel
.
QQ
))
{
//学员表
stuModel
=
studentRepository
.
GetStuByTelRepository
(
new
RB_Student_ViewModel
()
{
Group_Id
=
dmodel
.
Group_Id
,
QQ
=
dmodel
.
QQ
});
}
if
(
stuModel
==
null
&&
!
string
.
IsNullOrEmpty
(
dmodel
.
WeChatNo
))
{
//学员表
stuModel
=
studentRepository
.
GetStuByTelRepository
(
new
RB_Student_ViewModel
()
{
Group_Id
=
dmodel
.
Group_Id
,
WeChatNo
=
dmodel
.
WeChatNo
});
}
//不存在存在学员基本信息
if
(
stuModel
==
null
)
{
//创建学生表信息
stuModel
=
new
RB_Student_ViewModel
()
{
StuId
=
0
,
AreaId
=
0
,
CityId
=
0
,
CreateBy
=
dmodel
.
CreateBy
,
CreateTime
=
DateTime
.
Now
,
Group_Id
=
dmodel
.
Group_Id
,
IsDisable
=
1
,
ProviceId
=
0
,
School_Id
=
(
classmodel
?.
School_Id
??
0
),
Status
=
DateStateEnum
.
Normal
,
StuBirth
=
dmodel
.
BirthDate
,
StuIcon
=
dmodel
.
StuIcon
,
StuName
=
dmodel
.
GuestName
,
StuSex
=
dmodel
.
Sex
-
1
,
StuTel
=
dmodel
.
Mobile
,
QQ
=
dmodel
?.
QQ
??
""
,
WeChatNo
=
dmodel
?.
WeChatNo
??
""
,
UpdateBy
=
dmodel
.
CreateBy
,
UpdateTime
=
DateTime
.
Now
,
CustomerId
=
ordermodel
.
CustomerId
,
...
...
Edu.Module.Course/OrderModule2.cs
View file @
d3201505
...
...
@@ -423,7 +423,6 @@ namespace Edu.Module.Course
{
Id
=
0
,
OrderId
=
orderModel
.
OrderId
,
ClassId
=
orderModel
.
ClassId
,
GuestName
=
item
.
StuName
,
GuestState
=
GuestStateEnum
.
Normal
,
Profession
=
item
?.
StuProfession
??
""
,
...
...
@@ -456,9 +455,20 @@ namespace Edu.Module.Course
CompleteHours
=
0
,
MakeUpHours
=
0
,
StuIcon
=
item
.
StuIcon
,
TotalHours
=
Convert
.
ToInt32
(
courseModel
.
ClassHours
),
RenewState
=
1
};
if
(
orderModel
.
OrderType
==
OrderTypeEnum
.
CourseOrder
)
{
guestModel
.
ClassId
=
orderModel
.
ClassId
;
guestModel
.
SourceId
=
0
;
guestModel
.
TotalHours
=
Convert
.
ToInt32
(
courseModel
?.
ClassHours
??
0
);
}
else
if
(
orderModel
.
OrderType
==
OrderTypeEnum
.
StudyabroadOrder
)
{
guestModel
.
ClassId
=
0
;
guestModel
.
CourseId
=
0
;
guestModel
.
SourceId
=
orderModel
.
SourceId
;
}
SetOrderGuestInfo
(
guestModel
,
out
string
Nmessage
);
}
return
""
;
...
...
Edu.Module.Exam/CourseExamModule.cs
View file @
d3201505
...
...
@@ -344,6 +344,17 @@ namespace Edu.Module.Exam
return
list
;
}
/// <summary>
/// 获取单词预习列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_StuWords_Prep_Extend
>
GetStuWordsPrepListModule
(
RB_StuWords_Prep_Extend
query
)
{
var
list
=
stuWords_PrepRepository
.
GetStuWordsPrepListRepository
(
query
);
return
list
;
}
/// <summary>
/// 新增修改学员单词学习
/// </summary>
...
...
@@ -357,7 +368,7 @@ namespace Edu.Module.Exam
CourseId
=
model
.
CourseId
,
ChapterId
=
model
.
ChapterId
});
var
oldModel
=
stuWords_PrepRepository
.
GetStuWordsPrepListRepository
(
new
RB_StuWords_Prep_Extend
()
var
oldModel
=
GetStuWordsPrepListModule
(
new
RB_StuWords_Prep_Extend
()
{
Stu_Account_Id
=
model
.
Stu_Account_Id
,
CourseId
=
model
.
CourseId
,
...
...
@@ -367,16 +378,19 @@ namespace Edu.Module.Exam
model
.
Id
=
oldModel
?.
Id
??
0
;
if
(
model
.
Id
>
0
)
{
model
.
TotalNum
=
oldModel
?.
TotalNum
??
(
wordsList
?.
Count
??
0
);
Dictionary
<
string
,
object
>
fileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_StuWords_Prep_Extend
.
StudyNum
),
model
.
StudyNum
},
};
fileds
.
Add
(
nameof
(
RB_StuWords_Prep_Extend
.
Score
),
GetScoreModule
(
model
.
StudyNum
,
(
wordsList
?.
Count
??
0
)));
model
.
Score
=
GetScoreModule
(
model
.
StudyNum
,
model
.
TotalNum
);
fileds
.
Add
(
nameof
(
RB_StuWords_Prep_Extend
.
Score
),
model
.
Score
);
if
(
model
.
StudyNum
==
(
wordsList
?.
Count
??
0
))
{
model
.
EndTime
=
DateTime
.
Now
;
fileds
.
Add
(
nameof
(
RB_StuWords_Prep_Extend
.
EndTime
),
DateTime
.
Now
);
}
flag
=
stuWords_PrepRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_StuWords_Prep_Extend
.
Id
),
model
.
Id
));
flag
=
stuWords_PrepRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_StuWords_Prep_Extend
.
Id
),
model
.
Id
));
}
else
{
...
...
Edu.Repository/Exam/RB_StuWords_ExamDetailRepository.cs
0 → 100644
View file @
d3201505
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_StuWords_ExamDetailRepository
:
BaseRepository
<
RB_StuWords_ExamDetail
>
{
/// <summary>
/// 获取学员单词测试详情列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_StuWords_ExamDetail_Extend
>
GetStuWordsExamDetailListRepository
(
RB_StuWords_ExamDetail_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_StuWords_ExamDetail AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
ExamId
>
0
)
{
builder
.
AppendFormat
(
" A.{0}={1} "
,
nameof
(
RB_StuWords_ExamDetail_Extend
.
ExamId
),
query
.
ExamId
);
}
}
return
Get
<
RB_StuWords_ExamDetail_Extend
>(
builder
.
ToString
()).
ToList
();
}
}
}
Edu.Repository/Exam/RB_StuWords_ExamRepository.cs
0 → 100644
View file @
d3201505
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_StuWords_ExamRepository
:
BaseRepository
<
RB_StuWords_Exam
>
{
/// <summary>
/// 获取学员单词考试分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public
List
<
RB_StuWords_Exam_Extend
>
GetStuWordsExamPageRepository
(
int
pageIndex
,
int
pageSize
,
out
long
rowsCount
,
RB_StuWords_Exam_Extend
query
)
{
StringBuilder
builder
=
new
StringBuilder
();
builder
.
AppendFormat
(
@"
SELECT A.*
FROM RB_StuWords_Exam AS A
WHERE 1=1
"
);
if
(
query
!=
null
)
{
if
(
query
.
Group_Id
>
0
)
{
builder
.
AppendFormat
(
" AND A.{0}={1} "
,
nameof
(
RB_StuWords_Exam_Extend
.
Group_Id
),
query
.
Group_Id
);
}
}
return
GetPage
<
RB_StuWords_Exam_Extend
>(
pageIndex
,
pageSize
,
out
rowsCount
,
builder
.
ToString
()).
ToList
();
}
}
}
Edu.WebApi/Controllers/Applet/AppletIndexController.cs
View file @
d3201505
...
...
@@ -14,6 +14,7 @@ using Edu.Model.ViewModel.LearningGarden;
using
Edu.Model.ViewModel.User
;
using
Edu.Module.Course
;
using
Edu.Module.EduTask
;
using
Edu.Module.Exam
;
using
Edu.Module.Public
;
using
Edu.Module.User
;
using
Edu.WebApi.Filter
;
...
...
@@ -58,10 +59,11 @@ namespace Edu.WebApi.Controllers.Applet
/// 学习园地处理类对象
/// </summary>
private
readonly
LearningGardenModule
learningGardenModule
=
AOP
.
AOPHelper
.
CreateAOPObject
<
LearningGardenModule
>();
/// <summary>
/// 课程单词
/// 课程单词
学习、测试处理类对象
/// </summary>
private
readonly
Course
WordsModule
courseWordsModule
=
new
CourseWords
Module
();
private
readonly
Course
ExamModule
courseExamModule
=
new
CourseExam
Module
();
#
region
小程序首页
...
...
@@ -507,7 +509,8 @@ namespace Edu.WebApi.Controllers.Applet
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetMyStudyCourseChapterList
()
{
public
ApiResult
GetMyStudyCourseChapterList
()
{
var
appletUserInfo
=
base
.
AppletUserInfo
;
JObject
parms
=
JObject
.
Parse
(
base
.
RequestParm
.
Msg
.
ToString
());
int
ClassId
=
parms
.
GetInt
(
"ClassId"
,
0
);
//班级ID
...
...
@@ -516,7 +519,8 @@ namespace Edu.WebApi.Controllers.Applet
{
return
ApiResult
.
ParamIsNull
(
"请传递班级ID"
);
}
if
(
CourseId
<=
0
)
{
if
(
CourseId
<=
0
)
{
return
ApiResult
.
ParamIsNull
(
"请传递课程ID"
);
}
...
...
@@ -528,13 +532,24 @@ namespace Edu.WebApi.Controllers.Applet
var
chapterTreeList
=
courseModule
.
GetChapterTreeListModule_V2
(
new
Model
.
ViewModel
.
Course
.
RB_Course_Chapter_ViewModel
()
{
Group_Id
=
appletUserInfo
.
Group_Id
,
CourseId
=
CourseId
});
var
ctList
=
chapterTreeList
.
Where
(
x
=>
Convert
.
ToInt32
(
x
.
ChapterNo
)
<=
MaxChapterNo
).
ToList
();
//章节单词得分
var
prepWordsList
=
courseExamModule
.
GetStuWordsPrepListModule
(
new
RB_StuWords_Prep_Extend
()
{
CourseId
=
CourseId
,
Group_Id
=
appletUserInfo
.
Group_Id
,
Stu_Account_Id
=
appletUserInfo
.
Id
});
//组装数据
var
RList
=
new
List
<
object
>();
foreach
(
var
item
in
ctList
)
{
//判断是否已经学习
var
planModel
=
planList
.
Where
(
x
=>
item
.
ChapterNo
==
x
.
LessonPlanNum
.
ToString
()).
FirstOrDefault
();
var
tempPrepWords
=
prepWordsList
?.
Where
(
qitem
=>
qitem
.
ChapterId
.
ToString
()
==
item
.
ChapterNo
)?.
FirstOrDefault
();
decimal
StudyProgress
=
0
;
if
(
tempPrepWords
!=
null
&&
tempPrepWords
.
TotalNum
>
0
)
{
StudyProgress
=
Math
.
Round
(
Convert
.
ToDecimal
(
tempPrepWords
.
StudyNum
)
/
Convert
.
ToDecimal
(
tempPrepWords
.
TotalNum
)
*
100
,
2
);
;
}
int
Num
=
1
;
RList
.
Add
(
new
{
...
...
@@ -548,6 +563,8 @@ namespace Edu.WebApi.Controllers.Applet
x
.
VideoUrl
}),
ChapterTree
=
item
,
Score
=
tempPrepWords
?.
Score
??
0
,
StudyProgress
,
NextChapterNo
=
chapterTreeList
.
Where
(
x
=>
Convert
.
ToInt32
(
x
.
ChapterNo
)
>
Convert
.
ToInt32
(
item
.
ChapterNo
)).
OrderBy
(
x
=>
Convert
.
ToInt32
(
x
.
ChapterNo
)).
FirstOrDefault
()?.
ChapterNo
??
""
});
}
...
...
Edu.WebApi/Controllers/Course/OrderController.cs
View file @
d3201505
...
...
@@ -1250,7 +1250,7 @@ namespace Edu.WebApi.Controllers.Course
dmodel
.
CreateTime
=
DateTime
.
Now
;
dmodel
.
UpdateBy
=
userInfo
.
Id
;
dmodel
.
UpdateTime
=
DateTime
.
Now
;
bool
flag
=
orderModule
.
SetOrderGuestInfo
(
dmodel
,
out
string
message
);
bool
flag
=
orderModule
.
SetOrderGuestInfo
_V2
(
dmodel
,
out
string
message
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
(
message
);
}
...
...
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