Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
service-campaign
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nguyen Ha
service-campaign
Commits
c90b558e
Commit
c90b558e
authored
Aug 09, 2019
by
Nguyen Ha
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add job
parent
661ba580
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
77 additions
and
4 deletions
+77
-4
src/main/java/com/viettel/campaign/job/CampaignJob.java
src/main/java/com/viettel/campaign/job/CampaignJob.java
+77
-4
No files found.
src/main/java/com/viettel/campaign/job/CampaignJob.java
View file @
c90b558e
package
com.viettel.campaign.job
;
import
com.viettel.campaign.model.Campaign
;
import
com.viettel.campaign.model.ProcessConfig
;
import
com.viettel.campaign.service.CampaignService
;
import
com.viettel.campaign.service.ProcessConfigService
;
import
com.viettel.campaign.utils.DateTimeUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author hanv_itsol
...
...
@@ -13,11 +23,74 @@ import java.util.Date;
@Slf4j
public
class
CampaignJob
{
private
static
final
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
private
static
final
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"dd-MM-yyyy HH:mm:ss"
);
private
static
final
String
CUSTOMER_INACTIVE_DUARATION
=
"CUSTOMER_INACTIVE_DUARATION"
;
private
static
final
String
CRON_EXPRESSION_CHECK_START
=
"CRON_EXPRESSION_CHECK_START"
;
private
static
final
String
CRON_EXPRESSION_CHECK_END
=
"CRON_EXPRESSION_CHECK_END"
;
// @Scheduled(fixedRate = 6000)
// @Transactional( propagation = Propagation.REQUIRED)
@Autowired
private
ProcessConfigService
processConfigService
;
@Autowired
private
CampaignService
campaignService
;
// @Scheduled(fixedRate = 5000)
@Transactional
(
propagation
=
Propagation
.
REQUIRED
)
public
void
process
()
{
// log.info("processing job2 ..."+ dateFormat.format(new Date()));
log
.
info
(
Thread
.
currentThread
().
getName
()
+
" The Task executed at "
+
dateFormat
.
format
(
new
Date
()));
List
<
ProcessConfig
>
list
=
processConfigService
.
findAll
();
list
.
parallelStream
().
forEach
(
p
->
{
boolean
isExecute
=
DateTimeUtil
.
isRun
(
p
.
getConfigValue
(),
p
.
getLastProcess
());
switch
(
p
.
getConfigCode
()){
case
CUSTOMER_INACTIVE_DUARATION:
if
(
isExecute
){
}
break
;
case
CRON_EXPRESSION_CHECK_START:
// process
if
(
isExecute
){
// chuyen trang thai Du thao sang Trien khai
log
.
info
(
"thay doi trang thai"
);
List
<
Long
>
status
=
new
ArrayList
<>();
status
.
add
(
1L
);
status
.
add
(
1L
);
List
<
Campaign
>
campaigns
=
campaignService
.
findCampaignByCompanySiteIdAndStartTimeIsLessThanEqualAndStatusIn
(
p
.
getSiteId
(),
new
Date
(),
status
);
campaigns
.
parallelStream
().
forEach
(
campaign
->
{
campaign
.
setProcessStatus
(
1
);
campaign
.
setStatus
(
2L
);
campaign
.
setCampaignStart
(
new
Date
());
campaignService
.
updateProcess
(
campaign
);
});
// update last check
p
.
setLastProcess
(
new
Date
());
processConfigService
.
update
(
p
);
}
break
;
case
CRON_EXPRESSION_CHECK_END:
// process
if
(
isExecute
){
// chuyen trang thai sang ket thuc
List
<
Long
>
status
=
new
ArrayList
<>();
status
.
add
(
2L
);
status
.
add
(
3L
);
List
<
Campaign
>
campaigns
=
campaignService
.
findCampaignByCompanySiteIdAndEndTimeIsLessThanEqualAndStatusIn
(
p
.
getSiteId
(),
new
Date
(),
status
);
campaigns
.
parallelStream
().
forEach
(
campaign
->
{
campaign
.
setStatus
(
4L
);
campaign
.
setCampaignEnd
(
new
Date
());
campaignService
.
updateProcess
(
campaign
);
});
}
break
;
default
:
}
});
}
}
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