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
fca8e007
Commit
fca8e007
authored
Sep 12, 2019
by
Tu Bach
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tubn campaign execute update search manual
parent
b1895e46
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
113 additions
and
18 deletions
+113
-18
src/main/java/com/viettel/campaign/model/ccms_full/AgentStatusStat.java
...com/viettel/campaign/model/ccms_full/AgentStatusStat.java
+37
-0
src/main/java/com/viettel/campaign/repository/ccms_full/AgentStatusStatRepository.java
...paign/repository/ccms_full/AgentStatusStatRepository.java
+14
-1
src/main/java/com/viettel/campaign/repository/ccms_full/TimeRangeDialModeRepository.java
...ign/repository/ccms_full/TimeRangeDialModeRepository.java
+7
-7
src/main/java/com/viettel/campaign/repository/ccms_full/TimeZoneDialModeRepository.java
...aign/repository/ccms_full/TimeZoneDialModeRepository.java
+8
-7
src/main/java/com/viettel/campaign/repository/ccms_full/VSAUsersRepository.java
...tel/campaign/repository/ccms_full/VSAUsersRepository.java
+3
-0
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
.../com/viettel/campaign/service/CampaignExecuteService.java
+2
-0
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
...ttel/campaign/service/impl/CampaignExecuteServiceImp.java
+35
-3
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
.../viettel/campaign/web/rest/CampaignExecuteController.java
+7
-0
No files found.
src/main/java/com/viettel/campaign/model/ccms_full/AgentStatusStat.java
View file @
fca8e007
package
com.viettel.campaign.model.ccms_full
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
@Entity
@Table
(
name
=
"AGENT_STATUS_STAT"
)
@Getter
@Setter
public
class
AgentStatusStat
{
@Id
@NotNull
@GeneratedValue
(
generator
=
"AGENT_STATUS_STAT_SEQ"
)
@SequenceGenerator
(
name
=
"AGENT_STATUS_STAT_SEQ"
,
sequenceName
=
"AGENT_STATUS_STAT_SEQ"
,
allocationSize
=
1
)
@Basic
(
optional
=
false
)
@Column
(
name
=
"KZ_ACCOUNT_ID"
)
@NotNull
private
String
kzAccountId
;
@Column
(
name
=
"KZ_USER_ID"
)
@NotNull
private
String
kzUserId
;
@Column
(
name
=
"CURRENT_STATUS"
)
@NotNull
private
String
currentStatus
;
@Column
(
name
=
"TIMESTAMP"
)
@NotNull
private
String
timestamp
;
@Column
(
name
=
"PREVIOUS_STATUS"
)
private
String
previousStatus
;
@Column
(
name
=
"PREVIOUS_STATUS_DURATION"
)
private
Long
previousStatusDuration
;
@Column
(
name
=
"ID"
)
@NotNull
private
Long
id
;
@Column
(
name
=
"CHANNEL"
)
@NotNull
private
String
channel
;
}
src/main/java/com/viettel/campaign/repository/ccms_full/AgentStatusStatRepository.java
View file @
fca8e007
package
com.viettel.campaign.repository.ccms_full
;
public
class
AgentStatusStatRepository
{
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.model.ccms_full.AgentStatusStat
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
@Repository
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
interface
AgentStatusStatRepository
extends
JpaRepository
<
AgentStatusStat
,
Long
>
{
AgentStatusStat
findByKzUserIdAndCurrentStatusNotIn
(
String
kzUserId
,
List
<
String
>
currentStatus
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/TimeRangeDialModeRepository.java
View file @
fca8e007
...
...
@@ -21,13 +21,13 @@ public interface TimeRangeDialModeRepository extends JpaRepository<TimeRangeDial
List
<
TimeRangeDialMode
>
findTimeRangeDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
@Query
(
value
=
"SELECT * "
+
"FROM (SELECT
Z
.* "
+
" FROM TIME_
ZONE_DIAL_MODE Z INNER JOIN CAMPAIGN C ON Z.CAMPAIGN_ID = C.CAMPAIGN_ID
"
+
" WHERE
Z
.COMPANY_SITE_ID = :companySiteId "
+
" AND
Z
.CAMPAIGN_ID = :campaignId "
+
" AND
TO_DATE(START_TIME, 'YYYY/MM/DD') <= TO_DATE(SYSDATE, 'YYYY/MM/DD')
"
+
" AND
TO_DATE((to_char(SYSDATE, 'YYYY/MM/DD') || ' ' || Z.HOUR || ':' || Z.MINUTE || ':00'), 'YYYY/MM/DD HH24:MI:SS')
<= SYSDATE "
+
" ORDER BY
TO_DATE((to_char(SYSDATE, 'YYYY/MM/DD') || ' ' || Z.HOUR || ':' || Z.MINUTE || ':00'), 'YYYY/MM/DD HH24:MI:SS')
DESC "
+
"FROM (SELECT
R
.* "
+
" FROM TIME_
RANGE_DIAL_MODE R INNER JOIN CAMPAIGN C ON R.CAMPAIGN_ID = C.CAMPAIGN_ID
"
+
" WHERE
R
.COMPANY_SITE_ID = :companySiteId "
+
" AND
R
.CAMPAIGN_ID = :campaignId "
+
" AND
C.START_TIME <= SYSDATE
"
+
" AND
R.START_TIME
<= SYSDATE "
+
" ORDER BY
R.START_TIME
DESC "
+
" ) WHERE ROWNUM = 1"
,
nativeQuery
=
true
)
TimeRangeDialMode
findDialModeAtCurrent
(
@Param
(
"companySiteId"
)
Long
companySiteId
,
@Param
(
"campaignId"
)
Long
campaignId
);
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/TimeZoneDialModeRepository.java
View file @
fca8e007
...
...
@@ -21,14 +21,15 @@ public interface TimeZoneDialModeRepository extends JpaRepository<TimeZoneDialMo
List
<
TimeZoneDialMode
>
findTimeZoneDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
@Query
(
value
=
"SELECT * "
+
"FROM (SELECT R.* "
+
" FROM TIME_RANGE_DIAL_MODE R "
+
" WHERE R.CAMPAIGN_ID = 11 "
+
" AND R.COMPANY_SITE_ID = 662691 "
+
" AND TO_DATE(R.START_TIME, 'YYYY/MM/DD HH24:MI:SS') <= TO_DATE(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') "
+
" ORDER BY R.START_TIME DESC "
+
"FROM (SELECT Z.* "
+
" FROM TIME_ZONE_DIAL_MODE Z INNER JOIN CAMPAIGN C ON Z.CAMPAIGN_ID = C.CAMPAIGN_ID "
+
" WHERE Z.COMPANY_SITE_ID = :companySiteId "
+
" AND Z.CAMPAIGN_ID = :campaignId "
+
" AND TO_CHAR(C.START_TIME, 'YYYY/MM/DD') <= TO_CHAR(SYSDATE, 'YYYY/MM/DD') "
+
" AND TO_DATE((TO_CHAR(SYSDATE, 'YYYY/MM/DD') || ' ' || Z.HOUR || ':' || Z.MINUTE || ':00'), 'YYYY/MM/DD HH24:MI:SS') <= SYSDATE "
+
" ORDER BY TO_DATE((TO_CHAR(SYSDATE, 'YYYY/MM/DD') || ' ' || Z.HOUR || ':' || Z.MINUTE || ':00'), 'YYYY/MM/DD HH24:MI:SS') DESC "
+
" ) WHERE ROWNUM = 1"
,
nativeQuery
=
true
)
TimeZoneDialMode
findDialModeAtCurrent
(
@Param
(
"c
ampaignId"
)
Long
campaignId
,
@Param
(
"companySiteId"
)
Long
companySite
Id
);
TimeZoneDialMode
findDialModeAtCurrent
(
@Param
(
"c
ompanySiteId"
)
Long
companySiteId
,
@Param
(
"campaignId"
)
Long
campaign
Id
);
void
deleteAllByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/VSAUsersRepository.java
View file @
fca8e007
...
...
@@ -6,5 +6,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
import
java.util.List
;
public
interface
VSAUsersRepository
extends
JpaRepository
<
VSAUsers
,
Long
>
{
List
<
VSAUsers
>
findAllByCompanySiteId
(
Long
companySiteId
);
VSAUsers
findByUserId
(
Long
userId
);
}
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
fca8e007
...
...
@@ -22,6 +22,8 @@ public interface CampaignExecuteService {
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
,
String
xAuthToken
);
ResultDTO
checkExecuteCampaign
(
CampaignRequestDTO
requestDto
);
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
);
ResultDTO
getCustomer
(
CampaignCustomerDTO
dto
);
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
fca8e007
...
...
@@ -79,6 +79,12 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Autowired
CustomerRepository
customerRepository
;
@Autowired
AgentStatusStatRepository
agentStatusStatRepository
;
@Autowired
VSAUsersRepository
vsaUsersRepository
;
public
CampaignExecuteServiceImp
()
throws
NoSuchAlgorithmException
{
}
...
...
@@ -287,10 +293,36 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return
result
;
}
@Override
public
ResultDTO
checkExecuteCampaign
(
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
try
{
String
dialMode
=
getDialModeAtCurrent
(
Long
.
parseLong
(
requestDto
.
getCampaignId
()),
Long
.
parseLong
(
requestDto
.
getCompanySiteId
()));
VSAUsers
vsa
=
vsaUsersRepository
.
findByUserId
(
Long
.
parseLong
(
requestDto
.
getAgentId
()));
AgentStatusStat
ass
=
agentStatusStatRepository
.
findByKzUserIdAndCurrentStatusNotIn
(
vsa
.
getUserKazooId
(),
Arrays
.
asList
(
"logged_out"
,
"campaign"
));
if
(
ass
!=
null
)
{
result
.
setErrorCode
(
"02"
);
result
.
setDescription
(
"campaign-agents-err-callout"
);
}
else
if
(
dialMode
.
equalsIgnoreCase
(
"-1"
))
{
result
.
setErrorCode
(
"03"
);
result
.
setDescription
(
"campaign-agents-err-dial-mode"
);
}
else
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
}
catch
(
Exception
e
)
{
// e.printStackTrace();
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
result
;
}
@Override
public
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
String
dialMode
=
getDialModeAtCurrent
(
Long
.
parseLong
(
requestDto
.
getCompanySiteId
()),
Long
.
parseLong
(
requestDto
.
getCampaignId
()));
try
{
// update acd_full.agents table
...
...
@@ -814,9 +846,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
TimeRangeDialMode
lstTimeRange
=
rangeDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
TimeZoneDialMode
lstTimeZone
=
zoneDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
if
(
lstTimeRange
.
getTimeRangeDialModeId
()
!=
null
)
{
if
(
lstTimeRange
!=
null
)
{
return
lstTimeRange
.
getDialMode
().
toString
();
}
else
if
(
lstTimeZone
.
getTimeZoneDialModeId
()
!=
null
)
{
}
else
if
(
lstTimeZone
!=
null
)
{
return
lstTimeZone
.
getDialMode
().
toString
();
}
}
catch
(
Exception
e
)
{
...
...
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
View file @
fca8e007
...
...
@@ -40,6 +40,13 @@ public class CampaignExecuteController {
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/checkExecuteCampaign"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
checkExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
checkExecuteCampaign
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getExecuteCampaign"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
...
...
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