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
Aug 09, 2019
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd commit change
parents
248e5ca3
373e6d79
Changes
25
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;
...
@@ -12,18 +12,23 @@ import org.springframework.stereotype.Repository;
import
java.util.List
;
import
java.util.List
;
@Repository
@Repository
public
interface
CampaignCompleteCodeRepository
extends
JpaRepository
<
CampaignCompleteCode
,
Long
>
{
public
interface
CampaignCompleteCodeRepository
extends
JpaRepository
<
CampaignCompleteCode
,
Long
>
{
@Query
(
" select u FROM CampaignCompleteCode u WHERE u.status = 1"
)
Page
<
CampaignCompleteCode
>
findAll
(
Pageable
pageable
);
Page
<
CampaignCompleteCode
>
findAll
(
Pageable
pageable
);
// Page<CampaignCompleteCode> findAllByStatus(String status, Pageable pageable);
@Query
(
"FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') "
)
@Query
(
"FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') "
)
List
<
CampaignCompleteCode
>
findByName
(
@Param
(
"name"
)
String
name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByName
(
@Param
(
"name"
)
String
name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
);
@Modifying
@Modifying
@Query
(
"delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)"
)
@Query
(
"delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)"
)
int
deleteds
(
@Param
(
"ids"
)
List
<
Long
>
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);
}
}
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepositoryCustom.java
View file @
55a6b806
...
@@ -5,4 +5,6 @@ import com.viettel.campaign.web.dto.ResultDTO;
...
@@ -5,4 +5,6 @@ import com.viettel.campaign.web.dto.ResultDTO;
public
interface
CampaignCompleteCodeRepositoryCustom
{
public
interface
CampaignCompleteCodeRepositoryCustom
{
ResultDTO
updateStatusById
(
Long
id
);
ResultDTO
updateStatusById
(
Long
id
);
ResultDTO
findMaxValueCampaignType
(
Long
companySiteId
);
}
}
src/main/java/com/viettel/campaign/repository/CampaignExecuteRepository.java
View file @
55a6b806
...
@@ -18,5 +18,7 @@ public interface CampaignExecuteRepository {
...
@@ -18,5 +18,7 @@ public interface CampaignExecuteRepository {
List
<
ApParamDTO
>
getComboCampaignType
(
String
companySiteId
);
List
<
ApParamDTO
>
getComboCampaignType
(
String
companySiteId
);
ResultDTO
getInteractiveResult
(
CampaignRequestDTO
dto
);
ResultDTO
getInteractiveResult
(
CampaignRequestDTO
dto
);
List
<
ContactCustResultDTO
>
getExcelInteractiveResult
(
CampaignRequestDTO
dto
);
//</editor-fold: hungtt>
//</editor-fold: hungtt>
}
}
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
;
}
}
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCompleteCodeRepositoryIpml.java
View file @
55a6b806
...
@@ -38,4 +38,19 @@ public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompl
...
@@ -38,4 +38,19 @@ public class CampaignCompleteCompleteCodeRepositoryIpml implements CampaignCompl
}
}
return
dto
;
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
;
}
}
}
src/main/java/com/viettel/campaign/repository/impl/CampaignExecuteRepositoryImp.java
View file @
55a6b806
...
@@ -25,11 +25,8 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
...
@@ -25,11 +25,8 @@ import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
javax.persistence.EntityManager
;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.concurrent.TimeUnit
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Repository
@Repository
public
class
CampaignExecuteRepositoryImp
implements
CampaignExecuteRepository
{
public
class
CampaignExecuteRepositoryImp
implements
CampaignExecuteRepository
{
...
@@ -85,30 +82,30 @@ 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"
);
String
sql
=
SQLBuilder
.
getSqlQueryById
(
Constants
.
SQL_MODULES
.
MODULE_EXECUTE
,
"get-execute-interactive"
);
sqlBuilder
.
append
(
sql
);
sqlBuilder
.
append
(
sql
);
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()
.
trim
()
))
{
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()))
{
sqlBuilder
.
append
(
" and upper(campaignName) like upper(:p_campaign_name)"
);
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)"
);
sqlBuilder
.
append
(
" and upper(userName) like upper(:p_user_name)"
);
}
}
SQLQuery
query
=
session
.
createSQLQuery
(
sqlBuilder
.
toString
());
SQLQuery
query
=
session
.
createSQLQuery
(
sqlBuilder
.
toString
());
query
.
setParameterList
(
"p_list_campaign_id"
,
dto
.
getCampaignId
().
trim
().
split
(
","
));
query
.
setParameterList
(
"p_list_campaign_id"
,
dto
.
getCampaignId
().
split
(
","
));
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
()
.
trim
()
);
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
());
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
()
.
trim
()
);
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
());
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
()
.
trim
()
);
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
());
query
.
setParameterList
(
"p_list_contact_status"
,
dto
.
getContactStatus
().
trim
().
split
(
","
));
query
.
setParameterList
(
"p_list_contact_status"
,
dto
.
getContactStatus
().
split
(
","
));
query
.
setParameterList
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
().
trim
().
split
(
","
));
query
.
setParameterList
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
().
split
(
","
));
query
.
setParameterList
(
"p_list_record_status"
,
dto
.
getRecordStatus
().
trim
().
split
(
","
));
query
.
setParameterList
(
"p_list_record_status"
,
dto
.
getRecordStatus
().
split
(
","
));
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
()
.
trim
()
);
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
()
.
trim
()
);
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
()
.
trim
()
);
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()
.
trim
()
))
{
if
(!
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
()))
{
query
.
setParameter
(
"p_campaign_name"
,
dto
.
getCampaignName
().
trim
());
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
());
query
.
setParameter
(
"p_user_name"
,
dto
.
getAgentId
().
trim
());
}
}
...
@@ -142,10 +139,8 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
...
@@ -142,10 +139,8 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
else
{
}
else
{
if
(
contactCustResultDTO
.
getRecordStatus
()
==
2
)
{
if
(
contactCustResultDTO
.
getRecordStatus
()
==
2
)
{
contactCustResultDTO
.
setEnableEdit
(
true
);
contactCustResultDTO
.
setEnableEdit
(
true
);
}
else
if
(
contactCustResultDTO
.
getRecordStatus
()
==
1
){
}
else
if
(
contactCustResultDTO
.
getRecordStatus
()
==
1
&&
isLower24Hour
(
contactCustResultDTO
.
getCreateTime
())){
/**
contactCustResultDTO
.
setEnableEdit
(
true
);
* Hoi chi linh xac dinh thoi gian 24h ke tu khi da luu kieu gi??????
*/
}
else
{
}
else
{
contactCustResultDTO
.
setEnableEdit
(
false
);
contactCustResultDTO
.
setEnableEdit
(
false
);
}
}
...
@@ -164,4 +159,75 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
...
@@ -164,4 +159,75 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
}
return
resultDTO
;
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
;
}
}
}
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeService.java
View file @
55a6b806
...
@@ -22,4 +22,6 @@ public interface CampaignCompleteCodeService {
...
@@ -22,4 +22,6 @@ public interface CampaignCompleteCodeService {
ResultDTO
deleteById
(
Long
id
);
ResultDTO
deleteById
(
Long
id
);
ResultDTO
findMaxValueCampaignCompleteCode
(
CampaignCompleteCodeDTO
completeCodeDTO
);
}
}
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
55a6b806
...
@@ -2,6 +2,7 @@ package com.viettel.campaign.service;
...
@@ -2,6 +2,7 @@ package com.viettel.campaign.service;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
@Service
@Service
...
@@ -12,5 +13,7 @@ public interface CampaignExecuteService {
...
@@ -12,5 +13,7 @@ public interface CampaignExecuteService {
ResultDTO
getComboCampaignType
(
String
companySiteId
);
ResultDTO
getComboCampaignType
(
String
companySiteId
);
ResultDTO
searchInteractiveResult
(
CampaignRequestDTO
dto
);
ResultDTO
searchInteractiveResult
(
CampaignRequestDTO
dto
);
XSSFWorkbook
exportInteractiveResult
(
CampaignRequestDTO
dto
);
//</editor-fold>
//</editor-fold>
}
}
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
55a6b806
...
@@ -6,15 +6,13 @@ import com.viettel.campaign.web.dto.ResultDTO;
...
@@ -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.SearchCustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
java.util.Map
;
public
interface
CustomerService
{
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
);
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
);
ResultDTO
createCustomer
(
CustomerDTO
customerDTO
);
...
@@ -24,7 +22,7 @@ public interface CustomerService {
...
@@ -24,7 +22,7 @@ public interface CustomerService {
// ------------ customer list ------------ //
// ------------ customer list ------------ //
Map
getCustomerList
(
int
page
,
int
pageSize
,
String
sort
);
ResultDTO
getAllCustomerList
(
int
page
,
int
pageSize
,
String
sort
,
Long
companySiteId
);
ResultDTO
createCustomerList
(
CustomerListDTO
customerListDTO
);
ResultDTO
createCustomerList
(
CustomerListDTO
customerListDTO
);
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignCompleteCodeServiceImpl.java
View file @
55a6b806
...
@@ -7,8 +7,12 @@ import com.viettel.campaign.web.dto.ResultDTO;
...
@@ -7,8 +7,12 @@ import com.viettel.campaign.web.dto.ResultDTO;
import
com.viettel.campaign.mapper.CampaignCompleteCodeMapper
;
import
com.viettel.campaign.mapper.CampaignCompleteCodeMapper
;
import
com.viettel.campaign.model.CampaignCompleteCode
;
import
com.viettel.campaign.model.CampaignCompleteCode
;
import
com.viettel.campaign.repository.CampaignCompleteCodeRepository
;
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.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
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.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.domain.Sort
;
...
@@ -20,6 +24,8 @@ import java.util.*;
...
@@ -20,6 +24,8 @@ import java.util.*;
@Service
@Service
public
class
CampaignCompleteCodeServiceImpl
implements
CampaignCompleteCodeService
{
public
class
CampaignCompleteCodeServiceImpl
implements
CampaignCompleteCodeService
{
protected
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignCompleteCodeServiceImpl
.
class
);
@Autowired
@Autowired
CampaignCompleteCodeRepository
completeCodeRepository
;
CampaignCompleteCodeRepository
completeCodeRepository
;
...
@@ -123,12 +129,11 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
...
@@ -123,12 +129,11 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
return
resultDTO
;
return
resultDTO
;
}
}
@Transactional
@Transactional
@Override
@Override
public
ResultDTO
deleteList
(
List
<
Long
>
completeCodeDtos
)
{
public
ResultDTO
deleteList
(
List
<
Long
>
completeCodeDtos
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
ResultDTO
resultDTO
=
new
ResultDTO
();
// for (int i = 0; i < completeCodeDtos.size(); i++) {
try
{
try
{
completeCodeRepository
.
deleteds
(
completeCodeDtos
);
completeCodeRepository
.
deleteds
(
completeCodeDtos
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
...
@@ -160,4 +165,52 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
...
@@ -160,4 +165,52 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
result
.
setErrorCode
(
"0"
);
result
.
setErrorCode
(
"0"
);
return
result
;
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;
// }
}
}
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
55a6b806
...
@@ -2,22 +2,32 @@ package com.viettel.campaign.service.impl;
...
@@ -2,22 +2,32 @@ package com.viettel.campaign.service.impl;
import
com.viettel.campaign.repository.CampaignExecuteRepository
;
import
com.viettel.campaign.repository.CampaignExecuteRepository
;
import
com.viettel.campaign.service.CampaignExecuteService
;
import
com.viettel.campaign.service.CampaignExecuteService
;
import
com.viettel.campaign.utils.BundleUtils
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
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.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Locale
;
@Service
@Service
public
class
CampaignExecuteServiceImp
implements
CampaignExecuteService
{
public
class
CampaignExecuteServiceImp
implements
CampaignExecuteService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignExecuteServiceImp
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignExecuteServiceImp
.
class
);
private
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
Constants
.
DATE_FORMAT
.
FOMART_DATE_TYPE_1
);
@Autowired
@Autowired
CampaignExecuteRepository
campaignExecuteRepository
;
CampaignExecuteRepository
campaignExecuteRepository
;
...
@@ -61,5 +71,117 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
...
@@ -61,5 +71,117 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
}
}
return
resultDTO
;
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>
//</editor-fold: hungtt>
}
}
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
55a6b806
...
@@ -56,17 +56,7 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -56,17 +56,7 @@ public class CustomerServiceImpl implements CustomerService {
CustomerListMappingRepository
customerListMappingRepository
;
CustomerListMappingRepository
customerListMappingRepository
;
@Override
@Override
public
ResultDTO
listAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
)
{
public
ResultDTO
getAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
)
{
// Map result = new HashMap();
// List<Customer> lst = new ArrayList<>();
//
// Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort));
// Page<Customer> pc = customerRepository.findAll(pageable);
//
// result.put("totalItem", pc.getTotalElements());
// result.put("customers", pc.iterator());
//
// return result;
ResultDTO
resultDTO
=
new
ResultDTO
();
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
...
@@ -83,6 +73,8 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -83,6 +73,8 @@ public class CustomerServiceImpl implements CustomerService {
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"campaign-customer-detail-by-params"
));
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"campaign-customer-detail-by-params"
));
sqlStrBuilder
.
append
(
" ORDER BY name DESC"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
companySiteId
);
query
.
setParameter
(
"p_company_site_id"
,
companySiteId
);
...
@@ -102,19 +94,19 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -102,19 +94,19 @@ public class CustomerServiceImpl implements CustomerService {
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CustomerCustomDTO
.
class
));
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CustomerCustomDTO
.
class
));
int
count
=
0
;
int
count
=
0
;
List
<
Customer
List
DTO
>
dtoList
=
query
.
list
();
List
<
Customer
Custom
DTO
>
dtoList
=
query
.
list
();
if
(
dtoList
.
size
()
>
0
)
{
if
(
dtoList
.
size
()
>
0
)
{
count
=
query
.
list
().
size
();
count
=
query
.
list
().
size
();
}
}
// Pageable pageable = PageRequest.of(page, pageSize, Sort.by(sort));
// if (pageable != null) {
// query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
// query.setMaxResults(pageable.getPageSize());
// }
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
));
List
<
CustomerListDTO
>
data
=
query
.
list
();
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
Sort
.
Order
.
desc
(
sort
)));
Page
<
CustomerListDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
CustomerCustomDTO
>
data
=
query
.
list
();
Page
<
CustomerCustomDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
resultDTO
.
setData
(
dataPage
);
resultDTO
.
setData
(
dataPage
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
...
@@ -147,17 +139,71 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -147,17 +139,71 @@ public class CustomerServiceImpl implements CustomerService {
}
}
@Override
@Override
public
Map
listCustByName
(
int
page
,
int
pageSize
,
String
sort
,
String
name
)
{
public
ResultDTO
searchAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
,
String
name
,
String
mobileNumber
,
String
email
)
{
Map
result
=
new
HashMap
();
ResultDTO
resultDTO
=
new
ResultDTO
();
List
<
Customer
>
lst
=
new
ArrayList
<>
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)
);
Session
session
=
sessionFactory
.
openSession
(
);
lst
=
customerRepository
.
findByName
(
name
,
pageable
);
session
.
beginTransaction
(
);
result
.
put
(
"totalItem"
,
lst
.
size
());
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
result
.
put
(
"customers"
,
lst
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
return
resultDTO
;
}
return
result
;
try
{
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"campaign-customer-detail-by-params"
));
sqlStrBuilder
.
append
(
" AND "
);
sqlStrBuilder
.
append
(
" ORDER BY name DESC"
);
sqlStrBuilder
.
append
(
" ORDER BY name DESC"
);
sqlStrBuilder
.
append
(
" ORDER BY name DESC"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
companySiteId
);
query
.
setParameter
(
"p_customer_list_id"
,
customerListId
);
query
.
addScalar
(
"customerListMappingId"
,
new
LongType
());
query
.
addScalar
(
"companySiteId"
,
new
LongType
());
query
.
addScalar
(
"customerListId"
,
new
LongType
());
query
.
addScalar
(
"customerId"
,
new
LongType
());
query
.
addScalar
(
"name"
,
new
StringType
());
query
.
addScalar
(
"description"
,
new
StringType
());
query
.
addScalar
(
"companyName"
,
new
StringType
());
query
.
addScalar
(
"customerType"
,
new
StringType
());
query
.
addScalar
(
"currentAddress"
,
new
StringType
());
query
.
addScalar
(
"mobileNumber"
,
new
StringType
());
query
.
addScalar
(
"email"
,
new
StringType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CustomerCustomDTO
.
class
));
int
count
=
0
;
List
<
CustomerCustomDTO
>
dtoList
=
query
.
list
();
if
(
dtoList
.
size
()
>
0
)
{
count
=
query
.
list
().
size
();
}
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
Sort
.
Order
.
desc
(
sort
)));
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
CustomerCustomDTO
>
data
=
query
.
list
();
Page
<
CustomerCustomDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
resultDTO
.
setData
(
dataPage
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
}
return
resultDTO
;
}
}
@Override
@Override
...
@@ -255,17 +301,67 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -255,17 +301,67 @@ public class CustomerServiceImpl implements CustomerService {
// ------------- customer list ----------------- //
// ------------- customer list ----------------- //
@Override
@Override
public
Map
getCustomerList
(
int
page
,
int
pageSize
,
String
sort
)
{
public
ResultDTO
getAllCustomerList
(
int
page
,
int
pageSize
,
String
sort
,
Long
companySiteId
)
{
Map
result
=
new
HashMap
();
ResultDTO
resultDTO
=
new
ResultDTO
();
List
<
CustomerList
>
list
=
new
ArrayList
<>
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)
);
Session
session
=
sessionFactory
.
openSession
(
);
Page
<
CustomerList
>
pc
=
customerListRepository
.
findAll
(
pageable
);
session
.
beginTransaction
(
);
result
.
put
(
"totalItem"
,
pc
.
getTotalElements
());
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
result
.
put
(
"customerList"
,
pc
.
iterator
());
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
return
resultDTO
;
}
return
result
;
try
{
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"search-campaign-customer-by-params"
));
sqlStrBuilder
.
append
(
" ORDER BY CREATE_AT DESC"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
companySiteId
);
query
.
addScalar
(
"customerListId"
,
new
LongType
());
query
.
addScalar
(
"companySiteId"
,
new
LongType
());
query
.
addScalar
(
"customerListCode"
,
new
StringType
());
query
.
addScalar
(
"customerListName"
,
new
StringType
());
query
.
addScalar
(
"status"
,
new
ShortType
());
query
.
addScalar
(
"createBy"
,
new
StringType
());
query
.
addScalar
(
"createAt"
,
new
DateType
());
query
.
addScalar
(
"updateBy"
,
new
StringType
());
query
.
addScalar
(
"updateAt"
,
new
DateType
());
query
.
addScalar
(
"source"
,
new
StringType
());
query
.
addScalar
(
"deptCreate"
,
new
StringType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CustomerListDTO
.
class
));
int
count
=
0
;
List
<
CustomerListDTO
>
dtoList
=
query
.
list
();
if
(
dtoList
.
size
()
>
0
)
{
count
=
query
.
list
().
size
();
}
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
Sort
.
Order
.
desc
(
sort
)));
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
CustomerListDTO
>
data
=
query
.
list
();
Page
<
CustomerListDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
resultDTO
.
setData
(
dataPage
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
}
return
resultDTO
;
}
}
@Override
@Override
...
@@ -400,6 +496,9 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -400,6 +496,9 @@ public class CustomerServiceImpl implements CustomerService {
try
{
try
{
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"search-campaign-customer-by-params"
));
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"search-campaign-customer-by-params"
));
sqlStrBuilder
.
append
(
" AND CREATE_AT BETWEEN to_date(:p_date_from, 'YYYYMMDD') AND to_date(:p_date_to, 'YYYYMMDD')"
);
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getCustomerListCode
()))
{
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getCustomerListCode
()))
{
sqlStrBuilder
.
append
(
" AND CUSTOMER_LIST_CODE LIKE :p_list_code"
);
sqlStrBuilder
.
append
(
" AND CUSTOMER_LIST_CODE LIKE :p_list_code"
);
}
}
...
@@ -409,9 +508,9 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -409,9 +508,9 @@ public class CustomerServiceImpl implements CustomerService {
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
searchCustomerRequestDTO
.
getCompanySiteId
());
query
.
setParameter
(
"p_date_from"
,
searchCustomerRequestDTO
.
getConvertedDateFrom
());
query
.
setParameter
(
"p_date_from"
,
searchCustomerRequestDTO
.
getConvertedDateFrom
());
query
.
setParameter
(
"p_date_to"
,
searchCustomerRequestDTO
.
getConvertedDateTo
());
query
.
setParameter
(
"p_date_to"
,
searchCustomerRequestDTO
.
getConvertedDateTo
());
query
.
setParameter
(
"p_company_site_id"
,
searchCustomerRequestDTO
.
getCompanySiteId
());
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getCustomerListCode
()))
{
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getCustomerListCode
()))
{
query
.
setParameter
(
"p_list_code"
,
"%"
+
query
.
setParameter
(
"p_list_code"
,
"%"
+
...
@@ -449,12 +548,12 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -449,12 +548,12 @@ public class CustomerServiceImpl implements CustomerService {
if
(
dtoList
.
size
()
>
0
)
{
if
(
dtoList
.
size
()
>
0
)
{
count
=
query
.
list
().
size
();
count
=
query
.
list
().
size
();
}
}
// Pageable pageable = SQLBuilder.buildPageable(searchCustomerRequestDTO);
// if (pageable != null) {
// query.setFirstResult(pageable.getPageNumber() * pageable.getPageSize());
// query.setMaxResults(pageable.getPageSize());
// }
Pageable
pageable
=
PageRequest
.
of
(
searchCustomerRequestDTO
.
getPage
(),
searchCustomerRequestDTO
.
getPageSize
(),
Sort
.
by
(
searchCustomerRequestDTO
.
getSort
()));
Pageable
pageable
=
PageRequest
.
of
(
searchCustomerRequestDTO
.
getPage
(),
searchCustomerRequestDTO
.
getPageSize
(),
Sort
.
by
(
searchCustomerRequestDTO
.
getSort
()));
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
CustomerListDTO
>
data
=
query
.
list
();
List
<
CustomerListDTO
>
data
=
query
.
list
();
Page
<
CustomerListDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
Page
<
CustomerListDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
...
...
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
;
}
}
}
src/main/java/com/viettel/campaign/utils/Constants.java
View file @
55a6b806
...
@@ -35,4 +35,12 @@ public class Constants {
...
@@ -35,4 +35,12 @@ public class Constants {
public
interface
SQL_MODULES
{
public
interface
SQL_MODULES
{
String
MODULE_EXECUTE
=
"campaign-execute"
;
String
MODULE_EXECUTE
=
"campaign-execute"
;
}
}
public
interface
LANGUAGE
{
String
LANGUAGE
=
"i18n/language"
;
}
public
interface
DATE_FORMAT
{
String
FOMART_DATE_TYPE_1
=
"DD/MM/YYYY"
;
}
}
}
src/main/java/com/viettel/campaign/web/dto/BaseDTO.java
View file @
55a6b806
...
@@ -13,4 +13,5 @@ public class BaseDTO implements Serializable {
...
@@ -13,4 +13,5 @@ public class BaseDTO implements Serializable {
protected
int
pageSize
;
protected
int
pageSize
;
protected
int
page
;
protected
int
page
;
protected
String
sort
;
protected
String
sort
;
protected
String
langKey
;
}
}
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
View file @
55a6b806
...
@@ -15,7 +15,7 @@ import javax.validation.Valid;
...
@@ -15,7 +15,7 @@ import javax.validation.Valid;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
@Controller
@
Rest
Controller
@RequestMapping
(
"/ipcc/completeCode"
)
@RequestMapping
(
"/ipcc/completeCode"
)
@CrossOrigin
(
origins
=
"*"
)
@CrossOrigin
(
origins
=
"*"
)
public
class
CampaignCompleteCodeController
{
public
class
CampaignCompleteCodeController
{
...
@@ -84,7 +84,6 @@ public class CampaignCompleteCodeController {
...
@@ -84,7 +84,6 @@ public class CampaignCompleteCodeController {
ResultDTO
resultDTO
=
completeCodeService
.
deleteList
(
completeCodeDtos
);
ResultDTO
resultDTO
=
completeCodeService
.
deleteList
(
completeCodeDtos
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
}
@CrossOrigin
(
origins
=
"*"
)
@PostMapping
(
"/deleteById"
)
@PostMapping
(
"/deleteById"
)
@ResponseBody
@ResponseBody
public
ResultDTO
deleteById
(
@RequestParam
(
"id"
)
Long
id
){
public
ResultDTO
deleteById
(
@RequestParam
(
"id"
)
Long
id
){
...
@@ -93,5 +92,13 @@ public class CampaignCompleteCodeController {
...
@@ -93,5 +92,13 @@ public class CampaignCompleteCodeController {
return
resultDTO
;
return
resultDTO
;
}
}
@CrossOrigin
(
origins
=
"*"
)
@PostMapping
(
"/getMaxValue"
)
@ResponseBody
public
ResultDTO
findMaxValueCampaignType
(
@RequestBody
CampaignCompleteCodeDTO
completeCodeDTO
){
return
completeCodeService
.
findMaxValueCampaignCompleteCode
(
completeCodeDTO
);
}
}
}
src/main/java/com/viettel/campaign/web/rest/controller/CampaignController.java
View file @
55a6b806
...
@@ -5,15 +5,22 @@ import com.viettel.campaign.service.CampaignService;
...
@@ -5,15 +5,22 @@ import com.viettel.campaign.service.CampaignService;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpSession
;
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
;
import
java.util.Map
;
@RestController
@RestController
...
@@ -61,15 +68,41 @@ public class CampaignController {
...
@@ -61,15 +68,41 @@ public class CampaignController {
@PostMapping
(
"/searchInteractiveResult"
)
@PostMapping
(
"/searchInteractiveResult"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchInteractiveResult
(
@RequestBody
CampaignRequestDTO
dto
)
{
public
ResponseEntity
<
ResultDTO
>
searchInteractiveResult
(
@RequestBody
CampaignRequestDTO
dto
)
throws
Exception
{
ResultDTO
result
=
campaignExecuteService
.
searchInteractiveResult
(
dto
);
ResultDTO
result
=
campaignExecuteService
.
searchInteractiveResult
(
dto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
@RequestMapping
(
value
=
"/find-campaign-by-id/{campaignId}"
,
method
=
RequestMethod
.
GET
)
@PostMapping
(
"/exportInteractiveResult"
)
public
ResponseEntity
<
ResultDTO
>
findCampaignById
(
@PathVariable
Long
campaignId
)
{
@ResponseBody
ResultDTO
resultDTO
=
campaignService
.
findCampaignById
(
campaignId
);
public
ResponseEntity
<?>
exportInteractiveResult
(
HttpServletResponse
response
,
@RequestBody
CampaignRequestDTO
dto
)
{
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
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
)
@RequestMapping
(
value
=
"/changeCampaignStatus"
,
method
=
RequestMethod
.
PUT
)
...
...
src/main/java/com/viettel/campaign/web/rest/controller/CustomerController.java
View file @
55a6b806
...
@@ -40,7 +40,7 @@ public class CustomerController {
...
@@ -40,7 +40,7 @@ public class CustomerController {
@GetMapping
(
"/findAll"
)
@GetMapping
(
"/findAll"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
findAllCustomer
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"customerListId"
)
long
customerListId
,
@RequestParam
(
"companySiteId"
)
long
companySiteId
)
{
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
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
...
@@ -51,10 +51,10 @@ public class CustomerController {
...
@@ -51,10 +51,10 @@ public class CustomerController {
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
}
@GetMapping
(
"/
findCustomerByName
"
)
@GetMapping
(
"/
searchAllCustomerByParams
"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
findAllCustomerName
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"
name"
)
String
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
)
{
Map
result
=
customerService
.
listCustByName
(
page
,
pageSize
,
sort
,
name
);
ResultDTO
result
=
customerService
.
searchAllCustomer
(
page
,
pageSize
,
sort
,
customerListId
,
companySiteId
,
name
,
mobileNumber
,
email
);
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
}
...
@@ -98,8 +98,8 @@ public class CustomerController {
...
@@ -98,8 +98,8 @@ public class CustomerController {
@GetMapping
(
"/findAlls"
)
@GetMapping
(
"/findAlls"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
findAllCustomerList
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
)
{
public
ResponseEntity
findAllCustomerList
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"companySiteId"
)
Long
companySiteId
)
{
Map
result
=
customerService
.
getCustomerList
(
page
,
pageSize
,
sort
);
ResultDTO
result
=
customerService
.
getAllCustomerList
(
page
,
pageSize
,
sort
,
companySiteId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
...
...
src/main/resources/i18n/language.properties
0 → 100644
View file @
55a6b806
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
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
src/main/resources/sql/campaign-execute/get-execute-interactive.sql
View file @
55a6b806
...
@@ -15,7 +15,8 @@ from contact_cust_result a
...
@@ -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
e
on
a
.
contact_status
=
e
.
complete_value
left
join
campaign_complete_code
f
on
a
.
call_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
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
.
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_from
,
'DD/MM/YYYY'
)
and
a
.
create_time
<=
to_date
(:
p_date_to
,
'DD/MM/YYYY'
)
and
a
.
create_time
<=
to_date
(:
p_date_to
,
'DD/MM/YYYY'
)
...
...
src/main/resources/sql/campaign-mng/search-campaign-customer-by-params.sql
View file @
55a6b806
...
@@ -12,5 +12,4 @@ SELECT
...
@@ -12,5 +12,4 @@ SELECT
DEPT_CREATE
deptCreate
DEPT_CREATE
deptCreate
FROM
CUSTOMER_LIST
FROM
CUSTOMER_LIST
WHERE
1
=
1
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
AND
COMPANY_SITE_ID
=
:
p_company_site_id
src/main/resources/sql/campaign-status-mng/deleteListAll-campaignCompleteCode.sql
View file @
55a6b806
DELETE
FROM
CAMPAIGN_COMPLETE_CODE
WHERE
CAMPAIGN_ID
IN
(
0
,
1
)
DELETE
FROM
CAMPAIGN_COMPLETE_CODE
WHERE
CAMPAIGN_ID
IN
(
0
,
1
)
select
*
from
CAMPAIGN_COMPLETE_CODE
select
*
from
CAMPAIGN_COMPLETE_CODE
where
STATUS
=
1
;
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);
...
@@ -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
SELECT
max
(
COMPLETE_VALUE
)
,
COMPANY_SITE_ID
from
CAMPAIGN_COMPLETE_CODE
where
COMPANY_SITE_ID
=
:
p_site_id
GROUP
BY
COMPANY_SITE_ID
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment