Commit 94d5dbd2 authored by 黄奎's avatar 黄奎

页面修改

parent 47041ac9
using EduSpider.Spiders.ClassInRule; using EduSpider.Spiders.ClassInRule;
using EduSpider.Utility.Plugin; using EduSpider.Utility.Plugin;
using System;
using System.Threading;
namespace TicketSpider.Spiders.ClassInRule namespace TicketSpider.Spiders.ClassInRule
{ {
......
...@@ -33,7 +33,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -33,7 +33,8 @@ namespace EduSpider.Spiders.ClassInRule
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");
ICourseRepository courseRepository = new CourseRepository(); ICourseRepository courseRepository = new CourseRepository();
int totalCount = 0; int totalCount = 0;
try
{
string url = "https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseList"; string url = "https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseList";
var response = await request.PostAsync(url, content); var response = await request.PostAsync(url, content);
var result = response.Content.ReadAsStringAsync().Result; var result = response.Content.ReadAsStringAsync().Result;
...@@ -74,6 +75,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -74,6 +75,8 @@ namespace EduSpider.Spiders.ClassInRule
Thread.Sleep(1000 * 2); Thread.Sleep(1000 * 2);
paramStr = string.Format(queryStr, i, perpage); paramStr = string.Format(queryStr, i, perpage);
var sub_content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded"); var sub_content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
try
{
var sub_response = await request.PostAsync(url, sub_content); var sub_response = await request.PostAsync(url, sub_content);
var sub_result = sub_response.Content.ReadAsStringAsync().Result; var sub_result = sub_response.Content.ReadAsStringAsync().Result;
if (!string.IsNullOrWhiteSpace(sub_result)) if (!string.IsNullOrWhiteSpace(sub_result))
...@@ -100,10 +103,20 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -100,10 +103,20 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
catch (Exception ex2)
{
VTX.FW.Helper.LogHelper.WriteError("CourseManager_RunCourse2", ex: ex2);
}
}
} }
} }
} }
} }
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("CourseManager_RunCourse", ex: ex);
}
}
/// <summary> /// <summary>
/// JSON字符串转课程列表 /// JSON字符串转课程列表
...@@ -171,10 +184,12 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -171,10 +184,12 @@ namespace EduSpider.Spiders.ClassInRule
InfoHelper.WriteLine(string.Format("开始获取{0}课程学员数据", courseId)); InfoHelper.WriteLine(string.Format("开始获取{0}课程学员数据", courseId));
string url = "https://console.eeo.cn/saasajax/student.ajax.php?action=getCourseStudentList"; string url = "https://console.eeo.cn/saasajax/student.ajax.php?action=getCourseStudentList";
var response = await request.PostAsync(url, content);
var sutResult = response.Content.ReadAsStringAsync().Result;
List<RB_Course_Student> list = new(); List<RB_Course_Student> list = new();
List<RB_Course_Student> deleteList = new List<RB_Course_Student>(); List<RB_Course_Student> deleteList = new List<RB_Course_Student>();
try
{
var response = await request.PostAsync(url, content);
var sutResult = response.Content.ReadAsStringAsync().Result;
if (!string.IsNullOrWhiteSpace(sutResult)) if (!string.IsNullOrWhiteSpace(sutResult))
{ {
JObject stuRootObj = JObject.Parse(sutResult); JObject stuRootObj = JObject.Parse(sutResult);
...@@ -215,7 +230,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -215,7 +230,11 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("CourseManager_RunCourseStudent", ex: ex);
}
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
courseStudentRepository.BatchSetCourseStudentRepository(list); courseStudentRepository.BatchSetCourseStudentRepository(list);
...@@ -233,24 +252,25 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -233,24 +252,25 @@ namespace EduSpider.Spiders.ClassInRule
/// <param name="courseId"></param> /// <param name="courseId"></param>
public static async void RunCourseTeacher(string cookie, int courseId) public static async void RunCourseTeacher(string cookie, int courseId)
{ {
List<RB_Course_Teacher> list = new();
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
string queryStr = "courseId={0}"; string queryStr = "courseId={0}";
string paramStr = string.Format(queryStr, courseId); string paramStr = string.Format(queryStr, courseId);
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");
ICourseTeacherRepository courseTeacherRepository = new CourseTeacherRepository(); ICourseTeacherRepository courseTeacherRepository = new CourseTeacherRepository();
InfoHelper.WriteLine(string.Format("开始获取{0}课程老师数据", courseId)); InfoHelper.WriteLine(string.Format("开始获取{0}课程老师数据", courseId));
string url = "https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseTeacherList"; string url = "https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseTeacherList";
try
{
var response = await request.PostAsync(url, content); var response = await request.PostAsync(url, content);
var teacherResult = response.Content.ReadAsStringAsync().Result; var teacherResult = response.Content.ReadAsStringAsync().Result;
List<RB_Course_Teacher> list = new();
if (!string.IsNullOrWhiteSpace(teacherResult)) if (!string.IsNullOrWhiteSpace(teacherResult))
{ {
JObject teacherRootObj = JObject.Parse(teacherResult); JObject teacherRootObj = JObject.Parse(teacherResult);
if (!string.IsNullOrWhiteSpace(teacherRootObj.GetString("data"))) if (!string.IsNullOrWhiteSpace(teacherRootObj.GetString("data")))
{ {
JObject teacherObj= JObject.Parse(teacherRootObj.GetString("data")); JObject teacherObj = JObject.Parse(teacherRootObj.GetString("data"));
if (!string.IsNullOrWhiteSpace(teacherObj.GetString("teacherList"))) if (!string.IsNullOrWhiteSpace(teacherObj.GetString("teacherList")))
{ {
JArray courseTeacherArray = JArray.Parse(teacherObj.GetString("teacherList")); JArray courseTeacherArray = JArray.Parse(teacherObj.GetString("teacherList"));
...@@ -268,13 +288,18 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -268,13 +288,18 @@ namespace EduSpider.Spiders.ClassInRule
logo = infoObj.GetString("logo"), logo = infoObj.GetString("logo"),
name = infoObj.GetString("name"), name = infoObj.GetString("name"),
courseId = courseId, courseId = courseId,
courseTeacherId= courseTeacherObj.GetInt("courseTeacherId") courseTeacherId = courseTeacherObj.GetInt("courseTeacherId")
}); });
} }
} }
} }
} }
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("CourseManager_RunCourseTeacher", ex: ex);
}
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
courseTeacherRepository.BatchSetCourseTeacherRepository(list); courseTeacherRepository.BatchSetCourseTeacherRepository(list);
...@@ -288,6 +313,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -288,6 +313,8 @@ namespace EduSpider.Spiders.ClassInRule
/// <param name="courseId"></param> /// <param name="courseId"></param>
public static async void RunCourseInfo(string cookie, int courseId) public static async void RunCourseInfo(string cookie, int courseId)
{ {
List<rb_course_hk> list = new();
List<RB_Course_Teacher> teacherList = new();
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
string queryStr = "courseId={0}"; string queryStr = "courseId={0}";
string paramStr = string.Format(queryStr, courseId); string paramStr = string.Format(queryStr, courseId);
...@@ -297,10 +324,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -297,10 +324,11 @@ namespace EduSpider.Spiders.ClassInRule
InfoHelper.WriteLine(string.Format("开始获取{0}课程详情数据", courseId)); InfoHelper.WriteLine(string.Format("开始获取{0}课程详情数据", courseId));
string url = "https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseInfo"; string url = "https://console.eeo.cn/saasajax/course.ajax.php?action=getCourseInfo";
try
{
var response = await request.PostAsync(url, content); var response = await request.PostAsync(url, content);
var courseInfoResult = response.Content.ReadAsStringAsync().Result; var courseInfoResult = response.Content.ReadAsStringAsync().Result;
List<rb_course_hk> list = new();
List<RB_Course_Teacher> teacherList = new();
if (!string.IsNullOrWhiteSpace(courseInfoResult)) if (!string.IsNullOrWhiteSpace(courseInfoResult))
{ {
JObject courseRootObj = JObject.Parse(courseInfoResult); JObject courseRootObj = JObject.Parse(courseInfoResult);
...@@ -321,7 +349,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -321,7 +349,7 @@ namespace EduSpider.Spiders.ClassInRule
TotalClassNum = courseObj.GetInt("totalClassNum"), TotalClassNum = courseObj.GetInt("totalClassNum"),
ExpiryTime = expiryTime, ExpiryTime = expiryTime,
LiveNum = courseObj.GetInt("liveNum"), LiveNum = courseObj.GetInt("liveNum"),
RecordNum=0, RecordNum = 0,
OpenNum = courseObj.GetInt("openNum"), OpenNum = courseObj.GetInt("openNum"),
StudentNum = courseObj.GetInt("studentNum"), StudentNum = courseObj.GetInt("studentNum"),
AuditNum = courseObj.GetInt("auditNum"), AuditNum = courseObj.GetInt("auditNum"),
...@@ -369,6 +397,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -369,6 +397,11 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("CourseManager_RunCourseInfo", ex: ex);
}
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
courseRepository.BatchSetCourseOtherRepository(list); courseRepository.BatchSetCourseOtherRepository(list);
...@@ -397,18 +430,20 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -397,18 +430,20 @@ namespace EduSpider.Spiders.ClassInRule
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
string queryStr = $"courseKey={searchKey}"; string queryStr = $"courseKey={searchKey}";
var content = new StringContent(queryStr, Encoding.UTF8, "application/x-www-form-urlencoded"); var content = new StringContent(queryStr, Encoding.UTF8, "application/x-www-form-urlencoded");
var lessonKeyList = new List<string>();
int lessonVodCount = 0;
string url = "https://live.eeo.cn/saasajax/webcast.ajax.php?action=getLessonList"; string url = "https://live.eeo.cn/saasajax/webcast.ajax.php?action=getLessonList";
try
{
var response = request.PostAsync(url, content).Result; var response = request.PostAsync(url, content).Result;
var result = response.Content.ReadAsStringAsync().Result; var result = response.Content.ReadAsStringAsync().Result;
var lessonKeyList = new List<string>();
int lessonVodCount = 0;
if (!string.IsNullOrWhiteSpace(result)) if (!string.IsNullOrWhiteSpace(result))
{ {
var rootObj = JObject.Parse(result); var rootObj = JObject.Parse(result);
if (rootObj.ContainsKey("data")) if (rootObj.ContainsKey("data"))
{ {
JArray dataArray = JArray.Parse(rootObj["data"].ToString()); JArray dataArray = JArray.Parse(rootObj["data"].ToString());
if (dataArray!=null && dataArray.Count>0 ) if (dataArray != null && dataArray.Count > 0)
{ {
foreach (var sItem in dataArray) foreach (var sItem in dataArray)
{ {
...@@ -423,7 +458,12 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -423,7 +458,12 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
if (lessonVodCount>0) }
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("CourseManager_GetCourseLessionList", ex: ex);
}
if (lessonVodCount > 0)
{ {
var resultList = new List<string>(); var resultList = new List<string>();
//var request2 = Utility.HttpHelper.GenerateHttp(cookie); //var request2 = Utility.HttpHelper.GenerateHttp(cookie);
......
...@@ -33,7 +33,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -33,7 +33,8 @@ namespace EduSpider.Spiders.ClassInRule
IHomeWorkRepository homeWorkRepository = new HomeWorkRepository(); IHomeWorkRepository homeWorkRepository = new HomeWorkRepository();
IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository(); IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository();
int totalCount = 0; int totalCount = 0;
try
{
string url = "https://console.eeo.cn/saasajax/homework.ajax.php?action=getHomeworkList"; string url = "https://console.eeo.cn/saasajax/homework.ajax.php?action=getHomeworkList";
var response = await request.PostAsync(url, content); var response = await request.PostAsync(url, content);
var result = response.Content.ReadAsStringAsync().Result; var result = response.Content.ReadAsStringAsync().Result;
...@@ -71,6 +72,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -71,6 +72,8 @@ namespace EduSpider.Spiders.ClassInRule
{ {
Thread.Sleep(1000 * 2); Thread.Sleep(1000 * 2);
paramStr = string.Format(queryStr, i, perpage); paramStr = string.Format(queryStr, i, perpage);
try
{
var sub_content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded"); var sub_content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
var sub_response = await request.PostAsync(url, sub_content); var sub_response = await request.PostAsync(url, sub_content);
var sub_result = sub_response.Content.ReadAsStringAsync().Result; var sub_result = sub_response.Content.ReadAsStringAsync().Result;
...@@ -99,10 +102,20 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -99,10 +102,20 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
catch (Exception ex2)
{
VTX.FW.Helper.LogHelper.WriteError("HomeWorkManager_RunHomeWork2", ex: ex2);
}
}
} }
} }
} }
} }
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("HomeWorkManager_RunHomeWork", ex: ex);
}
}
/// <summary> /// <summary>
/// JSON字符串转课程列表 /// JSON字符串转课程列表
...@@ -165,7 +178,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -165,7 +178,7 @@ namespace EduSpider.Spiders.ClassInRule
/// </summary> /// </summary>
/// <param name="cookie"></param> /// <param name="cookie"></param>
/// <param name="homework_id"></param> /// <param name="homework_id"></param>
public static async void RunStuHomeWork(string cookie, int homework_id,int courseId) public static async void RunStuHomeWork(string cookie, int homework_id, int courseId)
{ {
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository(); IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository();
...@@ -182,9 +195,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -182,9 +195,11 @@ namespace EduSpider.Spiders.ClassInRule
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");
InfoHelper.WriteLine(string.Format("开始获取{0}作业学员数据", homework_id)); InfoHelper.WriteLine(string.Format("开始获取{0}作业学员数据", homework_id));
string url = "https://console.eeo.cn/saasajax/homework.ajax.php?action=getStudentsHomeworkList"; string url = "https://console.eeo.cn/saasajax/homework.ajax.php?action=getStudentsHomeworkList";
List<RB_Stu_HomeWork> list = new();
try
{
var response = await request.PostAsync(url, content); var response = await request.PostAsync(url, content);
var sutHomeWorkResult = response.Content.ReadAsStringAsync().Result; var sutHomeWorkResult = response.Content.ReadAsStringAsync().Result;
List<RB_Stu_HomeWork> list = new();
if (!string.IsNullOrWhiteSpace(sutHomeWorkResult)) if (!string.IsNullOrWhiteSpace(sutHomeWorkResult))
{ {
JObject stuHomeRootObj = JObject.Parse(sutHomeWorkResult); JObject stuHomeRootObj = JObject.Parse(sutHomeWorkResult);
...@@ -224,7 +239,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -224,7 +239,7 @@ namespace EduSpider.Spiders.ClassInRule
is_revised = lastObj.GetInt("is_revised"), is_revised = lastObj.GetInt("is_revised"),
is_startd = lastObj.GetInt("is_startd"), is_startd = lastObj.GetInt("is_startd"),
readover = lastObj.GetString("readover"), readover = lastObj.GetString("readover"),
ref_time= ConvertHelper.UnixToDateTime(lastObj.GetInt("ref_time")), ref_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("ref_time")),
comment = lastObj.GetString("comment"), comment = lastObj.GetString("comment"),
reform = lastObj.GetString("reform"), reform = lastObj.GetString("reform"),
school_uid = lastObj.GetInt("school_uid"), school_uid = lastObj.GetInt("school_uid"),
...@@ -233,7 +248,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -233,7 +248,7 @@ namespace EduSpider.Spiders.ClassInRule
score_type = lastObj.GetInt("score_type"), score_type = lastObj.GetInt("score_type"),
show_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("show_time")), show_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("show_time")),
status = lastObj.GetInt("status"), status = lastObj.GetInt("status"),
stu_homework_share_key= lastObj.GetString("stu_homework_share_key"), stu_homework_share_key = lastObj.GetString("stu_homework_share_key"),
student_account = lastObj.GetString("student_account"), student_account = lastObj.GetString("student_account"),
student_name = lastObj.GetString("student_name"), student_name = lastObj.GetString("student_name"),
student_uid = lastObj.GetInt("student_uid"), student_uid = lastObj.GetInt("student_uid"),
...@@ -254,6 +269,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -254,6 +269,11 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("HomeWorkManager_RunStuHomeWork", ex: ex);
}
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
stuHomeWorkRepository.BatchSetStuHomeWorkRepository(list); stuHomeWorkRepository.BatchSetStuHomeWorkRepository(list);
......
...@@ -10,7 +10,6 @@ using System.Linq; ...@@ -10,7 +10,6 @@ using System.Linq;
using System.Net.Http; using System.Net.Http;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks;
using VTX.FW.Helper; using VTX.FW.Helper;
namespace EduSpider.Spiders.ClassInRule namespace EduSpider.Spiders.ClassInRule
...@@ -27,11 +26,13 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -27,11 +26,13 @@ namespace EduSpider.Spiders.ClassInRule
var range = $"[1609430400,{ConvertHelper.DateTimeToUnix(DateTime.Now)}]"; var range = $"[1609430400,{ConvertHelper.DateTimeToUnix(DateTime.Now)}]";
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
string queryStr = "page={0}&perpage={1}&examStatus=&paperName=&courseName=&arrangeTime={2}&display=0"; string queryStr = "page={0}&perpage={1}&examStatus=&paperName=&courseName=&arrangeTime={2}&display=0";
string paramStr = string.Format(queryStr, pageCount, perpage,range); string paramStr = string.Format(queryStr, pageCount, perpage, range);
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();
int totalCount = 0; int totalCount = 0;
string url = "https://console.eeo.cn/saasajax/exam.ajax.php?action=getExamManageList"; string url = "https://console.eeo.cn/saasajax/exam.ajax.php?action=getExamManageList";
try
{
var response = request.PostAsync(url, content); var response = request.PostAsync(url, content);
var result = response.Result.Content.ReadAsStringAsync().Result; var result = response.Result.Content.ReadAsStringAsync().Result;
if (!string.IsNullOrWhiteSpace(result)) if (!string.IsNullOrWhiteSpace(result))
...@@ -41,7 +42,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -41,7 +42,7 @@ namespace EduSpider.Spiders.ClassInRule
{ {
JObject dataObj = JObject.Parse(rootObj.GetString("data")); JObject dataObj = JObject.Parse(rootObj.GetString("data"));
var totalNum = dataObj.GetInt("totalSum"); var totalNum = dataObj.GetInt("totalSum");
var tempList = ParseJson(dataObj.GetString("examsData"),cookie); var tempList = ParseJson(dataObj.GetString("examsData"), cookie);
if (tempList != null && tempList.Count > 0) if (tempList != null && tempList.Count > 0)
{ {
homeWorkRepository.BatchSetHomeWorkRepository(tempList); homeWorkRepository.BatchSetHomeWorkRepository(tempList);
...@@ -50,7 +51,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -50,7 +51,7 @@ namespace EduSpider.Spiders.ClassInRule
VTX.FW.Helper.LogHelper.WriteInfo("QuestionManager_RunHomeWork", string.Format("第{0}次,导入完成{1}条.", pageCount, totalCount)); VTX.FW.Helper.LogHelper.WriteInfo("QuestionManager_RunHomeWork", string.Format("第{0}次,导入完成{1}条.", pageCount, totalCount));
foreach (var item in tempList) foreach (var item in tempList)
{ {
RunStuHomeWork(cookie, item.Homework_id, item.Course_id,item); RunStuHomeWork(cookie, item.Homework_id, item.Course_id, item);
} }
} }
if (totalNum % perpage == 0) if (totalNum % perpage == 0)
...@@ -67,11 +68,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -67,11 +68,11 @@ namespace EduSpider.Spiders.ClassInRule
for (var i = 2; i <= pageCount; i++) for (var i = 2; i <= pageCount; i++)
{ {
Thread.Sleep(1000 * 2); Thread.Sleep(1000 * 2);
paramStr = string.Format(queryStr, i, perpage, range); paramStr = string.Format(queryStr, i, perpage, range);
var sub_content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded"); var sub_content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
try
{
var sub_response = request.PostAsync(url, sub_content); var sub_response = request.PostAsync(url, sub_content);
var sub_result = sub_response.Result.Content.ReadAsStringAsync().Result; var sub_result = sub_response.Result.Content.ReadAsStringAsync().Result;
if (!string.IsNullOrWhiteSpace(sub_result)) if (!string.IsNullOrWhiteSpace(sub_result))
{ {
...@@ -79,7 +80,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -79,7 +80,7 @@ namespace EduSpider.Spiders.ClassInRule
if (!string.IsNullOrWhiteSpace(sub_rootObj.GetString("data"))) if (!string.IsNullOrWhiteSpace(sub_rootObj.GetString("data")))
{ {
JObject sub_dataObj = JObject.Parse(sub_rootObj.GetString("data")); JObject sub_dataObj = JObject.Parse(sub_rootObj.GetString("data"));
var subtempList = ParseJson(sub_dataObj.GetString("list"),cookie); var subtempList = ParseJson(sub_dataObj.GetString("list"), cookie);
if (subtempList != null && subtempList.Count > 0) if (subtempList != null && subtempList.Count > 0)
{ {
homeWorkRepository.BatchSetHomeWorkRepository(subtempList); homeWorkRepository.BatchSetHomeWorkRepository(subtempList);
...@@ -94,19 +95,30 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -94,19 +95,30 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
catch (Exception ex2)
{
VTX.FW.Helper.LogHelper.WriteError("QuestionManager_RunHomeWork2", ex: ex2);
}
}
}
}
} }
} }
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("QuestionManager_RunHomeWork", ex: ex);
} }
} }
public static void RequestExamDetail(string cookie,int courseId, int examId, int tid,ref RB_HomeWork m) public static void RequestExamDetail(string cookie, int courseId, int examId, int tid, ref RB_HomeWork m)
{ {
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
VTX.FW.Helper.LogHelper.WriteInfo("RequestExamDetail", $"正在查询测验详细信息"); VTX.FW.Helper.LogHelper.WriteInfo("RequestExamDetail", $"正在查询测验详细信息");
var paramStr = $"courseId={courseId}&examsId=[{examId}]&teachersId=[{tid}]&page=1&perpage=20"; var paramStr = $"courseId={courseId}&examsId=[{examId}]&teachersId=[{tid}]&page=1&perpage=20";
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");
try
{
var response = request.PostAsync("https://console.eeo.cn/saasajax/exam.ajax.php?action=getCourseExamAnalysisList", content); var response = request.PostAsync("https://console.eeo.cn/saasajax/exam.ajax.php?action=getCourseExamAnalysisList", content);
var resultStr = response.Result.Content.ReadAsStringAsync().Result ?? string.Empty; var resultStr = response.Result.Content.ReadAsStringAsync().Result ?? string.Empty;
var result = resultStr.TryToJObject(); var result = resultStr.TryToJObject();
if (result.flag) if (result.flag)
...@@ -120,11 +132,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -120,11 +132,8 @@ namespace EduSpider.Spiders.ClassInRule
m.Revised_num = 0; //未匹配数据; m.Revised_num = 0; //未匹配数据;
m.Rnum = homeObj.GetInt("beReviewStSum"); m.Rnum = homeObj.GetInt("beReviewStSum");
m.Cnum = homeObj.GetInt("endStSum"); m.Cnum = homeObj.GetInt("endStSum");
m.Score_value = homeObj.GetDecimal("score_value"); m.Score_value = homeObj.GetDecimal("score_value");
m.Th_cancel = string.Empty; m.Th_cancel = string.Empty;
m.Ref_num = homeObj.GetInt("needReStSum"); m.Ref_num = homeObj.GetInt("needReStSum");
m.Refc_num = homeObj.GetInt("alreadyReStSum"); m.Refc_num = homeObj.GetInt("alreadyReStSum");
m.Av_score = homeObj.GetDecimal("averageScore") / 100; m.Av_score = homeObj.GetDecimal("averageScore") / 100;
...@@ -133,13 +142,18 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -133,13 +142,18 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("QuestionManager_RequestExamDetail", ex: ex);
}
}
/// <summary> /// <summary>
/// JSON字符串转课程列表 /// JSON字符串转课程列表
/// </summary> /// </summary>
/// <param name="data"></param> /// <param name="data"></param>
/// <returns></returns> /// <returns></returns>
public static List<RB_HomeWork> ParseJson(string data,string cookie) public static List<RB_HomeWork> ParseJson(string data, string cookie)
{ {
List<RB_HomeWork> list = new(); List<RB_HomeWork> list = new();
if (!string.IsNullOrWhiteSpace(data)) if (!string.IsNullOrWhiteSpace(data))
...@@ -215,9 +229,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -215,9 +229,11 @@ namespace EduSpider.Spiders.ClassInRule
InfoHelper.WriteLine(string.Format("开始获取{0}作业学员数据", homework_id)); InfoHelper.WriteLine(string.Format("开始获取{0}作业学员数据", homework_id));
VTX.FW.Helper.LogHelper.WriteInfo("RunStuHomeWork", string.Format("开始获取{0}作业学员数据", homework_id)); VTX.FW.Helper.LogHelper.WriteInfo("RunStuHomeWork", string.Format("开始获取{0}作业学员数据", homework_id));
string url = "https://console.eeo.cn/saasajax/exam.ajax.php?action=getCourseExamsStDetailList"; string url = "https://console.eeo.cn/saasajax/exam.ajax.php?action=getCourseExamsStDetailList";
List<RB_Stu_HomeWork> list = new();
try
{
var response = request.PostAsync(url, content); var response = request.PostAsync(url, content);
var sutHomeWorkResult = response.Result.Content.ReadAsStringAsync().Result; var sutHomeWorkResult = response.Result.Content.ReadAsStringAsync().Result;
List<RB_Stu_HomeWork> list = new();
if (!string.IsNullOrWhiteSpace(sutHomeWorkResult)) if (!string.IsNullOrWhiteSpace(sutHomeWorkResult))
{ {
JObject stuHomeRootObj = JObject.Parse(sutHomeWorkResult); JObject stuHomeRootObj = JObject.Parse(sutHomeWorkResult);
...@@ -252,7 +268,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -252,7 +268,7 @@ namespace EduSpider.Spiders.ClassInRule
correct = lastObj.GetDecimal("correctSum"), correct = lastObj.GetDecimal("correctSum"),
wrong = lastObj.GetInt("mistakeSum"), wrong = lastObj.GetInt("mistakeSum"),
course_id = courseId, course_id = courseId,
is_cream = Convert.ToDecimal(tempCream)>=80?1:0, is_cream = Convert.ToDecimal(tempCream) >= 80 ? 1 : 0,
emend = 0, emend = 0,
homework_id = homework_id, homework_id = homework_id,
homework_share_key = string.Empty, homework_share_key = string.Empty,
...@@ -265,8 +281,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -265,8 +281,8 @@ namespace EduSpider.Spiders.ClassInRule
comment = string.Empty, comment = string.Empty,
reform = string.Empty, reform = string.Empty,
school_uid = 0, school_uid = 0,
score = lastObj.GetDecimal("examScore")/100, score = lastObj.GetDecimal("examScore") / 100,
score_p = Convert.ToDecimal(tempCream)/100, score_p = Convert.ToDecimal(tempCream) / 100,
score_type = 5, score_type = 5,
show_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("endTime")), show_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("endTime")),
status = tempStatus, status = tempStatus,
...@@ -291,6 +307,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -291,6 +307,11 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("QuestionManager_RunStuHomeWork", ex: ex);
}
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
stuHomeWorkRepository.BatchSetStuHomeWorkRepository(list); stuHomeWorkRepository.BatchSetStuHomeWorkRepository(list);
......
...@@ -18,10 +18,14 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -18,10 +18,14 @@ namespace EduSpider.Spiders.ClassInRule
private static readonly IStudentRepository courseRepository = new StudentRepository(); private static readonly IStudentRepository courseRepository = new StudentRepository();
/// <summary>
/// 获取学生数据
/// </summary>
/// <param name="cookie"></param>
public static async void RunAsync(string cookie) public static async void RunAsync(string cookie)
{ {
var request = Utility.HttpHelper.GenerateHttp(cookie); var request = Utility.HttpHelper.GenerateHttp(cookie);
int pageIndex = 1, pageCount = 1, pageSize=500; int pageIndex = 1, pageCount = 1, pageSize = 500;
#region 获取最大学生ID #region 获取最大学生ID
//更新账户 //更新账户
...@@ -37,27 +41,24 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -37,27 +41,24 @@ namespace EduSpider.Spiders.ClassInRule
VTX.FW.Helper.LogHelper.WriteInfo("RunAsync", $"正在查询第{pageIndex}-{pageSize}页学员信息"); VTX.FW.Helper.LogHelper.WriteInfo("RunAsync", $"正在查询第{pageIndex}-{pageSize}页学员信息");
var paramStr = $"page={pageIndex}&perpage={pageSize}&isdel=0"; var paramStr = $"page={pageIndex}&perpage={pageSize}&isdel=0";
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");
try
{
var response = await request.PostAsync("https://console.eeo.cn/saasajax/student.ajax.php?action=getSchoolStudentListByPage", content); var response = await request.PostAsync("https://console.eeo.cn/saasajax/student.ajax.php?action=getSchoolStudentListByPage", content);
var resultStr = response.Content.ReadAsStringAsync().Result ?? string.Empty; var resultStr = response.Content.ReadAsStringAsync().Result ?? string.Empty;
var result = resultStr.TryToJObject(); var result = resultStr.TryToJObject();
if (result.flag) if (result.flag)
{ {
var data = (result.val.ContainsKey("data") ? result.val["data"] : new JObject()) as JObject; var data = (result.val.ContainsKey("data") ? result.val["data"] : new JObject()) as JObject;
if (data.ContainsKey("totalStudentNum")) { if (data.ContainsKey("totalStudentNum"))
{
#region 更新PageCount #region 更新PageCount
if (pageIndex == 1) if (pageIndex == 1)
{ {
pageCount = (int)Math.Ceiling(data.GetDecimal("totalStudentNum") / pageSize); pageCount = (int)Math.Ceiling(data.GetDecimal("totalStudentNum") / pageSize);
} }
#endregion #endregion
#region 组装实体 #region 组装实体
var stus = new List<rb_student_hk>(); var stus = new List<rb_student_hk>();
var stuArray = (data["studentList"] as JArray); var stuArray = (data["studentList"] as JArray);
foreach (JObject x in stuArray) foreach (JObject x in stuArray)
...@@ -65,8 +66,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -65,8 +66,8 @@ namespace EduSpider.Spiders.ClassInRule
stus.Add(new rb_student_hk() stus.Add(new rb_student_hk()
{ {
AddTime = ConvertHelper.UnixToDateTime(x.GetString("addTime")), AddTime = ConvertHelper.UnixToDateTime(x.GetString("addTime")),
StudentAccount=x.GetString("studentAccount"), StudentAccount = x.GetString("studentAccount"),
Isdel= x.GetInt("isdel",0), Isdel = x.GetInt("isdel", 0),
IsGroup = x.GetInt("isGroup", 0), IsGroup = x.GetInt("isGroup", 0),
StudId = x.GetInt("studId", 0), StudId = x.GetInt("studId", 0),
Progress = x.GetString("progress"), Progress = x.GetString("progress"),
...@@ -83,7 +84,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -83,7 +84,8 @@ namespace EduSpider.Spiders.ClassInRule
#endregion #endregion
#region 写入账号 #region 写入账号
if (stus.Any(x => x.StudId > MaxStuId)) { if (stus.Any(x => x.StudId > MaxStuId))
{
foreach (var item in stus.Where(x => x.StudId > MaxStuId)) foreach (var item in stus.Where(x => x.StudId > MaxStuId))
{ {
accountList.Add(new rb_account_hk() accountList.Add(new rb_account_hk()
...@@ -103,6 +105,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -103,6 +105,11 @@ namespace EduSpider.Spiders.ClassInRule
#endregion #endregion
} }
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("StudentManager_RunAsync", ex: ex);
}
pageIndex++; pageIndex++;
} }
...@@ -115,8 +122,6 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -115,8 +122,6 @@ namespace EduSpider.Spiders.ClassInRule
InfoHelper.WriteLine("学员同步完成"); InfoHelper.WriteLine("学员同步完成");
VTX.FW.Helper.LogHelper.WriteInfo("RunAsync", $"学员同步完成"); VTX.FW.Helper.LogHelper.WriteInfo("RunAsync", $"学员同步完成");
} }
} }
} }
...@@ -29,6 +29,8 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -29,6 +29,8 @@ namespace EduSpider.Spiders.ClassInRule
{ {
string paramStr = string.Format("page={0}&perpage={1}", pageIndex, perpage); string paramStr = string.Format("page={0}&perpage={1}", pageIndex, 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");
try
{
var response = await request.PostAsync("https://console.eeo.cn/saasajax/teacher.ajax.php?action=getSchoolTeacherFullList", content); var response = await request.PostAsync("https://console.eeo.cn/saasajax/teacher.ajax.php?action=getSchoolTeacherFullList", content);
var result = response.Content.ReadAsStringAsync().Result; var result = response.Content.ReadAsStringAsync().Result;
if (!string.IsNullOrWhiteSpace(result)) if (!string.IsNullOrWhiteSpace(result))
...@@ -54,7 +56,6 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -54,7 +56,6 @@ namespace EduSpider.Spiders.ClassInRule
} }
} }
} }
list.AddRange(ParseJson(rlist)); list.AddRange(ParseJson(rlist));
} }
} }
...@@ -63,6 +64,11 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -63,6 +64,11 @@ namespace EduSpider.Spiders.ClassInRule
Console.WriteLine("result", result); Console.WriteLine("result", result);
VTX.FW.Helper.LogHelper.WriteInfo("RunTeacher", $"result: {result}"); VTX.FW.Helper.LogHelper.WriteInfo("RunTeacher", $"result: {result}");
} }
}
catch (Exception ex)
{
VTX.FW.Helper.LogHelper.WriteError("RunTeacher",ex:ex);
}
if (pageIndex == pageCount) if (pageIndex == pageCount)
{ {
break; break;
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TicketSpider.Spiders
{
public interface ICookiesManager
{
}
}
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