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
55a6b806
Commit
55a6b806
authored
5 years ago
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd commit change
parents
248e5ca3
373e6d79
Changes
25
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
588 additions
and
319 deletions
+588
-319
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepository.java
...l/campaign/repository/CampaignCompleteCodeRepository.java
+8
-3
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepositoryCustom.java
...aign/repository/CampaignCompleteCodeRepositoryCustom.java
+2
-0
src/main/java/com/viettel/campaign/repository/CampaignExecuteRepository.java
...iettel/campaign/repository/CampaignExecuteRepository.java
+2
-0
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCodeRepositoryIpml.java
...n/repository/impl/CampaignCompleteCodeRepositoryIpml.java
+0
-218
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCompleteCodeRepositoryIpml.java
...tory/impl/CampaignCompleteCompleteCodeRepositoryIpml.java
+15
-0
src/main/java/com/viettel/campaign/repository/impl/CampaignExecuteRepositoryImp.java
...ampaign/repository/impl/CampaignExecuteRepositoryImp.java
+90
-24
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeService.java
...viettel/campaign/service/CampaignCompleteCodeService.java
+2
-0
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
.../com/viettel/campaign/service/CampaignExecuteService.java
+3
-0
src/main/java/com/viettel/campaign/service/CustomerService.java
...in/java/com/viettel/campaign/service/CustomerService.java
+3
-5
src/main/java/com/viettel/campaign/service/impl/CampaignCompleteCodeServiceImpl.java
...ampaign/service/impl/CampaignCompleteCodeServiceImpl.java
+64
-11
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
...ttel/campaign/service/impl/CampaignExecuteServiceImp.java
+122
-0
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
...om/viettel/campaign/service/impl/CustomerServiceImpl.java
+141
-42
src/main/java/com/viettel/campaign/utils/BundleUtils.java
src/main/java/com/viettel/campaign/utils/BundleUtils.java
+37
-0
src/main/java/com/viettel/campaign/utils/Constants.java
src/main/java/com/viettel/campaign/utils/Constants.java
+8
-0
src/main/java/com/viettel/campaign/web/dto/BaseDTO.java
src/main/java/com/viettel/campaign/web/dto/BaseDTO.java
+1
-0
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
...tel/campaign/web/rest/CampaignCompleteCodeController.java
+9
-2
src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
...ttel/campaign/web/rest/controller/CampaignController.java
+38
-5
src/main/java/com/viettel/campaign/web/rest/controller/CustomerController.java
...ttel/campaign/web/rest/controller/CustomerController.java
+6
-6
src/main/resources/i18n/language.properties
src/main/resources/i18n/language.properties
+0
-0
src/main/resources/i18n/language_en.properties
src/main/resources/i18n/language_en.properties
+16
-0
src/main/resources/i18n/language_vi.properties
src/main/resources/i18n/language_vi.properties
+16
-0
src/main/resources/sql/campaign-execute/get-execute-interactive.sql
...esources/sql/campaign-execute/get-execute-interactive.sql
+2
-1
src/main/resources/sql/campaign-mng/search-campaign-customer-by-params.sql
...s/sql/campaign-mng/search-campaign-customer-by-params.sql
+0
-1
src/main/resources/sql/campaign-status-mng/deleteListAll-campaignCompleteCode.sql
...ampaign-status-mng/deleteListAll-campaignCompleteCode.sql
+2
-1
src/main/resources/sql/campaign-status-mng/search-campaign-status-by-params.sql
.../campaign-status-mng/search-campaign-status-by-params.sql
+1
-0
No files found.
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepository.java
View file @
55a6b806
...
...
@@ -12,18 +12,23 @@ import org.springframework.stereotype.Repository;
import
java.util.List
;
@Repository
public
interface
CampaignCompleteCodeRepository
extends
JpaRepository
<
CampaignCompleteCode
,
Long
>
{
@Query
(
" select u FROM CampaignCompleteCode u WHERE u.status = 1"
)
Page
<
CampaignCompleteCode
>
findAll
(
Pageable
pageable
);
// Page<CampaignCompleteCode> findAllByStatus(String status, Pageable pageable);
@Query
(
"FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') "
)
List
<
CampaignCompleteCode
>
findByName
(
@Param
(
"name"
)
String
name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
);
@Modifying
@Query
(
"delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)"
)
int
deleteds
(
@Param
(
"ids"
)
List
<
Long
>
ids
);
// @Query(value="SELECT max(completeValue) FROM CampaignCompleteCode WHERE companySiteId = :companySiteId GROUP BY companySiteId")
// Short findByMaxCompanySiteId(Long companySiteId);
List
<
CampaignCompleteCode
>
findCampaignCompleteCodesByCompanySiteId
(
Long
companySiteId
);
// List<CampaignCompleteCode> findByCampaignIdContainsAndChanel(Long campaignId, String chanel);
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepositoryCustom.java
View file @
55a6b806
...
...
@@ -5,4 +5,6 @@ import com.viettel.campaign.web.dto.ResultDTO;
public
interface
CampaignCompleteCodeRepositoryCustom
{
ResultDTO
updateStatusById
(
Long
id
);
ResultDTO
findMaxValueCampaignType
(
Long
companySiteId
);
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/CampaignExecuteRepository.java
View file @
55a6b806
...
...
@@ -18,5 +18,7 @@ public interface CampaignExecuteRepository {
List
<
ApParamDTO
>
getComboCampaignType
(
String
companySiteId
);
ResultDTO
getInteractiveResult
(
CampaignRequestDTO
dto
);
List
<
ContactCustResultDTO
>
getExcelInteractiveResult
(
CampaignRequestDTO
dto
);
//</editor-fold: hungtt>
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCodeRepositoryIpml.java
deleted
100644 → 0
View file @
248e5ca3
package
com.viettel.campaign.repository.impl
;
import
com.viettel.campaign.model.CampaignCompleteCode
;
import
com.viettel.campaign.repository.CampaignCompleteCodeRepository
;
import
com.viettel.campaign.utils.HibernateUtil
;
import
com.viettel.campaign.utils.SQLBuilder
;
import
com.viettel.campaign.web.dto.CampaignCompleteCodeDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.LongType
;
import
org.hibernate.type.ShortType
;
import
org.hibernate.type.StringType
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Example
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.persistence.EntityManager
;
import
java.util.List
;
import
java.util.Optional
;
public
class
CampaignCompleteCodeRepositoryIpml
implements
CampaignCompleteCodeRepository
{
@Autowired
EntityManager
entityManager
;
CampaignCompleteCodeRepository
campaignCompleteCodeRepository
;
private
Logger
log
=
LoggerFactory
.
getLogger
(
CampaignCompleteCodeRepositoryIpml
.
class
);
@Override
public
Page
<
CampaignCompleteCode
>
findAll
(
Pageable
pageable
)
{
// Page<CampaignCompleteCode>
// try {
//
// } catch (Exception e) {
//
// }
return
null
;
}
@Override
public
List
<
CampaignCompleteCode
>
findByName
(
String
name
,
Pageable
pageable
)
{
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
List
<
CampaignCompleteCode
>
resultList
=
null
;
try
{
StringBuilder
sql
=
new
StringBuilder
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_STATUS_MNG
,
"search-campaign-status-by-params"
));
SQLQuery
query
=
session
.
createSQLQuery
(
sql
.
toString
());
query
.
setParameter
(
":p_name"
,
name
);
// add SCalar
query
.
addScalar
(
"campaignId"
,
new
LongType
());
query
.
addScalar
(
"completeValue"
,
new
StringType
());
query
.
addScalar
(
"completeName"
,
new
StringType
());
query
.
addScalar
(
"completeType"
,
new
StringType
());
query
.
addScalar
(
"chanel"
,
new
ShortType
());
query
.
addScalar
(
"description"
,
new
StringType
());
query
.
addScalar
(
"status"
,
new
ShortType
());
query
.
addScalar
(
"chanel"
,
new
LongType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CampaignCompleteCodeDTO
.
class
));
resultList
=
query
.
list
();
}
catch
(
Exception
e
)
{
session
.
close
();
log
.
error
(
e
.
getMessage
(),
e
);
}
return
resultList
;
}
@Override
public
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
)
{
return
campaignCompleteCodeRepository
.
findByCompleteNameContains
(
name
,
pageable
);
}
@Override
public
int
deleteds
(
List
<
Long
>
ids
)
{
return
0
;
}
@Override
public
List
<
CampaignCompleteCode
>
findAll
()
{
return
campaignCompleteCodeRepository
.
findAll
();
}
@Override
public
List
<
CampaignCompleteCode
>
findAll
(
Sort
sort
)
{
return
campaignCompleteCodeRepository
.
findAll
();
}
@Override
public
List
<
CampaignCompleteCode
>
findAllById
(
Iterable
<
Long
>
iterable
)
{
return
null
;
}
@Override
public
long
count
()
{
return
0
;
}
@Override
@Transactional
public
void
deleteById
(
Long
id
)
{
ResultDTO
result
=
new
ResultDTO
();
try
{
// update Status = 0 cho cái ID truyền vào
CampaignCompleteCode
entity
=
entityManager
.
find
(
CampaignCompleteCode
.
class
,
id
);
// set giá trị Status = 0 --> tương đương với inactive
entity
.
setStatus
(
new
Short
(
"0"
));
entityManager
.
merge
(
entity
);
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
}
}
@Override
public
void
delete
(
CampaignCompleteCode
campaignCompleteCode
)
{
}
@Override
public
void
deleteAll
(
Iterable
<?
extends
CampaignCompleteCode
>
iterable
)
{
}
@Override
public
void
deleteAll
()
{
}
@Override
public
<
S
extends
CampaignCompleteCode
>
S
save
(
S
s
)
{
return
null
;
}
@Override
public
<
S
extends
CampaignCompleteCode
>
List
<
S
>
saveAll
(
Iterable
<
S
>
iterable
)
{
return
null
;
}
@Override
public
Optional
<
CampaignCompleteCode
>
findById
(
Long
aLong
)
{
return
Optional
.
empty
();
}
@Override
public
boolean
existsById
(
Long
aLong
)
{
return
false
;
}
@Override
public
void
flush
()
{
}
@Override
public
<
S
extends
CampaignCompleteCode
>
S
saveAndFlush
(
S
s
)
{
return
null
;
}
@Override
public
void
deleteInBatch
(
Iterable
<
CampaignCompleteCode
>
iterable
)
{
}
@Override
public
void
deleteAllInBatch
()
{
}
@Override
public
CampaignCompleteCode
getOne
(
Long
aLong
)
{
return
null
;
}
@Override
public
<
S
extends
CampaignCompleteCode
>
Optional
<
S
>
findOne
(
Example
<
S
>
example
)
{
return
Optional
.
empty
();
}
@Override
public
<
S
extends
CampaignCompleteCode
>
List
<
S
>
findAll
(
Example
<
S
>
example
)
{
return
null
;
}
@Override
public
<
S
extends
CampaignCompleteCode
>
List
<
S
>
findAll
(
Example
<
S
>
example
,
Sort
sort
)
{
return
null
;
}
@Override
public
<
S
extends
CampaignCompleteCode
>
Page
<
S
>
findAll
(
Example
<
S
>
example
,
Pageable
pageable
)
{
return
null
;
}
@Override
public
<
S
extends
CampaignCompleteCode
>
long
count
(
Example
<
S
>
example
)
{
return
0
;
}
@Override
public
<
S
extends
CampaignCompleteCode
>
boolean
exists
(
Example
<
S
>
example
)
{
return
false
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCompleteCodeRepositoryIpml.java
View file @
55a6b806
...
...
@@ -38,4 +38,19 @@ public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompl
}
return
dto
;
}
@Override
@Transactional
public
ResultDTO
findMaxValueCampaignType
(
Long
companySiteId
)
{
ResultDTO
result
=
new
ResultDTO
();
try
{
result
.
setErrorCode
(
"00"
);
}
catch
(
Exception
e
){
log
.
error
(
e
.
getMessage
(),
e
);
result
.
setErrorCode
(
"01"
);
result
.
setDescription
(
e
.
getMessage
());
}
return
null
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/impl/CampaignExecuteRepositoryImp.java
View file @
55a6b806
...
...
@@ -25,11 +25,8 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import
org.springframework.stereotype.Repository
;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
@Repository
public
class
CampaignExecuteRepositoryImp
implements
CampaignExecuteRepository
{
...
...
@@ -85,30 +82,30 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
String
sql
=
SQLBuilder
.
getSqlQueryById
(
Constants
.
SQL_MODULES
.
MODULE_EXECUTE
,
"get-execute-interactive"
);
sqlBuilder
.
append
(
sql
);
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()
.
trim
()
))
{
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()))
{
sqlBuilder
.
append
(
" and upper(campaignName) like upper(:p_campaign_name)"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
()
.
trim
()
))
{
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
()))
{
sqlBuilder
.
append
(
" and upper(userName) like upper(:p_user_name)"
);
}
SQLQuery
query
=
session
.
createSQLQuery
(
sqlBuilder
.
toString
());
query
.
setParameterList
(
"p_list_campaign_id"
,
dto
.
getCampaignId
().
trim
().
split
(
","
));
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
()
.
trim
()
);
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
()
.
trim
()
);
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
()
.
trim
()
);
query
.
setParameterList
(
"p_list_contact_status"
,
dto
.
getContactStatus
().
trim
().
split
(
","
));
query
.
setParameterList
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
().
trim
().
split
(
","
));
query
.
setParameterList
(
"p_list_record_status"
,
dto
.
getRecordStatus
().
trim
().
split
(
","
));
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
()
.
trim
()
);
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
()
.
trim
()
);
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
()
.
trim
()
);
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()
.
trim
()
))
{
query
.
setParameterList
(
"p_list_campaign_id"
,
dto
.
getCampaignId
().
split
(
","
));
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
());
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
());
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
());
query
.
setParameterList
(
"p_list_contact_status"
,
dto
.
getContactStatus
().
split
(
","
));
query
.
setParameterList
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
().
split
(
","
));
query
.
setParameterList
(
"p_list_record_status"
,
dto
.
getRecordStatus
().
split
(
","
));
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()))
{
query
.
setParameter
(
"p_campaign_name"
,
dto
.
getCampaignName
().
trim
());
}
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
()
.
trim
()
))
{
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
()))
{
query
.
setParameter
(
"p_user_name"
,
dto
.
getAgentId
().
trim
());
}
...
...
@@ -142,10 +139,8 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
else
{
if
(
contactCustResultDTO
.
getRecordStatus
()
==
2
)
{
contactCustResultDTO
.
setEnableEdit
(
true
);
}
else
if
(
contactCustResultDTO
.
getRecordStatus
()
==
1
){
/**
* Hoi chi linh xac dinh thoi gian 24h ke tu khi da luu kieu gi??????
*/
}
else
if
(
contactCustResultDTO
.
getRecordStatus
()
==
1
&&
isLower24Hour
(
contactCustResultDTO
.
getCreateTime
())){
contactCustResultDTO
.
setEnableEdit
(
true
);
}
else
{
contactCustResultDTO
.
setEnableEdit
(
false
);
}
...
...
@@ -164,4 +159,75 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
return
resultDTO
;
}
@Override
public
List
<
ContactCustResultDTO
>
getExcelInteractiveResult
(
CampaignRequestDTO
dto
)
{
List
<
ContactCustResultDTO
>
list
=
new
ArrayList
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
StringBuilder
sqlBuilder
=
new
StringBuilder
();
try
{
String
sql
=
SQLBuilder
.
getSqlQueryById
(
Constants
.
SQL_MODULES
.
MODULE_EXECUTE
,
"get-execute-interactive"
);
sqlBuilder
.
append
(
sql
);
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()))
{
sqlBuilder
.
append
(
" and upper(campaignName) like upper(:p_campaign_name)"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
()))
{
sqlBuilder
.
append
(
" and upper(userName) like upper(:p_user_name)"
);
}
SQLQuery
query
=
session
.
createSQLQuery
(
sqlBuilder
.
toString
());
query
.
setParameterList
(
"p_list_campaign_id"
,
dto
.
getCampaignId
().
split
(
","
));
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
());
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
());
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
());
query
.
setParameterList
(
"p_list_contact_status"
,
dto
.
getContactStatus
().
split
(
","
));
query
.
setParameterList
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
().
split
(
","
));
query
.
setParameterList
(
"p_list_record_status"
,
dto
.
getRecordStatus
().
split
(
","
));
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()))
{
query
.
setParameter
(
"p_campaign_name"
,
dto
.
getCampaignName
().
trim
());
}
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
()))
{
query
.
setParameter
(
"p_user_name"
,
dto
.
getAgentId
().
trim
());
}
query
.
addScalar
(
"campaignCode"
,
new
StringType
());
query
.
addScalar
(
"campaignName"
,
new
StringType
());
query
.
addScalar
(
"userName"
,
new
StringType
());
query
.
addScalar
(
"phoneNumber"
,
new
LongType
());
query
.
addScalar
(
"customerName"
,
new
StringType
());
query
.
addScalar
(
"createTime"
,
new
DateType
());
query
.
addScalar
(
"contactStatus"
,
new
StringType
());
query
.
addScalar
(
"surveyStatus"
,
new
StringType
());
query
.
addScalar
(
"status"
,
new
ShortType
());
query
.
addScalar
(
"recordStatus"
,
new
ShortType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
ContactCustResultDTO
.
class
));
list
=
query
.
list
();
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
session
.
close
();
return
list
;
}
}
private
boolean
isLower24Hour
(
Date
createTime
)
{
Date
currTime
=
new
Date
();
long
diffMilSec
=
currTime
.
getTime
()
-
createTime
.
getTime
();
long
hour
=
TimeUnit
.
MILLISECONDS
.
toHours
(
diffMilSec
);
if
(
hour
>
24
)
return
false
;
return
true
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeService.java
View file @
55a6b806
...
...
@@ -22,4 +22,6 @@ public interface CampaignCompleteCodeService {
ResultDTO
deleteById
(
Long
id
);
ResultDTO
findMaxValueCampaignCompleteCode
(
CampaignCompleteCodeDTO
completeCodeDTO
);
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
55a6b806
...
...
@@ -2,6 +2,7 @@ package com.viettel.campaign.service;
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.springframework.stereotype.Service
;
@Service
...
...
@@ -12,5 +13,7 @@ public interface CampaignExecuteService {
ResultDTO
getComboCampaignType
(
String
companySiteId
);
ResultDTO
searchInteractiveResult
(
CampaignRequestDTO
dto
);
XSSFWorkbook
exportInteractiveResult
(
CampaignRequestDTO
dto
);
//</editor-fold>
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
55a6b806
...
...
@@ -6,15 +6,13 @@ import com.viettel.campaign.web.dto.ResultDTO;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
java.util.Map
;
public
interface
CustomerService
{
ResultDTO
lis
tAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
);
ResultDTO
ge
tAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
);
ResultDTO
getCustomerId
(
Long
customerId
);
Map
listCustByName
(
int
page
,
int
pageSize
,
String
sort
,
String
name
);
ResultDTO
searchAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
,
String
name
,
String
mobileNumber
,
String
email
);
ResultDTO
createCustomer
(
CustomerDTO
customerDTO
);
...
...
@@ -24,7 +22,7 @@ public interface CustomerService {
// ------------ customer list ------------ //
Map
getCustomerList
(
int
page
,
int
pageSize
,
String
sort
);
ResultDTO
getAllCustomerList
(
int
page
,
int
pageSize
,
String
sort
,
Long
companySiteId
);
ResultDTO
createCustomerList
(
CustomerListDTO
customerListDTO
);
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/impl/CampaignCompleteCodeServiceImpl.java
View file @
55a6b806
...
...
@@ -7,8 +7,12 @@ import com.viettel.campaign.web.dto.ResultDTO;
import
com.viettel.campaign.mapper.CampaignCompleteCodeMapper
;
import
com.viettel.campaign.model.CampaignCompleteCode
;
import
com.viettel.campaign.repository.CampaignCompleteCodeRepository
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.context.annotation.ComponentScan
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Sort
;
...
...
@@ -20,6 +24,8 @@ import java.util.*;
@Service
public
class
CampaignCompleteCodeServiceImpl
implements
CampaignCompleteCodeService
{
protected
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignCompleteCodeServiceImpl
.
class
);
@Autowired
CampaignCompleteCodeRepository
completeCodeRepository
;
...
...
@@ -123,12 +129,11 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
return
resultDTO
;
}
@Transactional
@Override
public
ResultDTO
deleteList
(
List
<
Long
>
completeCodeDtos
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
// for (int i = 0; i < completeCodeDtos.size(); i++) {
try
{
completeCodeRepository
.
deleteds
(
completeCodeDtos
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
...
...
@@ -160,4 +165,52 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
result
.
setErrorCode
(
"0"
);
return
result
;
}
@Override
public
ResultDTO
findMaxValueCampaignCompleteCode
(
CampaignCompleteCodeDTO
completeCodeDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
try
{
short
maxValue
=
0
;
List
<
CampaignCompleteCode
>
list
=
completeCodeRepository
.
findCampaignCompleteCodesByCompanySiteId
(
completeCodeDTO
.
getCompanySiteId
());
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
if
(
list
.
get
(
i
).
getCompleteValue
()
!=
null
&&
!
list
.
get
(
i
).
getCompleteValue
().
equals
(
""
))
{
if
(
maxValue
<
Short
.
parseShort
(
list
.
get
(
i
).
getCompleteValue
()))
{
maxValue
=
Short
.
parseShort
(
list
.
get
(
i
).
getCompleteValue
());
}
}
}
maxValue
+=
1
;
resultDTO
.
setData
(
maxValue
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
e
.
getMessage
());
}
return
resultDTO
;
}
// @Override
// public ResultDTO findMaxValueCampaignCompleteCode(CampaignCompleteCodeDTO completeCodeDTO) {
// ResultDTO result = new ResultDTO();
// CampaignCompleteCodeMapper campaignCompleteCodeMapper = new CampaignCompleteCodeMapper();
// CampaignCompleteCode campaignCompleteCode = new CampaignCompleteCode();
// try{
// short resultmaxValue = completeCodeRepository.findByMaxCompanySiteId(completeCodeDTO.getCompanySiteId());
// campaignCompleteCode.setCompleteValue(String.valueOf(resultmaxValue + 1));
//// if (resultmaxValue < 4) {
//// resultmaxValue =4;
//// }
// result.setData(resultmaxValue);
// result.setErrorCode(Constants.Status.ACTIVE_STR);
// result.setDescription(Constants.Status.ACTIVE_STR);
// }
// catch (Exception e){
// logger.error(e.getMessage(), e);
// result.setErrorCode("-1");
// return result;
// }
// result.setErrorCode("0");
// return result;
// }
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
55a6b806
...
...
@@ -2,22 +2,32 @@ package com.viettel.campaign.service.impl;
import
com.viettel.campaign.repository.CampaignExecuteRepository
;
import
com.viettel.campaign.service.CampaignExecuteService
;
import
com.viettel.campaign.utils.BundleUtils
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.apache.commons.collections4.BagUtils
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.util.CellRangeAddress
;
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.stereotype.Service
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Locale
;
@Service
public
class
CampaignExecuteServiceImp
implements
CampaignExecuteService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignExecuteServiceImp
.
class
);
private
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
Constants
.
DATE_FORMAT
.
FOMART_DATE_TYPE_1
);
@Autowired
CampaignExecuteRepository
campaignExecuteRepository
;
...
...
@@ -61,5 +71,117 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
}
return
resultDTO
;
}
@Override
public
XSSFWorkbook
exportInteractiveResult
(
CampaignRequestDTO
dto
)
{
Locale
locale
=
Locale
.
forLanguageTag
(
"vi"
);
List
<
ContactCustResultDTO
>
list
=
campaignExecuteRepository
.
getExcelInteractiveResult
(
dto
);
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
Sheet
sheet
;
// create font style
Font
defaultFont
=
workbook
.
createFont
();
defaultFont
.
setFontHeightInPoints
((
short
)
13
);
defaultFont
.
setFontName
(
"Times New Roman"
);
defaultFont
.
setColor
(
IndexedColors
.
BLACK
.
getIndex
());
Font
titleFont
=
workbook
.
createFont
();
titleFont
.
setFontHeightInPoints
((
short
)
18
);
titleFont
.
setFontName
(
"Times New Roman"
);
titleFont
.
setColor
(
IndexedColors
.
BLACK
.
getIndex
());
titleFont
.
setBold
(
true
);
Font
headerFont
=
workbook
.
createFont
();
headerFont
.
setFontHeightInPoints
((
short
)
13
);
headerFont
.
setFontName
(
"Times New Roman"
);
headerFont
.
setColor
(
IndexedColors
.
BLACK
.
getIndex
());
headerFont
.
setBold
(
true
);
CellStyle
styleTitle
=
workbook
.
createCellStyle
();
styleTitle
.
setFont
(
titleFont
);
styleTitle
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
CellStyle
styleRowHeader
=
workbook
.
createCellStyle
();
styleRowHeader
.
setFont
(
headerFont
);
styleRowHeader
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
styleRowHeader
.
setFillForegroundColor
(
IndexedColors
.
LIGHT_GREEN
.
getIndex
());
styleRowHeader
.
setFillPattern
(
FillPatternType
.
SOLID_FOREGROUND
);
styleRowHeader
.
setBorderRight
(
BorderStyle
.
THIN
);
styleRowHeader
.
setRightBorderColor
(
IndexedColors
.
BLACK
.
getIndex
());
styleRowHeader
.
setBorderBottom
(
BorderStyle
.
THIN
);
styleRowHeader
.
setBottomBorderColor
(
IndexedColors
.
BLACK
.
getIndex
());
styleRowHeader
.
setBorderLeft
(
BorderStyle
.
THIN
);
styleRowHeader
.
setLeftBorderColor
(
IndexedColors
.
BLACK
.
getIndex
());
styleRowHeader
.
setBorderTop
(
BorderStyle
.
THIN
);
styleRowHeader
.
setTopBorderColor
(
IndexedColors
.
BLACK
.
getIndex
());
CellStyle
styleRow
=
workbook
.
createCellStyle
();
styleRow
.
setFont
(
defaultFont
);
// list header
List
<
String
>
headerList
=
new
ArrayList
<>();
headerList
.
add
(
BundleUtils
.
getLangString
(
"stt"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.campaignCode"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.campaignName"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.agentId"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.phoneNumber"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.customerId"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.customerName"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.createTime"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.contactStatus"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.surveyStatus"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.status"
,
locale
));
headerList
.
add
(
BundleUtils
.
getLangString
(
"campaign.execute.interactive.recordStatus"
,
locale
));
//
String
sheetName
=
BundleUtils
.
getLangString
(
"detail"
,
locale
);
sheet
=
workbook
.
createSheet
(
sheetName
);
// Title
String
title
=
BundleUtils
.
getLangString
(
"campaign.execute.interactive.title"
,
locale
);
int
rowTitleStart
=
3
;
Row
rowTitle
=
sheet
.
createRow
(
rowTitleStart
);
rowTitle
.
setHeight
((
short
)
800
);
writeCellContent
(
rowTitle
,
styleTitle
,
3
,
title
);
sheet
.
addMergedRegion
(
new
CellRangeAddress
(
rowTitleStart
,
rowTitleStart
,
3
,
8
));
// Header
int
startRowTable
=
5
;
int
count
=
1
;
Row
rowHeader
=
sheet
.
createRow
(
startRowTable
);
for
(
int
i
=
0
;
i
<
headerList
.
size
();
i
++)
{
writeCellContent
(
rowHeader
,
styleRowHeader
,
i
,
headerList
.
get
(
i
));
}
// Content
for
(
int
i
=
0
,
rowIndex
=
1
;
i
<
list
.
size
();
i
++)
{
Row
row
=
sheet
.
createRow
(
startRowTable
+
count
);
int
col
=
0
;
writeCellContent
(
row
,
styleRow
,
col
++,
rowIndex
);
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getCampaignCode
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getCampaignName
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getAgentId
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getPhoneNumber
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getCustomerId
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getCustomerName
());
writeCellContent
(
row
,
styleRow
,
col
++,
formatter
.
format
(
list
.
get
(
i
).
getCreateTime
()));
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getContactStatus
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getSurveyStatus
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getStatus
());
writeCellContent
(
row
,
styleRow
,
col
++,
list
.
get
(
i
).
getRecordStatus
());
++
rowIndex
;
++
count
;
}
return
workbook
;
}
private
void
writeCellContent
(
Row
row
,
CellStyle
rowStyle
,
int
colNo
,
Object
content
)
{
Cell
cell
=
row
.
createCell
(
colNo
);
if
(
content
==
null
)
{
cell
.
setCellValue
(
""
);
}
else
{
cell
.
setCellValue
(
String
.
valueOf
(
content
));
}
cell
.
setCellStyle
(
rowStyle
);
}
//</editor-fold: hungtt>
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
55a6b806
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/utils/BundleUtils.java
0 → 100644
View file @
55a6b806
package
com.viettel.campaign.utils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.io.UnsupportedEncodingException
;
import
java.util.Locale
;
import
java.util.ResourceBundle
;
/**
* @author hungtt
*/
public
class
BundleUtils
{
protected
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BundleUtils
.
class
);
private
static
volatile
ResourceBundle
rsConfig
=
null
;
public
static
String
getLangString
(
String
key
,
Locale
...
locale
)
{
Locale
vi
=
new
Locale
(
"vi"
);
Locale
mlocale
=
vi
;
try
{
if
(
locale
!=
null
)
{
if
(
locale
.
length
==
0
)
{
rsConfig
=
ResourceBundle
.
getBundle
(
Constants
.
LANGUAGE
.
LANGUAGE
,
mlocale
);
}
else
{
rsConfig
=
ResourceBundle
.
getBundle
(
Constants
.
LANGUAGE
.
LANGUAGE
,
locale
[
0
]);
}
}
else
{
rsConfig
=
ResourceBundle
.
getBundle
(
Constants
.
LANGUAGE
.
LANGUAGE
,
mlocale
);
}
return
new
String
(
rsConfig
.
getString
(
key
).
getBytes
(
"ISO-8859-1"
),
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
return
key
;
}
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/utils/Constants.java
View file @
55a6b806
...
...
@@ -35,4 +35,12 @@ public class Constants {
public
interface
SQL_MODULES
{
String
MODULE_EXECUTE
=
"campaign-execute"
;
}
public
interface
LANGUAGE
{
String
LANGUAGE
=
"i18n/language"
;
}
public
interface
DATE_FORMAT
{
String
FOMART_DATE_TYPE_1
=
"DD/MM/YYYY"
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/dto/BaseDTO.java
View file @
55a6b806
...
...
@@ -13,4 +13,5 @@ public class BaseDTO implements Serializable {
protected
int
pageSize
;
protected
int
page
;
protected
String
sort
;
protected
String
langKey
;
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
View file @
55a6b806
...
...
@@ -15,7 +15,7 @@ import javax.validation.Valid;
import
java.util.List
;
import
java.util.Map
;
@Controller
@
Rest
Controller
@RequestMapping
(
"/ipcc/completeCode"
)
@CrossOrigin
(
origins
=
"*"
)
public
class
CampaignCompleteCodeController
{
...
...
@@ -84,7 +84,6 @@ public class CampaignCompleteCodeController {
ResultDTO
resultDTO
=
completeCodeService
.
deleteList
(
completeCodeDtos
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
@CrossOrigin
(
origins
=
"*"
)
@PostMapping
(
"/deleteById"
)
@ResponseBody
public
ResultDTO
deleteById
(
@RequestParam
(
"id"
)
Long
id
){
...
...
@@ -93,5 +92,13 @@ public class CampaignCompleteCodeController {
return
resultDTO
;
}
@CrossOrigin
(
origins
=
"*"
)
@PostMapping
(
"/getMaxValue"
)
@ResponseBody
public
ResultDTO
findMaxValueCampaignType
(
@RequestBody
CampaignCompleteCodeDTO
completeCodeDTO
){
return
completeCodeService
.
findMaxValueCampaignCompleteCode
(
completeCodeDTO
);
}
}
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
View file @
55a6b806
...
...
@@ -5,15 +5,22 @@ import com.viettel.campaign.service.CampaignService;
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.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.HttpSession
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.util.Map
;
@RestController
...
...
@@ -61,15 +68,41 @@ public class CampaignController {
@PostMapping
(
"/searchInteractiveResult"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchInteractiveResult
(
@RequestBody
CampaignRequestDTO
dto
)
{
public
ResponseEntity
<
ResultDTO
>
searchInteractiveResult
(
@RequestBody
CampaignRequestDTO
dto
)
throws
Exception
{
ResultDTO
result
=
campaignExecuteService
.
searchInteractiveResult
(
dto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@RequestMapping
(
value
=
"/find-campaign-by-id/{campaignId}"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
<
ResultDTO
>
findCampaignById
(
@PathVariable
Long
campaignId
)
{
ResultDTO
resultDTO
=
campaignService
.
findCampaignById
(
campaignId
);
return
new
ResponseEntity
<>(
resultDTO
,
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
.
PUT
)
...
...
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/rest/controller/CustomerController.java
View file @
55a6b806
...
...
@@ -40,7 +40,7 @@ public class CustomerController {
@GetMapping
(
"/findAll"
)
@ResponseBody
public
ResponseEntity
findAllCustomer
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"customerListId"
)
long
customerListId
,
@RequestParam
(
"companySiteId"
)
long
companySiteId
)
{
ResultDTO
result
=
customerService
.
lis
tAllCustomer
(
page
,
pageSize
,
sort
,
customerListId
,
companySiteId
);
ResultDTO
result
=
customerService
.
ge
tAllCustomer
(
page
,
pageSize
,
sort
,
customerListId
,
companySiteId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
...
...
@@ -51,10 +51,10 @@ public class CustomerController {
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/
findCustomerByName
"
)
@GetMapping
(
"/
searchAllCustomerByParams
"
)
@ResponseBody
public
ResponseEntity
findAllCustomerName
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"
name"
)
String
name
)
{
Map
result
=
customerService
.
listCustByName
(
page
,
pageSize
,
sort
,
name
);
public
ResponseEntity
findAllCustomerName
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"
customerListId"
)
Long
customerListId
,
@RequestParam
(
"companySiteId"
)
Long
companySiteId
,
@RequestParam
(
"name"
)
String
name
,
@RequestParam
(
"mobileNumber"
)
String
mobileNumber
,
@RequestParam
(
"email"
)
String
email
)
{
ResultDTO
result
=
customerService
.
searchAllCustomer
(
page
,
pageSize
,
sort
,
customerListId
,
companySiteId
,
name
,
mobileNumber
,
email
);
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
...
...
@@ -98,8 +98,8 @@ public class CustomerController {
@GetMapping
(
"/findAlls"
)
@ResponseBody
public
ResponseEntity
findAllCustomerList
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
)
{
Map
result
=
customerService
.
getCustomerList
(
page
,
pageSize
,
sort
);
public
ResponseEntity
findAllCustomerList
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"companySiteId"
)
Long
companySiteId
)
{
ResultDTO
result
=
customerService
.
getAllCustomerList
(
page
,
pageSize
,
sort
,
companySiteId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/i18n/language.properties
0 → 100644
View file @
55a6b806
This diff is collapsed.
Click to expand it.
src/main/resources/i18n/language_en.properties
0 → 100644
View file @
55a6b806
#Common
detail
=
Chi ti?t
stt
=
STT
#Campaign Execute Interactive
campaign.execute.interactive.title
=
Chi ti?t k?t qu? t??ng tc
campaign.execute.interactive.campaignCode
=
M chi?n d?ch
campaign.execute.interactive.campaignName
=
Tn chi?n d?ch
campaign.execute.interactive.agentId
=
M t? v?n vin
campaign.execute.interactive.phoneNumber
=
S? ?i?n tho?i
campaign.execute.interactive.customerId
=
M khch hng
campaign.execute.interactive.customerName
=
Tn khch hng
campaign.execute.interactive.callTime
=
Th?i gian lin l?c
campaign.execute.interactive.contactStatus
=
Tr?ng thi k?t n?i
campaign.execute.interactive.surveyStatus
=
Tr?ng thi kh?o st
campaign.execute.interactive.status
=
Tr?ng thi chi?n d?ch
campaign.execute.interactive.recordStatus
=
Tr?ng thi b?n ghi
This diff is collapsed.
Click to expand it.
src/main/resources/i18n/language_vi.properties
0 → 100644
View file @
55a6b806
#Common
detail
=
Chi tiết
stt
=
STT
#Campaign Execute Interactive
campaign.execute.interactive.title
=
Chi tiết kết quả tương tác
campaign.execute.interactive.campaignCode
=
Mã chiến dịch
campaign.execute.interactive.campaignName
=
Tên chiến dịch
campaign.execute.interactive.agentId
=
Mã tư vấn viên
campaign.execute.interactive.phoneNumber
=
Số điện thoại
campaign.execute.interactive.customerId
=
Mã khách hàng
campaign.execute.interactive.customerName
=
Tên khách hàng
campaign.execute.interactive.createTime
=
Thời gian liên lạc
campaign.execute.interactive.contactStatus
=
Trạng thái kết nối
campaign.execute.interactive.surveyStatus
=
Trạng thái khảo sát
campaign.execute.interactive.status
=
Trạng thái chiến dịch
campaign.execute.interactive.recordStatus
=
Trạng thái bản ghi
This diff is collapsed.
Click to expand it.
src/main/resources/sql/campaign-execute/get-execute-interactive.sql
View file @
55a6b806
...
...
@@ -15,7 +15,8 @@ from contact_cust_result a
left
join
campaign_complete_code
e
on
a
.
contact_status
=
e
.
complete_value
left
join
campaign_complete_code
f
on
a
.
call_status
=
e
.
complete_value
left
join
campaign
g
on
a
.
campaign_id
=
b
.
campaign_id
where
a
.
campaign_id
in
(:
p_list_campaign_id
)
where
a
.
status
<>
0
and
a
.
campaign_id
in
(:
p_list_campaign_id
)
and
a
.
customer_id
like
'%'
||
:
p_customer_id
||
'%'
and
a
.
create_time
>=
to_date
(:
p_date_from
,
'DD/MM/YYYY'
)
and
a
.
create_time
<=
to_date
(:
p_date_to
,
'DD/MM/YYYY'
)
...
...
This diff is collapsed.
Click to expand it.
src/main/resources/sql/campaign-mng/search-campaign-customer-by-params.sql
View file @
55a6b806
...
...
@@ -12,5 +12,4 @@ SELECT
DEPT_CREATE
deptCreate
FROM
CUSTOMER_LIST
WHERE
1
=
1
AND
CREATE_AT
BETWEEN
to_date
(:
p_date_from
,
'YYYYMMDD'
)
AND
to_date
(:
p_date_to
,
'YYYYMMDD'
)
AND
COMPANY_SITE_ID
=
:
p_company_site_id
This diff is collapsed.
Click to expand it.
src/main/resources/sql/campaign-status-mng/deleteListAll-campaignCompleteCode.sql
View file @
55a6b806
DELETE
FROM
CAMPAIGN_COMPLETE_CODE
WHERE
CAMPAIGN_ID
IN
(
0
,
1
)
select
*
from
CAMPAIGN_COMPLETE_CODE
select
*
from
CAMPAIGN_COMPLETE_CODE
where
STATUS
=
1
;
This diff is collapsed.
Click to expand it.
src/main/resources/sql/campaign-status-mng/search-campaign-status-by-params.sql
View file @
55a6b806
...
...
@@ -15,3 +15,4 @@ LEFT JOIN AP_PARAM c ON a.CAMPAIGN_TYPE = to_char(c.AP_PARAM_ID);
SELECT
max
(
COMPLETE_VALUE
)
,
COMPANY_SITE_ID
from
CAMPAIGN_COMPLETE_CODE
where
COMPANY_SITE_ID
=
:
p_site_id
GROUP
BY
COMPANY_SITE_ID
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