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
e0c3f068
Commit
e0c3f068
authored
Aug 28, 2019
by
=
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hungtt-commit
parent
47677e80
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
131 additions
and
60 deletions
+131
-60
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
+112
-60
src/main/java/com/viettel/campaign/web/dto/CampaignInformationDTO.java
.../com/viettel/campaign/web/dto/CampaignInformationDTO.java
+1
-0
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
...ava/com/viettel/campaign/web/rest/CustomerController.java
+14
-0
No files found.
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
e0c3f068
...
...
@@ -61,6 +61,10 @@ public interface CustomerService {
ResultDTO
deleteCustomerFromCampaign
(
CampaignCustomerDTO
campaignCustomerDTO
);
ResultDTO
searchCampaignInformation
(
CampaignCustomerDTO
campaignCustomerDTO
);
ResultDTO
addCustomerToCampaign
(
CampaignCustomerDTO
campaignCustomerDTO
);
// ------------ customer ------------ //
...
...
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
e0c3f068
...
...
@@ -1660,6 +1660,85 @@ public class CustomerServiceImpl implements CustomerService {
return
resultDTO
;
}
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
ResultDTO
searchCampaignInformation
(
CampaignCustomerDTO
campaignCustomerDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
List
<
CampaignInformationDTO
>
list
=
new
ArrayList
<>();
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
try
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
" with status_customer as (\n"
+
"select complete_value\n"
+
"from campaign_complete_code\n"
+
"where complete_value <> 4\n"
+
" and is_finish <> 1\n"
+
" and campaign_type = 1\n"
+
" and company_site_id = :p_company_site_id\n"
+
"),\n"
+
"count_customer as (\n"
+
"select campaign_id campaignId,\n"
+
" sum(case\n"
+
" when customer_list_id is null then 1\n"
+
" else 0\n"
+
" end) totalIndividual,\n"
+
" sum(case\n"
+
" when customer_list_id is not null then 1\n"
+
" else 0\n"
+
" end) totalCusInList\n"
+
"from campaign_customer\n"
+
"group by campaign_id\n"
+
")\n"
+
"select a.*, b.customer_number campaignCustomer\n"
+
"from count_customer a\n"
+
"left join campaign b on a.campaignId = b.campaign_id\n"
+
"where a.campaignId = :p_campaign_id"
);
params
.
put
(
"p_campaign_id"
,
campaignCustomerDTO
.
getCampaignId
());
params
.
put
(
"p_company_site_id"
,
campaignCustomerDTO
.
getCompanySiteId
());
list
=
namedParameterJdbcTemplate
.
query
(
sb
.
toString
(),
params
,
BeanPropertyRowMapper
.
newInstance
(
CampaignInformationDTO
.
class
));
if
(
list
.
size
()
>
0
)
{
resultDTO
.
setData
(
list
.
get
(
0
));
}
else
{
resultDTO
.
setData
(
null
);
}
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
e
.
getMessage
(),
e
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
resultDTO
;
}
@Override
public
ResultDTO
addCustomerToCampaign
(
CampaignCustomerDTO
campaignCustomerDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
Long
companySiteId
=
campaignCustomerDTO
.
getCompanySiteId
();
Long
campaignId
=
campaignCustomerDTO
.
getCampaignId
();
String
[]
lstCusId
=
campaignCustomerDTO
.
getLstCustomerId
().
split
(
","
);
try
{
for
(
String
cusId:
lstCusId
)
{
CampaignCustomer
entity
=
new
CampaignCustomer
();
entity
.
setCompanySiteId
(
companySiteId
);
entity
.
setStatus
((
short
)
0
);
entity
.
setCampaignId
(
campaignId
);
entity
.
setCustomerId
(
Long
.
parseLong
(
cusId
));
entity
.
setRecallCount
(
0L
);
entity
.
setInCampaignStatus
((
short
)
1
);
campaignCustomerRepository
.
save
(
entity
);
}
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
e
.
getMessage
(),
e
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
resultDTO
;
}
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
...
...
@@ -1738,67 +1817,40 @@ public class CustomerServiceImpl implements CustomerService {
List
<
CustomizeFielObjectDTO
>
list
;
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(" union all");
// stringBuilder.append(" select 'CUSTOMER_NAME' ,1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'CUSTOMER_TYPE' ,1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'NAME' ,1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'CURRENT_ADDRESS', 1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'PLACE_OF_BIRTH', 1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'DATE_OF_BIRTH', 1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'MOBILE_NUMBER', 1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'EMAIL', 1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// stringBuilder.append(" select 'USERNAME', 1 isFix from user_tab_columns, dual");
// stringBuilder.append(" union all");
// 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 ");
stringBuilder
.
append
(
"SELECT C.NAME name,"
+
" C.CUSTOMER_ID customerID,"
+
" C.CURRENT_ADDRESS currentAddress,"
+
" C.USERNAME username,"
+
" C.GENDER gender,"
+
" C.COMPANY_NAME companyName,"
+
" C.DATE_OF_BIRTH dateOfBirth,"
+
" C.COMPANY_NAME companyName,"
+
" C.CUSTOMER_TYPE customerType,"
+
" C.PLACE_OF_BIRTH placeOfBirth,"
+
" C.CUSTOMER_TYPE customerType,"
+
" C.EMAIL email,"
+
" C.USERNAME username,"
+
" C.NAME name,"
+
" C.MOBILE_NUMBER mobileNumber,"
+
" C.SITE_ID siteId,"
+
" C.STATUS status,"
+
" CF.FUNCTION_CODE functionCode,"
+
" CF.ACTIVE active,"
+
" CFO.*"
);
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_FIELDS CF ON CF.CUSTOMIZE_FIELD_ID = CFO.CUSTOMIZE_FIELDS_ID\n"
+
"WHERE 1 = 1"
);
// stringBuilder.append(" and C.SITE_ID = :p_company_site_id");
stringBuilder
.
append
(
" and CF.STATUS = 1"
);
stringBuilder
.
append
(
" with column_name_temp as ("
);
stringBuilder
.
append
(
" select 'CUSTOMER_ID customerId' ,1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'CUSTOMER_NAME customerName' ,1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'CUSTOMER_TYPE customerType' ,1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'NAME name' ,1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'CURRENT_ADDRESS currentAssress', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'PLACE_OF_BIRTH placeOfBirth', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'DATE_OF_BIRTH dateOfBirth', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'MOBILE_NUMBER mobileNumber', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'EMAIL email', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'USERNAME username', 1 isFix from user_tab_columns, dual"
);
stringBuilder
.
append
(
" union all"
);
stringBuilder
.
append
(
" select 'CUSTOMER_TYPE customerType', 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 "
);
stringBuilder
.
append
(
" and CF.FUNCTION_CODE = 'CUSTOMER' "
);
params
.
put
(
"p_company_site_id"
,
customizeFields
.
getSiteId
());
params
.
put
(
"p_customer_id"
,
customizeFields
.
getCustomerId
());
LOGGER
.
info
(
"SQL statement: "
+
stringBuilder
);
...
...
src/main/java/com/viettel/campaign/web/dto/CampaignInformationDTO.java
View file @
e0c3f068
...
...
@@ -16,4 +16,5 @@ public class CampaignInformationDTO {
private
Long
totalNotCall
;
private
Long
campaignCustomer
;
private
Long
customerListId
;
private
Long
totalCusInList
;
}
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
View file @
e0c3f068
...
...
@@ -260,6 +260,20 @@ public class CustomerController {
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/searchCampaignInformation"
)
@ResponseBody
public
ResponseEntity
<?>
searchCampaignInformation
(
@RequestBody
CampaignCustomerDTO
dto
)
{
ResultDTO
resultDTO
=
customerService
.
searchCampaignInformation
(
dto
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/addCustomerToCampaign"
)
@ResponseBody
public
ResponseEntity
<?>
addCustomerToCampaign
(
@RequestBody
CampaignCustomerDTO
dto
)
{
ResultDTO
resultDTO
=
customerService
.
addCustomerToCampaign
(
dto
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
private
String
saveUploadFile
(
MultipartFile
file
)
{
...
...
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