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
f5cb34f3
Commit
f5cb34f3
authored
Sep 20, 2019
by
Phạm Duy Phi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
phipd commit
parent
66fe55a6
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
411 additions
and
414 deletions
+411
-414
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerListRepository.java
...campaign/repository/ccms_full/CustomerListRepository.java
+1
-1
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerListRepositoryCustom.java
...gn/repository/ccms_full/CustomerListRepositoryCustom.java
+11
-0
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerRepository.java
...tel/campaign/repository/ccms_full/CustomerRepository.java
+1
-1
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerRepositoryCustom.java
...mpaign/repository/ccms_full/CustomerRepositoryCustom.java
+15
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CustomerListRepositoryImpl.java
...repository/ccms_full/impl/CustomerListRepositoryImpl.java
+131
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CustomerRepositoryImpl.java
...ign/repository/ccms_full/impl/CustomerRepositoryImpl.java
+197
-0
src/main/java/com/viettel/campaign/service/CustomerService.java
...in/java/com/viettel/campaign/service/CustomerService.java
+3
-4
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
...om/viettel/campaign/service/impl/CustomerServiceImpl.java
+25
-389
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomerRequestDTO.java
...ttel/campaign/web/dto/request_dto/CustomerRequestDTO.java
+0
-1
src/main/java/com/viettel/campaign/web/dto/request_dto/SearchCustomerListRequestDTO.java
...ign/web/dto/request_dto/SearchCustomerListRequestDTO.java
+16
-0
src/main/java/com/viettel/campaign/web/dto/request_dto/SearchCustomerRequestDTO.java
...ampaign/web/dto/request_dto/SearchCustomerRequestDTO.java
+5
-6
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
...ava/com/viettel/campaign/web/rest/CustomerController.java
+6
-12
No files found.
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerListRepository.java
View file @
f5cb34f3
...
...
@@ -8,7 +8,7 @@ import org.springframework.data.repository.query.Param;
import
java.util.List
;
public
interface
CustomerListRepository
extends
JpaRepository
<
CustomerList
,
Long
>
{
public
interface
CustomerListRepository
extends
JpaRepository
<
CustomerList
,
Long
>
,
CustomerListRepositoryCustom
{
CustomerList
findByCustomerListIdAndCompanySiteId
(
long
customerListId
,
long
companySiteId
);
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerListRepositoryCustom.java
0 → 100644
View file @
f5cb34f3
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.web.dto.CustomerListDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerListRequestDTO
;
import
org.springframework.data.domain.Pageable
;
import
java.util.List
;
public
interface
CustomerListRepositoryCustom
{
List
<
CustomerListDTO
>
getAllCustomerListByParams
(
SearchCustomerListRequestDTO
searchCustomerListRequestDTO
,
Pageable
pageable
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerRepository.java
View file @
f5cb34f3
...
...
@@ -15,7 +15,7 @@ import java.util.Date;
import
java.util.List
;
@Repository
public
interface
CustomerRepository
extends
JpaRepository
<
Customer
,
Long
>
{
public
interface
CustomerRepository
extends
JpaRepository
<
Customer
,
Long
>
,
CustomerRepositoryCustom
{
Page
<
Customer
>
findAll
(
Pageable
pageable
);
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerRepositoryCustom.java
0 → 100644
View file @
f5cb34f3
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.web.dto.CustomerCustomDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerDetailRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
org.springframework.data.domain.Pageable
;
import
java.util.List
;
public
interface
CustomerRepositoryCustom
{
List
<
CustomerDetailRequestDTO
>
getCustomerDetailById
(
Long
companySiteId
,
Long
customerListId
,
Long
customerId
);
List
<
CustomerCustomDTO
>
getAllCustomerByParams
(
SearchCustomerRequestDTO
searchCustomerRequestDTO
,
Pageable
pageable
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CustomerListRepositoryImpl.java
0 → 100644
View file @
f5cb34f3
package
com.viettel.campaign.repository.ccms_full.impl
;
import
com.viettel.campaign.repository.ccms_full.CustomerListRepositoryCustom
;
import
com.viettel.campaign.utils.*
;
import
com.viettel.campaign.web.dto.CustomerListDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerListRequestDTO
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.DateType
;
import
org.hibernate.type.LongType
;
import
org.hibernate.type.ShortType
;
import
org.hibernate.type.StringType
;
import
org.springframework.data.domain.*
;
import
org.springframework.stereotype.Repository
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.TimeZone
;
@Repository
public
class
CustomerListRepositoryImpl
implements
CustomerListRepositoryCustom
{
@Override
public
List
<
CustomerListDTO
>
getAllCustomerListByParams
(
SearchCustomerListRequestDTO
searchCustomerListRequestDTO
,
Pageable
pageable
)
{
TimeZone
tzClient
=
TimeZoneUtils
.
getZoneMinutes
(
searchCustomerListRequestDTO
.
getTimezoneOffset
());
List
<
CustomerListDTO
>
listData
=
new
ArrayList
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
null
;
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"SELECT"
);
sb
.
append
(
" a.CUSTOMER_LIST_ID customerListId,"
);
sb
.
append
(
" a.COMPANY_SITE_ID companySiteId,"
);
sb
.
append
(
" a.CUSTOMER_LIST_CODE customerListCode,"
);
sb
.
append
(
" a.CUSTOMER_LIST_NAME customerListName,"
);
sb
.
append
(
" a.STATUS status,"
);
sb
.
append
(
" a.CREATE_BY createBy,"
);
sb
.
append
(
" a.CREATE_AT createAt,"
);
sb
.
append
(
" a.UPDATE_BY updateBy,"
);
sb
.
append
(
" a.UPDATE_AT updateAt,"
);
sb
.
append
(
" a.SOURCE source,"
);
sb
.
append
(
" a.DEPT_CREATE deptCreate,"
);
sb
.
append
(
" b.count count"
);
sb
.
append
(
" FROM CUSTOMER_LIST a"
);
sb
.
append
(
" LEFT JOIN (SELECT COUNT(CAMPAIGN_ID) as count, CUSTOMER_LIST_ID"
);
sb
.
append
(
" FROM CAMPAIGN_CUSTOMERLIST"
);
sb
.
append
(
" GROUP BY CUSTOMER_LIST_ID) b"
);
sb
.
append
(
" ON a.CUSTOMER_LIST_ID = b.CUSTOMER_LIST_ID"
);
sb
.
append
(
" WHERE 1 = 1"
);
sb
.
append
(
" AND a.STATUS = 1"
);
sb
.
append
(
" AND a.COMPANY_SITE_ID = :p_company_site_id"
);
sb
.
append
(
" AND to_date(CREATE_AT, 'DD/MM/RR') >= to_date(:p_date_from, 'DD/MM/YYYY HH24:MI:SS') AND to_date(CREATE_AT, 'DD/MM/RR') <= to_date(:p_date_to, 'DD/MM/YYYY HH24:MI:SS')"
);
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerListRequestDTO
.
getCustomerListCode
()))
{
sb
.
append
(
" AND UPPER(CUSTOMER_LIST_CODE) LIKE UPPER(:p_list_code)"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerListRequestDTO
.
getCustomerListName
()))
{
sb
.
append
(
" AND UPPER(CUSTOMER_LIST_NAME) LIKE UPPER(:p_list_name)"
);
}
sb
.
append
(
" ORDER BY CREATE_AT DESC"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
searchCustomerListRequestDTO
.
getCompanySiteId
());
query
.
setParameter
(
"p_date_from"
,
TimeZoneUtils
.
toDateStringWithTimeZone
(
DateTimeUtil
.
parseDate
(
"YYYYMMdd"
,
searchCustomerListRequestDTO
.
getConvertedDateFrom
()),
tzClient
));
query
.
setParameter
(
"p_date_to"
,
TimeZoneUtils
.
toDateStringWithTimeZone
(
DateTimeUtil
.
parseDate
(
"YYYYMMdd"
,
searchCustomerListRequestDTO
.
getConvertedDateTo
()),
tzClient
));
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerListRequestDTO
.
getCustomerListCode
()))
{
query
.
setParameter
(
"p_list_code"
,
"%"
+
searchCustomerListRequestDTO
.
getCustomerListCode
().
trim
()
.
replace
(
"\\"
,
"\\\\"
)
.
replaceAll
(
"%"
,
"\\%"
)
.
replaceAll
(
"_"
,
"\\_"
)
+
"%"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerListRequestDTO
.
getCustomerListName
()))
{
query
.
setParameter
(
"p_list_name"
,
"%"
+
searchCustomerListRequestDTO
.
getCustomerListName
().
trim
()
.
replace
(
"\\"
,
"\\\\"
)
.
replaceAll
(
"%"
,
"\\%"
)
.
replaceAll
(
"_"
,
"\\_"
)
+
"%"
);
}
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
.
addScalar
(
"count"
,
new
StringType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CustomerListDTO
.
class
));
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
listData
=
query
.
list
();
listData
.
forEach
(
item
->
{
item
.
setCreateAt
(
DateTimeUtil
.
parseDate
(
"dd/MM/yyyy HH:mm:ss"
,
TimeZoneUtils
.
toDateStringWithTimeZone
(
item
.
getCreateAt
(),
tzClient
)));
if
(
item
.
getUpdateAt
()
!=
null
)
{
item
.
setUpdateAt
(
DateTimeUtil
.
parseDate
(
"dd/MM/yyyy HH:mm:ss"
,
TimeZoneUtils
.
toDateStringWithTimeZone
(
item
.
getUpdateAt
(),
tzClient
)));
}
});
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
session
!=
null
)
session
.
close
();
}
return
listData
;
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CustomerRepositoryImpl.java
0 → 100644
View file @
f5cb34f3
package
com.viettel.campaign.repository.ccms_full.impl
;
import
com.viettel.campaign.repository.ccms_full.CustomerRepositoryCustom
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.utils.DataUtil
;
import
com.viettel.campaign.utils.HibernateUtil
;
import
com.viettel.campaign.web.dto.CustomerCustomDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerDetailRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.DateType
;
import
org.hibernate.type.LongType
;
import
org.hibernate.type.ShortType
;
import
org.hibernate.type.StringType
;
import
org.springframework.data.domain.*
;
import
org.springframework.stereotype.Repository
;
import
java.util.ArrayList
;
import
java.util.List
;
@Repository
public
class
CustomerRepositoryImpl
implements
CustomerRepositoryCustom
{
@Override
public
List
<
CustomerDetailRequestDTO
>
getCustomerDetailById
(
Long
companySiteId
,
Long
customerListId
,
Long
customerId
)
{
List
<
CustomerDetailRequestDTO
>
data
=
new
ArrayList
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
null
;
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"select"
);
sb
.
append
(
" a.COMPANY_SITE_ID companySiteId,"
);
sb
.
append
(
" a.CUSTOMER_LIST_ID customerListId,"
);
sb
.
append
(
" a.CUSTOMER_ID customerId,"
);
sb
.
append
(
" e.TITLE title,"
);
sb
.
append
(
" f.TYPE type,"
);
sb
.
append
(
" h.VALUE_COMBOBOX valueCombobox,"
);
sb
.
append
(
" e.VALUE_CHECKBOX valueCheckbox,"
);
sb
.
append
(
" e.VALUE_DATE valueDate,"
);
sb
.
append
(
" e.VALUE_NUMBER valueNumber,"
);
sb
.
append
(
" e.VALUE_TEXT valueText"
);
sb
.
append
(
" from CUSTOMER_LIST_MAPPING a"
);
sb
.
append
(
" left join CUSTOMIZE_FIELD_OBJECT e on a.CUSTOMER_ID = e.OBJECT_ID"
);
sb
.
append
(
" left join CUSTOMIZE_FIELDS f on e.CUSTOMIZE_FIELDS_ID = f.CUSTOMIZE_FIELD_ID"
);
sb
.
append
(
" left join (SELECT FIELD_OPTION_VALUE_ID, NAME AS VALUE_COMBOBOX"
);
sb
.
append
(
" FROM CUSTOMIZE_FIELD_OPTION_VALUE) h on h.FIELD_OPTION_VALUE_ID = "
);
sb
.
append
(
" e.FIELD_OPTION_VALUE_ID"
);
sb
.
append
(
" where 1 = 1"
);
sb
.
append
(
" and a.COMPANY_SITE_ID = :p_company_site_id"
);
sb
.
append
(
" and a.CUSTOMER_LIST_ID = :p_customer_list_id"
);
sb
.
append
(
" and a.CUSTOMER_ID = :p_customer_id"
);
sb
.
append
(
" AND e.FUNCTION_CODE = 'CUSTOMER'"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
companySiteId
);
query
.
setParameter
(
"p_customer_list_id"
,
customerListId
);
query
.
setParameter
(
"p_customer_id"
,
customerId
);
query
.
addScalar
(
"companySiteId"
,
new
LongType
());
query
.
addScalar
(
"customerListId"
,
new
LongType
());
query
.
addScalar
(
"customerId"
,
new
LongType
());
query
.
addScalar
(
"title"
,
new
StringType
());
query
.
addScalar
(
"type"
,
new
StringType
());
query
.
addScalar
(
"valueCombobox"
,
new
StringType
());
query
.
addScalar
(
"valueCheckbox"
,
new
ShortType
());
query
.
addScalar
(
"valueDate"
,
new
DateType
());
query
.
addScalar
(
"valueNumber"
,
new
LongType
());
query
.
addScalar
(
"valueText"
,
new
StringType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
CustomerDetailRequestDTO
.
class
));
data
=
query
.
list
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
session
!=
null
)
session
.
close
();
}
return
data
;
}
@Override
public
List
<
CustomerCustomDTO
>
getAllCustomerByParams
(
SearchCustomerRequestDTO
searchCustomerRequestDTO
,
Pageable
pageable
)
{
List
<
CustomerCustomDTO
>
data
=
new
ArrayList
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
null
;
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"select"
);
sb
.
append
(
" a.CUSTOMER_LIST_MAPPING_ID customerListMappingId,"
);
sb
.
append
(
" a.COMPANY_SITE_ID companySiteId,"
);
sb
.
append
(
" a.CUSTOMER_LIST_ID customerListId,"
);
sb
.
append
(
" a.CUSTOMER_ID customerId,"
);
sb
.
append
(
" b.NAME name,"
);
sb
.
append
(
" b.DESCRIPTION description,"
);
sb
.
append
(
" b.COMPANY_NAME companyName,"
);
sb
.
append
(
" b.CUSTOMER_TYPE customerType,"
);
sb
.
append
(
" b.CURRENT_ADDRESS currentAddress,"
);
sb
.
append
(
" b.CALL_ALLOWED callAllowed,"
);
sb
.
append
(
" b.EMAIL_ALLOWED emailAllowed,"
);
sb
.
append
(
" b.SMS_ALLOWED smsAllowed,"
);
sb
.
append
(
" b.IPCC_STATUS ipccStatus,"
);
sb
.
append
(
" c.MOBILE mobileNumber,"
);
sb
.
append
(
" d.EMAIL email"
);
sb
.
append
(
" from CUSTOMER_LIST_MAPPING a"
);
sb
.
append
(
" join CUSTOMER b on a.CUSTOMER_ID = b.CUSTOMER_ID"
);
sb
.
append
(
" left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS MOBILE"
);
sb
.
append
(
" FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 5 AND STATUS = 1 GROUP BY CUSTOMER_ID) c on b.CUSTOMER_ID = c.CUSTOMER_ID"
);
sb
.
append
(
" left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS EMAIL"
);
sb
.
append
(
" FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 2 AND STATUS = 1 GROUP BY CUSTOMER_ID) d on b.CUSTOMER_ID = d.CUSTOMER_ID"
);
sb
.
append
(
" where 1 = 1"
);
sb
.
append
(
" and a.COMPANY_SITE_ID = :p_company_site_id"
);
sb
.
append
(
" and a.CUSTOMER_LIST_ID = :p_customer_list_id"
);
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getName
()))
{
sb
.
append
(
" AND UPPER(b.NAME) LIKE UPPER(:p_name)"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getMobileNumber
()))
{
sb
.
append
(
" AND UPPER(c.MOBILE) LIKE UPPER(:p_mobile_number)"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getEmail
()))
{
sb
.
append
(
" AND UPPER(d.EMAIL) LIKE UPPER(:p_email)"
);
}
sb
.
append
(
" ORDER BY name DESC"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
searchCustomerRequestDTO
.
getCompanySiteId
());
query
.
setParameter
(
"p_customer_list_id"
,
searchCustomerRequestDTO
.
getCustomerListId
());
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getName
()))
{
query
.
setParameter
(
"p_name"
,
"%"
+
searchCustomerRequestDTO
.
getName
().
trim
().
replace
(
"\\"
,
"\\\\"
)
.
replaceAll
(
"%"
,
"\\%"
)
.
replaceAll
(
"_"
,
"\\_"
)
+
"%"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getMobileNumber
()))
{
query
.
setParameter
(
"p_mobile_number"
,
"%"
+
searchCustomerRequestDTO
.
getMobileNumber
().
trim
().
replace
(
"\\"
,
"\\\\"
)
.
replaceAll
(
"%"
,
"\\%"
)
.
replaceAll
(
"_"
,
"\\_"
)
+
"%"
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
searchCustomerRequestDTO
.
getEmail
()))
{
query
.
setParameter
(
"p_email"
,
"%"
+
searchCustomerRequestDTO
.
getEmail
().
trim
().
replace
(
"\\"
,
"\\\\"
)
.
replaceAll
(
"%"
,
"\\%"
)
.
replaceAll
(
"_"
,
"\\_"
)
+
"%"
);
}
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
));
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
data
=
query
.
list
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
session
!=
null
)
session
.
close
();
}
return
data
;
}
}
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
f5cb34f3
...
...
@@ -6,6 +6,7 @@ import com.viettel.campaign.model.ccms_full.CustomizeFieldObject;
import
com.viettel.campaign.model.ccms_full.CustomizeFields
;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerListRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.econtact.filter.UserSession
;
...
...
@@ -16,11 +17,9 @@ import java.util.Map;
public
interface
CustomerService
{
ResultDTO
getAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
);
ResultDTO
getCustomerId
(
Long
customerId
);
ResultDTO
searchAllCustomer
(
int
page
,
int
pageSize
,
String
sort
,
long
customerListId
,
long
companySiteId
,
String
name
,
String
mobileNumber
,
String
email
);
ResultDTO
searchAllCustomer
(
SearchCustomerRequestDTO
searchCustomerRequestDTO
);
ResultDTO
createCustomer
(
CustomerDTO
customerDTO
);
...
...
@@ -42,7 +41,7 @@ public interface CustomerService {
ResultDTO
deleteCustomerListIds
(
CustomerRequestDTO
customerRequestDTO
);
ResultDTO
searchCustomerList
(
SearchCustomer
RequestDTO
searchCustomer
RequestDTO
);
ResultDTO
searchCustomerList
(
SearchCustomer
ListRequestDTO
searchCustomerList
RequestDTO
);
CustomerList
getLatestCreated
(
Long
companySiteId
);
...
...
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
f5cb34f3
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomerRequestDTO.java
View file @
f5cb34f3
...
...
@@ -8,7 +8,6 @@ import java.util.List;
@Getter
@Setter
public
class
CustomerRequestDTO
{
Long
customerId
;
Long
customerListId
;
List
<
Long
>
ids
;
Long
companySiteId
;
...
...
src/main/java/com/viettel/campaign/web/dto/request_dto/SearchCustomerListRequestDTO.java
0 → 100644
View file @
f5cb34f3
package
com.viettel.campaign.web.dto.request_dto
;
import
com.viettel.campaign.web.dto.BaseDTO
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
SearchCustomerListRequestDTO
extends
BaseDTO
{
String
customerListCode
;
String
customerListName
;
String
convertedDateFrom
;
String
convertedDateTo
;
String
companySiteId
;
Long
timezoneOffset
;
}
src/main/java/com/viettel/campaign/web/dto/request_dto/SearchCustomerRequestDTO.java
View file @
f5cb34f3
...
...
@@ -7,10 +7,9 @@ import lombok.Setter;
@Getter
@Setter
public
class
SearchCustomerRequestDTO
extends
BaseDTO
{
String
customerListCode
;
String
customerListName
;
String
convertedDateFrom
;
String
convertedDateTo
;
String
companySiteId
;
Integer
timezoneOffset
;
Long
companySiteId
;
Long
customerListId
;
String
name
;
String
mobileNumber
;
String
email
;
}
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
View file @
f5cb34f3
...
...
@@ -9,6 +9,7 @@ import com.viettel.campaign.utils.Config;
import
com.viettel.campaign.utils.RedisUtil
;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerListRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.econtact.filter.UserSession
;
import
org.apache.commons.io.FilenameUtils
;
...
...
@@ -44,13 +45,6 @@ public class CustomerController {
@Autowired
(
required
=
true
)
CustomerService
customerService
;
@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
.
getAllCustomer
(
page
,
pageSize
,
sort
,
customerListId
,
companySiteId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/findCustomerId"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
findAllCustomerName
(
@RequestParam
(
"customerId"
)
Long
customerId
)
{
...
...
@@ -58,10 +52,10 @@ public class CustomerController {
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
@
Ge
tMapping
(
"/searchAllCustomerByParams"
)
@
Pos
tMapping
(
"/searchAllCustomerByParams"
)
@ResponseBody
public
ResponseEntity
findAllCustomerByParams
(
@Request
Param
(
"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
);
public
ResponseEntity
findAllCustomerByParams
(
@Request
Body
SearchCustomerRequestDTO
searchCustomerRequestDTO
)
{
ResultDTO
result
=
customerService
.
searchAllCustomer
(
searchCustomerRequestDTO
);
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
...
...
@@ -138,8 +132,8 @@ public class CustomerController {
}
@RequestMapping
(
value
=
"/searchCustomerList"
,
method
=
RequestMethod
.
POST
)
public
ResponseEntity
searchCustomerList
(
@RequestBody
SearchCustomer
RequestDTO
searchCustomer
RequestDTO
)
{
ResultDTO
result
=
customerService
.
searchCustomerList
(
searchCustomerRequestDTO
);
public
ResponseEntity
searchCustomerList
(
@RequestBody
SearchCustomer
ListRequestDTO
searchCustomerList
RequestDTO
)
{
ResultDTO
result
=
customerService
.
searchCustomerList
(
searchCustomer
List
RequestDTO
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment