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
f6703e9b
Commit
f6703e9b
authored
Aug 26, 2019
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd accept merge
parents
2f325328
5e2067f7
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
191 additions
and
128 deletions
+191
-128
src/main/java/com/viettel/campaign/repository/ccms_full/ApParamRepository.java
...ttel/campaign/repository/ccms_full/ApParamRepository.java
+1
-1
src/main/java/com/viettel/campaign/repository/ccms_full/ApParamRepositoryCustom.java
...ampaign/repository/ccms_full/ApParamRepositoryCustom.java
+0
-8
src/main/java/com/viettel/campaign/repository/ccms_full/TicketRepository.java
...ettel/campaign/repository/ccms_full/TicketRepository.java
+5
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/AppParamRepositoryImpl.java
...ign/repository/ccms_full/impl/AppParamRepositoryImpl.java
+0
-13
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignCustomerListColumnRepositoryImpl.java
...s_full/impl/CampaignCustomerListColumnRepositoryImpl.java
+1
-3
src/main/java/com/viettel/campaign/repository/ccms_full/impl/TicketRepositoryImpl.java
...paign/repository/ccms_full/impl/TicketRepositoryImpl.java
+0
-1
src/main/java/com/viettel/campaign/service/TicketService.java
...main/java/com/viettel/campaign/service/TicketService.java
+2
-2
src/main/java/com/viettel/campaign/service/impl/TicketServiceImpl.java
.../com/viettel/campaign/service/impl/TicketServiceImpl.java
+23
-10
src/main/java/com/viettel/campaign/web/rest/CampaignController.java
...ava/com/viettel/campaign/web/rest/CampaignController.java
+28
-89
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
.../viettel/campaign/web/rest/CampaignExecuteController.java
+129
-0
src/main/java/com/viettel/campaign/web/rest/TicketController.java
.../java/com/viettel/campaign/web/rest/TicketController.java
+2
-1
No files found.
src/main/java/com/viettel/campaign/repository/ccms_full/ApParamRepository.java
View file @
f6703e9b
...
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Repository;
...
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Repository;
import
java.util.List
;
import
java.util.List
;
@Repository
@Repository
public
interface
ApParamRepository
extends
JpaRepository
<
ApParam
,
Long
>
,
ApParamRepositoryCustom
{
public
interface
ApParamRepository
extends
JpaRepository
<
ApParam
,
Long
>
{
Page
<
ApParam
>
findAll
(
Pageable
pageable
);
Page
<
ApParam
>
findAll
(
Pageable
pageable
);
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/ApParamRepositoryCustom.java
deleted
100644 → 0
View file @
2f325328
package
com.viettel.campaign.repository.ccms_full
;
import
org.springframework.stereotype.Repository
;
@Repository
public
interface
ApParamRepositoryCustom
{
}
src/main/java/com/viettel/campaign/repository/ccms_full/TicketRepository.java
View file @
f6703e9b
package
com.viettel.campaign.repository.ccms_full
;
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.model.ccms_full.Ticket
;
import
com.viettel.campaign.model.ccms_full.Ticket
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Transactional
;
@Repository
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
interface
TicketRepository
extends
BaseRepository
<
Ticket
>,
TicketRepositoryCustom
{
public
interface
TicketRepository
extends
BaseRepository
<
Ticket
>,
TicketRepositoryCustom
{
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/AppParamRepositoryImpl.java
deleted
100644 → 0
View file @
2f325328
package
com.viettel.campaign.repository.ccms_full.impl
;
import
com.viettel.campaign.repository.ccms_full.ApParamRepositoryCustom
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Transactional
;
@Repository
@Transactional
public
class
AppParamRepositoryImpl
implements
ApParamRepositoryCustom
{
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignCustomerListColumnRepositoryImpl.java
View file @
f6703e9b
...
@@ -22,7 +22,6 @@ import java.util.List;
...
@@ -22,7 +22,6 @@ import java.util.List;
public
class
CampaignCustomerListColumnRepositoryImpl
implements
CampaignCustomerListColumnRepositoryCustom
{
public
class
CampaignCustomerListColumnRepositoryImpl
implements
CampaignCustomerListColumnRepositoryCustom
{
@Override
@Override
public
List
<
CampaignCustomerListColumnRequestDTO
>
getCustomerInfor
(
Long
companySiteId
,
Long
customerId
,
Long
campaignId
)
{
public
List
<
CampaignCustomerListColumnRequestDTO
>
getCustomerInfor
(
Long
companySiteId
,
Long
customerId
,
Long
campaignId
)
{
ResultDTO
result
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
List
<
CampaignCustomerListColumnRequestDTO
>
data
=
new
ArrayList
<>();
List
<
CampaignCustomerListColumnRequestDTO
>
data
=
new
ArrayList
<>();
...
@@ -68,8 +67,7 @@ public class CampaignCustomerListColumnRepositoryImpl implements CampaignCustome
...
@@ -68,8 +67,7 @@ public class CampaignCustomerListColumnRepositoryImpl implements CampaignCustome
data
=
query
.
list
();
data
=
query
.
list
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
e
.
printStackTrace
();
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
}
finally
{
session
.
close
();
session
.
close
();
}
}
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/impl/TicketRepositoryImpl.java
View file @
f6703e9b
...
@@ -20,7 +20,6 @@ public class TicketRepositoryImpl implements TicketRepositoryCustom {
...
@@ -20,7 +20,6 @@ public class TicketRepositoryImpl implements TicketRepositoryCustom {
@PersistenceContext
(
unitName
=
DataSourceQualify
.
JPA_UNIT_NAME_CCMS_FULL
)
@PersistenceContext
(
unitName
=
DataSourceQualify
.
JPA_UNIT_NAME_CCMS_FULL
)
EntityManager
entityManager
;
EntityManager
entityManager
;
@Override
public
List
<
TicketDTO
>
getHistory
(
String
customerId
,
Pageable
pageable
)
{
public
List
<
TicketDTO
>
getHistory
(
String
customerId
,
Pageable
pageable
)
{
List
<
TicketDTO
>
lst
=
new
ArrayList
<>();
List
<
TicketDTO
>
lst
=
new
ArrayList
<>();
String
expression
=
new
StringBuilder
()
String
expression
=
new
StringBuilder
()
...
...
src/main/java/com/viettel/campaign/service/TicketService.java
View file @
f6703e9b
package
com.viettel.campaign.service
;
package
com.viettel.campaign.service
;
import
java.util.Map
;
import
com.viettel.campaign.web.dto.ResultDTO
;
public
interface
TicketService
{
public
interface
TicketService
{
Map
getHistory
(
int
page
,
int
pageSize
,
String
sort
,
String
customerId
);
ResultDTO
getHistory
(
int
page
,
int
pageSize
,
String
sort
,
String
customerId
);
}
}
src/main/java/com/viettel/campaign/service/impl/TicketServiceImpl.java
View file @
f6703e9b
...
@@ -3,6 +3,8 @@ package com.viettel.campaign.service.impl;
...
@@ -3,6 +3,8 @@ package com.viettel.campaign.service.impl;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.repository.ccms_full.TicketRepository
;
import
com.viettel.campaign.repository.ccms_full.TicketRepository
;
import
com.viettel.campaign.service.TicketService
;
import
com.viettel.campaign.service.TicketService
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.TicketDTO
;
import
com.viettel.campaign.web.dto.TicketDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.PageRequest
;
...
@@ -11,9 +13,7 @@ import org.springframework.stereotype.Service;
...
@@ -11,9 +13,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Service
@Service
public
class
TicketServiceImpl
implements
TicketService
{
public
class
TicketServiceImpl
implements
TicketService
{
...
@@ -21,16 +21,29 @@ public class TicketServiceImpl implements TicketService {
...
@@ -21,16 +21,29 @@ public class TicketServiceImpl implements TicketService {
@Autowired
@Autowired
TicketRepository
ticketRepository
;
TicketRepository
ticketRepository
;
@Override
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
Map
getHistory
(
int
page
,
int
pageSize
,
String
sort
,
String
customerId
)
{
public
ResultDTO
getHistory
(
int
page
,
int
pageSize
,
String
sort
,
String
customerId
)
{
Map
result
=
new
HashMap
();
ResultDTO
result
=
new
ResultDTO
();
List
<
TicketDTO
>
lst
=
new
ArrayList
<>();
List
<
TicketDTO
>
lst
=
new
ArrayList
<>();
lst
=
ticketRepository
.
getHistory
(
customerId
,
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)));
try
{
Integer
c
=
ticketRepository
.
getHistory
(
customerId
,
null
).
size
();
result
.
put
(
"totalItem"
,
lst
.
size
());
if
(
c
>
0
)
{
result
.
put
(
"tickets"
,
lst
);
lst
=
ticketRepository
.
getHistory
(
customerId
,
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)));
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
result
.
setListData
(
lst
);
result
.
setTotalRow
(
c
);
}
else
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
result
.
setTotalRow
(
0
);
}
}
catch
(
Exception
e
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
result
;
return
result
;
}
}
...
...
src/main/java/com/viettel/campaign/web/rest/CampaignController.java
View file @
f6703e9b
...
@@ -44,42 +44,6 @@ public class CampaignController {
...
@@ -44,42 +44,6 @@ public class CampaignController {
@Autowired
@Autowired
CampaignExecuteService
campaignExecuteService
;
CampaignExecuteService
campaignExecuteService
;
@PostMapping
(
"/searchCampaignExecute"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchCampaignExecute
(
@RequestBody
CampaignRequestDTO
requestDto
,
HttpServletRequest
request
)
{
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
ResultDTO
result
=
campaignExecuteService
.
searchCampaignExecute
(
requestDto
,
xAuthToken
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getExecuteCampaign"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getExecuteCampaign
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCustomer"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCustomer
(
@RequestBody
CampaignCustomerDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCustomer
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCustomerComplete"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCustomerComplete
(
@RequestBody
ReceiveCustLogDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCustomerComplete
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCallLog"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCallLog
(
@RequestBody
ReceiveCustLogDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCallLog
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/callCustomer"
)
@PostMapping
(
"/callCustomer"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
callCustomer
(
@RequestBody
ContactCustResultDTO
requestDto
)
{
public
ResponseEntity
<
ResultDTO
>
callCustomer
(
@RequestBody
ContactCustResultDTO
requestDto
)
{
...
@@ -87,13 +51,6 @@ public class CampaignController {
...
@@ -87,13 +51,6 @@ public class CampaignController {
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
@PostMapping
(
"/getAgentLogout"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getAgentLogout
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getAgentLogout
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@RequestMapping
(
value
=
"/search"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/search"
,
method
=
RequestMethod
.
POST
)
public
ResponseEntity
<
ResultDTO
>
search
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
public
ResponseEntity
<
ResultDTO
>
search
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignService
.
search
(
requestDto
);
ResultDTO
result
=
campaignService
.
search
(
requestDto
);
...
@@ -131,45 +88,6 @@ public class CampaignController {
...
@@ -131,45 +88,6 @@ public class CampaignController {
return
new
ResponseEntity
<>(
list
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
list
,
HttpStatus
.
OK
);
}
}
@PostMapping
(
"/searchInteractiveResult"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchInteractiveResult
(
@RequestBody
CampaignRequestDTO
dto
)
throws
Exception
{
ResultDTO
result
=
campaignExecuteService
.
searchInteractiveResult
(
dto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/exportInteractiveResult"
)
@ResponseBody
public
ResponseEntity
<?>
exportInteractiveResult
(
HttpServletResponse
response
,
@RequestBody
CampaignRequestDTO
dto
)
{
XSSFWorkbook
workbook
=
null
;
byte
[]
contentReturn
=
null
;
try
{
String
fileName
=
"report_campaign_exec_interactive_result.xlsx"
;
response
.
setHeader
(
"Content-Disposition"
,
"attachment; filename="
+
fileName
);
OutputStream
outputStream
;
workbook
=
campaignExecuteService
.
exportInteractiveResult
(
dto
);
outputStream
=
response
.
getOutputStream
();
workbook
.
write
(
outputStream
);
ByteArrayOutputStream
byteArrayOutputStream
=
new
ByteArrayOutputStream
();
workbook
.
write
(
byteArrayOutputStream
);
contentReturn
=
byteArrayOutputStream
.
toByteArray
();
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
new
ResponseEntity
<
byte
[]>(
null
,
null
,
HttpStatus
.
BAD_REQUEST
);
}
finally
{
if
(
workbook
!=
null
)
{
try
{
workbook
.
close
();
}
catch
(
IOException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
}
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
parseMediaType
(
"application/vnd.ms-excel"
));
return
new
ResponseEntity
<
byte
[]>(
contentReturn
,
headers
,
HttpStatus
.
OK
);
}
@RequestMapping
(
value
=
"/changeCampaignStatus"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/changeCampaignStatus"
,
method
=
RequestMethod
.
POST
)
public
ResultDTO
changeCampaignStatus
(
@RequestBody
CampaignDTO
dto
,
HttpServletRequest
request
)
{
public
ResultDTO
changeCampaignStatus
(
@RequestBody
CampaignDTO
dto
,
HttpServletRequest
request
)
{
dto
.
setSessionId
(
request
.
getSession
().
getId
());
dto
.
setSessionId
(
request
.
getSession
().
getId
());
...
@@ -248,13 +166,6 @@ public class CampaignController {
...
@@ -248,13 +166,6 @@ public class CampaignController {
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
}
@GetMapping
(
"/countRecallCustomer"
)
@ResponseBody
public
ResponseEntity
countRecallCustomer
(
@RequestParam
(
"companySiteId"
)
Long
companySiteId
,
@RequestParam
(
"agentId"
)
Long
agentId
)
{
ResultDTO
result
=
campaignExecuteService
.
countRecallCustomer
(
companySiteId
,
agentId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/getCustomerRecall"
)
@GetMapping
(
"/getCustomerRecall"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
getCustomerRecall
(
@RequestParam
(
"campaignId"
)
Long
campaignId
,
@RequestParam
(
"customerId"
)
Long
customerId
)
{
public
ResponseEntity
getCustomerRecall
(
@RequestParam
(
"campaignId"
)
Long
campaignId
,
@RequestParam
(
"customerId"
)
Long
customerId
)
{
...
@@ -340,4 +251,32 @@ public class CampaignController {
...
@@ -340,4 +251,32 @@ public class CampaignController {
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
@RequestMapping
(
value
=
"/import-file"
,
method
=
RequestMethod
.
POST
)
public
ResponseEntity
<?>
importFile
(
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestHeader
(
"X-Auth-Token"
)
String
authToken
)
{
Locale
locale
=
new
Locale
(
"vi"
,
"VN"
);
try
{
UserSession
userSession
=
(
UserSession
)
RedisUtil
.
getInstance
().
get
(
authToken
);
if
(
file
.
isEmpty
())
{
return
new
ResponseEntity
<>(
BundleUtils
.
getLangString
(
"common.fileNotSelected"
),
HttpStatus
.
OK
);
}
if
(!
Objects
.
equals
(
FilenameUtils
.
getExtension
(
file
.
getOriginalFilename
()),
Constants
.
FileType
.
xlsx
))
{
return
new
ResponseEntity
<>(
BundleUtils
.
getLangString
(
"common.fileInvalidFormat"
,
locale
),
HttpStatus
.
OK
);
}
//String path = saveUploadFile(file);
// List<CustomizeFields> dynamicHeaders = customerService.getDynamicHeader(userSession.getCompanySiteId());
// Map<String, Object> map = customerService.readAndValidateCustomer(path, dynamicHeaders, userSession, customerListId);
// File fileExport = (File) map.get("file");
// String message = (String) map.get("message");
// return ResponseEntity.ok()
// .header("Content-Type", Constants.MIME_TYPE.EXCEL_XLSX)
// .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=template_import_customer.xlsx")
// .header("Message", message)
// .body(Files.readAllBytes(fileExport.toPath()));
return
new
ResponseEntity
<>(
null
,
HttpStatus
.
OK
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
}
}
}
src/main/java/com/viettel/campaign/web/rest/CampaignExecuteController.java
0 → 100644
View file @
f6703e9b
package
com.viettel.campaign.web.rest
;
import
com.viettel.campaign.service.CampaignExecuteService
;
import
com.viettel.campaign.web.dto.CampaignCustomerDTO
;
import
com.viettel.campaign.web.dto.ReceiveCustLogDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
@RestController
@RequestMapping
(
"/ipcc/campaign/execute"
)
@CrossOrigin
public
class
CampaignExecuteController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignController
.
class
);
@Autowired
CampaignExecuteService
campaignExecuteService
;
@PostMapping
(
"/searchCampaignExecute"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchCampaignExecute
(
@RequestBody
CampaignRequestDTO
requestDto
,
HttpServletRequest
request
)
{
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
ResultDTO
result
=
campaignExecuteService
.
searchCampaignExecute
(
requestDto
,
xAuthToken
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getExecuteCampaign"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getExecuteCampaign
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCustomer"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCustomer
(
@RequestBody
CampaignCustomerDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCustomer
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCustomerComplete"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCustomerComplete
(
@RequestBody
ReceiveCustLogDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCustomerComplete
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCallLog"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCallLog
(
@RequestBody
ReceiveCustLogDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCallLog
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/countRecallCustomer"
)
@ResponseBody
public
ResponseEntity
countRecallCustomer
(
@RequestParam
(
"companySiteId"
)
Long
companySiteId
,
@RequestParam
(
"agentId"
)
Long
agentId
)
{
ResultDTO
result
=
campaignExecuteService
.
countRecallCustomer
(
companySiteId
,
agentId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getAgentLogout"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getAgentLogout
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getAgentLogout
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/searchInteractiveResult"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchInteractiveResult
(
@RequestBody
CampaignRequestDTO
dto
)
throws
Exception
{
ResultDTO
result
=
campaignExecuteService
.
searchInteractiveResult
(
dto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/exportInteractiveResult"
)
@ResponseBody
public
ResponseEntity
<?>
exportInteractiveResult
(
HttpServletResponse
response
,
@RequestBody
CampaignRequestDTO
dto
)
{
XSSFWorkbook
workbook
=
null
;
byte
[]
contentReturn
=
null
;
try
{
String
fileName
=
"report_campaign_exec_interactive_result.xlsx"
;
response
.
setHeader
(
"Content-Disposition"
,
"attachment; filename="
+
fileName
);
OutputStream
outputStream
;
workbook
=
campaignExecuteService
.
exportInteractiveResult
(
dto
);
outputStream
=
response
.
getOutputStream
();
workbook
.
write
(
outputStream
);
ByteArrayOutputStream
byteArrayOutputStream
=
new
ByteArrayOutputStream
();
workbook
.
write
(
byteArrayOutputStream
);
contentReturn
=
byteArrayOutputStream
.
toByteArray
();
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
new
ResponseEntity
<
byte
[]>(
null
,
null
,
HttpStatus
.
BAD_REQUEST
);
}
finally
{
if
(
workbook
!=
null
)
{
try
{
workbook
.
close
();
}
catch
(
IOException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
}
}
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
parseMediaType
(
"application/vnd.ms-excel"
));
return
new
ResponseEntity
<
byte
[]>(
contentReturn
,
headers
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/getCustomerInfor"
)
@ResponseBody
public
ResponseEntity
getCustomerInfor
(
@RequestParam
(
"companySiteId"
)
Long
companySiteId
,
@RequestParam
(
"customerId"
)
Long
customerId
,
@RequestParam
(
"campaignId"
)
Long
campaignId
)
{
ResultDTO
result
=
campaignExecuteService
.
getCustomerInfor
(
companySiteId
,
customerId
,
campaignId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
src/main/java/com/viettel/campaign/web/rest/TicketController.java
View file @
f6703e9b
package
com.viettel.campaign.web.rest
;
package
com.viettel.campaign.web.rest
;
import
com.viettel.campaign.service.TicketService
;
import
com.viettel.campaign.service.TicketService
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
org.apache.log4j.Logger
;
import
org.apache.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
...
@@ -22,7 +23,7 @@ public class TicketController {
...
@@ -22,7 +23,7 @@ public class TicketController {
@GetMapping
(
"/getHistory"
)
@GetMapping
(
"/getHistory"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
searchCampaignExecute
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"customerId"
)
String
customerId
)
{
public
ResponseEntity
searchCampaignExecute
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"customerId"
)
String
customerId
)
{
Map
result
=
ticketService
.
getHistory
(
page
,
pageSize
,
sort
,
customerId
);
ResultDTO
result
=
ticketService
.
getHistory
(
page
,
pageSize
,
sort
,
customerId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
}
}
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