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
d4632514
Commit
d4632514
authored
Aug 22, 2019
by
đinh thị đầm
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
search customizeFields
parent
35286c07
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
135 additions
and
31 deletions
+135
-31
src/main/java/com/viettel/campaign/filter/CorsFilter.java
src/main/java/com/viettel/campaign/filter/CorsFilter.java
+21
-21
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerRepository.java
...tel/campaign/repository/ccms_full/CustomerRepository.java
+2
-1
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
...ign/repository/ccms_full/impl/CampaignRepositoryImpl.java
+2
-0
src/main/java/com/viettel/campaign/service/CustomerService.java
...in/java/com/viettel/campaign/service/CustomerService.java
+4
-0
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
...om/viettel/campaign/service/impl/CustomerServiceImpl.java
+81
-8
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
...tel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
+17
-0
src/main/java/com/viettel/campaign/web/rest/CampaignCfgController.java
.../com/viettel/campaign/web/rest/CampaignCfgController.java
+1
-1
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
...ava/com/viettel/campaign/web/rest/CustomerController.java
+7
-0
No files found.
src/main/java/com/viettel/campaign/filter/CorsFilter.java
View file @
d4632514
...
...
@@ -31,27 +31,27 @@ public class CorsFilter implements Filter {
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
//
chain.doFilter(req, resp);
if
(
"OPTIONS"
.
equalsIgnoreCase
(
request
.
getMethod
()))
{
chain
.
doFilter
(
req
,
resp
);
return
;
}
if
(
"/"
.
equals
(
request
.
getRequestURI
()))
{
chain
.
doFilter
(
req
,
resp
);
return
;
}
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
if
(
xAuthToken
==
null
||
""
.
equals
(
xAuthToken
))
{
response
.
sendError
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
"The token is null."
);
return
;
}
Object
obj
=
RedisUtil
.
getInstance
().
get
(
xAuthToken
);
if
(
obj
instanceof
UserSession
)
{
chain
.
doFilter
(
req
,
resp
);
}
else
{
response
.
sendError
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
"The token is invalid."
);
}
chain
.
doFilter
(
req
,
resp
);
//
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
//
chain.doFilter(req, resp);
//
return;
//
}
//
if ("/".equals(request.getRequestURI())) {
//
chain.doFilter(req, resp);
//
return;
//
}
//
String xAuthToken = request.getHeader("X-Auth-Token");
//
if (xAuthToken == null || "".equals(xAuthToken)) {
//
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is null.");
//
return;
//
}
//
Object obj = RedisUtil.getInstance().get(xAuthToken);
//
if (obj instanceof UserSession) {
//
chain.doFilter(req, resp);
//
} else {
//
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is invalid.");
//
}
}
@Override
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerRepository.java
View file @
d4632514
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.model.ccms_full.Customer
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CustomizeRequestDTo
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.jpa.repository.JpaRepository
;
...
...
@@ -33,5 +35,4 @@ public interface CustomerRepository extends JpaRepository<Customer, Long> {
"where c.ipccStatus = 'locked' and c.siteId =?1 and ct.endTime <= ?2"
)
List
<
Customer
>
findAllByCondition
(
Long
siteId
,
Date
endTime
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
View file @
d4632514
...
...
@@ -591,4 +591,6 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
return
resultDTO
;
}
}
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
d4632514
...
...
@@ -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.CustomizeRequestDTo
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.econtact.filter.UserSession
;
...
...
@@ -72,4 +73,7 @@ public interface CustomerService {
List
<
CustomizeFieldObject
>
getCustomizeField
(
Long
customerId
);
List
<
Customer
>
searchByQuery
(
String
queryString
);
Long
countByQuery
(
String
queryString
);
// Map<String, CustomizeRequestDTo> searchCustomer();
//// List<CustomizeFields> searchCustomize();
ResultDTO
searchCustomizeFields
(
CustomizeRequestDTo
customizeFields
);
}
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
d4632514
...
...
@@ -12,6 +12,7 @@ import com.viettel.campaign.utils.*;
import
com.viettel.campaign.web.dto.*
;
import
com.viettel.campaign.web.dto.request_dto.CustomerDetailRequestDTO
;
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
cz.jirutka.rsql.parser.RSQLParser
;
...
...
@@ -56,7 +57,7 @@ public class CustomerServiceImpl implements CustomerService {
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
CustomerServiceImpl
.
class
);
@Autowired
@PersistenceContext
(
unitName
=
DataSourceQualify
.
JPA_UNIT_NAME_CCMS_FULL
)
@PersistenceContext
(
unitName
=
DataSourceQualify
.
JPA_UNIT_NAME_CCMS_FULL
)
EntityManager
entityManager
;
@Autowired
...
...
@@ -1159,7 +1160,7 @@ public class CustomerServiceImpl implements CustomerService {
case
"combobox"
:
CustomizeFieldOptionValue
cfov
=
customizeFieldOptionValueRepository
.
findCustomizeFieldOptionValueByNameEqualsAndStatus
(
rawDataList
.
get
(
i
)[
12
+
j
].
toString
(),
1L
);
cfo
.
setFieldOptionValueId
(
cfov
.
getFieldOptionValueId
());
cfo
.
setFieldOptionValueId
(
cfov
.
getFieldOptionValueId
());
break
;
case
"checkbox"
:
if
(
rawDataList
.
get
(
i
)[
12
+
j
].
toString
().
equals
(
BundleUtils
.
getLangString
(
"customer.yes"
,
locale
)))
{
...
...
@@ -1221,7 +1222,7 @@ public class CustomerServiceImpl implements CustomerService {
result
=
BundleUtils
.
getLangString
(
"customer.phoneMax50"
,
locale
);
}
for
(
int
i
=
0
;
i
<
str
.
length
();
i
++)
{
CustomerContact
cc
=
customerContactRepository
.
findCustomerContactByContactTypeAndContactAndIsDirectLine
((
short
)
5
,
arr
[
i
],
(
short
)
1
);
CustomerContact
cc
=
customerContactRepository
.
findCustomerContactByContactTypeAndContactAndIsDirectLine
((
short
)
5
,
arr
[
i
],
(
short
)
1
);
if
(
cc
!=
null
)
{
return
result
.
concat
(
BundleUtils
.
getLangString
(
"customer.phoneExists"
,
locale
));
}
...
...
@@ -1316,14 +1317,14 @@ public class CustomerServiceImpl implements CustomerService {
constraint
[
j
]
=
list
.
get
(
j
).
getName
();
}
DataValidationConstraint
comboboxConstraint
=
dataValidationHelper
.
createExplicitListConstraint
(
constraint
);
CellRangeAddressList
comboboxCellRange
=
new
CellRangeAddressList
(
4
,
9999
,
12
+
i
,
12
+
i
);
DataValidation
comboboxValidation
=
dataValidationHelper
.
createValidation
(
comboboxConstraint
,
comboboxCellRange
);
CellRangeAddressList
comboboxCellRange
=
new
CellRangeAddressList
(
4
,
9999
,
12
+
i
,
12
+
i
);
DataValidation
comboboxValidation
=
dataValidationHelper
.
createValidation
(
comboboxConstraint
,
comboboxCellRange
);
comboboxValidation
.
setSuppressDropDownArrow
(
true
);
comboboxValidation
.
setShowErrorBox
(
true
);
sheet
.
addValidationData
(
comboboxValidation
);
}
else
if
(
dynamicHeader
.
get
(
i
).
getType
().
equals
(
"checkbox"
))
{
DataValidationConstraint
yesNoConstraint
=
dataValidationHelper
.
createExplicitListConstraint
(
new
String
[]{
BundleUtils
.
getLangString
(
"customer.yes"
,
locale
),
BundleUtils
.
getLangString
(
"customer.not"
,
locale
)});
CellRangeAddressList
checkboxCellRange
=
new
CellRangeAddressList
(
4
,
9999
,
12
+
i
,
12
+
i
);
CellRangeAddressList
checkboxCellRange
=
new
CellRangeAddressList
(
4
,
9999
,
12
+
i
,
12
+
i
);
DataValidation
yesNoValidation
=
dataValidationHelper
.
createValidation
(
yesNoConstraint
,
checkboxCellRange
);
yesNoValidation
.
setShowErrorBox
(
true
);
yesNoValidation
.
setSuppressDropDownArrow
(
true
);
...
...
@@ -1559,13 +1560,14 @@ public class CustomerServiceImpl implements CustomerService {
public
Customer
update
(
Customer
c
)
{
return
customerRepository
.
save
(
c
);
}
@Override
public
List
<
Customer
>
searchByQuery
(
String
queryString
)
{
RSQLVisitor
<
CriteriaQuery
<
Customer
>,
EntityManager
>
visitor
=
new
JpaCriteriaQueryVisitor
<>();
CriteriaQuery
<
Customer
>
query
;
query
=
getCriteriaQuery
(
queryString
,
visitor
);
List
<
Customer
>
resultList
=
entityManager
.
createQuery
(
query
).
getResultList
();
if
(
resultList
==
null
||
resultList
.
isEmpty
()){
if
(
resultList
==
null
||
resultList
.
isEmpty
())
{
return
Collections
.
emptyList
();
}
return
resultList
;
...
...
@@ -1579,16 +1581,87 @@ public class CustomerServiceImpl implements CustomerService {
return
entityManager
.
createQuery
(
query
).
getSingleResult
();
}
private
<
T
>
CriteriaQuery
<
T
>
getCriteriaQuery
(
String
queryString
,
RSQLVisitor
<
CriteriaQuery
<
T
>,
EntityManager
>
visitor
)
{
Node
rootNode
;
CriteriaQuery
<
T
>
query
;
try
{
rootNode
=
new
RSQLParser
().
parse
(
queryString
);
query
=
rootNode
.
accept
(
visitor
,
entityManager
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
IllegalArgumentException
(
e
.
getMessage
());
}
return
query
;
}
// params.put('1', ["AND","AGE",">=","30"] )
// lst.push(params);
// StringBuilder sql = "Select ..... WHERE 1 = 1 "
// for(lst){
// String[] data = lst[i].value
// sql.append(data[0] + data[1] + data[2] + data[3]);
// }
// Map<String, String> params = new HashMap<>();
// public ResultDTO searchCustomize(List<CustomizeFields> customizeFields) {
// Map<String, CustomizeRequestDTo> hashCustomer = new HashMap<>();
// CustomizeRequestDTo customizeRequestDTo = new CustomizeRequestDTo();
// hashCustomer.put("1", customizeRequestDTo);
// hashCustomer.put("2", customizeRequestDTo);
// hashCustomer.put("3", customizeRequestDTo);
// StringBuilder sb = new StringBuilder();
// sb.append("");
// sb.append("");
// sb.append("");
// sb.append("");
@Override
public
ResultDTO
searchCustomizeFields
(
CustomizeRequestDTo
customizeFields
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
Map
<
String
,
String
>
params
=
new
HashMap
<>();
List
<
FieldsToShowDTO
>
list
=
new
ArrayList
<>();
StringBuilder
stringBuilder
=
new
StringBuilder
();
try
{
stringBuilder
.
append
(
" with column_name_temp as ("
);
stringBuilder
.
append
(
" select 'CUSTOMER_ID', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'CUSTOMER_NAME', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'CUSTOMER_TYPE', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'NAME', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'CURRENT_ADDRESS', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'PLACE_OF_BIRTH', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'DATE_OF_BIRTH', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'MOBILE_NUMBER', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'EMAIL', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'USERNAME', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" select 'CUSTOMER_TYPE', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" where table_name = 'CUSTOMER'"
);
stringBuilder
.
append
(
" )"
);
stringBuilder
.
append
(
" select * from column_name_temp"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select title columnName, 0 isFix "
);
stringBuilder
.
append
(
" from customize_fields, dual"
);
stringBuilder
.
append
(
" where function_code = 'CUSTOMER'"
);
stringBuilder
.
append
(
" and site_id = :p_company_site_id"
);
stringBuilder
.
append
(
" and STATUS = 1"
);
stringBuilder
.
append
(
" and active = 1 "
);
params
.
put
(
"p_company_site_id"
,
customizeFields
.
getCompanySiteId
());
params
.
put
(
"p_customer_id"
,
customizeFields
.
getCustomerId
());
list
=
namedParameterJdbcTemplate
.
query
(
stringBuilder
.
toString
(),
params
,
BeanPropertyRowMapper
.
newInstance
(
FieldsToShowDTO
.
class
));
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
resultDTO
.
setListData
(
list
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
e
.
getMessage
(),
e
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
resultDTO
;
}
}
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
0 → 100644
View file @
d4632514
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
CustomizeRequestDTo
extends
BaseDTO
{
String
operatorLogic
;
String
filterCustomer
;
String
compare
;
String
valueCustomer
;
String
companySiteId
;
String
customerId
;
}
src/main/java/com/viettel/campaign/web/rest/CampaignCfg.java
→
src/main/java/com/viettel/campaign/web/rest/CampaignCfg
Controller
.java
View file @
d4632514
...
...
@@ -16,7 +16,7 @@ import java.util.Map;
@RestController
@RequestMapping
(
"/ipcc/completeCode"
)
@CrossOrigin
(
origins
=
"*"
)
public
class
CampaignCfg
{
public
class
CampaignCfg
Controller
{
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
CustomerController
.
class
);
@Autowired
...
...
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
View file @
d4632514
...
...
@@ -9,6 +9,7 @@ import com.viettel.campaign.utils.Constants;
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.CustomizeRequestDTo
;
import
com.viettel.campaign.web.dto.request_dto.SearchCustomerRequestDTO
;
import
com.viettel.econtact.filter.UserSession
;
import
org.apache.commons.io.FilenameUtils
;
...
...
@@ -262,4 +263,10 @@ public class CustomerController {
return
ResponseEntity
.
status
(
HttpStatus
.
OK
)
.
body
(
result
);
}
@PostMapping
(
"/getCustomizeFields"
)
@ResponseBody
public
ResponseEntity
<?>
getListFieldsToShow
(
@RequestBody
CustomizeRequestDTo
customizeRequestDTo
)
{
ResultDTO
resultDTO
=
customerService
.
searchCustomizeFields
(
customizeRequestDTo
);
return
new
ResponseEntity
<>(
resultDTO
,
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