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
90ccd9ea
Commit
90ccd9ea
authored
Aug 28, 2019
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd accept merge
parents
80a659bd
af2c4822
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
201 additions
and
83 deletions
+201
-83
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/CustomerQueryRepository.java
...ampaign/repository/ccms_full/CustomerQueryRepository.java
+9
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
...ign/repository/ccms_full/impl/CampaignRepositoryImpl.java
+1
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CustomerQueryRepositoryImpl.java
...epository/ccms_full/impl/CustomerQueryRepositoryImpl.java
+28
-0
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/CampaignCfgServiceImpl.java
...viettel/campaign/service/impl/CampaignCfgServiceImpl.java
+1
-0
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
...om/viettel/campaign/service/impl/CampaignServiceImpl.java
+1
-0
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
...om/viettel/campaign/service/impl/CustomerServiceImpl.java
+96
-50
src/main/java/com/viettel/campaign/web/dto/CustomizeFielObjectDTO.java
.../com/viettel/campaign/web/dto/CustomizeFielObjectDTO.java
+4
-1
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
...tel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
+15
-2
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
...ava/com/viettel/campaign/web/rest/CustomerController.java
+16
-1
src/main/resources/i18n/language_vi.properties
src/main/resources/i18n/language_vi.properties
+7
-7
No files found.
src/main/java/com/viettel/campaign/filter/CorsFilter.java
View file @
90ccd9ea
...
@@ -30,27 +30,27 @@ public class CorsFilter implements Filter {
...
@@ -30,27 +30,27 @@ public class CorsFilter implements Filter {
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
//
chain.doFilter(req, response);
chain
.
doFilter
(
req
,
response
);
if
(
"OPTIONS"
.
equalsIgnoreCase
(
request
.
getMethod
()))
{
//
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
chain
.
doFilter
(
req
,
resp
);
//
chain.doFilter(req, resp);
return
;
//
return;
}
//
}
if
(
"/"
.
equals
(
request
.
getRequestURI
()))
{
//
if ("/".equals(request.getRequestURI())) {
chain
.
doFilter
(
req
,
resp
);
//
chain.doFilter(req, resp);
return
;
//
return;
}
//
}
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
//
String xAuthToken = request.getHeader("X-Auth-Token");
if
(
xAuthToken
==
null
||
""
.
equals
(
xAuthToken
))
{
//
if (xAuthToken == null || "".equals(xAuthToken)) {
response
.
sendError
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
"The token is null."
);
//
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is null.");
return
;
//
return;
}
//
}
Object
obj
=
RedisUtil
.
getInstance
().
get
(
xAuthToken
);
//
Object obj = RedisUtil.getInstance().get(xAuthToken);
if
(
obj
instanceof
UserSession
)
{
//
if (obj instanceof UserSession) {
chain
.
doFilter
(
req
,
resp
);
//
chain.doFilter(req, resp);
}
else
{
//
} else {
response
.
sendError
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
"The token is invalid."
);
//
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is invalid.");
}
//
}
}
}
@Override
@Override
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/CustomerQueryRepository.java
0 → 100644
View file @
90ccd9ea
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.model.ccms_full.Customer
;
import
java.util.List
;
public
interface
CustomerQueryRepository
{
List
<
Customer
>
findAll
(
String
rsqlQuery
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
View file @
90ccd9ea
...
@@ -638,6 +638,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
...
@@ -638,6 +638,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
"),\n"
+
"),\n"
+
"data as (\n"
+
"data as (\n"
+
"select a.*, rownum row_ from data_temp a\n"
+
"select a.*, rownum row_ from data_temp a\n"
+
"where a.totalCusList > 0"
+
"),\n"
+
"),\n"
+
"count_data as (\n"
+
"count_data as (\n"
+
"select count(*) totalRow from data_temp\n"
+
"select count(*) totalRow from data_temp\n"
+
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CustomerQueryRepositoryImpl.java
0 → 100644
View file @
90ccd9ea
package
com.viettel.campaign.repository.ccms_full.impl
;
import
com.github.tennaito.rsql.jpa.JpaCriteriaQueryVisitor
;
import
com.viettel.campaign.model.ccms_full.Customer
;
import
com.viettel.campaign.repository.ccms_full.CustomerQueryRepository
;
import
cz.jirutka.rsql.parser.RSQLParser
;
import
cz.jirutka.rsql.parser.ast.Node
;
import
cz.jirutka.rsql.parser.ast.RSQLVisitor
;
import
javax.persistence.EntityManager
;
import
javax.persistence.PersistenceContext
;
import
javax.persistence.criteria.CriteriaQuery
;
import
java.util.List
;
public
class
CustomerQueryRepositoryImpl
implements
CustomerQueryRepository
{
@PersistenceContext
private
EntityManager
entityManager
;
private
RSQLVisitor
<
CriteriaQuery
<
Customer
>,
EntityManager
>
visitor
=
new
JpaCriteriaQueryVisitor
<
Customer
>();
private
RSQLParser
parser
=
new
RSQLParser
();
@Override
public
List
<
Customer
>
findAll
(
String
rsqlQuery
)
{
Node
node
=
parser
.
parse
(
rsqlQuery
);
CriteriaQuery
<
Customer
>
query
=
node
.
accept
(
visitor
,
entityManager
);
return
entityManager
.
createQuery
(
query
).
getResultList
();
}
}
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
90ccd9ea
...
@@ -77,5 +77,6 @@ public interface CustomerService {
...
@@ -77,5 +77,6 @@ public interface CustomerService {
Long
countByQuery
(
String
queryString
);
Long
countByQuery
(
String
queryString
);
// Map<String, CustomizeRequestDTo> searchCustomer();
// Map<String, CustomizeRequestDTo> searchCustomer();
//// List<CustomizeFields> searchCustomize();
//// List<CustomizeFields> searchCustomize();
ResultDTO
searchCustomizeFields
(
CustomizeRequestDTo
customizeFields
);
ResultDTO
listCustomizeFields
(
CustomizeRequestDTo
customizeFields
);
ResultDTO
searchCustomizeFields
(
CustomizeRequestDTo
customizeRequestDTo
);
}
}
src/main/java/com/viettel/campaign/service/impl/CampaignCfgServiceImpl.java
View file @
90ccd9ea
...
@@ -83,6 +83,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
...
@@ -83,6 +83,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
sb
.
append
(
" and COMPANY_SITE_ID = :p_company_site_id"
);
sb
.
append
(
" and COMPANY_SITE_ID = :p_company_site_id"
);
sb
.
append
(
" and COMPLETE_VALUE not in (1,2,3,4)"
);
sb
.
append
(
" and COMPLETE_VALUE not in (1,2,3,4)"
);
sb
.
append
(
"ORDER BY to_number(COMPLETE_VALUE) "
);
sb
.
append
(
"ORDER BY to_number(COMPLETE_VALUE) "
);
logger
.
info
(
"SQL statement: "
+
sb
);
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
View file @
90ccd9ea
...
@@ -555,6 +555,7 @@ public class CampaignServiceImpl implements CampaignService {
...
@@ -555,6 +555,7 @@ public class CampaignServiceImpl implements CampaignService {
List
<
CampaignCustomer
>
list
=
campaignCustomerRepository
.
findCustomerContacted
(
campaignId
,
companySiteId
,
Long
.
parseLong
(
cusListId
));
List
<
CampaignCustomer
>
list
=
campaignCustomerRepository
.
findCustomerContacted
(
campaignId
,
companySiteId
,
Long
.
parseLong
(
cusListId
));
for
(
CampaignCustomer
campaignCustomer:
list
)
{
for
(
CampaignCustomer
campaignCustomer:
list
)
{
campaignCustomer
.
setInCampaignStatus
((
short
)
0
);
campaignCustomer
.
setInCampaignStatus
((
short
)
0
);
campaignCustomerRepository
.
save
(
campaignCustomer
);
}
}
}
}
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
...
...
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
90ccd9ea
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/web/dto/CustomizeFielObjectDTO.java
View file @
90ccd9ea
...
@@ -5,13 +5,14 @@ import lombok.Getter;
...
@@ -5,13 +5,14 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
@Getter
@Getter
@Setter
@Setter
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
public
class
CustomizeFielObjectDTO
{
public
class
CustomizeFielObjectDTO
implements
Serializable
{
private
Long
customerId
;
private
Long
customerId
;
private
String
name
;
private
String
name
;
private
String
companyName
;
private
String
companyName
;
...
@@ -40,4 +41,6 @@ public class CustomizeFielObjectDTO {
...
@@ -40,4 +41,6 @@ public class CustomizeFielObjectDTO {
private
Long
fieldOptionValueId
;
private
Long
fieldOptionValueId
;
private
String
title
;
private
String
title
;
private
String
functionCode
;
private
String
functionCode
;
private
String
active
;
}
}
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomizeRequestDTo.java
View file @
90ccd9ea
...
@@ -5,13 +5,26 @@ import com.viettel.campaign.web.dto.BaseDTO;
...
@@ -5,13 +5,26 @@ import com.viettel.campaign.web.dto.BaseDTO;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
java.util.Date
;
@Getter
@Getter
@Setter
@Setter
public
class
CustomizeRequestDTo
extends
BaseDTO
{
public
class
CustomizeRequestDTo
extends
BaseDTO
{
String
operatorLogic
;
String
operatorLogic
;
String
name
;
String
filterCustomer
;
String
filterCustomer
;
String
compare
;
String
compare
;
String
valueCustomer
;
String
valueCustomer
;
String
companySiteId
;
String
customerId
;
String
customerId
;
String
companyName
;
String
status
;
String
siteId
;
Short
gender
;
String
currentAddress
;
String
placeOfBirth
;
Date
dateOfBirth
;
String
mobileNumber
;
String
email
;
String
userName
;
Long
customerType
;
}
}
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
View file @
90ccd9ea
...
@@ -3,6 +3,8 @@ package com.viettel.campaign.web.rest;
...
@@ -3,6 +3,8 @@ package com.viettel.campaign.web.rest;
import
com.viettel.campaign.model.ccms_full.Customer
;
import
com.viettel.campaign.model.ccms_full.Customer
;
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.repository.ccms_full.CustomerQueryRepository
;
import
com.viettel.campaign.repository.ccms_full.impl.CustomerQueryRepositoryImpl
;
import
com.viettel.campaign.service.CustomerService
;
import
com.viettel.campaign.service.CustomerService
;
import
com.viettel.campaign.utils.BundleUtils
;
import
com.viettel.campaign.utils.BundleUtils
;
import
com.viettel.campaign.utils.Config
;
import
com.viettel.campaign.utils.Config
;
...
@@ -38,6 +40,7 @@ import java.util.*;
...
@@ -38,6 +40,7 @@ import java.util.*;
@RequestMapping
(
"/ipcc/customer"
)
@RequestMapping
(
"/ipcc/customer"
)
@CrossOrigin
(
origins
=
"*"
)
@CrossOrigin
(
origins
=
"*"
)
public
class
CustomerController
{
public
class
CustomerController
{
private
CustomerQueryRepository
customerQueryRepo
;
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
CustomerController
.
class
);
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
CustomerController
.
class
);
...
@@ -113,6 +116,7 @@ public class CustomerController {
...
@@ -113,6 +116,7 @@ public class CustomerController {
// VIẾT ĐI VIẾT LẠI 4 LẦN RỒI ĐẤY
// VIẾT ĐI VIẾT LẠI 4 LẦN RỒI ĐẤY
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
UserSession
userSession
=
(
UserSession
)
RedisUtil
.
getInstance
().
get
(
xAuthToken
);
UserSession
userSession
=
(
UserSession
)
RedisUtil
.
getInstance
().
get
(
xAuthToken
);
if
(
userSession
==
null
)
{
if
(
userSession
==
null
)
{
userSession
=
new
UserSession
();
userSession
=
new
UserSession
();
userSession
.
setSiteId
(
customerListDTO
.
getCompanySiteId
());
userSession
.
setSiteId
(
customerListDTO
.
getCompanySiteId
());
...
@@ -248,6 +252,8 @@ public class CustomerController {
...
@@ -248,6 +252,8 @@ public class CustomerController {
return
new
ResponseEntity
<>(
data
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
data
,
HttpStatus
.
OK
);
}
}
private
String
saveUploadFile
(
MultipartFile
file
)
{
private
String
saveUploadFile
(
MultipartFile
file
)
{
try
{
try
{
String
currentTime
=
new
SimpleDateFormat
(
"yyyy_MM_dd_hh_mm_ss"
).
format
(
new
Date
());
String
currentTime
=
new
SimpleDateFormat
(
"yyyy_MM_dd_hh_mm_ss"
).
format
(
new
Date
());
...
@@ -267,6 +273,15 @@ public class CustomerController {
...
@@ -267,6 +273,15 @@ public class CustomerController {
}
}
return
null
;
return
null
;
}
}
// @GetMapping("/query")
// public ResponseEntity<List<Customer>> query(@RequestParam(value = "search") String query) {
// List<Customer> things = customerQueryRepo.findAll(query);
// if (things.isEmpty()) {
// return ResponseEntity.noContent().build();
// }
// return ResponseEntity.ok(things);
// }
@GetMapping
(
path
=
""
,
produces
=
{
MediaType
.
APPLICATION_JSON_VALUE
})
@GetMapping
(
path
=
""
,
produces
=
{
MediaType
.
APPLICATION_JSON_VALUE
})
public
ResponseEntity
<
List
<
Customer
>>
query
(
@RequestParam
(
value
=
"search"
)
String
query
)
{
public
ResponseEntity
<
List
<
Customer
>>
query
(
@RequestParam
(
value
=
"search"
)
String
query
)
{
List
<
Customer
>
result
=
null
;
List
<
Customer
>
result
=
null
;
...
@@ -282,7 +297,7 @@ public class CustomerController {
...
@@ -282,7 +297,7 @@ public class CustomerController {
@PostMapping
(
"/getCustomizeFields"
)
@PostMapping
(
"/getCustomizeFields"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
<?>
getListFieldsToShow
(
@RequestBody
CustomizeRequestDTo
customizeRequestDTo
)
{
public
ResponseEntity
<?>
getListFieldsToShow
(
@RequestBody
CustomizeRequestDTo
customizeRequestDTo
)
{
ResultDTO
resultDTO
=
customerService
.
search
CustomizeFields
(
customizeRequestDTo
);
ResultDTO
resultDTO
=
customerService
.
list
CustomizeFields
(
customizeRequestDTo
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
}
}
}
src/main/resources/i18n/language_vi.properties
View file @
90ccd9ea
...
@@ -62,13 +62,13 @@ DATE_OF_BIRTH = Ngày sinh
...
@@ -62,13 +62,13 @@ DATE_OF_BIRTH = Ngày sinh
MOBILE_NUMBER
=
Số điện thoại
MOBILE_NUMBER
=
Số điện thoại
USERNAME
=
Tài khoản
USERNAME
=
Tài khoản
AREA_CODE
=
Khu vực
AREA_CODE
=
Khu vực
CALL_ALLOWED
=
C
ALL_ALLOWED
CALL_ALLOWED
=
C
ho phép gọi
EMAIL_ALLOWED
=
EMAIL_ALLOWED
EMAIL_ALLOWED
=
Cho phép gửi email
SMS_ALLOWED
=
SMS_ALLOWED
SMS_ALLOWED
=
Cho phép gửi sms
IPCC_STATUS
=
IPCC_STATUS
IPCC_STATUS
=
Trạng thái Ipcc
EMAIL
=
E
MAIL
EMAIL
=
E
mail
CUSTOMER_TYPE
=
CUSTOMER_TYPE
CUSTOMER_TYPE
=
Loại khách hàng
AVATAR_LINK
=
AVATAR_LINK
AVATAR_LINK
=
Đường dẫn ảnh đại diện
#Customer Excel Header
#Customer Excel Header
customer.no
=
STT
customer.no
=
STT
...
...
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