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
da43a363
Commit
da43a363
authored
Jul 31, 2019
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd merge code
parents
65642f6b
975685ae
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
162 additions
and
158 deletions
+162
-158
pom.xml
pom.xml
+2
-2
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/CampaignRepositoryCustom.java
...viettel/campaign/repository/CampaignRepositoryCustom.java
+2
-9
src/main/java/com/viettel/campaign/repository/CampaignRepositoryImpl.java
...m/viettel/campaign/repository/CampaignRepositoryImpl.java
+0
-45
src/main/java/com/viettel/campaign/repository/impl/CampaignRepositoryImpl.java
...ttel/campaign/repository/impl/CampaignRepositoryImpl.java
+46
-47
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeServiceImpl.java
...tel/campaign/service/CampaignCompleteCodeServiceImpl.java
+3
-1
src/main/java/com/viettel/campaign/service/CampaignService.java
...in/java/com/viettel/campaign/service/CampaignService.java
+3
-4
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
...om/viettel/campaign/service/impl/CampaignServiceImpl.java
+6
-6
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java~HEAD
...ettel/campaign/service/impl/CampaignServiceImpl.java~HEAD
+50
-0
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
+23
-19
src/main/java/com/viettel/campaign/web/dto/ResultDTO.java
src/main/java/com/viettel/campaign/web/dto/ResultDTO.java
+0
-1
src/main/java/com/viettel/campaign/web/dto/request_dto/CampaignRequestDTO.java
...ttel/campaign/web/dto/request_dto/CampaignRequestDTO.java
+2
-2
src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
...ttel/campaign/web/rest/controller/CampaignController.java
+5
-3
No files found.
pom.xml
View file @
da43a363
...
...
@@ -93,8 +93,8 @@
<dependency>
<groupId>
com.oracle
</groupId>
<artifactId>
ojdbc7
</artifactId>
<scope>
system
</scope
>
<systemPath>
${project.basedir}/lib/ojdbc7.jar
</systemPath
>
<!-- <scope>system</scope>--
>
<!-- <systemPath>${project.basedir}/lib/ojdbc7.jar</systemPath>--
>
<version>
1.0
</version>
</dependency>
<dependency>
...
...
src/main/java/com/viettel/campaign/model/Campaign.java
View file @
da43a363
...
...
@@ -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/CampaignRepositoryCustom.java
View file @
da43a363
package
com.viettel.campaign.repository
;
<<<<<<<
HEAD
import
com.viettel.campaign.web.dto.CampaignDTO
;
=======
import
com.viettel.campaign.dto.CampaignDTO
;
import
com.viettel.campaign.dto.ResultDTO
;
import
com.viettel.campaign.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.model.Campaign
;
import
org.springframework.data.domain.Page
;
>>>>>>>
anhvd_campaign_mng
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
...
...
src/main/java/com/viettel/campaign/repository/CampaignRepositoryImpl.java
deleted
100644 → 0
View file @
65642f6b
package
com.viettel.campaign.repository
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
CampaignRepositoryImpl
implements
CampaignRepositoryCustom
{
@Autowired
EntityManager
entityManager
;
@Override
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) "
)
.
toString
();
Query
query
=
entityManager
.
createNativeQuery
(
expression
);
query
.
setParameter
(
"pAgentId"
,
agentId
);
List
<
Object
[]>
data
=
query
.
getResultList
();
for
(
Object
[]
obj
:
data
)
{
CampaignDTO
item
=
new
CampaignDTO
();
item
.
setCampaignId
((
Long
)
obj
[
0
]);
item
.
setCampaignName
((
String
)
obj
[
1
]);
item
.
setStatus
((
Short
)
obj
[
0
]);
lst
.
add
(
item
);
}
return
lst
;
}
}
src/main/java/com/viettel/campaign/repository/impl/CampaignRepositoryImpl.java
View file @
da43a363
package
com.viettel.campaign.repository.impl
;
import
com.viettel.campaign.dto.CampaignDTO
;
import
com.viettel.campaign.dto.ResultDTO
;
import
com.viettel.campaign.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.model.Campaign
;
import
com.viettel.campaign.repository.CampaignRepositoryCustom
;
import
com.viettel.campaign.utils.*
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
import
org.hibernate.hql.internal.ast.util.SessionFactoryHelper
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.*
;
import
org.springframework.jdbc.object.SqlQuery
;
import
org.springframework.stereotype.Repository
;
import
sun.jvm.hotspot.ui.action.ShowAction
;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -32,28 +27,28 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
@Override
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) "
)
.
toString
();
Query
query
=
entityManager
.
createNativeQuery
(
expression
);
query
.
setParameter
(
"pAgentId"
,
agentId
);
List
<
Object
[]>
data
=
query
.
getResultList
();
for
(
Object
[]
obj
:
data
)
{
CampaignDTO
item
=
new
CampaignDTO
();
item
.
setCampaignId
((
Long
)
obj
[
0
]);
item
.
setCampaignName
((
String
)
obj
[
1
]);
item
.
setStatus
((
Short
)
obj
[
0
]);
lst
.
add
(
item
);
}
//
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) ")
//
.toString();
//
//
Query query = entityManager.createNativeQuery(expression);
//
query.setParameter("pAgentId", agentId);
//
//
List<Object[]> data = query.getResultList();
//
//
for (Object[] obj : data) {
//
CampaignDTO item = new CampaignDTO();
//
item.setCampaignId((Long) obj[0]);
//
item.setCampaignName((String) obj[1]);
//
item.setStatus((Short) obj[0]);
//
//
lst.add(item);
//
}
return
lst
;
}
...
...
@@ -70,37 +65,37 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
StringBuilder
sqlStr
=
new
StringBuilder
();
sqlStr
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"search-campaign-by-params"
));
if
(!
DataUtil
.
isNullOrEmpty
(
requestDto
.
getCampaignCode
()))
{
sqlStr
.
append
(
" AND UPPER(CAMPAIGN_CODE) LIKE :p_code"
);
sqlStr
.
append
(
" AND UPPER(
a.
CAMPAIGN_CODE) LIKE :p_code"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
requestDto
.
getCampaignName
()))
{
sqlStr
.
append
(
" AND UPPER(CAMPAIGN_NAME) LIKE :p_name"
);
sqlStr
.
append
(
" AND UPPER(
a.
CAMPAIGN_NAME) LIKE :p_name"
);
}
if
(
requestDto
.
getStatus
()
!=
null
)
{
sqlStr
.
append
(
" AND STATUS = :p_status"
);
sqlStr
.
append
(
" AND
a.
STATUS = :p_status"
);
}
if
(
requestDto
.
getFromDateFr
()
!=
null
&&
DateTimeUtil
.
isValid
(
requestDto
.
getFromDateFr
().
getTime
()))
{
sqlStr
.
append
(
" AND START_TIME >= :p_frDateFr"
);
sqlStr
.
append
(
" AND
a.
START_TIME >= :p_frDateFr"
);
}
if
(
requestDto
.
getFromDateTo
()
!=
null
&&
DateTimeUtil
.
isValid
(
requestDto
.
getFromDateTo
().
getTime
()))
{
sqlStr
.
append
(
" AND START_TIME <= :p_frDateTo"
);
sqlStr
.
append
(
" AND
a.
START_TIME <= :p_frDateTo"
);
}
if
(
requestDto
.
getToDateFr
()
!=
null
&&
DateTimeUtil
.
isValid
(
requestDto
.
getToDateFr
().
getTime
()))
{
sqlStr
.
append
(
" AND END_TIME >= :p_toDateFr"
);
sqlStr
.
append
(
" AND
a.
END_TIME >= :p_toDateFr"
);
}
if
(
requestDto
.
getToDateTo
()
!=
null
&&
DateTimeUtil
.
isValid
(
requestDto
.
getToDateTo
().
getTime
()))
{
sqlStr
.
append
(
" AND END_TIME <= :p_toDateTo"
);
sqlStr
.
append
(
" AND
a.
END_TIME <= :p_toDateTo"
);
}
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusFr
()))
{
// sqlStr.append(" AND ")
sqlStr
.
append
(
" AND a.CUSTOMER_NUMBER >= :p_cusNumFr"
);
}
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusTo
()))
{
sqlStr
.
append
(
" AND a.CUSTOMER_NUMBER <= :p_cusNumTo"
);
}
if
(
requestDto
.
getType
()
!=
null
)
{
sqlStr
.
append
(
" AND CAMPAIGN_TYPE = :p_type"
);
sqlStr
.
append
(
" AND
a.
CAMPAIGN_TYPE = :p_type"
);
}
if
(
requestDto
.
getChanel
()
!=
null
)
{
sqlStr
.
append
(
" AND CHANEL = :p_chanel"
);
sqlStr
.
append
(
" AND
a.
CHANEL = :p_chanel"
);
}
// Query query = entityManager.createNativeQuery(sqlStr.toString(), Campaign.class);
...
...
@@ -144,6 +139,12 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if
(
requestDto
.
getChanel
()
!=
null
)
{
query
.
setParameter
(
"p_chanel"
,
requestDto
.
getChanel
());
}
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusFr
()))
{
query
.
setParameter
(
"p_cusNumFr"
,
requestDto
.
getNumOfCusFr
());
}
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusTo
()))
{
query
.
setParameter
(
"p_cusNumTo"
,
requestDto
.
getNumOfCusTo
());
}
query
.
addScalar
(
"campaignId"
,
new
LongType
());
query
.
addScalar
(
"campaignCode"
,
new
StringType
());
...
...
@@ -154,6 +155,9 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
query
.
addScalar
(
"endTime"
,
new
DateType
());
query
.
addScalar
(
"customerNumber"
,
new
LongType
());
query
.
addScalar
(
"status"
,
new
ShortType
());
query
.
addScalar
(
"numOfJoinedCus"
,
new
LongType
());
query
.
addScalar
(
"numOfNotJoinedCus"
,
new
LongType
());
query
.
addScalar
(
"numOfLockCus"
,
new
LongType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CampaignDTO
.
class
));
int
count
=
0
;
...
...
@@ -178,7 +182,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
}
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
return
null
;
return
result
;
}
private
Pageable
buildPageable
(
CampaignRequestDTO
obj
)
{
...
...
@@ -188,9 +192,4 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
pageable
=
new
PageRequest
(
obj
.
getPage
(),
obj
.
getPageSize
(),
sort
);
return
pageable
;
}
// private CampaignDTO mappingData(Object[] object) {
// CampaignDTO dto = new CampaignDTO();
//
// }
}
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeServiceImpl.java
View file @
da43a363
...
...
@@ -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/CampaignService.java
View file @
da43a363
package
com.viettel.campaign.service
;
import
com.viettel.campaign.dto.ResultDTO
;
import
com.viettel.campaign.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.model.Campaign
;
import
org.springframework.data.domain.Page
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
java.util.Map
;
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
View file @
da43a363
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.dto.CampaignDTO
;
import
com.viettel.campaign.dto.ResultDTO
;
import
com.viettel.campaign.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.model.Campaign
;
import
com.viettel.campaign.repository.CampaignRepository
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.service.CampaignService
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
...
...
@@ -21,7 +21,7 @@ import java.util.Map;
@Service
public
class
CampaignServiceImpl
implements
CampaignService
{
@Autowired
@Autowired
(
required
=
true
)
CampaignRepository
campaignRepository
;
@Override
...
...
@@ -33,7 +33,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/service/impl/CampaignServiceImpl.java~HEAD
0 → 100644
View file @
da43a363
package
com
.
viettel
.
campaign
.
service
.
impl
;
<<<<<<<
HEAD
:
src
/
main
/
java
/
com
/
viettel
/
campaign
/
service
/
CampaignServiceImpl
.
java
import
com
.
viettel
.
campaign
.
repository
.
CampaignRepository
;
import
com
.
viettel
.
campaign
.
web
.
dto
.
CampaignDTO
;
=======
import
com
.
viettel
.
campaign
.
dto
.
CampaignDTO
;
import
com
.
viettel
.
campaign
.
dto
.
ResultDTO
;
import
com
.
viettel
.
campaign
.
dto
.
request_dto
.
CampaignRequestDTO
;
import
com
.
viettel
.
campaign
.
model
.
Campaign
;
import
com
.
viettel
.
campaign
.
repository
.
CampaignRepository
;
import
com
.
viettel
.
campaign
.
service
.
CampaignService
;
>>>>>>>
anhvd_campaign_mng
:
src
/
main
/
java
/
com
/
viettel
/
campaign
/
service
/
impl
/
CampaignServiceImpl
.
java
import
org
.
springframework
.
beans
.
factory
.
annotation
.
Autowired
;
import
org
.
springframework
.
data
.
domain
.
Page
;
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
(
required
=
true
)
CampaignRepository
campaignRepository
;
@
Override
public
Map
searchCampaignExecute
(
int
page
,
int
pageSize
,
String
sort
,
String
agentId
)
{
Map
result
=
new
HashMap
();
List
<
CampaignDTO
>
lst
=
new
ArrayList
<>();
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
));
lst
=
campaignRepository
.
searchCampaignExecute
(
agentId
,
pageable
);
result
.
put
(
"totalItem"
,
lst
.
size
());
result
.
put
(
"data"
,
lst
);
return
result
;
}
@
Override
public
ResultDTO
search
(
CampaignRequestDTO
requestDto
)
{
return
campaignRepository
.
search
(
requestDto
);
}
}
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
View file @
da43a363
...
...
@@ -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,30 @@ 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
;
private
Long
numOfJoinedCus
;
private
Long
numOfNotJoinedCus
;
private
Long
numOfLockCus
;
}
src/main/java/com/viettel/campaign/web/dto/ResultDTO.java
View file @
da43a363
...
...
@@ -9,7 +9,6 @@ import java.util.List;
@Getter
@Setter
public
class
ResultDTO
{
private
String
errorCode
;
private
String
description
;
private
List
<?>
listData
=
new
ArrayList
();
...
...
src/main/java/com/viettel/campaign/dto/request_dto/CampaignRequestDTO.java
→
src/main/java/com/viettel/campaign/
web/
dto/request_dto/CampaignRequestDTO.java
View file @
da43a363
package
com.viettel.campaign.dto.request_dto
;
package
com.viettel.campaign.
web.
dto.request_dto
;
import
com.viettel.campaign.dto.BaseDTO
;
import
com.viettel.campaign.
web.
dto.BaseDTO
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
src/main/java/com/viettel/campaign/web/rest/CampaignController.java
→
src/main/java/com/viettel/campaign/web/rest/
controller/
CampaignController.java
View file @
da43a363
package
com.viettel.campaign.web.rest.controller
;
import
com.viettel.campaign.dto.ResultDTO
;
import
com.viettel.campaign.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.model.Campaign
;
import
com.viettel.campaign.service.CampaignService
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.apache.log4j.Logger
;
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.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.data.domain.Page
;
...
...
@@ -15,6 +16,7 @@ import java.util.Map;
@RestController
@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