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
2e4db896
Commit
2e4db896
authored
Jul 31, 2019
by
Tu Bach
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
campaign
parent
3df00b4f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
65 additions
and
55 deletions
+65
-55
src/main/java/com/viettel/campaign/model/Campaign.java
src/main/java/com/viettel/campaign/model/Campaign.java
+20
-19
src/main/java/com/viettel/campaign/repository/CampaignRepositoryImpl.java
...m/viettel/campaign/repository/CampaignRepositoryImpl.java
+15
-9
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeServiceImpl.java
...tel/campaign/service/CampaignCompleteCodeServiceImpl.java
+3
-1
src/main/java/com/viettel/campaign/service/CampaignServiceImpl.java
...ava/com/viettel/campaign/service/CampaignServiceImpl.java
+5
-3
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
+20
-19
src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
...ttel/campaign/web/rest/controller/CampaignController.java
+2
-4
No files found.
src/main/java/com/viettel/campaign/model/Campaign.java
View file @
2e4db896
...
...
@@ -6,6 +6,7 @@ import lombok.Setter;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Entity
...
...
@@ -18,23 +19,23 @@ public class Campaign implements Serializable {
@NotNull
@Basic
(
optional
=
false
)
@Column
(
name
=
"CAMPAIGN_ID"
)
private
Long
campaignId
;
private
BigDecimal
campaignId
;
@Column
(
name
=
"COMPANY_SITE_ID"
)
private
Long
companySiteId
;
private
BigDecimal
companySiteId
;
@Column
(
name
=
"CAMPAIGN_CODE"
)
private
String
campaignCode
;
@Column
(
name
=
"CAMPAIGN_NAME"
)
private
String
campaignName
;
@Column
(
name
=
"CHANEL"
)
private
Short
chanel
;
private
BigDecimal
chanel
;
@Column
(
name
=
"CONTENT"
)
private
String
content
;
@Column
(
name
=
"CUSTOMER_NUMBER"
)
private
Long
customerNumber
;
private
BigDecimal
customerNumber
;
@Column
(
name
=
"TARGET"
)
private
String
target
;
@Column
(
name
=
"STATUS"
)
private
Short
status
;
private
BigDecimal
status
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"START_TIME"
)
private
Date
startTime
;
...
...
@@ -64,7 +65,7 @@ public class Campaign implements Serializable {
@Column
(
name
=
"PROCESS_STATUS"
)
private
Integer
processStatus
;
@Column
(
name
=
"DIAL_MODE"
)
private
Short
dialMode
;
private
BigDecimal
dialMode
;
@Column
(
name
=
"DEPT_CODE"
)
private
String
deptCode
;
@Column
(
name
=
"TIME_RANGE"
)
...
...
@@ -72,29 +73,29 @@ public class Campaign implements Serializable {
@Column
(
name
=
"DAY_OF_WEEK"
)
private
String
dayOfWeek
;
@Column
(
name
=
"CURRENT_TIME_MODE"
)
private
Long
currentTimeModel
;
private
BigDecimal
currentTimeModel
;
@Column
(
name
=
"WRAPUP_TIME_CONNECT"
)
private
Long
wrapupTimeConnect
;
private
BigDecimal
wrapupTimeConnect
;
@Column
(
name
=
"WRAPUP_TIME_DISCONNECT"
)
private
Long
wrapupTimeDisconnect
;
private
BigDecimal
wrapupTimeDisconnect
;
@Column
(
name
=
"PREVIEW_TIME"
)
private
Long
previewTime
;
private
BigDecimal
previewTime
;
@Column
(
name
=
"RATE_DIAL"
)
private
Long
rateDial
;
private
BigDecimal
rateDial
;
@Column
(
name
=
"RATE_MISS"
)
private
Long
rateMiss
;
private
BigDecimal
rateMiss
;
@Column
(
name
=
"AVG_TIME_PROCESS"
)
private
Long
avgTimeProcess
;
private
BigDecimal
avgTimeProcess
;
@Column
(
name
=
"IS_APPLY_CUST_LOCK"
)
private
Long
isApplyCustLock
;
private
BigDecimal
isApplyCustLock
;
@Column
(
name
=
"TARGET_TYPE"
)
private
Long
targetType
;
private
BigDecimal
targetType
;
@Column
(
name
=
"IS_TARGET"
)
private
Long
isTarget
;
private
BigDecimal
isTarget
;
@Column
(
name
=
"CAMPAIGN_IVR_CALLED_ID"
)
private
Long
campaignIvrCalledId
;
private
BigDecimal
campaignIvrCalledId
;
@Column
(
name
=
"CONCURRENT_CALL"
)
private
Long
concurrentCall
;
private
BigDecimal
concurrentCall
;
@Column
(
name
=
"CALL_OUT_TIME_IN_DAY"
)
private
String
callOutTimeInDay
;
@Column
(
name
=
"MUSIC_LIST"
)
...
...
@@ -110,5 +111,5 @@ public class Campaign implements Serializable {
@Column
(
name
=
"TIME_WAIT_AGENT"
)
private
Integer
timeWaitAgent
;
@Column
(
name
=
"QUEST_INDEX"
)
private
Long
questIndex
;
private
BigDecimal
questIndex
;
}
src/main/java/com/viettel/campaign/repository/CampaignRepositoryImpl.java
View file @
2e4db896
...
...
@@ -6,7 +6,9 @@ import org.springframework.data.domain.Pageable;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
public
class
CampaignRepositoryImpl
implements
CampaignRepositoryCustom
{
...
...
@@ -18,24 +20,28 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
public
List
<
CampaignDTO
>
searchCampaignExecute
(
String
agentId
,
Pageable
pageable
)
{
List
<
CampaignDTO
>
lst
=
new
ArrayList
<>();
String
expression
=
new
StringBuilder
()
.
append
(
" SELECT C.CAMPAIGN_ID, C.CAMPAIGN_NAME, C.STATUS "
)
.
append
(
" FROM CAMPAIGN C "
)
.
append
(
" INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID "
)
.
append
(
" WHERE 1 = 1 "
)
.
append
(
" AND CA.AGENT_ID = :pAgentId "
)
.
append
(
" AND C.STATUS IN (2,3) "
)
//.append(" SELECT C.CODECAMPAIGN_ID, C.CAMPAIGN_NAME, C.CONTENT, C.START_TIME, C.END_TIME, C.STATUS ")
.
append
(
" SELECT CAMPAIGN_ID, COMPLETE_NAME AS CAMPAIGN_NAME, DESCRIPTION AS CONTENT, UPDATE_BY AS START_TIME, UPDATE_BY AS END_TIME, STATUS "
)
.
append
(
" FROM CAMPAIGN_COMPLETE_CODE C "
)
//.append(" INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID ")
//.append(" WHERE 1 = 1 ")
//.append(" AND CA.AGENT_ID = :pAgentId ")
//.append(" AND C.STATUS IN (2,3) ")
.
toString
();
Query
query
=
entityManager
.
createNativeQuery
(
expression
);
query
.
setParameter
(
"pAgentId"
,
agentId
);
//
query.setParameter("pAgentId", agentId);
List
<
Object
[]>
data
=
query
.
getResultList
();
for
(
Object
[]
obj
:
data
)
{
CampaignDTO
item
=
new
CampaignDTO
();
item
.
setCampaignId
((
Long
)
obj
[
0
]);
item
.
setCampaignId
((
BigDecimal
)
obj
[
0
]);
item
.
setCampaignName
((
String
)
obj
[
1
]);
item
.
setStatus
((
Short
)
obj
[
0
]);
item
.
setContent
((
String
)
obj
[
2
]);
item
.
setStartTime
((
Date
)
obj
[
3
]);
item
.
setEndTime
((
Date
)
obj
[
4
]);
item
.
setStatus
((
BigDecimal
)
obj
[
5
]);
lst
.
add
(
item
);
}
...
...
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeServiceImpl.java
View file @
2e4db896
...
...
@@ -32,10 +32,12 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
public
Map
listCompleteCodeByName
(
int
page
,
int
pageSize
,
String
sort
,
String
name
)
{
Map
result
=
new
HashMap
();
List
<
CampaignCompleteCode
>
lst
=
new
ArrayList
<>();
List
<
CampaignCompleteCode
>
count
=
new
ArrayList
<>();
lst
=
completeCodeRepository
.
findByCompleteNameContains
(
name
,
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)));
count
=
completeCodeRepository
.
findByCompleteNameContains
(
name
,
null
);
result
.
put
(
"totalItem"
,
ls
t
.
size
());
result
.
put
(
"totalItem"
,
coun
t
.
size
());
result
.
put
(
"customers"
,
lst
);
return
result
;
...
...
src/main/java/com/viettel/campaign/service/CampaignServiceImpl.java
View file @
2e4db896
package
com.viettel.campaign.service
;
import
com.viettel.campaign.dto.CampaignDTO
;
import
com.viettel.campaign.repository.CampaignRepository
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
CampaignServiceImpl
implements
CampaignService
{
@Autowired
@Autowired
(
required
=
true
)
CampaignRepository
campaignRepository
;
@Override
...
...
@@ -26,7 +28,7 @@ public class CampaignServiceImpl implements CampaignService {
lst
=
campaignRepository
.
searchCampaignExecute
(
agentId
,
pageable
);
result
.
put
(
"totalItem"
,
lst
.
size
());
result
.
put
(
"
customers
"
,
lst
);
result
.
put
(
"
data
"
,
lst
);
return
result
;
}
...
...
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
View file @
2e4db896
...
...
@@ -3,21 +3,22 @@ package com.viettel.campaign.web.dto;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
import
java.util.Date
;
@Getter
@Setter
public
class
CampaignDTO
extends
BaseDTO
{
private
Long
campaignId
;
private
Long
companySiteId
;
private
BigDecimal
campaignId
;
private
BigDecimal
companySiteId
;
private
String
campaignCode
;
private
String
campaignName
;
private
Short
chanel
;
private
BigDecimal
chanel
;
private
String
content
;
private
Long
customerNumber
;
private
BigDecimal
customerNumber
;
private
String
target
;
private
Short
status
;
private
BigDecimal
status
;
private
Date
startTime
;
private
Date
endTime
;
private
Integer
maxRecall
;
...
...
@@ -30,27 +31,27 @@ public class CampaignDTO extends BaseDTO {
private
String
campaignType
;
private
String
product
;
private
Integer
processStatus
;
private
Short
dialMode
;
private
BigDecimal
dialMode
;
private
String
deptCode
;
private
String
timeRange
;
private
String
dayOfWeek
;
private
Long
currentTimeModel
;
private
Long
wrapupTimeConnect
;
private
Long
wrapupTimeDisconnect
;
private
Long
previewTime
;
private
Long
rateDial
;
private
Long
rateMiss
;
private
Long
avgTimeProcess
;
private
Long
isApplyCustLock
;
private
Long
targetType
;
private
Long
isTarget
;
private
Long
campaignIvrCalledId
;
private
Long
concurrentCall
;
private
BigDecimal
currentTimeModel
;
private
BigDecimal
wrapupTimeConnect
;
private
BigDecimal
wrapupTimeDisconnect
;
private
BigDecimal
previewTime
;
private
BigDecimal
rateDial
;
private
BigDecimal
rateMiss
;
private
BigDecimal
avgTimeProcess
;
private
BigDecimal
isApplyCustLock
;
private
BigDecimal
targetType
;
private
BigDecimal
isTarget
;
private
BigDecimal
campaignIvrCalledId
;
private
BigDecimal
concurrentCall
;
private
String
callOutTimeInDay
;
private
String
musicList
;
private
Integer
timePlayMusic
;
private
Date
campaignStart
;
private
Date
campaignEnd
;
private
Integer
timeWaitAgent
;
private
Long
questIndex
;
private
BigDecimal
questIndex
;
}
src/main/java/com/viettel/campaign/web/rest/CampaignController.java
→
src/main/java/com/viettel/campaign/web/rest/
controller/
CampaignController.java
View file @
2e4db896
...
...
@@ -6,15 +6,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Map
;
@Controller
@RequestMapping
(
"/ipcc/campaign"
)
@CrossOrigin
public
class
CampaignController
{
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
CampaignController
.
class
);
...
...
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