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
67ed734e
Commit
67ed734e
authored
Sep 12, 2019
by
Tu Bach
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tubn campaign execute update manual search
parent
8c5fed76
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
69 additions
and
44 deletions
+69
-44
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignAgentRepository.java
...ampaign/repository/ccms_full/CampaignAgentRepository.java
+3
-1
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
...pository/ccms_full/impl/CampaignExecuteRepositoryImp.java
+15
-7
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
.../com/viettel/campaign/service/CampaignExecuteService.java
+2
-2
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
...ttel/campaign/service/impl/CampaignExecuteServiceImp.java
+47
-31
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
.../viettel/campaign/web/rest/CampaignExecuteController.java
+2
-3
No files found.
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignAgentRepository.java
View file @
67ed734e
...
...
@@ -18,7 +18,9 @@ public interface CampaignAgentRepository extends JpaRepository<CampaignAgent, Lo
@Query
(
value
=
"SELECT campaign_agent_seq.nextval FROM DUAL"
,
nativeQuery
=
true
)
Long
getNextSeqId
();
List
<
CampaignAgent
>
findByCampaignIdAndAgentId
(
Long
campaignId
,
Long
agentId
);
CampaignAgent
findByCampaignIdAndAgentId
(
Long
campaignId
,
Long
agentId
);
List
<
CampaignAgent
>
findByAgentId
(
Long
agentId
);
@Modifying
@Query
(
"delete from CampaignAgent c where c.campaignAgentId in (:p_campaign_agent_id)"
)
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
View file @
67ed734e
...
...
@@ -460,6 +460,9 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
List
<
CampaignDTO
>
searchCampaignExecute
(
CampaignRequestDTO
campaignRequestDto
,
Pageable
pageable
)
{
List
<
CampaignDTO
>
result
=
new
ArrayList
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
null
;
StringBuilder
expression
=
new
StringBuilder
()
.
append
(
" SELECT C.CAMPAIGN_CODE, C.CAMPAIGN_NAME, C.CONTENT, C.START_TIME, C.END_TIME, C.STATUS, CA.STATUS AS AGENT_STATUS, C.CAMPAIGN_ID "
)
.
append
(
" FROM CAMPAIGN C INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID "
)
...
...
@@ -506,12 +509,15 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
try
{
Query
query
=
entityManager
.
createNativeQuery
(
expression
.
toString
());
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
SQLQuery
query
=
session
.
createSQLQuery
(
expression
.
toString
());
query
.
setParameter
(
"pAgentId"
,
Long
.
parseLong
(
campaignRequestDto
.
getAgentId
()));
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
())
&&
!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
().
trim
())
)
{
String
[]
lstCode
=
campaignRequestDto
.
getCampaignCode
().
split
(
","
);
query
.
setParameter
(
"pCampaignCode"
,
lstCode
);
query
.
setParameter
List
(
"pCampaignCode"
,
lstCode
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignName
()))
{
...
...
@@ -557,9 +563,7 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
Object
[]>
data
=
query
.
getResultList
();
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(campaignRequestDto.getCampaignId()), Long.parseLong(campaignRequestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(campaignRequestDto.getCampaignId()), Long.parseLong(campaignRequestDto.getCompanySiteId()));
List
<
Object
[]>
data
=
query
.
list
();
for
(
Object
[]
obj
:
data
)
{
CampaignDTO
item
=
new
CampaignDTO
();
...
...
@@ -580,7 +584,11 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
return
result
;
}
catch
(
Exception
e
)
{
// e.printStackTrace();
e
.
printStackTrace
();
}
finally
{
if
(
null
!=
session
)
{
session
.
close
();
}
}
return
result
;
...
...
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
67ed734e
...
...
@@ -20,7 +20,7 @@ public interface CampaignExecuteService {
XSSFWorkbook
exportInteractiveResult
(
CampaignRequestDTO
dto
)
throws
IOException
;
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
,
String
xAuthToken
);
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
);
ResultDTO
checkExecuteCampaign
(
CampaignRequestDTO
requestDto
);
...
...
@@ -54,7 +54,7 @@ public interface CampaignExecuteService {
ResultDTO
updateListContactQuestResult
(
ContactQuestResultDTO
dto
);
String
getDialModeAtCurrent
(
Long
c
ampaignId
,
Long
companySite
Id
);
String
getDialModeAtCurrent
(
Long
c
ompanySiteId
,
Long
campaign
Id
);
ResultDTO
getContactCustResultById
(
Long
contactCustResultId
);
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
67ed734e
...
...
@@ -261,31 +261,43 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
//</editor-fold: hungtt>
@Override
public
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
,
String
xAuthToken
)
{
public
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
Map
data
=
new
HashMap
();
UserSession
userSession
=
(
UserSession
)
RedisUtil
.
getInstance
().
get
(
xAuthToken
);
String
campaignSystemStatus
=
""
;
String
campaignExecuting
=
""
;
Integer
count
=
campaignExecuteRepository
.
searchCampaignExecute
(
requestDto
,
null
).
size
();
if
(
count
>
0
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
result
.
setTotalRow
(
count
);
result
.
setListData
(
campaignExecuteRepository
.
searchCampaignExecute
(
requestDto
,
SQLBuilder
.
buildPageable
(
requestDto
)));
Agents
agents
=
agentsRepository
.
findByAgentId
(
requestDto
.
getAgentId
());
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
try
{
Integer
count
=
campaignExecuteRepository
.
searchCampaignExecute
(
requestDto
,
null
).
size
();
if
(
agents
.
getUserStatus
()
!=
null
&&
agents
.
getCampaignSystemStatus
()
!=
null
)
{
if
(
agents
.
getUserStatus
().
equalsIgnoreCase
(
"CALLOUT"
)
&&
agents
.
getCampaignSystemStatus
().
equalsIgnoreCase
(
"AVAILABLE"
))
{
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
data
.
put
(
"dialModeManual"
,
"1"
);
if
(
count
>
0
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
result
.
setTotalRow
(
count
);
List
<
CampaignDTO
>
campaignList
=
campaignExecuteRepository
.
searchCampaignExecute
(
requestDto
,
SQLBuilder
.
buildPageable
(
requestDto
));
result
.
setListData
(
campaignList
);
Agents
agents
=
agentsRepository
.
findByAgentId
(
requestDto
.
getAgentId
());
if
(
agents
.
getCampaignSystemStatus
()
!=
null
&&
agents
.
getCampaignSystemStatus
().
equalsIgnoreCase
(
"AVAILABLE"
))
{
campaignSystemStatus
=
"1"
;
for
(
CampaignDTO
item
:
campaignList
)
{
if
(
item
.
getStatus
()
==
2
&&
item
.
getAgentStatus
()
==
1
)
{
campaignExecuting
=
item
.
getCampaignId
().
toString
();
break
;
}
}
}
data
.
put
(
"campaignSystemStatus"
,
campaignSystemStatus
);
data
.
put
(
"campaignExecuting"
,
campaignExecuting
);
result
.
setData
(
data
);
}
else
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
data
.
put
(
"dialModeManual"
,
campaignSystemStatus
);
data
.
put
(
"campaignExecuting"
,
campaignExecuting
);
result
.
setData
(
data
);
}
result
.
setData
(
data
);
}
else
{
}
catch
(
Exception
e
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
...
...
@@ -298,7 +310,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
ResultDTO
result
=
new
ResultDTO
();
try
{
String
dialMode
=
getDialModeAtCurrent
(
Long
.
parseLong
(
requestDto
.
getC
ampaignId
()),
Long
.
parseLong
(
requestDto
.
getCompanySite
Id
()));
String
dialMode
=
getDialModeAtCurrent
(
Long
.
parseLong
(
requestDto
.
getC
ompanySiteId
()),
Long
.
parseLong
(
requestDto
.
getCampaign
Id
()));
VSAUsers
vsa
=
vsaUsersRepository
.
findByUserId
(
Long
.
parseLong
(
requestDto
.
getAgentId
()));
AgentStatusStat
ass
=
agentStatusStatRepository
.
findByKzUserIdAndCurrentStatusNotIn
(
vsa
.
getUserKazooId
(),
Arrays
.
asList
(
"logged_out"
,
"campaign"
));
if
(
ass
!=
null
)
{
...
...
@@ -325,6 +337,14 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
ResultDTO
result
=
new
ResultDTO
();
try
{
if
(
requestDto
.
getType
()
==
2
)
{
List
<
CampaignAgent
>
ca
=
campaignAgentRepository
.
findByAgentId
(
Long
.
parseLong
(
requestDto
.
getAgentId
()));
for
(
CampaignAgent
item:
ca
)
{
item
.
setStatus
(
0
);
}
ca
=
campaignAgentRepository
.
saveAll
(
ca
);
}
// update acd_full.agents table
Agents
agents
=
agentsRepository
.
findByAgentId
(
requestDto
.
getAgentId
());
agents
.
setAgentId
(
requestDto
.
getAgentId
());
...
...
@@ -334,11 +354,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
Agents
a1
=
agentsRepository
.
save
(
agents
);
// update ccms_full.campaign_agent table
List
<
CampaignAgent
>
ca
=
campaignAgentRepository
.
findByCampaignIdAndAgentId
(
Long
.
parseLong
(
requestDto
.
getCampaignId
()),
Long
.
parseLong
(
requestDto
.
getAgentId
()));
for
(
CampaignAgent
item
:
ca
)
{
item
.
setStatus
(
1
);
}
List
<
CampaignAgent
>
ca1
=
campaignAgentRepository
.
saveAll
(
ca
);
CampaignAgent
ca
=
campaignAgentRepository
.
findByCampaignIdAndAgentId
(
Long
.
parseLong
(
requestDto
.
getCampaignId
()),
Long
.
parseLong
(
requestDto
.
getAgentId
()));
ca
.
setStatus
(
1
);
ca
=
campaignAgentRepository
.
save
(
ca
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
...
...
@@ -542,11 +560,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
try
{
agentsRepository
.
updateAgentLogoutFromCampaign
(
dto
.
getAgentId
(),
"LOGOUT"
);
// update ccms_full.campaign_agent table
List
<
CampaignAgent
>
ca
=
campaignAgentRepository
.
findByCampaignIdAndAgentId
(
Long
.
parseLong
(
dto
.
getCampaignId
()),
Long
.
parseLong
(
dto
.
getAgentId
()));
for
(
CampaignAgent
item
:
ca
)
{
item
.
setStatus
(
1
);
}
List
<
CampaignAgent
>
ca1
=
campaignAgentRepository
.
saveAll
(
ca
);
CampaignAgent
ca
=
campaignAgentRepository
.
findByCampaignIdAndAgentId
(
Long
.
parseLong
(
dto
.
getCampaignId
()),
Long
.
parseLong
(
dto
.
getAgentId
()));
ca
.
setStatus
(
1
);
ca
=
campaignAgentRepository
.
save
(
ca
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
...
...
@@ -840,7 +856,7 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
}
@Override
public
String
getDialModeAtCurrent
(
Long
c
ampaignId
,
Long
companySite
Id
)
{
public
String
getDialModeAtCurrent
(
Long
c
ompanySiteId
,
Long
campaign
Id
)
{
// 0: manual, 1- Preview, 2-Progressive, 3-Super Progressive, 4- Predictive
try
{
TimeRangeDialMode
lstTimeRange
=
rangeDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
...
...
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
View file @
67ed734e
...
...
@@ -34,9 +34,8 @@ public class CampaignExecuteController {
@PostMapping
(
"/searchCampaignExecute"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchCampaignExecute
(
@RequestBody
CampaignRequestDTO
requestDto
,
HttpServletRequest
request
)
{
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
ResultDTO
result
=
campaignExecuteService
.
searchCampaignExecute
(
requestDto
,
xAuthToken
);
public
ResponseEntity
<
ResultDTO
>
searchCampaignExecute
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
searchCampaignExecute
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
...
...
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