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
4a0ca7ee
Commit
4a0ca7ee
authored
Aug 28, 2019
by
đinh thị đầm
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit code merge
parent
af2c4822
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
143 additions
and
9 deletions
+143
-9
src/main/java/com/viettel/campaign/service/CustomerService.java
...in/java/com/viettel/campaign/service/CustomerService.java
+2
-1
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
...om/viettel/campaign/service/impl/CustomerServiceImpl.java
+124
-8
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomerQueryDTO.java
...iettel/campaign/web/dto/request_dto/CustomerQueryDTO.java
+14
-0
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
...tel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
+3
-0
No files found.
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
4a0ca7ee
...
@@ -5,6 +5,7 @@ import com.viettel.campaign.model.ccms_full.CustomerList;
...
@@ -5,6 +5,7 @@ import com.viettel.campaign.model.ccms_full.CustomerList;
import
com.viettel.campaign.model.ccms_full.CustomizeFieldObject
;
import
com.viettel.campaign.model.ccms_full.CustomizeFieldObject
;
import
com.viettel.campaign.model.ccms_full.CustomizeFields
;
import
com.viettel.campaign.model.ccms_full.CustomizeFields
;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.request_dto.CustomerQueryDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomizeRequestDTo
;
import
com.viettel.campaign.web.dto.request_dto.CustomizeRequestDTo
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
...
@@ -78,5 +79,5 @@ public interface CustomerService {
...
@@ -78,5 +79,5 @@ public interface CustomerService {
// Map<String, CustomizeRequestDTo> searchCustomer();
// Map<String, CustomizeRequestDTo> searchCustomer();
//// List<CustomizeFields> searchCustomize();
//// List<CustomizeFields> searchCustomize();
ResultDTO
listCustomizeFields
(
CustomizeRequestDTo
customizeFields
);
ResultDTO
listCustomizeFields
(
CustomizeRequestDTo
customizeFields
);
ResultDTO
searchCustomizeFields
(
CustomizeRequestDTo
customizeRequestDTo
);
ResultDTO
searchCustomizeFields
(
int
page
,
int
pageSize
,
long
companySiteId
,
long
campaignId
,
CustomerQueryDTO
customerQueryDTO
);
}
}
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
4a0ca7ee
...
@@ -2,6 +2,7 @@ package com.viettel.campaign.service.impl;
...
@@ -2,6 +2,7 @@ package com.viettel.campaign.service.impl;
import
com.github.tennaito.rsql.jpa.JpaCriteriaCountQueryVisitor
;
import
com.github.tennaito.rsql.jpa.JpaCriteriaCountQueryVisitor
;
import
com.github.tennaito.rsql.jpa.JpaCriteriaQueryVisitor
;
import
com.github.tennaito.rsql.jpa.JpaCriteriaQueryVisitor
;
import
com.sun.org.apache.xpath.internal.objects.XObject
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.mapper.CustomerListMapper
;
import
com.viettel.campaign.mapper.CustomerListMapper
;
import
com.viettel.campaign.mapper.CustomerMapper
;
import
com.viettel.campaign.mapper.CustomerMapper
;
...
@@ -10,10 +11,7 @@ import com.viettel.campaign.repository.ccms_full.*;
...
@@ -10,10 +11,7 @@ import com.viettel.campaign.repository.ccms_full.*;
import
com.viettel.campaign.service.CustomerService
;
import
com.viettel.campaign.service.CustomerService
;
import
com.viettel.campaign.utils.*
;
import
com.viettel.campaign.utils.*
;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.request_dto.CustomerDetailRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.*
;
import
com.viettel.campaign.web.dto.request_dto.CustomerRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomizeRequestDTo
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.econtact.filter.UserSession
;
import
com.viettel.econtact.filter.UserSession
;
import
cz.jirutka.rsql.parser.RSQLParser
;
import
cz.jirutka.rsql.parser.RSQLParser
;
import
cz.jirutka.rsql.parser.ast.Node
;
import
cz.jirutka.rsql.parser.ast.Node
;
...
@@ -1748,20 +1746,20 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -1748,20 +1746,20 @@ public class CustomerServiceImpl implements CustomerService {
" C.CURRENT_ADDRESS currentAddress,"
+
" C.CURRENT_ADDRESS currentAddress,"
+
" C.USERNAME username,"
+
" C.USERNAME username,"
+
" C.GENDER gender,"
+
" C.GENDER gender,"
+
" C.COMPANY_NAME companyName"
+
" C.COMPANY_NAME companyName
,
"
+
" C.DATE_OF_BIRTH dateOfBirth,"
+
" C.DATE_OF_BIRTH dateOfBirth,"
+
" C.COMPANY_NAME companyName,"
+
" C.COMPANY_NAME companyName,"
+
" C.CUSTOMER_TYPE customerType,"
+
" C.CUSTOMER_TYPE customerType,"
+
" C.PLACE_OF_BIRTH placeOfBirth,"
+
" C.PLACE_OF_BIRTH placeOfBirth,"
+
" C.CUSTOMER_TYPE customerType,"
+
" C.CUSTOMER_TYPE customerType,"
+
" C.EMAIL email,"
+
" C.EMAIL email,"
+
" C.USERNAME username"
+
" C.USERNAME username
,
"
+
" C.NAME name,"
+
" C.NAME name,"
+
" C.MOBILE_NUMBER mobileNumber,"
+
" C.MOBILE_NUMBER mobileNumber,"
+
" C.SITE_ID siteId,"
+
" C.SITE_ID siteId,"
+
" C.STATUS status,"
+
" C.STATUS status,"
+
" CF.FUNCTION_CODE functionCode,"
+
" CF.FUNCTION_CODE functionCode,"
+
" CF
O.ACTIVE active
"
+
" CF
.ACTIVE active,
"
+
" CFO.*"
);
" CFO.*"
);
stringBuilder
.
append
(
"FROM CUSTOMER C"
);
stringBuilder
.
append
(
"FROM CUSTOMER C"
);
stringBuilder
.
append
(
" INNER JOIN CUSTOMIZE_FIELD_OBJECT CFO ON C.CUSTOMER_ID = CFO.OBJECT_ID"
);
stringBuilder
.
append
(
" INNER JOIN CUSTOMIZE_FIELD_OBJECT CFO ON C.CUSTOMER_ID = CFO.OBJECT_ID"
);
...
@@ -1788,8 +1786,126 @@ public class CustomerServiceImpl implements CustomerService {
...
@@ -1788,8 +1786,126 @@ public class CustomerServiceImpl implements CustomerService {
}
}
@Override
@Override
public
ResultDTO
searchCustomizeFields
(
CustomizeRequestDTo
customizeRequestDTo
)
{
public
ResultDTO
searchCustomizeFields
(
int
page
,
int
pageSize
,
long
SiteId
,
long
campaignId
,
CustomerQueryDTO
customerQueryDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
if
(
DataUtil
.
isNullOrZero
(
SiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
return
resultDTO
;
}
try
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"select"
);
sb
.
append
(
" C.NAME name,"
);
sb
.
append
(
" C.CUSTOMER_ID customerID,"
);
sb
.
append
(
" C.USERNAME username,"
);
sb
.
append
(
" C.GENDER gender,"
);
sb
.
append
(
" C.COMPANY_NAME companyName,"
);
sb
.
append
(
" C.DATE_OF_BIRTH dateOfBirth,"
);
sb
.
append
(
" C.CUSTOMER_TYPE customerType,"
);
sb
.
append
(
" C.COMPANY_NAME companyName,"
);
sb
.
append
(
" C.PLACE_OF_BIRTH placeOfBirth,"
);
sb
.
append
(
" C.CUSTOMER_TYPE customerType,"
);
sb
.
append
(
" C.EMAIL email,"
);
sb
.
append
(
" C.USERNAME username,"
);
sb
.
append
(
" C.NAME name,"
);
sb
.
append
(
" C.MOBILE_NUMBER mobileNumber,"
);
sb
.
append
(
" C.STATUS status,"
);
sb
.
append
(
" C.SITE_ID siteId,"
);
sb
.
append
(
" CF.FUNCTION_CODE functionCode,"
);
sb
.
append
(
" CFO.ACTIVE active,"
);
sb
.
append
(
" CFO.*"
);
sb
.
append
(
"FROM CUSTOMER C"
);
sb
.
append
(
" INNER JOIN CUSTOMIZE_FIELD_OBJECT CFO ON C.CUSTOMER_ID = CFO.OBJECT_ID"
);
sb
.
append
(
" INNER JOIN CUSTOMIZE_FIELDS CF ON CF.CUSTOMIZE_FIELD_ID = CFO.CUSTOMIZE_FIELDS_ID\n"
+
"WHERE 1 = 1"
);
sb
.
append
(
" and CFO.STATUS = 1"
);
sb
.
append
(
" and active = 1 "
);
sb
.
append
(
" and CF.FUNCTION_CODE = 'CUSTOMER' "
);
List
<
CustomerQueryDTO
>
queryCustomer
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
queryCustomer
.
size
()
;
i
++)
{
sb
.
append
(
queryCustomer
.
get
(
i
).
getJoin
()
+
" "
+
queryCustomer
.
get
(
i
).
getOperator
()
+
" "
+
queryCustomer
.
get
(
i
).
getField
()
+
" "
+
queryCustomer
.
get
(
i
).
getCondition
());
}
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
// query.setParameter("p_company_site_id", companySiteId);
// query.setParameter("p_customer_list_id", customerListId);
//
// if (!DataUtil.isNullOrEmpty(name)) {
// query.setParameter("p_name", "%" +
// name.replace("\\", "\\\\")
// .replaceAll("%", "\\%")
// .replaceAll("_", "\\_")
// + "%");
// }
//
// if (!DataUtil.isNullOrEmpty(mobileNumber)) {
// query.setParameter("p_mobile_number", "%" +
// mobileNumber.replace("\\", "\\\\")
// .replaceAll("%", "\\%")
// .replaceAll("_", "\\_")
// + "%");
// }
//
// if (!DataUtil.isNullOrEmpty(email)) {
// query.setParameter("p_email", "%" +
// email.replace("\\", "\\\\")
// .replaceAll("%", "\\%")
// .replaceAll("_", "\\_")
// + "%");
// }
query
.
addScalar
(
"customerID"
,
new
LongType
());
query
.
addScalar
(
"name"
,
new
LongType
());
query
.
addScalar
(
"username"
,
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
(
CustomizeRequestDTo
.
class
));
int
count
=
0
;
List
<
CustomerCustomDTO
>
dtoList
=
query
.
list
();
if
(
dtoList
.
size
()
>
0
)
{
count
=
query
.
list
().
size
();
}
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
);
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
;
return
resultDTO
;
}
}
...
...
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomerQueryDTO.java
0 → 100644
View file @
4a0ca7ee
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
CustomerQueryDTO
extends
BaseDTO
{
String
join
;
String
field
;
String
operator
;
String
condition
;
}
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
View file @
4a0ca7ee
...
@@ -6,6 +6,7 @@ import lombok.Getter;
...
@@ -6,6 +6,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
@Getter
@Getter
@Setter
@Setter
...
@@ -27,4 +28,6 @@ public class CustomizeRequestDTo extends BaseDTO {
...
@@ -27,4 +28,6 @@ public class CustomizeRequestDTo extends BaseDTO {
String
email
;
String
email
;
String
userName
;
String
userName
;
Long
customerType
;
Long
customerType
;
}
}
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