Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
EduSpider
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
viitto
EduSpider
Commits
a7ecb561
Commit
a7ecb561
authored
May 25, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/viitto/eduspider
parents
d74dd1e8
2c01b41d
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
304 additions
and
7 deletions
+304
-7
EduSpider.IRepository.csproj
EduSpider.IRepository/EduSpider.IRepository.csproj
+2
-2
ITeacherRepository.cs
EduSpider.IRepository/ITeacherRepository.cs
+24
-0
EduSpider.IServices.csproj
EduSpider.IServices/EduSpider.IServices.csproj
+1
-1
ITeacherService.cs
EduSpider.IServices/ITeacherService.cs
+17
-0
EduSpider.Model.csproj
EduSpider.Model/EduSpider.Model.csproj
+1
-1
RB_Teacher.cs
EduSpider.Model/Entity/RB_Teacher.cs
+94
-0
EduSpider.Repository.csproj
EduSpider.Repository/EduSpider.Repository.csproj
+1
-1
TeacherRepository.cs
EduSpider.Repository/TeacherRepository.cs
+26
-0
EduSpider.Services.csproj
EduSpider.Services/EduSpider.Services.csproj
+1
-1
TeacherService.cs
EduSpider.Services/TeacherService.cs
+18
-0
EduSpider.Utility.csproj
EduSpider.Utility/EduSpider.Utility.csproj
+1
-1
TeacherManager.cs
EduSpider/Spiders/ClassInRule/TeacherManager.cs
+118
-0
No files found.
EduSpider.IRepository/EduSpider.IRepository.csproj
View file @
a7ecb561
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
...
...
EduSpider.IRepository/ITeacherRepository.cs
0 → 100644
View file @
a7ecb561
using
EduSpider.Model.Entity
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VTX.FW.Config
;
using
VTX.FW.DB
;
namespace
EduSpider.Repository
{
/// <summary>
/// 老师仓储接口
/// </summary>
public
interface
ITeacherRepository
:
IDBRepository
<
RB_Teacher
>,
IDependency
{
/// <summary>
/// 批量新增老师
/// </summary>
/// <param name="teachers"></param>
/// <returns></returns>
public
bool
BatchSetTeache
(
List
<
RB_Teacher
>
teachers
);
}
}
EduSpider.IServices/EduSpider.IServices.csproj
View file @
a7ecb561
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
...
...
EduSpider.IServices/ITeacherService.cs
0 → 100644
View file @
a7ecb561
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VTX.FW.Config
;
namespace
EduSpider.IServices
{
/// <summary>
/// 老师服务层接口
/// </summary>
public
interface
ITeacherService
:
IDependency
{
}
}
EduSpider.Model/EduSpider.Model.csproj
View file @
a7ecb561
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
...
...
EduSpider.Model/Entity/RB_Teacher.cs
0 → 100644
View file @
a7ecb561
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VTX.FW.Attr
;
namespace
EduSpider.Model.Entity
{
[
Serializable
]
[
DB
(
ConnectionName
=
"DefaultConnection"
)]
public
class
RB_Teacher
{
/// <summary>
/// TeacherId
/// </summary>
public
int
TeacherId
{
get
;
set
;
}
/// <summary>
/// uid
/// </summary>
public
int
TeacherUid
{
get
;
set
;
}
/// <summary>
/// 老师姓名
/// </summary>
public
string
TeacherName
{
get
;
set
;
}
/// <summary>
/// 老师照片
/// </summary>
public
string
Logo
{
get
;
set
;
}
/// <summary>
/// 老师介绍
/// </summary>
public
string
Introduce
{
get
;
set
;
}
/// <summary>
/// 账号(手机号码)
/// </summary>
public
string
TeacherAccount
{
get
;
set
;
}
/// <summary>
/// 性别 1男 2女
/// </summary>
public
int
Sex
{
get
;
set
;
}
/// <summary>
/// 在职状态 0在职 1已停职
/// </summary>
public
int
Status
{
get
;
set
;
}
/// <summary>
/// IsGroup
/// </summary>
public
int
IsGroup
{
get
;
set
;
}
/// <summary>
/// 老师编号
/// </summary>
public
string
TeacherNo
{
get
;
set
;
}
/// <summary>
/// 位置
/// </summary>
public
string
Position
{
get
;
set
;
}
/// <summary>
/// 区域ID
/// </summary>
public
int
RegionId
{
get
;
set
;
}
/// <summary>
/// 公共授权资源
/// </summary>
public
int
PublicResourceStatus
{
get
;
set
;
}
/// <summary>
/// 个人授权资源
/// </summary>
public
string
ClientCreateCourse
{
get
;
set
;
}
/// <summary>
/// 标签
/// </summary>
public
string
TeacherLabels
{
get
;
set
;
}
/// <summary>
/// 课程进度
/// </summary>
public
string
Progress
{
get
;
set
;
}
}
}
EduSpider.Repository/EduSpider.Repository.csproj
View file @
a7ecb561
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
...
...
EduSpider.Repository/TeacherRepository.cs
0 → 100644
View file @
a7ecb561
using
EduSpider.Model.Entity
;
using
EduSpider.Repository.Base
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EduSpider.Repository
{
/// <summary>
/// 老师仓储层
/// </summary>
public
class
TeacherRepository
:
BaseRepository
<
RB_Teacher
>,
ITeacherRepository
{
/// <summary>
/// 批量新增老师
/// </summary>
/// <param name="teachers"></param>
/// <returns></returns>
public
bool
BatchSetTeache
(
List
<
RB_Teacher
>
teachers
)
{
return
base
.
BatchInsert
(
teachers
,
isReplace
:
true
);
}
}
}
EduSpider.Services/EduSpider.Services.csproj
View file @
a7ecb561
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</ItemGroup>
<ItemGroup>
<ItemGroup>
...
...
EduSpider.Services/TeacherService.cs
0 → 100644
View file @
a7ecb561
using
EduSpider.IServices
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
EduSpider.Services
{
/// <summary>
/// 老师服务实现
/// </summary>
public
class
TeacherService
:
ITeacherService
{
}
}
EduSpider.Utility/EduSpider.Utility.csproj
View file @
a7ecb561
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="VTX.FW" Version="1.
0
.0" />
<PackageReference Include="VTX.FW" Version="1.
1
.0" />
</ItemGroup>
</ItemGroup>
</Project>
</Project>
EduSpider/Spiders/ClassInRule/TeacherManager.cs
0 → 100644
View file @
a7ecb561
using
EduSpider.Model.Entity
;
using
EduSpider.Repository
;
using
EduSpider.Utility.Enum
;
using
Newtonsoft.Json.Linq
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Net.Http
;
using
System.Text
;
using
VTX.FW.Helper
;
namespace
EduSpider.Spiders.ClassInRule
{
/// <summary>
/// 课程关联
/// </summary>
public
class
TeacherManager
{
/// <summary>
/// 获取老师列表
/// </summary>
public
async
void
RunTeacher
(
string
cookie
)
{
int
perpage
=
20
,
pageIndex
=
1
,
pageCount
=
1
;
var
request
=
Utility
.
HttpHelper
.
GenerateHttp
(
cookie
);
List
<
RB_Teacher
>
list
=
new
();
while
(
true
)
{
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
response
=
await
request
.
PostAsync
(
"https://console.eeo.cn/saasajax/teacher.ajax.php?action=getSchoolTeacherFullList"
,
content
);
var
result
=
response
.
Content
.
ReadAsStringAsync
().
Result
;
if
(!
string
.
IsNullOrWhiteSpace
(
result
))
{
JObject
rootObj
=
JObject
.
Parse
(
result
);
if
(!
string
.
IsNullOrWhiteSpace
(
rootObj
.
GetString
(
"data"
)))
{
JObject
dataObj
=
JObject
.
Parse
(
rootObj
.
GetString
(
"data"
));
var
totalNum
=
dataObj
.
GetInt
(
"totalNum"
);
string
rlist
=
dataObj
.
GetString
(
"list"
);
if
(
pageIndex
==
1
)
{
if
(
totalNum
>
perpage
)
{
if
(
totalNum
%
perpage
==
0
)
{
pageCount
=
totalNum
/
perpage
;
}
else
{
pageCount
=
(
totalNum
/
perpage
)
+
1
;
}
}
}
list
.
AddRange
(
ParseJson
(
rlist
));
}
}
else
{
Console
.
WriteLine
(
"result"
,
result
);
}
if
(
pageIndex
==
pageCount
)
{
break
;
}
pageIndex
++;
}
ITeacherRepository
teacherRepository
=
new
TeacherRepository
();
teacherRepository
.
BatchSetTeache
(
list
.
OrderBy
(
x
=>
x
.
TeacherId
).
ToList
());
}
/// <summary>
/// 数据转换
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public
static
List
<
RB_Teacher
>
ParseJson
(
string
data
)
{
List
<
RB_Teacher
>
list
=
new
();
JArray
courseArray
=
JArray
.
Parse
(
data
);
if
(
courseArray
!=
null
&&
courseArray
.
Count
>
0
)
{
foreach
(
var
jItem
in
courseArray
)
{
JObject
rObj
=
JObject
.
Parse
(
jItem
.
ToString
());
string
Logo
=
rObj
.
GetString
(
"logo"
);
if
(!
string
.
IsNullOrEmpty
(
Logo
))
{
Logo
=
"https://console.eeo.cn/upload/images/"
+
Logo
;
}
list
.
Add
(
new
RB_Teacher
()
{
TeacherId
=
rObj
.
GetInt
(
"id"
),
TeacherUid
=
rObj
.
GetInt
(
"uid"
),
Introduce
=
rObj
.
GetString
(
"introduce"
),
IsGroup
=
rObj
.
GetInt
(
"isGroup"
),
Logo
=
Logo
,
Sex
=
rObj
.
GetInt
(
"sex"
),
Status
=
rObj
.
GetInt
(
"status"
),
TeacherAccount
=
rObj
.
GetString
(
"account"
),
TeacherName
=
rObj
.
GetString
(
"name"
),
TeacherNo
=
rObj
.
GetString
(
"empno"
),
Position
=
rObj
.
GetString
(
"position"
),
RegionId
=
rObj
.
GetInt
(
"regionId"
),
PublicResourceStatus
=
rObj
.
GetInt
(
"publicResourceStatus"
),
ClientCreateCourse
=
rObj
.
GetString
(
"clientCreateCourse"
),
TeacherLabels
=
rObj
.
GetString
(
"teacherLabels"
),
Progress
=
rObj
.
GetString
(
"progress"
)
});
}
}
return
list
;
}
}
}
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