Commit dc1ad233 authored by 黄奎's avatar 黄奎

页面修改

parent a8fcda25
using EduSpider.Model.Entity; using EduSpider.Model.Entity;
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;
...@@ -17,5 +18,13 @@ namespace EduSpider.Repository ...@@ -17,5 +18,13 @@ namespace EduSpider.Repository
/// <returns></returns> /// <returns></returns>
public bool BatchSetCourseStudentRepository(List<RB_Course_Student> courses); public bool BatchSetCourseStudentRepository(List<RB_Course_Student> courses);
/// <summary>
/// 跟进查询条件获取课程学员列表
/// </summary>
/// <param name="courseQuery"></param>
/// <returns></returns>
public List<RB_Course_Student> GetCourseStudentListRepository(CourseQuery query);
} }
} }
...@@ -10,185 +10,184 @@ namespace EduSpider.Model.Entity ...@@ -10,185 +10,184 @@ namespace EduSpider.Model.Entity
[DB(ConnectionName = "DefaultConnection")] [DB(ConnectionName = "DefaultConnection")]
public class RB_Stu_HomeWork public class RB_Stu_HomeWork
{ {
/// <summary> /// <summary>
/// 学生家庭作业主键编号 /// 学生家庭作业主键编号
/// </summary> /// </summary>
public int stu_homework_id { get; set; } public int stu_homework_id { get; set; }
/// <summary> /// <summary>
/// admire /// admire
/// </summary> /// </summary>
public string admire { get; set; } public string admire { get; set; }
/// <summary> /// <summary>
/// cancel /// cancel
/// </summary> /// </summary>
public string cancel { get; set; } public string cancel { get; set; }
/// <summary> /// <summary>
/// 正确数量 /// 正确数量
/// </summary> /// </summary>
public decimal? correct { get; set; } public decimal correct { get; set; }
/// <summary> /// <summary>
/// 错误题数 /// 错误题数
/// </summary> /// </summary>
public int? wrong { get; set; } public int wrong { get; set; }
/// <summary> /// <summary>
/// 课程编号 /// 课程编号
/// </summary> /// </summary>
public int? course_id { get; set; } public int course_id { get; set; }
/// <summary> /// <summary>
/// is_cream /// is_cream
/// </summary> /// </summary>
public int? is_cream { get; set; } public int is_cream { get; set; }
/// <summary> /// <summary>
/// emend /// emend
/// </summary> /// </summary>
public int? emend { get; set; } public int emend { get; set; }
/// <summary> /// <summary>
/// 作业编号 /// 作业编号
/// </summary> /// </summary>
public int? homework_id { get; set; } public int homework_id { get; set; }
/// <summary> /// <summary>
/// 作业分享Key /// 作业分享Key
/// </summary> /// </summary>
public string homework_share_key { get; set; } public string homework_share_key { get; set; }
/// <summary> /// <summary>
/// is_draft /// is_draft
/// </summary> /// </summary>
public int? is_draft { get; set; } public int is_draft { get; set; }
/// <summary> /// <summary>
/// is_reform /// is_reform
/// </summary> /// </summary>
public int? is_reform { get; set; } public int? is_reform { get; set; }
/// <summary> /// <summary>
/// is_revised /// is_revised
/// </summary> /// </summary>
public int? is_revised { get; set; } public int is_revised { get; set; }
/// <summary> /// <summary>
/// is_startd /// is_startd
/// </summary> /// </summary>
public int? is_startd { get; set; } public int is_startd { get; set; }
/// <summary> /// <summary>
/// readover /// readover
/// </summary> /// </summary>
public string readover { get; set; } public string readover { get; set; }
/// <summary> /// <summary>
/// 提交时间 /// 提交时间
/// </summary> /// </summary>
public DateTime? ref_time { get; set; } public DateTime ref_time { get; set; }
/// <summary> /// <summary>
/// 评语 /// 评语
/// </summary> /// </summary>
public string comment { get; set; } public string comment { get; set; }
/// <summary> /// <summary>
/// reform /// reform
/// </summary> /// </summary>
public string reform { get; set; } public string reform { get; set; }
/// <summary> /// <summary>
/// school_uid /// school_uid
/// </summary> /// </summary>
public int? school_uid { get; set; } public int school_uid { get; set; }
/// <summary> /// <summary>
/// 得分 /// 得分
/// </summary> /// </summary>
public decimal? score { get; set; } public decimal score { get; set; }
/// <summary> /// <summary>
/// 得分率 /// 得分率
/// </summary> /// </summary>
public decimal? score_p { get; set; } public decimal score_p { get; set; }
/// <summary> /// <summary>
/// 评分机制 /// 评分机制
/// </summary> /// </summary>
public int? score_type { get; set; } public int score_type { get; set; }
/// <summary> /// <summary>
/// show_time /// show_time
/// </summary> /// </summary>
public DateTime? show_time { get; set; } public DateTime show_time { get; set; }
/// <summary> /// <summary>
/// status /// status
/// </summary> /// </summary>
public string status { get; set; } public string status { get; set; }
/// <summary> /// <summary>
/// 学生作业分享Key /// 学生作业分享Key
/// </summary> /// </summary>
public string stu_homework_share_key { get; set; } public string stu_homework_share_key { get; set; }
/// <summary> /// <summary>
/// 学生账号 /// 学生账号
/// </summary> /// </summary>
public string student_account { get; set; } public string student_account { get; set; }
/// <summary> /// <summary>
/// 学生姓名 /// 学生姓名
/// </summary> /// </summary>
public string student_name { get; set; } public string student_name { get; set; }
/// <summary> /// <summary>
/// 学生编号 /// 学生编号
/// </summary> /// </summary>
public int? student_uid { get; set; } public int student_uid { get; set; }
/// <summary> /// <summary>
/// 教师账号 /// 教师账号
/// </summary> /// </summary>
public string th_account { get; set; } public string th_account { get; set; }
/// <summary> /// <summary>
/// th_cancel /// th_cancel
/// </summary> /// </summary>
public string th_cancel { get; set; } public string th_cancel { get; set; }
/// <summary> /// <summary>
/// 教师姓名 /// 教师姓名
/// </summary> /// </summary>
public string th_name { get; set; } public string th_name { get; set; }
/// <summary> /// <summary>
/// 教师数量 /// 教师数量
/// </summary> /// </summary>
public int? th_num { get; set; } public int th_num { get; set; }
/// <summary> /// <summary>
/// 教师创建时间 /// 教师创建时间
/// </summary> /// </summary>
public DateTime? th_time { get; set; } public DateTime th_time { get; set; }
/// <summary> /// <summary>
/// 教师账号表编号 /// 教师账号表编号
/// </summary> /// </summary>
public int? th_uid { get; set; } public int th_uid { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
public DateTime? add_time { get; set; } public DateTime add_time { get; set; }
/// <summary> /// <summary>
/// 更新时间 /// 更新时间
/// </summary> /// </summary>
public DateTime? update_time { get; set; } public DateTime update_time { get; set; }
}
}
} }
...@@ -21,5 +21,7 @@ namespace EduSpider.Model.Query ...@@ -21,5 +21,7 @@ namespace EduSpider.Model.Query
/// 课程名称 /// 课程名称
/// </summary> /// </summary>
public string courseName { get; set; } public string courseName { get; set; }
} }
} }
using EduSpider.Model.Entity; using EduSpider.Model.Entity;
using EduSpider.Model.Query;
using EduSpider.Repository.Base; using EduSpider.Repository.Base;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text;
using VTX.FW.DB.Dapper;
namespace EduSpider.Repository namespace EduSpider.Repository
{ {
...@@ -20,5 +24,30 @@ namespace EduSpider.Repository ...@@ -20,5 +24,30 @@ namespace EduSpider.Repository
flag = base.BatchInsert(courses, isReplace: true); flag = base.BatchInsert(courses, isReplace: true);
return flag; return flag;
} }
/// <summary>
/// 跟进查询条件获取课程学员列表
/// </summary>
/// <param name="courseQuery"></param>
/// <returns></returns>
public List<RB_Course_Student> GetCourseStudentListRepository(CourseQuery query)
{
var parameters = new DynamicParameters();
StringBuilder builder = new();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Course_Student AS A
WHERE 1=1
");
if (query != null)
{
if (query.courseId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_Student.courseId), query.courseId);
}
}
return base.Get<RB_Course_Student>(builder.ToString(), parameters).ToList();
}
} }
} }
...@@ -32,6 +32,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -32,6 +32,7 @@ namespace EduSpider.Spiders.ClassInRule
IHomeWorkRepository homeWorkRepository = new HomeWorkRepository(); IHomeWorkRepository homeWorkRepository = new HomeWorkRepository();
int totalCount = 0; int totalCount = 0;
Console.WriteLine(string.Format("开始第{0}次获取家庭作业", pageCount)); Console.WriteLine(string.Format("开始第{0}次获取家庭作业", pageCount));
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;
...@@ -50,8 +51,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -50,8 +51,7 @@ namespace EduSpider.Spiders.ClassInRule
Console.WriteLine(string.Format("第{0}次,导入完成{1}条.", pageCount, totalCount)); Console.WriteLine(string.Format("第{0}次,导入完成{1}条.", pageCount, totalCount));
foreach (var item in tempList) foreach (var item in tempList)
{ {
//TODO RunStuHomeWork(cookie, item.homework_id, item.course_id);
} }
} }
if (totalNum % perpage == 0) if (totalNum % perpage == 0)
...@@ -62,6 +62,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -62,6 +62,7 @@ namespace EduSpider.Spiders.ClassInRule
{ {
pageCount = totalNum / perpage + 1; pageCount = totalNum / perpage + 1;
} }
if (totalNum > perpage) if (totalNum > perpage)
{ {
for (var i = 2; i <= pageCount; i++) for (var i = 2; i <= pageCount; i++)
...@@ -87,7 +88,7 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -87,7 +88,7 @@ namespace EduSpider.Spiders.ClassInRule
Console.WriteLine(string.Format("第{0}次,导入完成{1}条.", i, totalCount)); Console.WriteLine(string.Format("第{0}次,导入完成{1}条.", i, totalCount));
foreach (var sItem in subtempList) foreach (var sItem in subtempList)
{ {
//TODO RunStuHomeWork(cookie, sItem.homework_id, sItem.course_id);
} }
} }
} }
...@@ -155,9 +156,99 @@ namespace EduSpider.Spiders.ClassInRule ...@@ -155,9 +156,99 @@ 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 void RunStuHomeWork(string cookie, int homework_id) public static async void RunStuHomeWork(string cookie, int homework_id,int courseId)
{ {
var request = Utility.HttpHelper.GenerateHttp(cookie);
IStuHomeWorkRepository stuHomeWorkRepository = new StuHomeWorkRepository();
ICourseStudentRepository courseStudentRepository = new CourseStudentRepository();
string stuIds = "";
var courseStuList = courseStudentRepository.GetCourseStudentListRepository(new Model.Query.CourseQuery() { courseId = courseId });
if (courseStuList != null)
{
stuIds = string.Join(",", courseStuList.Select(qitem => qitem.uid));
}
string queryStr = "page=1&perpage=100000&homework_id=[{0}]&course_id=[{1}]&is_del=[0]&student_uid=[{2}]&by=2";
string paramStr = string.Format(queryStr, homework_id, courseId, stuIds);
var content = new StringContent(paramStr, System.Text.Encoding.UTF8, "application/x-www-form-urlencoded");
Console.WriteLine(string.Format("开始获取{0}作业学员数据", homework_id));
string url = "https://console.eeo.cn/saasajax/homework.ajax.php?action=getStudentsHomeworkList";
var response = await request.PostAsync(url, content);
var sutHomeWorkResult = response.Content.ReadAsStringAsync().Result;
List<RB_Stu_HomeWork> list = new List<RB_Stu_HomeWork>();
if (!string.IsNullOrWhiteSpace(sutHomeWorkResult))
{
JObject stuHomeRootObj = JObject.Parse(sutHomeWorkResult);
if (!string.IsNullOrWhiteSpace(stuHomeRootObj.GetString("data")))
{
JObject stuHomeDataObj = JObject.Parse(stuHomeRootObj.GetString("data"));
if (!string.IsNullOrWhiteSpace(stuHomeDataObj.GetString("list")))
{
JArray stuHomeArray = JArray.Parse(stuHomeDataObj.GetString("list"));
if (stuHomeArray != null && stuHomeArray.Count > 0)
{
foreach (var rootItem in stuHomeArray)
{
JObject stuItemObj = JObject.Parse(rootItem.ToString());
if (!string.IsNullOrWhiteSpace(stuItemObj.GetString("students")))
{
JArray stuListArray = JArray.Parse(stuItemObj.GetString("students"));
if (stuListArray != null && stuListArray.Count > 0)
{
foreach (var sItem in stuListArray)
{
JObject lastObj = JObject.Parse(sItem.ToString());
list.Add(new RB_Stu_HomeWork()
{
stu_homework_id = lastObj.GetInt("stu_homework_id"),
admire = lastObj.GetString("admire"),
cancel = lastObj.GetString("cancel"),
correct = lastObj.GetDecimal("correct"),
wrong = lastObj.GetInt("wrong"),
course_id = lastObj.GetInt("course_id"),
is_cream = lastObj.GetInt("is_cream"),
emend = lastObj.GetInt("emend"),
homework_id = lastObj.GetInt("homework_id"),
homework_share_key = lastObj.GetString("homework_share_key"),
is_draft = lastObj.GetInt("is_draft"),
is_reform = lastObj.GetInt("is_reform"),
is_revised = lastObj.GetInt("is_revised"),
is_startd = lastObj.GetInt("is_startd"),
readover = lastObj.GetString("readover"),
ref_time= ConvertHelper.UnixToDateTime(lastObj.GetInt("ref_time")),
comment = lastObj.GetString("comment"),
reform = lastObj.GetString("reform"),
school_uid = lastObj.GetInt("school_uid"),
score = lastObj.GetDecimal("score"),
score_p = lastObj.GetDecimal("score_p"),
score_type = lastObj.GetInt("score_type"),
show_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("show_time")),
status = lastObj.GetString("status"),
stu_homework_share_key= lastObj.GetString("stu_homework_share_key"),
student_account = lastObj.GetString("student_account"),
student_name = lastObj.GetString("student_name"),
student_uid = lastObj.GetInt("student_uid"),
th_account = lastObj.GetString("th_account"),
th_cancel = lastObj.GetString("th_cancel"),
th_name = lastObj.GetString("th_name"),
th_num = lastObj.GetInt("th_num"),
th_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("th_time")),
th_uid = lastObj.GetInt("th_uid"),
add_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("add_time")),
update_time = ConvertHelper.UnixToDateTime(lastObj.GetInt("update_time")),
});
}
}
}
}
}
}
}
}
if (list != null && list.Count > 0)
{
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