Commit 900aff4d authored by liudong1993's avatar liudong1993
parents 52e0f11c 42fffb76
using EduSpider.Model.Entity; using EduSpider.Model.Entity;
using EduSpider.Model.Extend;
using EduSpider.Model.Query;
using System.Collections.Generic; using System.Collections.Generic;
using VTX.FW.Config; using VTX.FW.Config;
using VTX.FW.DB; using VTX.FW.DB;
using System.Text;
using System.Linq;
using EduSpider.Model.Query;
using EduSpider.Model.Extend;
namespace EduSpider.IRepository namespace EduSpider.IRepository
{ {
...@@ -21,6 +19,13 @@ namespace EduSpider.IRepository ...@@ -21,6 +19,13 @@ namespace EduSpider.IRepository
/// <returns></returns> /// <returns></returns>
public bool BatchSetStuHomeWorkRepository(List<RB_Stu_HomeWork> homeWorks); public bool BatchSetStuHomeWorkRepository(List<RB_Stu_HomeWork> homeWorks);
/// <summary>
/// 创建课程作业评论
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <returns></returns>
public List<ExamWorkResult> CreateHomeWorkCommentRepository(int CourseId);
/// <summary> /// <summary>
/// 获取学生作业列表 /// 获取学生作业列表
/// </summary> /// </summary>
......
...@@ -130,5 +130,12 @@ namespace EduSpider.IServices ...@@ -130,5 +130,12 @@ namespace EduSpider.IServices
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<RB_Comment> GetSysComment(); public List<RB_Comment> GetSysComment();
/// <summary>
/// 创建课程作业评论
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <returns></returns>
public void CreateHomeWorkComment(int CourseId);
} }
} }
...@@ -115,7 +115,7 @@ namespace EduSpider.Model.Extend ...@@ -115,7 +115,7 @@ namespace EduSpider.Model.Extend
string str = ""; string str = "";
switch (this.HomeWorkStatus) switch (this.HomeWorkStatus)
{ {
case 0: str = "未交作业"; break; case 0: str = "未提交"; break;
case 1: str = "未批阅"; break; case 1: str = "未批阅"; break;
case 2: str = "已批阅"; break; case 2: str = "已批阅"; break;
} }
......
...@@ -80,18 +80,34 @@ WHERE 1=1 ...@@ -80,18 +80,34 @@ WHERE 1=1
} }
/// <summary> /// <summary>
/// 获取学生作业列表 /// 创建课程作业评论
/// </summary> /// </summary>
/// <param name="CourseId">课程编号</param>
/// <returns></returns> /// <returns></returns>
public List<ExamWorkResult> GetStuHomeWorkListRepository(CourseQuery query) public List<ExamWorkResult> CreateHomeWorkCommentRepository(int CourseId)
{ {
List<ExamWorkResult> list = new(); List<ExamWorkResult> list = new();
var dataList = GetStuHomeWorkDetailsListRepository(query); var dataList = GetStuHomeWorkDetailsListRepository(new CourseQuery() { CourseId = CourseId });
var courseList = dataList.GroupBy(qitem => new { qitem.course_id }).Select(qitem=>new {qitem.Key.course_id });
if (courseList != null && courseList.Count() > 0)
{
foreach (var cItem in courseList)
{
var stuList = dataList.Where(qitem => qitem.course_id == cItem.course_id).GroupBy(qitem => new { qitem.student_uid }).Select(qitem => new{ qitem.Key.student_uid});
//课程配置评论列表
var courseCommentModel = courseCommentRepository.GetCourseCommentListRepository(new CourseQuery() { QCourseIds = cItem.course_id.ToString() }).FirstOrDefault();
foreach (var sItem in stuList)
{
List<ExamWorkResult> homeWorkList = new(); List<ExamWorkResult> homeWorkList = new();
if (dataList != null && dataList.Count > 0) //学员评论列表
var commentList = stuCommentRepository.GetStuCommentListRepository(new CourseQuery() { CourseId = cItem.course_id, StuIds = sItem.student_uid.ToString() });
var tempDataList = dataList.Where(qitem => qitem.course_id == cItem.course_id && qitem.student_uid == sItem.student_uid).ToList();
if (tempDataList != null && tempDataList.Count > 0)
{ {
int RowNum = 1; int RowNum = 1;
foreach (var item in dataList) foreach (var item in tempDataList)
{ {
homeWorkList.Add(new ExamWorkResult() homeWorkList.Add(new ExamWorkResult()
{ {
...@@ -110,14 +126,7 @@ WHERE 1=1 ...@@ -110,14 +126,7 @@ WHERE 1=1
RowNum++; RowNum++;
} }
} }
//课程配置评论列表
var courseCommentModel = courseCommentRepository.GetCourseCommentListRepository(new CourseQuery() { QCourseIds = query.CourseId.ToString() }).FirstOrDefault();
//学员评论列表
var commentList = stuCommentRepository.GetStuCommentListRepository(new CourseQuery() { CourseId = query.CourseId, StuIds = query.StuIds });
ExamWorkResult firstComment = null;
ExamWorkResult secondComment = null;
ExamWorkResult thirdComment = null;
string info; string info;
if (homeWorkList != null && homeWorkList.Count > 0) if (homeWorkList != null && homeWorkList.Count > 0)
{ {
...@@ -125,7 +134,7 @@ WHERE 1=1 ...@@ -125,7 +134,7 @@ WHERE 1=1
if (homeWorkList.Count >= 5) if (homeWorkList.Count >= 5)
{ {
var firstList = homeWorkList.Where(qitem => qitem.RowNum <= 5).ToList(); var firstList = homeWorkList.Where(qitem => qitem.RowNum <= 5).ToList();
var firstFlag= firstList.Where(qitem => qitem.HomeWorkStatus == 0).Any(); var firstFlag = firstList.Where(qitem => qitem.HomeWorkStatus == 0).Any();
//第一阶段有未提交的作业就不生成系统评价 //第一阶段有未提交的作业就不生成系统评价
if (!firstFlag) if (!firstFlag)
{ {
...@@ -133,39 +142,25 @@ WHERE 1=1 ...@@ -133,39 +142,25 @@ WHERE 1=1
string title = firstList.LastOrDefault().ThName + "老师的评语"; string title = firstList.LastOrDefault().ThName + "老师的评语";
info = GetCommentInfo(courseCommentModel, firstScore); info = GetCommentInfo(courseCommentModel, firstScore);
var First_Stu_HomeWork_Id = firstList.LastOrDefault().Stu_HomeWork_Id; var First_Stu_HomeWork_Id = firstList.LastOrDefault().Stu_HomeWork_Id;
var tempModel = GetSystemCreateComment(commentList, query.CourseId, First_Stu_HomeWork_Id); var tempModel = GetSystemCreateComment(commentList, cItem.course_id, First_Stu_HomeWork_Id);
firstComment = new ExamWorkResult() if (tempModel == null || (tempModel != null && tempModel.Id <= 0))
{
ResultType = 3,
Title = firstList.LastOrDefault().ThName + "老师的评语",
};
if (tempModel != null)
{
firstComment.CreateTime = tempModel.CreateTime;
firstComment.Comment = tempModel.Info;
}
else
{ {
var firstNum = CreateRandomNum(); var firstNum = CreateRandomNum();
firstComment.CreateTime = firstList.LastOrDefault().CreateTime.AddMinutes(firstNum);
firstComment.Comment = info;
//新增系统生成评价 //新增系统生成评价
stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment() stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment()
{ {
Id = 0, Id = 0,
HomeWorkId = First_Stu_HomeWork_Id, HomeWorkId = First_Stu_HomeWork_Id,
StuUid = Convert.ToInt32(query.StuIds), StuUid = Convert.ToInt32(sItem.student_uid),
CourseId = query.CourseId, CourseId = cItem.course_id,
Times = 1, Times = 1,
Info = info, Info = info,
CreateType = 1, CreateType = 1,
CreateByName = firstList.LastOrDefault().ThName, CreateByName = firstList.LastOrDefault().ThName,
CreateTime = firstComment.CreateTime, CreateTime = firstList.LastOrDefault().CreateTime.AddMinutes(firstNum),
ShowType = 3, ShowType = 3,
}); });
} }
} }
} }
//第二次评价 //第二次评价
...@@ -178,35 +173,21 @@ WHERE 1=1 ...@@ -178,35 +173,21 @@ WHERE 1=1
var secondScore = secondList.Average(qitem => qitem.Score_p) * 100; var secondScore = secondList.Average(qitem => qitem.Score_p) * 100;
info = GetCommentInfo(courseCommentModel, secondScore); info = GetCommentInfo(courseCommentModel, secondScore);
var Second_Stu_HomeWork_Id = secondList.LastOrDefault().Stu_HomeWork_Id; var Second_Stu_HomeWork_Id = secondList.LastOrDefault().Stu_HomeWork_Id;
var secondModel = GetSystemCreateComment(commentList, query.CourseId, Second_Stu_HomeWork_Id); var secondModel = GetSystemCreateComment(commentList, cItem.course_id, Second_Stu_HomeWork_Id);
if (secondModel == null || (secondModel != null && secondModel.Id <= 0))
secondComment = new ExamWorkResult()
{
ResultType = 3,
Title = secondList.LastOrDefault().ThName + "老师的评语",
};
if (secondModel != null)
{
secondComment.CreateTime = secondModel.CreateTime;
secondComment.Comment = secondModel.Info;
}
else
{ {
var secondNum = CreateRandomNum(); var secondNum = CreateRandomNum();
secondComment.CreateTime = secondList.LastOrDefault().CreateTime.AddMinutes(secondNum);
secondComment.Comment = info;
stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment() stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment()
{ {
Id = 0, Id = 0,
HomeWorkId = Second_Stu_HomeWork_Id, HomeWorkId = Second_Stu_HomeWork_Id,
StuUid = Convert.ToInt32(query.StuIds), StuUid = Convert.ToInt32(sItem.student_uid),
CourseId = query.CourseId, CourseId = cItem.course_id,
Times = 2, Times = 2,
Info = info, Info = info,
CreateType = 1, CreateType = 1,
CreateByName = secondList.LastOrDefault().ThName, CreateByName = secondList.LastOrDefault().ThName,
CreateTime = secondComment.CreateTime, CreateTime = secondList.LastOrDefault().CreateTime.AddMinutes(secondNum),
ShowType = 3, ShowType = 3,
}); });
} }
...@@ -222,39 +203,126 @@ WHERE 1=1 ...@@ -222,39 +203,126 @@ WHERE 1=1
var thirdScore = thirdList.Average(qitem => qitem.Score_p) * 100; var thirdScore = thirdList.Average(qitem => qitem.Score_p) * 100;
info = GetCommentInfo(courseCommentModel, thirdScore); info = GetCommentInfo(courseCommentModel, thirdScore);
var Third_Stu_HomeWork_Id = thirdList.LastOrDefault().Stu_HomeWork_Id; var Third_Stu_HomeWork_Id = thirdList.LastOrDefault().Stu_HomeWork_Id;
var thirdModel = GetSystemCreateComment(commentList, query.CourseId, Third_Stu_HomeWork_Id); var thirdModel = GetSystemCreateComment(commentList, cItem.course_id, Third_Stu_HomeWork_Id);
thirdComment = new ExamWorkResult() if (thirdModel == null || (thirdModel != null && thirdModel.Id <= 0))
{
ResultType = 3,
Title = thirdList.LastOrDefault().ThName + "老师的评语",
};
if (thirdModel != null)
{
thirdComment.CreateTime = thirdModel.CreateTime;
thirdComment.Comment = thirdModel.Info;
}
else
{ {
var thirdNum = CreateRandomNum(); var thirdNum = CreateRandomNum();
thirdComment.CreateTime = thirdList.LastOrDefault().CreateTime.AddMinutes(thirdNum);
thirdComment.Comment = info;
stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment() stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment()
{ {
Id = 0, Id = 0,
HomeWorkId = Third_Stu_HomeWork_Id, HomeWorkId = Third_Stu_HomeWork_Id,
StuUid = Convert.ToInt32(query.StuIds), StuUid = Convert.ToInt32(sItem.student_uid),
CourseId = query.CourseId, CourseId = cItem.course_id,
Times = 3, Times = 3,
Info = info, Info = info,
CreateType = 1, CreateType = 1,
CreateByName = thirdList.LastOrDefault().ThName, CreateByName = thirdList.LastOrDefault().ThName,
CreateTime = thirdComment.CreateTime, CreateTime = thirdList.LastOrDefault().CreateTime.AddMinutes(thirdNum),
ShowType = 3, ShowType = 3,
}); });
} }
} }
} }
} }
}
}
}
return list;
}
/// <summary>
/// 获取学生作业列表
/// </summary>
/// <returns></returns>
public List<ExamWorkResult> GetStuHomeWorkListRepository(CourseQuery query)
{
List<ExamWorkResult> list = new();
var dataList = GetStuHomeWorkDetailsListRepository(query);
List<ExamWorkResult> homeWorkList = new();
if (dataList != null && dataList.Count > 0)
{
int RowNum = 1;
foreach (var item in dataList)
{
homeWorkList.Add(new ExamWorkResult()
{
RowNum = RowNum,
CreateTime = item.add_time,
ResultType = 1,
Title = item.Homework_title,
Score = item.score,
Score_p = item.score_p,
ScoreType = item.score_type,
Score_Value = item.Score_value,
HomeWorkStatus = item.status,
ThName = item.th_name,
Stu_HomeWork_Id = item.stu_homework_id,
});
RowNum++;
}
}
//学员评论列表
var commentList = stuCommentRepository.GetStuCommentListRepository(new CourseQuery() { CourseId = query.CourseId, StuIds = query.StuIds });
ExamWorkResult firstComment = null;
ExamWorkResult secondComment = null;
ExamWorkResult thirdComment = null;
if (homeWorkList != null && homeWorkList.Count > 0)
{
//第一次评价
if (homeWorkList.Count >= 5)
{
var firstList = homeWorkList.Where(qitem => qitem.RowNum <= 5).ToList();
var First_Stu_HomeWork_Id = firstList.LastOrDefault().Stu_HomeWork_Id;
var tempModel = GetSystemCreateComment(commentList, query.CourseId, First_Stu_HomeWork_Id);
if (tempModel != null && tempModel.ShowType == 1)
{
firstComment = new ExamWorkResult()
{
ResultType = 3,
Title = firstList.LastOrDefault().ThName + "老师的评语",
};
firstComment.CreateTime = tempModel.CreateTime;
firstComment.Comment = tempModel.Info;
}
}
//第二次评价
if (homeWorkList.Count >= 9)
{
var secondList = homeWorkList.Where(qitem => qitem.RowNum > 5 && qitem.RowNum <= 9).ToList();
var Second_Stu_HomeWork_Id = secondList.LastOrDefault().Stu_HomeWork_Id;
var secondModel = GetSystemCreateComment(commentList, query.CourseId, Second_Stu_HomeWork_Id);
if (secondModel != null&&secondModel.ShowType==1)
{
secondComment = new ExamWorkResult()
{
ResultType = 3,
Title = secondList.LastOrDefault().ThName + "老师的评语",
};
secondComment.CreateTime = secondModel.CreateTime;
secondComment.Comment = secondModel.Info;
}
}
//第三次评价
if (homeWorkList.Count >= 13)
{
var thirdList = homeWorkList.Where(qitem => qitem.RowNum > 9 && qitem.RowNum <= 13).ToList();
var Third_Stu_HomeWork_Id = thirdList.LastOrDefault().Stu_HomeWork_Id;
var thirdModel = GetSystemCreateComment(commentList, query.CourseId, Third_Stu_HomeWork_Id);
if (thirdModel != null && thirdModel.ShowType == 1)
{
thirdComment = new ExamWorkResult()
{
ResultType = 3,
Title = thirdList.LastOrDefault().ThName + "老师的评语",
};
thirdComment.CreateTime = thirdModel.CreateTime;
thirdComment.Comment = thirdModel.Info;
}
}
}
//添加系统自动生成评语 //添加系统自动生成评语
for (var i = 0; i < homeWorkList.Count; i++) for (var i = 0; i < homeWorkList.Count; i++)
{ {
...@@ -278,6 +346,8 @@ WHERE 1=1 ...@@ -278,6 +346,8 @@ WHERE 1=1
if (commentList?.Where(qitem => qitem.CourseId == qitem.CourseId && qitem.CreateType == 2).Count() > 0) if (commentList?.Where(qitem => qitem.CourseId == qitem.CourseId && qitem.CreateType == 2).Count() > 0)
{ {
foreach (var item in commentList?.Where(qitem => qitem.CourseId == qitem.CourseId && qitem.CreateType == 2)) foreach (var item in commentList?.Where(qitem => qitem.CourseId == qitem.CourseId && qitem.CreateType == 2))
{
if (item.ShowType == 1)
{ {
list.Add(new ExamWorkResult() list.Add(new ExamWorkResult()
{ {
...@@ -286,6 +356,8 @@ WHERE 1=1 ...@@ -286,6 +356,8 @@ WHERE 1=1
Title = item.CreateByName + "老师的评语", Title = item.CreateByName + "老师的评语",
Comment = item?.Info Comment = item?.Info
}); });
}
} }
} }
return list; return list;
......
...@@ -436,6 +436,16 @@ namespace EduSpider.Services ...@@ -436,6 +436,16 @@ namespace EduSpider.Services
var list = CommentRepository.GetCommentListRepository(); var list = CommentRepository.GetCommentListRepository();
return list; return list;
} }
/// <summary>
/// 创建课程作业评论
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <returns></returns>
public void CreateHomeWorkComment(int CourseId)
{
StuHomeWorkRepository.CreateHomeWorkCommentRepository(CourseId);
}
} }
} }
...@@ -427,5 +427,18 @@ namespace EduSpider.WebApi.Controllers ...@@ -427,5 +427,18 @@ namespace EduSpider.WebApi.Controllers
var list = CourseService.RemoveStuComment(Ids); var list = CourseService.RemoveStuComment(Ids);
return ApiResult.Success(data: list); return ApiResult.Success(data: list);
} }
[HttpPost]
[HttpGet]
/// <summary>
/// 生成课程评论
/// </summary>
/// <returns></returns>
public ApiResult CreateCourseComment()
{
int CourseId = base.ReqParameters.GetInt("CourseId");
CourseService.CreateHomeWorkComment(CourseId);
return ApiResult.Success();
}
} }
} }
...@@ -26,9 +26,9 @@ namespace TicketSpider.Spiders.ClassInRule ...@@ -26,9 +26,9 @@ namespace TicketSpider.Spiders.ClassInRule
Console.WriteLine("开始获取老师信息"); Console.WriteLine("开始获取老师信息");
new TeacherManager().RunTeacher(loginCookies); new TeacherManager().RunTeacher(loginCookies);
Console.WriteLine("老师信息更新结束"); Console.WriteLine("老师信息更新结束");
//new StudentManager().RunAsync(loginCookies); new StudentManager().RunAsync(loginCookies);
//new CourseManager().RunCourse(loginCookies); CourseManager.RunCourse(loginCookies);
//new HomeWorkManager().RunHomeWork(loginCookies); HomeWorkManager.RunHomeWork(loginCookies);
} }
} }
} }
...@@ -30,6 +30,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -30,6 +30,7 @@ namespace EduSpider.Spiders.ClassInRule
string paramStr = string.Format(queryStr, pageCount, perpage); string paramStr = string.Format(queryStr, pageCount, perpage);
var content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded"); var content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
IHomeWorkRepository homeWorkRepository = new HomeWorkRepository(); IHomeWorkRepository homeWorkRepository = new HomeWorkRepository();
IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository();
int totalCount = 0; int totalCount = 0;
Console.WriteLine(string.Format("开始第{0}次获取家庭作业", pageCount)); Console.WriteLine(string.Format("开始第{0}次获取家庭作业", pageCount));
...@@ -90,6 +91,10 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -90,6 +91,10 @@ namespace EduSpider.Spiders.ClassInRule
{ {
RunStuHomeWork(cookie, sItem.Homework_id, sItem.Course_id); RunStuHomeWork(cookie, sItem.Homework_id, sItem.Course_id);
} }
if (i == totalCount)
{
stuHomeWorkRepository.CreateHomeWorkCommentRepository(0);
}
} }
} }
} }
...@@ -97,7 +102,6 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -97,7 +102,6 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
} }
/// <summary> /// <summary>
...@@ -255,7 +259,5 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -255,7 +259,5 @@ namespace EduSpider.Spiders.ClassInRule
stuHomeWorkRepository.BatchSetStuHomeWorkRepository(list); stuHomeWorkRepository.BatchSetStuHomeWorkRepository(list);
} }
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment