Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dc-java
Overview
Overview
Details
Activity
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
bltdc
dc-java
Commits
0890ff47
Commit
0890ff47
authored
Jun 12, 2019
by
wutong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化代码
parent
666cbde3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
36 deletions
+32
-36
EbayFinanceSyncJob.java
...y/src/main/java/com/bailuntec/job/EbayFinanceSyncJob.java
+31
-35
EbayFinanceSyncJobTest.java
...nc-finance-ebay/src/test/java/EbayFinanceSyncJobTest.java
+1
-1
No files found.
data-base/base-sync-finance-ebay/src/main/java/com/bailuntec/job/EbayFinanceSyncJob.java
View file @
0890ff47
...
...
@@ -35,43 +35,32 @@ public class EbayFinanceSyncJob extends PointJob {
@Override
public
void
executeJob
(
ShardingContext
shardingContext
,
JobPointLog
jobPointLog
)
{
try
{
int
totalPage
=
getTotalPage
(
jobPointLog
);
//分片即将处理的账号总数
try
{
JobAccountLogMapper
jobAccountLogMapper
=
SessionUtil
.
getSession
().
getMapper
(
JobAccountLogMapper
.
class
);
int
totalPage
=
getTotalPage
(
jobPointLog
);
/*
* 根据不同分片
* 再分页去
处理数据
* 再分页去
拿不同的账号执行任务
*/
int
shardingSize
=
totalPage
%
shardingContext
.
getShardingTotalCount
()
==
0
?
totalPage
/
shardingContext
.
getShardingTotalCount
()
:
totalPage
/
shardingContext
.
getShardingTotalCount
()
+
1
;
if
(
shardingContext
.
getShardingItem
()
+
1
<
shardingContext
.
getShardingTotalCount
())
{
totalPage
=
shardingSize
*
(
shardingContext
.
getShardingItem
()
+
1
);
}
int
page
=
0
;
if
(
shardingContext
.
getShardingItem
()
>
0
)
{
page
=
shardingSize
*
shardingContext
.
getShardingItem
();
}
do
{
//拿到账号和任务信息去调接口
List
<
JobAccountLog
>
listByPage
=
jobAccountLogMapper
.
getListByPage
(
12
,
page
*
jobPointLog
.
getPageSize
(),
jobPointLog
.
getPageSize
());
if
(
listByPage
!=
null
&&
listByPage
.
size
()
>
0
)
{
for
(
JobAccountLog
jobAccountLog
:
listByPage
)
{
log
.
warn
(
"分片: "
+
shardingContext
.
getShardingItem
()
+
" 账号: "
+
jobAccountLog
);
if
(
jobAccountLog
.
getId
()
==
null
)
{
//在任务表无记录
BeanUtils
.
copyProperties
(
jobAccountLog
,
jobPointLog
);
jobAccountLog
.
setId
(
null
);
}
callSaasApi
(
jobAccountLog
);
if
(
jobAccountLog
.
getId
()
==
null
)
{
//在任务表无记录
jobAccountLogMapper
.
insertSelective
(
jobAccountLog
);
}
else
{
jobAccountLog
.
setBjModified
(
LocalDateTime
.
now
());
jobAccountLogMapper
.
updateByExampleSelective
(
jobAccountLog
,
JobAccountLogExample
.
newAndCreateCriteria
().
andAccountIdEqualTo
(
jobAccountLog
.
getAccountId
()).
andJobNameEqualTo
(
jobAccountLog
.
getJobName
()).
example
());
}
int
pageSize
=
totalPage
%
shardingContext
.
getShardingTotalCount
()
==
0
?
totalPage
/
shardingContext
.
getShardingTotalCount
()
:
totalPage
/
shardingContext
.
getShardingTotalCount
()
+
1
;
//拿到账号集合
List
<
JobAccountLog
>
listByPage
=
jobAccountLogMapper
.
getListByPage
(
12
,
pageSize
*
shardingContext
.
getShardingItem
(),
pageSize
);
if
(
listByPage
!=
null
&&
listByPage
.
size
()
>
0
)
{
for
(
JobAccountLog
jobAccountLog
:
listByPage
)
{
log
.
warn
(
"分片: "
+
shardingContext
.
getShardingItem
()
+
" 账号: "
+
jobAccountLog
);
if
(
jobAccountLog
.
getId
()
==
null
)
{
//在任务表无记录
BeanUtils
.
copyProperties
(
jobAccountLog
,
jobPointLog
);
jobAccountLog
.
setId
(
null
);
}
callSaasApi
(
jobAccountLog
);
if
(
jobAccountLog
.
getId
()
==
null
)
{
//在任务表无记录
jobAccountLogMapper
.
insertSelective
(
jobAccountLog
);
}
else
{
jobAccountLog
.
setBjModified
(
LocalDateTime
.
now
());
jobAccountLogMapper
.
updateByExampleSelective
(
jobAccountLog
,
JobAccountLogExample
.
newAndCreateCriteria
().
andAccountIdEqualTo
(
jobAccountLog
.
getAccountId
()).
andJobNameEqualTo
(
jobAccountLog
.
getJobName
()).
example
());
}
}
page
++;
}
while
(
page
<=
totalPage
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
log
.
warn
(
"Ebay定时同步费用接口错误"
,
e
);
...
...
@@ -80,10 +69,17 @@ public class EbayFinanceSyncJob extends PointJob {
}
}
private
int
getTotalPage
(
JobPointLog
jobPointLog
)
throws
Exception
{
DcBaseCompanyAccountMapper
accountMapper
=
SessionUtil
.
getSession
().
getMapper
(
DcBaseCompanyAccountMapper
.
class
);
int
l
=
(
int
)
accountMapper
.
countByExample
(
DcBaseCompanyAccountExample
.
newAndCreateCriteria
().
andPlatformIdEqualTo
(
12
).
example
());
return
l
%
jobPointLog
.
getPageSize
()
==
0
?
l
%
jobPointLog
.
getPageSize
()
:
l
%
jobPointLog
.
getPageSize
()
+
1
;
private
int
getTotalPage
(
JobPointLog
jobPointLog
)
{
int
i
=
0
;
try
{
DcBaseCompanyAccountMapper
accountMapper
=
SessionUtil
.
getSession
().
getMapper
(
DcBaseCompanyAccountMapper
.
class
);
i
=
(
int
)
accountMapper
.
countByExample
(
DcBaseCompanyAccountExample
.
newAndCreateCriteria
().
andPlatformIdEqualTo
(
12
).
example
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
SessionUtil
.
closeSession
();
}
return
i
%
jobPointLog
.
getPageSize
()
==
0
?
i
/
jobPointLog
.
getPageSize
()
:
i
/
jobPointLog
.
getPageSize
()
+
1
;
}
public
void
callSaasApi
(
JobAccountLog
job
)
{
...
...
data-base/base-sync-finance-ebay/src/test/java/EbayFinanceSyncJobTest.java
View file @
0890ff47
...
...
@@ -14,7 +14,7 @@ public class EbayFinanceSyncJobTest {
public
void
test3
()
{
EbayFinanceSyncJob
skuSyncJob
=
new
EbayFinanceSyncJob
();
ShardingContext
job
=
new
ShardingContext
(
new
ShardingContexts
(
"1"
,
"job"
,
3
,
""
,
new
HashMap
<>()),
1
);
skuSyncJob
.
executeJob
(
job
,
new
JobPointLog
(
""
,
1
,
100
,
1
,
1
,
LocalDateTime
.
now
().
minusMonths
(
1
),
LocalDateTime
.
now
().
minusDays
(
29
)));
skuSyncJob
.
executeJob
(
job
,
new
JobPointLog
(
""
,
null
,
100
,
1
,
1
,
LocalDateTime
.
now
().
minusMonths
(
1
),
LocalDateTime
.
now
().
minusDays
(
29
)));
}
...
...
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