Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
iqiyiWin
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
wuliangshun
iqiyiWin
Commits
89710e80
Commit
89710e80
authored
Feb 26, 2021
by
wuliangshun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加多任务
parent
84fa22f7
Changes
6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
252 additions
and
94 deletions
+252
-94
TaskEnums.cs
iqiyiWin/Enums/TaskEnums.cs
+19
-0
EnumExtension.cs
iqiyiWin/Extension/EnumExtension.cs
+38
-0
Main.Designer.cs
iqiyiWin/Main.Designer.cs
+72
-75
Main.cs
iqiyiWin/Main.cs
+120
-18
Program.cs
iqiyiWin/Program.cs
+1
-1
iqiyiWin.csproj
iqiyiWin/iqiyiWin.csproj
+2
-0
No files found.
iqiyiWin/Enums/TaskEnums.cs
0 → 100644
View file @
89710e80
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
iqiyiWin.Enums
{
public
enum
TaskTypeEnum
{
[
Description
(
"签到"
)]
SignIn
=
0
,
[
Description
(
"查询观影豆"
)]
MovieBean
=
1
,
[
Description
(
"查询优惠券"
)]
Coupon
=
2
}
}
iqiyiWin/Extension/EnumExtension.cs
0 → 100644
View file @
89710e80
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Linq
;
using
System.Reflection
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
iqiyiWin.Extension
{
public
static
class
EnumExtension
{
/// <summary>
/// 扩展方法,获得枚举的Description
/// </summary>
/// <param name="value">枚举值</param>
/// <param name="nameInstead">当枚举值没有定义DescriptionAttribute,是否使用枚举名代替,默认是使用</param>
/// <returns>枚举的Description</returns>
public
static
string
GetDescription
(
this
Enum
value
,
Boolean
nameInstead
=
true
)
{
Type
type
=
value
.
GetType
();
string
name
=
Enum
.
GetName
(
type
,
value
);
if
(
name
==
null
)
{
return
null
;
}
FieldInfo
field
=
type
.
GetField
(
name
);
DescriptionAttribute
attribute
=
System
.
Attribute
.
GetCustomAttribute
(
field
,
typeof
(
DescriptionAttribute
))
as
DescriptionAttribute
;
if
(
attribute
==
null
&&
nameInstead
==
true
)
{
return
name
;
}
return
attribute
?.
Description
;
}
}
}
iqiyiWin/Main.Designer.cs
View file @
89710e80
This diff is collapsed.
Click to expand it.
iqiyiWin/Main.cs
View file @
89710e80
...
@@ -16,6 +16,8 @@ using System.Threading;
...
@@ -16,6 +16,8 @@ using System.Threading;
using
System.Collections
;
using
System.Collections
;
using
System.IO
;
using
System.IO
;
using
DingDingSdk
;
using
DingDingSdk
;
using
iqiyiWin.Enums
;
using
iqiyiWin.Extension
;
namespace
iqiyiWin
namespace
iqiyiWin
{
{
...
@@ -85,6 +87,14 @@ namespace iqiyiWin
...
@@ -85,6 +87,14 @@ namespace iqiyiWin
/// 默认定时任务的时间
/// 默认定时任务的时间
/// </summary>
/// </summary>
public
int
IntervalTime
=
12
*
60
*
60
;
public
int
IntervalTime
=
12
*
60
*
60
;
/// <summary>
/// 等待执行的任务列表
/// </summary>
public
List
<
TaskTypeEnum
>
TaskList
=
new
List
<
TaskTypeEnum
>();
/// <summary>
/// 当前执行的任务下标
/// </summary>
public
int
TaskIndex
=
-
1
;
public
Main
()
public
Main
()
...
@@ -212,11 +222,35 @@ namespace iqiyiWin
...
@@ -212,11 +222,35 @@ namespace iqiyiWin
var
hour
=
Convert
.
ToInt32
((
EndTime
-
StartTime
)
/
(
1000
*
60
*
60
));
var
hour
=
Convert
.
ToInt32
((
EndTime
-
StartTime
)
/
(
1000
*
60
*
60
));
var
mominute
=
Convert
.
ToInt32
(((
EndTime
-
StartTime
)
%
(
1000
*
60
*
60
))
/
(
1000
*
60
));
var
mominute
=
Convert
.
ToInt32
(((
EndTime
-
StartTime
)
%
(
1000
*
60
*
60
))
/
(
1000
*
60
));
var
msecond
=
((
EndTime
-
StartTime
)
%
(
1000
*
60
)
/
1000
);
var
msecond
=
((
EndTime
-
StartTime
)
%
(
1000
*
60
)
/
1000
);
var
logText
=
$"本次共计执行
{
SelectNum
}
个账号,成功
{
SuccessNum
}
个账号,失败
{
ErrorNum
}
个账号,所用时长
{
hour
}
小时
{
mominute
}
分钟
{
msecond
}
秒钟。"
;
UILogUtils
.
Info
(
logText
);
var
logText
=
$"爱奇艺票务 本次
{
EnumExtension
.
GetDescription
(
TaskList
[
TaskIndex
])}
任务,共计执行
{
SelectNum
}
个账号,成功
{
SuccessNum
}
个账号,失败
{
ErrorNum
}
个账号,所用时长
{
hour
}
小时
{
mominute
}
分钟
{
msecond
}
秒钟。"
;
if
(
TimerTiming
.
Enabled
)
{
SendDingdingMessagesAsync
(
$"
{
logText
}
"
,
"18057708086"
);
}
else
{
UILogUtils
.
Info
(
$"
{
logText
}
"
);
}
if
(
TaskIndex
<
TaskList
.
Count
-
1
&&
TaskIndex
!=
-
1
)
{
Interlocked
.
Increment
(
ref
TaskIndex
);
runTask
();
}
else
{
TaskIndex
=
-
1
;
if
(
TimerTiming
.
Enabled
)
if
(
TimerTiming
.
Enabled
)
{
{
SendDingdingMessagesAsync
(
$"爱奇艺票务 每日任务执行完毕,
{
logText
}
"
,
"18057708086"
);
var
taskNameList
=
new
List
<
string
>();
foreach
(
var
item
in
TaskList
)
{
taskNameList
.
Add
(
EnumExtension
.
GetDescription
(
item
));
}
SendDingdingMessagesAsync
(
$"爱奇艺票务 每日任务[
{
string
.
Join
(
" , "
,
taskNameList
.
ToArray
())}
]执行完毕。"
,
"18057708086"
);
}
}
}
}
}
...
@@ -351,6 +385,12 @@ namespace iqiyiWin
...
@@ -351,6 +385,12 @@ namespace iqiyiWin
IsLoading
=
true
;
IsLoading
=
true
;
TaskList
=
new
List
<
TaskTypeEnum
>{
TaskTypeEnum
.
SignIn
};
TaskIndex
=
0
;
AccountSignIn
(
iqiyiAccounts
);
AccountSignIn
(
iqiyiAccounts
);
}
}
...
@@ -445,6 +485,12 @@ namespace iqiyiWin
...
@@ -445,6 +485,12 @@ namespace iqiyiWin
IsLoading
=
true
;
IsLoading
=
true
;
TaskList
=
new
List
<
TaskTypeEnum
>{
TaskTypeEnum
.
MovieBean
};
TaskIndex
=
0
;
queryMovieBean
(
iqiyiAccounts
);
queryMovieBean
(
iqiyiAccounts
);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
...
@@ -539,6 +585,12 @@ namespace iqiyiWin
...
@@ -539,6 +585,12 @@ namespace iqiyiWin
IsLoading
=
true
;
IsLoading
=
true
;
TaskList
=
new
List
<
TaskTypeEnum
>{
TaskTypeEnum
.
Coupon
};
TaskIndex
=
0
;
queryCouponNum
(
iqiyiAccounts
);
queryCouponNum
(
iqiyiAccounts
);
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
...
@@ -631,22 +683,70 @@ namespace iqiyiWin
...
@@ -631,22 +683,70 @@ namespace iqiyiWin
return
;
return
;
}
}
IsLoading
=
true
;
TaskList
=
new
List
<
TaskTypeEnum
>()
;
var
taskNameList
=
new
List
<
string
>();
// 执行签到
// 执行签到
if
(
r
b_signIn
.
Checked
)
if
(
c
b_signIn
.
Checked
)
{
{
AccountSignIn
(
IqiyiAccounts
);
TaskList
.
Add
(
TaskTypeEnum
.
SignIn
);
taskNameList
.
Add
(
$"
{
EnumExtension
.
GetDescription
(
TaskTypeEnum
.
SignIn
)}
"
);
}
}
// 执行查询观影豆
// 执行查询观影豆
else
if
(
r
b_movieBean
.
Checked
)
if
(
c
b_movieBean
.
Checked
)
{
{
queryMovieBean
(
IqiyiAccounts
);
TaskList
.
Add
(
TaskTypeEnum
.
MovieBean
);
taskNameList
.
Add
(
$"
{
EnumExtension
.
GetDescription
(
TaskTypeEnum
.
MovieBean
)}
"
);
}
}
// 执行查询优惠券
// 执行查询优惠券
else
if
(
rb_coupon
.
Checked
)
if
(
cb_coupon
.
Checked
)
{
TaskList
.
Add
(
TaskTypeEnum
.
Coupon
);
taskNameList
.
Add
(
$"
{
EnumExtension
.
GetDescription
(
TaskTypeEnum
.
Coupon
)}
"
);
}
if
(
TaskList
.
Count
!=
0
)
{
UILogUtils
.
Info
(
TimerTiming
.
Enabled
.
ToString
());
if
(
TimerTiming
.
Enabled
)
{
SendDingdingMessagesAsync
(
$"爱奇艺票务 即将开始执行
{
TaskList
.
Count
}
个任务 [
{
string
.
Join
(
" , "
,
taskNameList
.
ToArray
())}
]"
,
"18057708086"
);
}
IsLoading
=
true
;
TaskIndex
=
0
;
runTask
();
}
else
{
{
IsLoading
=
false
;
}
}
public
void
runTask
(){
if
(
TaskIndex
==
-
1
)
{
return
;
}
var
currentTask
=
TaskList
[
TaskIndex
];
if
(
TimerTiming
.
Enabled
)
{
SendDingdingMessagesAsync
(
$"爱奇艺票务 开始执行
{
EnumExtension
.
GetDescription
(
currentTask
)}
任务"
,
"18057708086"
);
}
switch
(
currentTask
)
{
case
TaskTypeEnum
.
SignIn
:
AccountSignIn
(
IqiyiAccounts
);
break
;
case
TaskTypeEnum
.
MovieBean
:
queryMovieBean
(
IqiyiAccounts
);
break
;
case
TaskTypeEnum
.
Coupon
:
queryCouponNum
(
IqiyiAccounts
);
queryCouponNum
(
IqiyiAccounts
);
break
;
default
:
UILogUtils
.
Error
(
$"未知任务类型"
);
break
;
}
}
}
}
...
@@ -724,6 +824,7 @@ namespace iqiyiWin
...
@@ -724,6 +824,7 @@ namespace iqiyiWin
private
void
清空账号
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
清空账号
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
dgv_user
.
DataSource
=
null
;
dgv_user
.
DataSource
=
null
;
IqiyiAccounts
=
new
List
<
IqiyiAccount
>();
}
}
private
void
删除
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
删除
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
...
@@ -757,15 +858,15 @@ namespace iqiyiWin
...
@@ -757,15 +858,15 @@ namespace iqiyiWin
try
try
{
{
String
fileDirectory
=
""
;
String
fileDirectory
=
""
;
if
(
r
b_signIn
.
Checked
)
if
(
c
b_signIn
.
Checked
)
{
{
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"签到"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"签到"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
}
}
else
if
(
r
b_movieBean
.
Checked
)
else
if
(
c
b_movieBean
.
Checked
)
{
{
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"查询观影豆"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"查询观影豆"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
}
}
else
if
(
r
b_coupon
.
Checked
)
else
if
(
c
b_coupon
.
Checked
)
{
{
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"查询优惠券"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
fileDirectory
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
"日志"
,
"查询优惠券"
,
DateTime
.
Now
.
ToString
(
"yyyyMMdd"
));
}
}
...
@@ -834,7 +935,6 @@ namespace iqiyiWin
...
@@ -834,7 +935,6 @@ namespace iqiyiWin
UILogUtils
.
Info
(
logText
);
UILogUtils
.
Info
(
logText
);
TimerSetOnTime
.
Interval
=
1000
*
(
timeDifference
);
TimerSetOnTime
.
Interval
=
1000
*
(
timeDifference
);
TimerSetOnTime
.
Tick
+=
new
EventHandler
((
s
,
e
)
=>
TimerSetOnTime
.
Tick
+=
new
EventHandler
((
s
,
e
)
=>
...
@@ -849,21 +949,23 @@ namespace iqiyiWin
...
@@ -849,21 +949,23 @@ namespace iqiyiWin
}
}
public
void
setTiming
()
public
void
setTiming
()
{
{
SendDingdingMessagesAsync
(
"爱奇艺票务 开始执行每日任务"
,
"18057708086"
);
// TODO 缩短执行时间
Btn_start_Click
(
new
object
(),
new
EventArgs
());
TimerTiming
.
Interval
=
1000
*
60
*
60
*
24
;
TimerTiming
.
Interval
=
1000
*
60
*
60
*
24
;
// TimerTiming.Interval = 1000 * 10;
TimerTiming
.
Tick
+=
new
EventHandler
((
s
,
e
)
=>
TimerTiming
.
Tick
+=
new
EventHandler
((
s
,
e
)
=>
{
{
SendDingdingMessagesAsync
(
"爱奇艺票务 开始执行每日任务"
,
"18057708086"
);
Btn_start_Click
(
new
object
(),
new
EventArgs
());
Btn_start_Click
(
new
object
(),
new
EventArgs
());
});
});
TimerTiming
.
Start
();
TimerTiming
.
Start
();
Btn_start_Click
(
new
object
(),
new
EventArgs
());
}
}
private
static
void
SendDingdingMessagesAsync
(
string
message
,
string
mobile
)
private
static
void
SendDingdingMessagesAsync
(
string
message
,
string
mobile
)
{
{
UILogUtils
.
Info
(
$"发送钉钉消息:
{
message
}
,
{
mobile
}
"
);
if
(
message
!=
null
)
if
(
message
!=
null
)
{
{
message
=
"[千猪]"
+
message
;
message
=
"[千猪]"
+
message
;
...
...
iqiyiWin/Program.cs
View file @
89710e80
iqiyiWin/iqiyiWin.csproj
View file @
89710e80
...
@@ -55,6 +55,8 @@
...
@@ -55,6 +55,8 @@
<Compile
Include=
"Constant\ApiConstant.cs"
/>
<Compile
Include=
"Constant\ApiConstant.cs"
/>
<Compile
Include=
"Constant\DingDingConstant.cs"
/>
<Compile
Include=
"Constant\DingDingConstant.cs"
/>
<Compile
Include=
"Constant\IqiyiVersion.cs"
/>
<Compile
Include=
"Constant\IqiyiVersion.cs"
/>
<Compile
Include=
"Enums\TaskEnums.cs"
/>
<Compile
Include=
"Extension\EnumExtension.cs"
/>
<Compile
Include=
"Main.cs"
>
<Compile
Include=
"Main.cs"
>
<SubType>
Form
</SubType>
<SubType>
Form
</SubType>
</Compile>
</Compile>
...
...
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