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
5 years ago
by
Tu Bach
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tubn campaign execute update search manual
parent
b1895e46
Changes
8
Hide 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
;
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
{
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
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/ccms_full/AgentStatusStatRepository.java
View file @
fca8e007
package
com.viettel.campaign.repository.ccms_full
;
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
);
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/ccms_full/TimeRangeDialModeRepository.java
View file @
fca8e007
...
@@ -21,13 +21,13 @@ public interface TimeRangeDialModeRepository extends JpaRepository<TimeRangeDial
...
@@ -21,13 +21,13 @@ public interface TimeRangeDialModeRepository extends JpaRepository<TimeRangeDial
List
<
TimeRangeDialMode
>
findTimeRangeDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
List
<
TimeRangeDialMode
>
findTimeRangeDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
@Query
(
value
=
"SELECT * "
+
@Query
(
value
=
"SELECT * "
+
"FROM (SELECT
Z
.* "
+
"FROM (SELECT
R
.* "
+
" FROM TIME_
ZONE_DIAL_MODE Z INNER JOIN CAMPAIGN C ON Z.CAMPAIGN_ID = C.CAMPAIGN_ID
"
+
" FROM TIME_
RANGE_DIAL_MODE R INNER JOIN CAMPAIGN C ON R.CAMPAIGN_ID = C.CAMPAIGN_ID
"
+
" WHERE
Z
.COMPANY_SITE_ID = :companySiteId "
+
" WHERE
R
.COMPANY_SITE_ID = :companySiteId "
+
" AND
Z
.CAMPAIGN_ID = :campaignId "
+
" AND
R
.CAMPAIGN_ID = :campaignId "
+
" AND
TO_DATE(START_TIME, 'YYYY/MM/DD') <= TO_DATE(SYSDATE, 'YYYY/MM/DD')
"
+
" AND
C.START_TIME <= SYSDATE
"
+
" AND
TO_DATE((to_char(SYSDATE, 'YYYY/MM/DD') || ' ' || Z.HOUR || ':' || Z.MINUTE || ':00'), 'YYYY/MM/DD HH24:MI:SS')
<= SYSDATE "
+
" AND
R.START_TIME
<= SYSDATE "
+
" ORDER BY
TO_DATE((to_char(SYSDATE, 'YYYY/MM/DD') || ' ' || Z.HOUR || ':' || Z.MINUTE || ':00'), 'YYYY/MM/DD HH24:MI:SS')
DESC "
+
" ORDER BY
R.START_TIME
DESC "
+
" ) WHERE ROWNUM = 1"
,
nativeQuery
=
true
)
" ) WHERE ROWNUM = 1"
,
nativeQuery
=
true
)
TimeRangeDialMode
findDialModeAtCurrent
(
@Param
(
"companySiteId"
)
Long
companySiteId
,
@Param
(
"campaignId"
)
Long
campaignId
);
TimeRangeDialMode
findDialModeAtCurrent
(
@Param
(
"companySiteId"
)
Long
companySiteId
,
@Param
(
"campaignId"
)
Long
campaignId
);
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/ccms_full/TimeZoneDialModeRepository.java
View file @
fca8e007
...
@@ -21,14 +21,15 @@ public interface TimeZoneDialModeRepository extends JpaRepository<TimeZoneDialMo
...
@@ -21,14 +21,15 @@ public interface TimeZoneDialModeRepository extends JpaRepository<TimeZoneDialMo
List
<
TimeZoneDialMode
>
findTimeZoneDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
List
<
TimeZoneDialMode
>
findTimeZoneDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
@Query
(
value
=
"SELECT * "
+
@Query
(
value
=
"SELECT * "
+
"FROM (SELECT R.* "
+
"FROM (SELECT Z.* "
+
" FROM TIME_RANGE_DIAL_MODE R "
+
" FROM TIME_ZONE_DIAL_MODE Z INNER JOIN CAMPAIGN C ON Z.CAMPAIGN_ID = C.CAMPAIGN_ID "
+
" WHERE R.CAMPAIGN_ID = 11 "
+
" WHERE Z.COMPANY_SITE_ID = :companySiteId "
+
" AND R.COMPANY_SITE_ID = 662691 "
+
" AND Z.CAMPAIGN_ID = :campaignId "
+
" AND TO_DATE(R.START_TIME, 'YYYY/MM/DD HH24:MI:SS') <= TO_DATE(SYSDATE, 'YYYY/MM/DD HH24:MI:SS') "
+
" AND TO_CHAR(C.START_TIME, 'YYYY/MM/DD') <= TO_CHAR(SYSDATE, 'YYYY/MM/DD') "
+
" ORDER BY R.START_TIME DESC "
+
" 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
)
" ) 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
);
void
deleteAllByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
}
}
This diff is collapsed.
Click to expand it.
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;
...
@@ -6,5 +6,8 @@ import org.springframework.data.jpa.repository.JpaRepository;
import
java.util.List
;
import
java.util.List
;
public
interface
VSAUsersRepository
extends
JpaRepository
<
VSAUsers
,
Long
>
{
public
interface
VSAUsersRepository
extends
JpaRepository
<
VSAUsers
,
Long
>
{
List
<
VSAUsers
>
findAllByCompanySiteId
(
Long
companySiteId
);
List
<
VSAUsers
>
findAllByCompanySiteId
(
Long
companySiteId
);
VSAUsers
findByUserId
(
Long
userId
);
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
fca8e007
...
@@ -22,6 +22,8 @@ public interface CampaignExecuteService {
...
@@ -22,6 +22,8 @@ public interface CampaignExecuteService {
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
,
String
xAuthToken
);
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
,
String
xAuthToken
);
ResultDTO
checkExecuteCampaign
(
CampaignRequestDTO
requestDto
);
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
);
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
);
ResultDTO
getCustomer
(
CampaignCustomerDTO
dto
);
ResultDTO
getCustomer
(
CampaignCustomerDTO
dto
);
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
fca8e007
...
@@ -79,6 +79,12 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
...
@@ -79,6 +79,12 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
@Autowired
@Autowired
CustomerRepository
customerRepository
;
CustomerRepository
customerRepository
;
@Autowired
AgentStatusStatRepository
agentStatusStatRepository
;
@Autowired
VSAUsersRepository
vsaUsersRepository
;
public
CampaignExecuteServiceImp
()
throws
NoSuchAlgorithmException
{
public
CampaignExecuteServiceImp
()
throws
NoSuchAlgorithmException
{
}
}
...
@@ -287,10 +293,36 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
...
@@ -287,10 +293,36 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
return
result
;
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
@Override
public
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
)
{
public
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
ResultDTO
result
=
new
ResultDTO
();
String
dialMode
=
getDialModeAtCurrent
(
Long
.
parseLong
(
requestDto
.
getCompanySiteId
()),
Long
.
parseLong
(
requestDto
.
getCampaignId
()));
try
{
try
{
// update acd_full.agents table
// update acd_full.agents table
...
@@ -814,9 +846,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
...
@@ -814,9 +846,9 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
TimeRangeDialMode
lstTimeRange
=
rangeDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
TimeRangeDialMode
lstTimeRange
=
rangeDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
TimeZoneDialMode
lstTimeZone
=
zoneDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
TimeZoneDialMode
lstTimeZone
=
zoneDialModeRepository
.
findDialModeAtCurrent
(
companySiteId
,
campaignId
);
if
(
lstTimeRange
.
getTimeRangeDialModeId
()
!=
null
)
{
if
(
lstTimeRange
!=
null
)
{
return
lstTimeRange
.
getDialMode
().
toString
();
return
lstTimeRange
.
getDialMode
().
toString
();
}
else
if
(
lstTimeZone
.
getTimeZoneDialModeId
()
!=
null
)
{
}
else
if
(
lstTimeZone
!=
null
)
{
return
lstTimeZone
.
getDialMode
().
toString
();
return
lstTimeZone
.
getDialMode
().
toString
();
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
View file @
fca8e007
...
@@ -40,6 +40,13 @@ public class CampaignExecuteController {
...
@@ -40,6 +40,13 @@ public class CampaignExecuteController {
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
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"
)
@PostMapping
(
"/getExecuteCampaign"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
public
ResponseEntity
<
ResultDTO
>
getExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
...
...
This diff is collapsed.
Click to expand it.
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