Commit 900aff4d authored by liudong1993's avatar liudong1993
parents 52e0f11c 42fffb76
using EduSpider.Model.Entity;
using EduSpider.Model.Extend;
using EduSpider.Model.Query;
using System.Collections.Generic;
using VTX.FW.Config;
using VTX.FW.DB;
using System.Text;
using System.Linq;
using EduSpider.Model.Query;
using EduSpider.Model.Extend;
namespace EduSpider.IRepository
{
......@@ -21,6 +19,13 @@ namespace EduSpider.IRepository
/// <returns></returns>
public bool BatchSetStuHomeWorkRepository(List<RB_Stu_HomeWork> homeWorks);
/// <summary>
/// 创建课程作业评论
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <returns></returns>
public List<ExamWorkResult> CreateHomeWorkCommentRepository(int CourseId);
/// <summary>
/// 获取学生作业列表
/// </summary>
......
......@@ -130,5 +130,12 @@ namespace EduSpider.IServices
/// </summary>
/// <returns></returns>
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
string str = "";
switch (this.HomeWorkStatus)
{
case 0: str = "未交作业"; break;
case 0: str = "未提交"; break;
case 1: str = "未批阅"; break;
case 2: str = "已批阅"; break;
}
......
......@@ -80,18 +80,34 @@ WHERE 1=1
}
/// <summary>
/// 获取学生作业列表
/// 创建课程作业评论
/// </summary>
/// <param name="CourseId">课程编号</param>
/// <returns></returns>
public List<ExamWorkResult> GetStuHomeWorkListRepository(CourseQuery query)
public List<ExamWorkResult> CreateHomeWorkCommentRepository(int CourseId)
{
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();
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;
foreach (var item in dataList)
foreach (var item in tempDataList)
{
homeWorkList.Add(new ExamWorkResult()
{
......@@ -110,14 +126,7 @@ WHERE 1=1
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;
if (homeWorkList != null && homeWorkList.Count > 0)
{
......@@ -125,7 +134,7 @@ WHERE 1=1
if (homeWorkList.Count >= 5)
{
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)
{
......@@ -133,39 +142,25 @@ WHERE 1=1
string title = firstList.LastOrDefault().ThName + "老师的评语";
info = GetCommentInfo(courseCommentModel, firstScore);
var First_Stu_HomeWork_Id = firstList.LastOrDefault().Stu_HomeWork_Id;
var tempModel = GetSystemCreateComment(commentList, query.CourseId, First_Stu_HomeWork_Id);
firstComment = new ExamWorkResult()
{
ResultType = 3,
Title = firstList.LastOrDefault().ThName + "老师的评语",
};
if (tempModel != null)
{
firstComment.CreateTime = tempModel.CreateTime;
firstComment.Comment = tempModel.Info;
}
else
var tempModel = GetSystemCreateComment(commentList, cItem.course_id, First_Stu_HomeWork_Id);
if (tempModel == null || (tempModel != null && tempModel.Id <= 0))
{
var firstNum = CreateRandomNum();
firstComment.CreateTime = firstList.LastOrDefault().CreateTime.AddMinutes(firstNum);
firstComment.Comment = info;
//新增系统生成评价
stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment()
{
Id = 0,
HomeWorkId = First_Stu_HomeWork_Id,
StuUid = Convert.ToInt32(query.StuIds),
CourseId = query.CourseId,
StuUid = Convert.ToInt32(sItem.student_uid),
CourseId = cItem.course_id,
Times = 1,
Info = info,
CreateType = 1,
CreateByName = firstList.LastOrDefault().ThName,
CreateTime = firstComment.CreateTime,
CreateTime = firstList.LastOrDefault().CreateTime.AddMinutes(firstNum),
ShowType = 3,
});
}
}
}
//第二次评价
......@@ -178,35 +173,21 @@ WHERE 1=1
var secondScore = secondList.Average(qitem => qitem.Score_p) * 100;
info = GetCommentInfo(courseCommentModel, secondScore);
var Second_Stu_HomeWork_Id = secondList.LastOrDefault().Stu_HomeWork_Id;
var secondModel = GetSystemCreateComment(commentList, query.CourseId, Second_Stu_HomeWork_Id);
secondComment = new ExamWorkResult()
{
ResultType = 3,
Title = secondList.LastOrDefault().ThName + "老师的评语",
};
if (secondModel != null)
{
secondComment.CreateTime = secondModel.CreateTime;
secondComment.Comment = secondModel.Info;
}
else
var secondModel = GetSystemCreateComment(commentList, cItem.course_id, Second_Stu_HomeWork_Id);
if (secondModel == null || (secondModel != null && secondModel.Id <= 0))
{
var secondNum = CreateRandomNum();
secondComment.CreateTime = secondList.LastOrDefault().CreateTime.AddMinutes(secondNum);
secondComment.Comment = info;
stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment()
{
Id = 0,
HomeWorkId = Second_Stu_HomeWork_Id,
StuUid = Convert.ToInt32(query.StuIds),
CourseId = query.CourseId,
StuUid = Convert.ToInt32(sItem.student_uid),
CourseId = cItem.course_id,
Times = 2,
Info = info,
CreateType = 1,
CreateByName = secondList.LastOrDefault().ThName,
CreateTime = secondComment.CreateTime,
CreateTime = secondList.LastOrDefault().CreateTime.AddMinutes(secondNum),
ShowType = 3,
});
}
......@@ -222,39 +203,126 @@ WHERE 1=1
var thirdScore = thirdList.Average(qitem => qitem.Score_p) * 100;
info = GetCommentInfo(courseCommentModel, thirdScore);
var Third_Stu_HomeWork_Id = thirdList.LastOrDefault().Stu_HomeWork_Id;
var thirdModel = GetSystemCreateComment(commentList, query.CourseId, Third_Stu_HomeWork_Id);
thirdComment = new ExamWorkResult()
{
ResultType = 3,
Title = thirdList.LastOrDefault().ThName + "老师的评语",
};
if (thirdModel != null)
{
thirdComment.CreateTime = thirdModel.CreateTime;
thirdComment.Comment = thirdModel.Info;
}
else
var thirdModel = GetSystemCreateComment(commentList, cItem.course_id, Third_Stu_HomeWork_Id);
if (thirdModel == null || (thirdModel != null && thirdModel.Id <= 0))
{
var thirdNum = CreateRandomNum();
thirdComment.CreateTime = thirdList.LastOrDefault().CreateTime.AddMinutes(thirdNum);
thirdComment.Comment = info;
stuCommentRepository.SetStuCommentRepository(new RB_Stu_Comment()
{
Id = 0,
HomeWorkId = Third_Stu_HomeWork_Id,
StuUid = Convert.ToInt32(query.StuIds),
CourseId = query.CourseId,
StuUid = Convert.ToInt32(sItem.student_uid),
CourseId = cItem.course_id,
Times = 3,
Info = info,
CreateType = 1,
CreateByName = thirdList.LastOrDefault().ThName,
CreateTime = thirdComment.CreateTime,
CreateTime = thirdList.LastOrDefault().CreateTime.AddMinutes(thirdNum),
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++)
{
......@@ -278,6 +346,8 @@ WHERE 1=1
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))
{
if (item.ShowType == 1)
{
list.Add(new ExamWorkResult()
{
......@@ -286,6 +356,8 @@ WHERE 1=1
Title = item.CreateByName + "老师的评语",
Comment = item?.Info
});
}
}
}
return list;
......
......@@ -436,6 +436,16 @@ namespace EduSpider.Services
var list = CommentRepository.GetCommentListRepository();
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
var list = CourseService.RemoveStuComment(Ids);
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
Console.WriteLine("开始获取老师信息");
new TeacherManager().RunTeacher(loginCookies);
Console.WriteLine("老师信息更新结束");
//new StudentManager().RunAsync(loginCookies);
//new CourseManager().RunCourse(loginCookies);
//new HomeWorkManager().RunHomeWork(loginCookies);
new StudentManager().RunAsync(loginCookies);
CourseManager.RunCourse(loginCookies);
HomeWorkManager.RunHomeWork(loginCookies);
}
}
}
......@@ -30,6 +30,7 @@ namespace EduSpider.Spiders.ClassInRule
string paramStr = string.Format(queryStr, pageCount, perpage);
var content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
IHomeWorkRepository homeWorkRepository = new HomeWorkRepository();
IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository();
int totalCount = 0;
Console.WriteLine(string.Format("开始第{0}次获取家庭作业", pageCount));
......@@ -90,6 +91,10 @@ namespace EduSpider.Spiders.ClassInRule
{
RunStuHomeWork(cookie, sItem.Homework_id, sItem.Course_id);
}
if (i == totalCount)
{
stuHomeWorkRepository.CreateHomeWorkCommentRepository(0);
}
}
}
}
......@@ -97,7 +102,6 @@ namespace EduSpider.Spiders.ClassInRule
}
}
}
}
/// <summary>
......@@ -255,7 +259,5 @@ namespace EduSpider.Spiders.ClassInRule
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