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
21d5ef14
Commit
21d5ef14
authored
Aug 13, 2019
by
Tu Bach
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tubn campaign execute create agents object
parent
32cf8c0c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
264 additions
and
5 deletions
+264
-5
src/main/java/com/viettel/campaign/model/acd_full/Agents.java
...main/java/com/viettel/campaign/model/acd_full/Agents.java
+175
-0
src/main/java/com/viettel/campaign/repository/acd_full/AgentsRepository.java
...iettel/campaign/repository/acd_full/AgentsRepository.java
+10
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
...ign/repository/ccms_full/impl/CampaignRepositoryImpl.java
+6
-5
src/main/java/com/viettel/campaign/service/AgentsService.java
...main/java/com/viettel/campaign/service/AgentsService.java
+7
-0
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
.../com/viettel/campaign/service/impl/AgentsServiceImpl.java
+35
-0
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
...om/viettel/campaign/service/impl/CampaignServiceImpl.java
+1
-0
src/main/java/com/viettel/campaign/web/rest/AgentsController.java
.../java/com/viettel/campaign/web/rest/AgentsController.java
+28
-0
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
...tel/campaign/web/rest/CampaignCompleteCodeController.java
+2
-0
No files found.
src/main/java/com/viettel/campaign/model/acd_full/Agents.java
0 → 100644
View file @
21d5ef14
package
com.viettel.campaign.model.acd_full
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.persistence.*
;
import
java.util.Date
;
@Entity
@Table
(
name
=
"Agents"
)
@Getter
@Setter
public
class
Agents
{
@Id
@Basic
(
optional
=
false
)
@Column
(
name
=
"AGENT_ID"
)
private
String
agentId
;
@Column
(
name
=
"DESCRIPTION"
)
private
String
description
;
@Column
(
name
=
"SYSTEM_STATUS"
)
private
String
systemStatus
;
@Column
(
name
=
"USER_STATUS"
)
private
String
userStatus
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_START_WORK"
)
private
Date
lastStartWork
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_FINISH_WORK"
)
private
Date
lastFinishWork
;
@Column
(
name
=
"LOGIN_TYPE"
)
private
String
loginType
;
@Column
(
name
=
"VSA_USER_LOGIN"
)
private
String
vsaUserLogin
;
@Column
(
name
=
"CALL_STATUS"
)
private
String
callStatus
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_STATUS"
)
private
Date
lastChangeStatus
;
@Column
(
name
=
"IP_LOGIN"
)
private
String
ipLogin
;
@Column
(
name
=
"NUM_REJECTCALL"
)
private
String
numRejectcall
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LOGIN_TIME"
)
private
Date
loginTime
;
@Column
(
name
=
"GROUP_NAME"
)
private
String
groupName
;
@Column
(
name
=
"TOTAL_ANSWER_CALL"
)
private
String
totalAnswerCall
;
@Column
(
name
=
"TOTAL_ANSWER_TIME"
)
private
String
totalAnswerTime
;
@Column
(
name
=
"CALLOUT_ID"
)
private
Integer
calloutId
;
@Column
(
name
=
"LAST_QUEUE_ANSWER"
)
private
String
lastQueueAnswer
;
@Column
(
name
=
"EMAIL_USER_STATUS"
)
private
String
emailUserAnswer
;
@Column
(
name
=
"CHAT_USER_STATUS"
)
private
String
chatUserStatus
;
@Column
(
name
=
"SMS_USER_STATUS"
)
private
String
smsUserStatus
;
@Column
(
name
=
"MULTI_CHANNEL_USER_STATUS"
)
private
String
multiChannelUserStatus
;
@Column
(
name
=
"MAX_TRANSACTION_EMAIL"
)
private
Integer
maxTransactionEmail
=
1
;
@Column
(
name
=
"MAX_TRANSACTION_CHAT"
)
private
Integer
maxTransactionChat
=
1
;
@Column
(
name
=
"MAX_CURRENT_TRANSACTION"
)
private
Integer
maxCurrentTransaction
=
6
;
@Column
(
name
=
"TOTAL_TRANSACTION"
)
private
Integer
totalTransaction
=
0
;
@Column
(
name
=
"EMAIL_SYSTEM_STATUS"
)
private
Integer
emailSystemStatus
=
0
;
@Column
(
name
=
"CHAT_SYSTEM_STATUS"
)
private
Integer
chatSystemStatus
=
0
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_CHAT_STATUS"
)
private
Date
lastChangeChatStatus
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_EMAIL_STATUS"
)
private
Date
lastChangeEmailStatus
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_MULTI_STATUS"
)
private
Date
lastChangeMultiStatus
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_START_WORK_CHAT"
)
private
Date
lastStartWorkChat
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_START_WORK_EMAIL"
)
private
Date
lastStartWorkEmail
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_FINISH_WORK_CHAT"
)
private
Date
lastFinishWorkChat
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_FINISH_WORK_EMAIL"
)
private
Date
lastFinishWorkEmail
;
@Column
(
name
=
"TOTAL_ANSWER_CHAT"
)
private
Long
totalAnswerChat
;
@Column
(
name
=
"TOTAL_ANSWER_EMAIL"
)
private
Long
totalAnswerEmail
;
@Column
(
name
=
"TOTAL_ANSWER_TIME_EMAIL"
)
private
Long
totalAnswerTimeEmail
;
@Column
(
name
=
"TOTAL_ANSWER_TIME_CHAT"
)
private
Long
totalAnswerTimeChat
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_ASSIGN_TIME_SMS"
)
private
Date
lastAssignTimeSms
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_SMS_STATUS"
)
private
Date
lastChangeSmsStatus
;
@Column
(
name
=
"MAX_TRANSACTION_SMS"
)
private
Integer
maxTransactionSms
=
1
;
@Column
(
name
=
"SMS_SYSTEM_STATUS"
)
private
Integer
smsSystemStatus
=
0
;
@Column
(
name
=
"FACEBOOK_SYSTEM_STATUS"
)
private
Integer
facebookSystemStatus
=
0
;
@Column
(
name
=
"FACEBOOK_USER_STATUS"
)
private
String
facebookUserStatus
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_START_WORK_SMS"
)
private
Date
lastStartWorkSms
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_START_WORK_FACEBOOK"
)
private
Date
lastStartWorkFacebook
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_FINISH_WORK_SMS"
)
private
Date
lastFinishWorkSms
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_FINISH_WORK_FACEBOOK"
)
private
Date
lastFinishWorkFacebook
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_FACEBOOK_STATUS"
)
private
Date
lastChangeFacebookStatus
;
@Column
(
name
=
"MAX_TRANSACTION_FACEBOOK"
)
private
Integer
maxTransactionFacebook
=
1
;
@Column
(
name
=
"TICKET_USER_STATUS"
)
private
String
ticketUserStatus
;
@Column
(
name
=
"TICKET_SYSTEM_STATUS"
)
private
Integer
ticketSystemStatus
;
@Column
(
name
=
"MAX_TRANSACTION_TICKET"
)
private
Integer
maxTransactionTicket
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_START_WORK_TICKET"
)
private
Date
lastStartWorkTicket
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_FINISH_WORK_TICKET"
)
private
Date
lastFinishWorkTicket
;
@Column
(
name
=
"COMPANY_SITE_ID"
)
private
Long
companySiteId
;
@Column
(
name
=
"SITE_ID"
)
private
Long
siteId
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"LAST_CHANGE_TICKET_STATUS"
)
private
Date
lastChangeTicketStatus
;
@Column
(
name
=
"AGENT_TYPE"
)
private
Short
agentType
;
@Column
(
name
=
"STATUS"
)
private
Long
status
=
1L
;
@Column
(
name
=
"CREATE_BY"
)
private
String
createBy
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"CREATE_DATE"
)
private
Date
createDate
;
@Column
(
name
=
"UPDATE_BY"
)
private
String
updateBy
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"UPDATE_DATE"
)
private
Date
updateDate
;
@Column
(
name
=
"USER_KAZOO_ID"
)
private
String
userKazooId
;
@Column
(
name
=
"CAMPAIGN_SYSTEM_STATUS"
)
private
String
campaignSystemStatus
;
@Column
(
name
=
"CURRENT_CAMPAIGN_ID"
)
private
Long
currentCampaignId
;
}
src/main/java/com/viettel/campaign/repository/acd_full/AgentsRepository.java
0 → 100644
View file @
21d5ef14
package
com.viettel.campaign.repository.acd_full
;
import
com.viettel.campaign.model.acd_full.Agents
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
AgentsRepository
extends
JpaRepository
<
Agents
,
String
>
{
Agents
getByAgentId
(
String
agentId
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
View file @
21d5ef14
...
@@ -42,10 +42,10 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
...
@@ -42,10 +42,10 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
ResultDTO
result
=
new
ResultDTO
();
ResultDTO
result
=
new
ResultDTO
();
List
<
CampaignDTO
>
lst
=
new
ArrayList
<>();
List
<
CampaignDTO
>
lst
=
new
ArrayList
<>();
StringBuilder
expression
=
new
StringBuilder
()
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 "
)
.
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 "
)
.
append
(
" FROM CAMPAIGN C INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID "
)
.
append
(
" WHERE 1 = 1 "
)
;
.
append
(
" WHERE 1 = 1 "
)
//.append(" AND CA.AGENT_ID = :pAgentId ")
.
append
(
" AND CA.AGENT_ID = :pAgentId "
);
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
expression
.
append
(
" AND C.CAMPAIGN_CODE IN (:pCampaignCode) "
);
expression
.
append
(
" AND C.CAMPAIGN_CODE IN (:pCampaignCode) "
);
...
@@ -59,7 +59,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
...
@@ -59,7 +59,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if
(
campaignRequestDto
.
getStatus
()
!=
0
)
if
(
campaignRequestDto
.
getStatus
()
!=
0
)
expression
.
append
(
" AND C.STATUS = :pStatus "
);
expression
.
append
(
" AND C.STATUS = :pStatus "
);
else
else
expression
.
append
(
" AND C.STATUS IN (
1,
2, 3) "
);
expression
.
append
(
" AND C.STATUS IN (2, 3) "
);
}
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getFromDateFr
()))
{
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getFromDateFr
()))
{
...
@@ -88,7 +88,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
...
@@ -88,7 +88,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
try
{
try
{
Query
query
=
entityManager
.
createNativeQuery
(
expression
.
toString
());
Query
query
=
entityManager
.
createNativeQuery
(
expression
.
toString
());
//
query.setParameter("pAgentId", campaignRequestDto.getAgentId());
query
.
setParameter
(
"pAgentId"
,
campaignRequestDto
.
getAgentId
());
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
String
[]
lstCode
=
campaignRequestDto
.
getCampaignCode
().
split
(
","
);
String
[]
lstCode
=
campaignRequestDto
.
getCampaignCode
().
split
(
","
);
...
@@ -155,6 +155,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
...
@@ -155,6 +155,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
item
.
setEndTime
((
Date
)
obj
[
4
]);
item
.
setEndTime
((
Date
)
obj
[
4
]);
item
.
setStatus
(((
BigDecimal
)
obj
[
5
]).
shortValueExact
());
item
.
setStatus
(((
BigDecimal
)
obj
[
5
]).
shortValueExact
());
item
.
setAgentStatus
(((
BigDecimal
)
obj
[
6
]).
shortValueExact
());
item
.
setAgentStatus
(((
BigDecimal
)
obj
[
6
]).
shortValueExact
());
item
.
setCampaignId
(((
BigDecimal
)
obj
[
7
]).
longValueExact
());
lst
.
add
(
item
);
lst
.
add
(
item
);
}
}
...
...
src/main/java/com/viettel/campaign/service/AgentsService.java
0 → 100644
View file @
21d5ef14
package
com.viettel.campaign.service
;
import
com.viettel.campaign.web.dto.ResultDTO
;
public
interface
AgentsService
{
ResultDTO
getAgentsByAgentId
(
String
agentId
);
}
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
0 → 100644
View file @
21d5ef14
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.model.acd_full.Agents
;
import
com.viettel.campaign.repository.acd_full.AgentsRepository
;
import
com.viettel.campaign.service.AgentsService
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Service
public
class
AgentsServiceImpl
implements
AgentsService
{
@Autowired
AgentsRepository
agentsRepository
;
@Override
public
ResultDTO
getAgentsByAgentId
(
String
agentId
)
{
ResultDTO
result
=
new
ResultDTO
();
Agents
data
=
agentsRepository
.
getByAgentId
(
agentId
);
if
(
data
!=
null
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
"agents data"
);
result
.
setData
(
data
);
}
else
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
"agents data null"
);
}
return
result
;
}
}
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
View file @
21d5ef14
...
@@ -167,6 +167,7 @@ public class CampaignServiceImpl implements CampaignService {
...
@@ -167,6 +167,7 @@ public class CampaignServiceImpl implements CampaignService {
return
resultDTO
;
return
resultDTO
;
}
}
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
Map
countRecallCustomer
(
Long
companySiteId
,
Long
agentId
)
{
public
Map
countRecallCustomer
(
Long
companySiteId
,
Long
agentId
)
{
Map
result
=
new
HashMap
();
Map
result
=
new
HashMap
();
Long
count
=
campaignRepository
.
countRecallCustomer
(
companySiteId
,
agentId
);
Long
count
=
campaignRepository
.
countRecallCustomer
(
companySiteId
,
agentId
);
...
...
src/main/java/com/viettel/campaign/web/rest/AgentsController.java
0 → 100644
View file @
21d5ef14
package
com.viettel.campaign.web.rest
;
import
com.viettel.campaign.service.AgentsService
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
@RestController
@RequestMapping
(
"/ipcc/agents"
)
@CrossOrigin
public
class
AgentsController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignController
.
class
);
@Autowired
AgentsService
agentsService
;
@GetMapping
(
"/getAgentsById"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getAgentsById
(
@RequestParam
(
"agentId"
)
String
agentId
)
{
ResultDTO
result
=
agentsService
.
getAgentsByAgentId
(
agentId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
View file @
21d5ef14
...
@@ -77,12 +77,14 @@ public class CampaignCompleteCodeController {
...
@@ -77,12 +77,14 @@ public class CampaignCompleteCodeController {
result
=
completeCodeService
.
deleteCompleteCode
(
completeCodeDTO
);
result
=
completeCodeService
.
deleteCompleteCode
(
completeCodeDTO
);
return
result
;
return
result
;
}
}
@PostMapping
(
"/listDelete"
)
@PostMapping
(
"/listDelete"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
deleteList
(
@RequestBody
@Valid
List
<
Long
>
completeCodeDtos
){
public
ResponseEntity
<
ResultDTO
>
deleteList
(
@RequestBody
@Valid
List
<
Long
>
completeCodeDtos
){
ResultDTO
resultDTO
=
completeCodeService
.
deleteList
(
completeCodeDtos
);
ResultDTO
resultDTO
=
completeCodeService
.
deleteList
(
completeCodeDtos
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
}
@PostMapping
(
"/deleteById"
)
@PostMapping
(
"/deleteById"
)
@ResponseBody
@ResponseBody
public
ResultDTO
deleteById
(
@RequestParam
(
"id"
)
Long
id
){
public
ResultDTO
deleteById
(
@RequestParam
(
"id"
)
Long
id
){
...
...
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