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
e8919827
Commit
e8919827
authored
Aug 29, 2019
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd commit for merge
parents
645b312d
3c9f41ef
Changes
22
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
339 additions
and
284 deletions
+339
-284
pom.xml
pom.xml
+14
-0
src/main/java/com/viettel/campaign/config/JobConfig.java
src/main/java/com/viettel/campaign/config/JobConfig.java
+27
-26
src/main/java/com/viettel/campaign/job/CampaignJob.java
src/main/java/com/viettel/campaign/job/CampaignJob.java
+1
-1
src/main/java/com/viettel/campaign/model/ccms_full/CustomerContact.java
...com/viettel/campaign/model/ccms_full/CustomerContact.java
+1
-1
src/main/java/com/viettel/campaign/model/ccms_full/CustomizeFields.java
...com/viettel/campaign/model/ccms_full/CustomizeFields.java
+4
-5
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
...pository/ccms_full/impl/CampaignExecuteRepositoryImp.java
+3
-3
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
...ign/repository/ccms_full/impl/CampaignRepositoryImpl.java
+17
-9
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
.../com/viettel/campaign/service/CampaignExecuteService.java
+2
-1
src/main/java/com/viettel/campaign/service/CustomerService.java
...in/java/com/viettel/campaign/service/CustomerService.java
+3
-2
src/main/java/com/viettel/campaign/service/ScenarioService.java
...in/java/com/viettel/campaign/service/ScenarioService.java
+3
-2
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
.../com/viettel/campaign/service/impl/AgentsServiceImpl.java
+21
-12
src/main/java/com/viettel/campaign/service/impl/CampaignCfgServiceImpl.java
...viettel/campaign/service/impl/CampaignCfgServiceImpl.java
+13
-10
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
...ttel/campaign/service/impl/CampaignExecuteServiceImp.java
+109
-94
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
...om/viettel/campaign/service/impl/CampaignServiceImpl.java
+1
-1
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
...om/viettel/campaign/service/impl/CustomerServiceImpl.java
+94
-96
src/main/java/com/viettel/campaign/service/impl/ScenarioServiceImpl.java
...om/viettel/campaign/service/impl/ScenarioServiceImpl.java
+15
-6
src/main/java/com/viettel/campaign/utils/BundleUtils.java
src/main/java/com/viettel/campaign/utils/BundleUtils.java
+1
-1
src/main/java/com/viettel/campaign/utils/DataUtil.java
src/main/java/com/viettel/campaign/utils/DataUtil.java
+2
-9
src/main/java/com/viettel/campaign/utils/RedisUtil.java
src/main/java/com/viettel/campaign/utils/RedisUtil.java
+2
-1
src/main/java/com/viettel/campaign/utils/WorkBookBuilder.java
...main/java/com/viettel/campaign/utils/WorkBookBuilder.java
+1
-1
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomerQueryDTO.java
...iettel/campaign/web/dto/request_dto/CustomerQueryDTO.java
+1
-1
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
...ava/com/viettel/campaign/web/rest/CustomerController.java
+4
-2
No files found.
pom.xml
View file @
e8919827
...
...
@@ -173,6 +173,20 @@
<!--<executable>true</executable>-->
<!--</configuration>-->
</plugin>
<!--<plugin>-->
<!--<groupId>org.sonarsource.scanner.maven</groupId>-->
<!--<artifactId>sonar-maven-plugin</artifactId>-->
<!--<version>3.3.0.603</version>-->
<!--<executions>-->
<!--<execution>-->
<!--<phase>verify</phase>-->
<!--<goals>-->
<!--<goal>sonar</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--</plugin>-->
</plugins>
</build>
<repositories>
...
...
src/main/java/com/viettel/campaign/config/JobConfig.java
View file @
e8919827
...
...
@@ -48,33 +48,34 @@ public class JobConfig implements SchedulingConfigurer {
// taskRegistrar.setTaskScheduler(threadPoolTaskScheduler);
// }
private
void
job1
(
TaskScheduler
scheduler
)
{
job1
=
scheduler
.
schedule
(()
->
{
log
.
info
(
"processing job1 ..."
);
log
.
info
(
Thread
.
currentThread
().
getName
()
+
" The Task1 executed at "
+
new
Date
());
try
{
Thread
.
sleep
(
10000
);
}
catch
(
InterruptedException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
},
triggerContext
->
{
String
cronExp
=
"0/5 * * * * ?"
;
// Can be pulled from a db .
return
new
CronTrigger
(
cronExp
).
nextExecutionTime
(
triggerContext
);
});
}
private
void
job2
(
TaskScheduler
scheduler
)
{
job2
=
scheduler
.
schedule
(()
->
{
log
.
info
(
Thread
.
currentThread
().
getName
()
+
" The Job executed at "
+
new
Date
());
campaignJob
().
process
();
// private void job1(TaskScheduler scheduler) {
// job1 = scheduler.schedule(() -> {
// log.info("processing job1 ...");
// log.info(Thread.currentThread().getName() + " The Task1 executed at " + new Date());
// try {
// Thread.sleep(10000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
//// e.printStackTrace();
// log.error("Interrupted! ...${}", e);
// }
// }, triggerContext -> {
//
// String cronExp = "0/5 * * * * ?";// Can be pulled from a db .
// return new CronTrigger(cronExp).nextExecutionTime(triggerContext);
// });
// }
},
triggerContext
->
{
String
cronExp
=
"0/1 * * * * ?"
;
// Can be pulled from a db . This will run every minute
return
new
CronTrigger
(
cronExp
).
nextExecutionTime
(
triggerContext
);
});
}
// private void job2(TaskScheduler scheduler) {
// job2 = scheduler.schedule(() -> {
// log.info(Thread.currentThread().getName() + " The Job executed at " + new Date());
// campaignJob().process();
//
// }, triggerContext -> {
// String cronExp = "0/1 * * * * ?";// Can be pulled from a db . This will run every minute
// return new CronTrigger(cronExp).nextExecutionTime(triggerContext);
// });
// }
...
...
src/main/java/com/viettel/campaign/job/CampaignJob.java
View file @
e8919827
...
...
@@ -19,7 +19,7 @@ import java.util.List;
@Slf4j
public
class
CampaignJob
{
private
static
final
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"dd-MM-yyyy HH:mm:ss"
);
private
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"dd-MM-yyyy HH:mm:ss"
);
private
static
final
String
CUSTOMER_INACTIVE_DUARATION
=
"CUSTOMER_INACTIVE_DUARATION"
;
private
static
final
String
CRON_EXPRESSION_CHECK_START
=
"CRON_EXPRESSION_CHECK_START"
;
private
static
final
String
CRON_EXPRESSION_CHECK_END
=
"CRON_EXPRESSION_CHECK_END"
;
...
...
src/main/java/com/viettel/campaign/model/ccms_full/CustomerContact.java
View file @
e8919827
...
...
@@ -15,7 +15,7 @@ import java.util.Date;
public
class
CustomerContact
implements
Serializable
{
@Id
@Basic
(
optional
=
false
)
@GeneratedValue
(
generator
=
"customer_contact_seq"
,
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
generator
=
"customer_contact_seq"
)
@SequenceGenerator
(
name
=
"customer_contact_seq"
,
sequenceName
=
"customer_contact_seq"
,
allocationSize
=
1
)
@NotNull
@Column
(
name
=
"CONTACT_ID"
)
...
...
src/main/java/com/viettel/campaign/model/ccms_full/CustomizeFields.java
View file @
e8919827
package
com.viettel.campaign.model.ccms_full
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.*
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -67,8 +64,10 @@ public class CustomizeFields implements Serializable {
@Column
(
name
=
"ACTIVE"
)
private
Long
active
;
public
CustomizeFields
(
String
type
,
String
title
)
{
public
CustomizeFields
(
@NotNull
String
type
,
@NotNull
String
title
)
{
this
.
type
=
type
;
this
.
title
=
title
;
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
View file @
e8919827
...
...
@@ -301,9 +301,9 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
if
(!
"AGENT"
.
equals
(
dto
.
getRoleUser
()))
{
// ko phải nhân viên
ContactCustResultDTO
.
setEnableEdit
(
true
);
}
else
{
if
(
"2"
.
equals
(
ContactCustResultDTO
.
getRecordStatus
()
))
{
// là nhân viên thường
if
(
2
==
ContactCustResultDTO
.
getRecordStatus
(
))
{
// là nhân viên thường
ContactCustResultDTO
.
setEnableEdit
(
true
);
}
else
if
(
"1"
.
equals
(
ContactCustResultDTO
.
getRecordStatus
()
)
&&
isLower24Hour
(
ContactCustResultDTO
.
getCreateTime
()))
{
}
else
if
(
1
==
ContactCustResultDTO
.
getRecordStatus
(
)
&&
isLower24Hour
(
ContactCustResultDTO
.
getCreateTime
()))
{
ContactCustResultDTO
.
setEnableEdit
(
true
);
}
else
{
ContactCustResultDTO
.
setEnableEdit
(
false
);
...
...
@@ -439,8 +439,8 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
logger
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
session
.
close
();
return
list
;
}
return
list
;
}
@Override
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
View file @
e8919827
...
...
@@ -57,8 +57,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
ResultDTO
result
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrEmpty
(
requestDto
.
getCompanySiteId
()))
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -66,6 +65,9 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
return
result
;
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
" SELECT"
);
...
...
@@ -256,7 +258,9 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
finally
{
session
.
close
();
if
(
null
!=
session
)
{
session
.
close
();
}
}
return
result
;
}
...
...
@@ -267,8 +271,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
ResultDTO
result
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrEmpty
(
requestDto
.
getCompanySiteId
()))
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -276,6 +279,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
return
result
;
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
StringBuilder
sb
=
new
StringBuilder
();
// sb.append(" SELECT CAMPAIGN_ID campaignId, " +
// " CAMPAIGN_CODE campaignCode, " +
...
...
@@ -343,7 +348,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
if
(
session
!=
null
)
session
.
close
();
}
return
result
;
}
...
...
@@ -353,9 +358,10 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
logger
.
info
(
"Start search max campaign code index::"
);
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
//StringBuilder sb = new StringBuilder();
//sb.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "get-max-campaign-code-index"));
StringBuilder
sb
=
new
StringBuilder
();
...
...
@@ -373,6 +379,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
}
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
finally
{
if
(
session
!=
null
)
session
.
close
();
}
return
null
;
}
...
...
@@ -779,8 +787,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
return
resultDTO
;
}
return
resultDTO
;
}
@Override
...
...
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
e8919827
...
...
@@ -6,6 +6,7 @@ import com.viettel.econtact.filter.UserSession;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.stereotype.Service
;
import
java.io.IOException
;
import
java.util.List
;
@Service
...
...
@@ -17,7 +18,7 @@ public interface CampaignExecuteService {
ResultDTO
searchInteractiveResult
(
CampaignRequestDTO
dto
);
XSSFWorkbook
exportInteractiveResult
(
CampaignRequestDTO
dto
);
XSSFWorkbook
exportInteractiveResult
(
CampaignRequestDTO
dto
)
throws
IOException
;
List
<
ContactCustResultDTO
>
getContactCustById
(
CampaignRequestDTO
dto
);
//</editor-fold>
...
...
src/main/java/com/viettel/campaign/service/CustomerService.java
View file @
e8919827
...
...
@@ -11,6 +11,7 @@ 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
java.io.IOException
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -76,9 +77,9 @@ public interface CustomerService {
List
<
CustomizeFields
>
getDynamicHeader
(
Long
companySiteId
);
byte
[]
buildTemplate
(
Long
companySiteId
);
byte
[]
buildTemplate
(
Long
companySiteId
)
throws
IOException
;
Map
<
String
,
Object
>
readAndValidateCustomer
(
String
path
,
List
<
CustomizeFields
>
headerDTOS
,
UserSession
userSession
,
Long
customerListId
);
Map
<
String
,
Object
>
readAndValidateCustomer
(
String
path
,
List
<
CustomizeFields
>
headerDTOS
,
UserSession
userSession
,
Long
customerListId
)
throws
IOException
;
List
<
CustomizeFieldObject
>
getCustomizeField
(
Long
customerId
);
...
...
src/main/java/com/viettel/campaign/service/ScenarioService.java
View file @
e8919827
...
...
@@ -6,6 +6,7 @@ import com.viettel.econtact.filter.UserSession;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -24,7 +25,7 @@ public interface ScenarioService {
ResultDTO
saveContacQuestResult
(
ContactQuestResultDTO
dto
);
XSSFWorkbook
buildTemplate
();
XSSFWorkbook
buildTemplate
()
throws
IOException
;
Map
<
String
,
Object
>
readAndValidateCustomer
(
String
path
,
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
);
Map
<
String
,
Object
>
readAndValidateCustomer
(
String
path
,
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
)
throws
IOException
;
}
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
View file @
e8919827
...
...
@@ -66,8 +66,7 @@ public class AgentsServiceImpl implements AgentsService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -76,6 +75,8 @@ public class AgentsServiceImpl implements AgentsService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sb = new StringBuilder();
// sb.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "campaign-agents-by-params"));
...
...
@@ -136,7 +137,7 @@ public class AgentsServiceImpl implements AgentsService {
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
if
(
session
!=
null
)
session
.
close
();
}
return
resultDTO
;
...
...
@@ -147,8 +148,7 @@ public class AgentsServiceImpl implements AgentsService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -157,6 +157,8 @@ public class AgentsServiceImpl implements AgentsService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sb = new StringBuilder();
// sb.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "campaign-agents-by-params"));
StringBuilder
sb
=
new
StringBuilder
();
...
...
@@ -214,7 +216,7 @@ public class AgentsServiceImpl implements AgentsService {
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
if
(
session
!=
null
)
session
.
close
();
}
return
resultDTO
;
...
...
@@ -278,8 +280,7 @@ public class AgentsServiceImpl implements AgentsService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -288,6 +289,8 @@ public class AgentsServiceImpl implements AgentsService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sqlStrBuilder = new StringBuilder();
// sqlStrBuilder.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "campaign-agents-by-params"));
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
...
...
@@ -372,7 +375,7 @@ public class AgentsServiceImpl implements AgentsService {
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
if
(
session
!=
null
)
session
.
close
();
}
return
resultDTO
;
...
...
@@ -383,8 +386,10 @@ public class AgentsServiceImpl implements AgentsService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// Session session = sessionFactory.openSession();
// session.beginTransaction();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -393,6 +398,8 @@ public class AgentsServiceImpl implements AgentsService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sb = new StringBuilder();
// sb.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_MNG, "campaign-agents-by-params"));
StringBuilder
sb
=
new
StringBuilder
();
...
...
@@ -477,7 +484,9 @@ public class AgentsServiceImpl implements AgentsService {
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
if
(
null
!=
session
){
session
.
close
();
}
}
return
resultDTO
;
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignCfgServiceImpl.java
View file @
e8919827
...
...
@@ -44,8 +44,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -54,6 +53,8 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sqlStrBuilder = new StringBuilder();
// sqlStrBuilder.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG, "findAll-CampaignCompleteCode"));
StringBuilder
sb
=
new
StringBuilder
();
...
...
@@ -132,7 +133,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
session
.
close
();
if
(
session
!=
null
)
session
.
close
();
}
return
resultDTO
;
...
...
@@ -278,8 +279,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
completeCodeDTO
.
getCompanySiteId
()))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -288,6 +288,8 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sqlStrBuilder = new StringBuilder();
// sqlStrBuilder.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG, "get-max-value-completevalue"));
StringBuilder
sb
=
new
StringBuilder
();
...
...
@@ -323,9 +325,9 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
session
.
close
();
return
resultDTO
;
if
(
session
!=
null
)
session
.
close
();
}
return
resultDTO
;
}
@Override
...
...
@@ -367,8 +369,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
Session
session
=
null
;
if
(
DataUtil
.
isNullOrZero
(
campaignCompleteCodeId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
...
...
@@ -377,6 +378,8 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
}
try
{
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
// StringBuilder sqlStrBuilder = new StringBuilder();
// sqlStrBuilder.append(SQLBuilder.getSqlQueryById(SQLBuilder.SQL_MODULE_CAMPAIGN_STATUS_MNG,"findCampaignCodeById"));
...
...
@@ -437,7 +440,7 @@ public class CampaignCfgServiceImpl implements CampaignCfgService {
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
logger
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
session
.
close
();
if
(
session
!=
null
)
session
.
close
();
}
return
resultDTO
;
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
e8919827
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
View file @
e8919827
...
...
@@ -596,7 +596,7 @@ public class CampaignServiceImpl implements CampaignService {
// Cap nhat cac truong da co san
for
(
FieldsToShowDTO
fieldsToShowDTO
:
list
)
{
if
(
fieldsToShowDTO
.
getId
()
!=
null
)
{
listColumns
.
removeIf
(
p
->
p
.
getCampaignCusListColId
()
==
fieldsToShowDTO
.
getId
(
));
listColumns
.
removeIf
(
p
->
p
.
getCampaignCusListColId
()
.
equals
(
fieldsToShowDTO
.
getId
()
));
CampaignCustomerListColumn
entity
=
campaignCustomerListColumnRepository
.
findByCampaignCusListColId
(
fieldsToShowDTO
.
getId
());
entity
.
setOrderIndex
((
long
)
(
list
.
indexOf
(
fieldsToShowDTO
)
+
1
));
campaignCustomerListColumnRepository
.
save
(
entity
);
...
...
src/main/java/com/viettel/campaign/service/impl/CustomerServiceImpl.java
View file @
e8919827
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/service/impl/ScenarioServiceImpl.java
View file @
e8919827
...
...
@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.io.*
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.FileInputStream
;
...
...
@@ -161,12 +162,13 @@ public class ScenarioServiceImpl implements ScenarioService {
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
XSSFWorkbook
buildTemplate
()
{
public
XSSFWorkbook
buildTemplate
()
throws
IOException
{
Locale
locale
=
new
Locale
(
"vi"
,
"VN"
);
XSSFWorkbook
workbook
=
null
;
try
{
XSSFWorkbook
workbook
=
new
XSSFWorkbook
();
Sheet
sheet
;
Sheet
sheet
;
workbook
=
new
XSSFWorkbook
();
CellStyle
styleTitle
=
WorkBookBuilder
.
buildDefaultStyleTitle
(
workbook
);
CellStyle
styleRowHeader
=
WorkBookBuilder
.
buildDefaultStyleRowHeader
(
workbook
);
CellStyle
styleRow
=
WorkBookBuilder
.
buildDefaultStyleRow
(
workbook
);
...
...
@@ -237,17 +239,20 @@ public class ScenarioServiceImpl implements ScenarioService {
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
());
return
null
;
}
finally
{
if
(
workbook
!=
null
)
workbook
.
close
();
}
}
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
Map
<
String
,
Object
>
readAndValidateCustomer
(
String
path
,
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
)
{
public
Map
<
String
,
Object
>
readAndValidateCustomer
(
String
path
,
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
)
throws
IOException
{
Locale
locale
=
new
Locale
(
"vi"
,
"VN"
);
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"dd/MM/yyyy HH:mm:ss"
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
StringBuilder
sb
=
new
StringBuilder
();
boolean
isValid
=
true
;
XSSFWorkbook
workbook
=
null
;
try
{
List
<
String
>
fileHeaderList
=
new
ArrayList
<>();
fileHeaderList
.
add
(
BundleUtils
.
getLangString
(
"scenario.template.questionCode"
,
locale
));
...
...
@@ -261,7 +266,8 @@ public class ScenarioServiceImpl implements ScenarioService {
File
file
=
new
File
(
path
);
FileInputStream
fis
=
new
FileInputStream
(
file
);
XSSFWorkbook
workbook
=
new
XSSFWorkbook
(
fis
);
workbook
=
new
XSSFWorkbook
(
fis
);
workbook
=
new
XSSFWorkbook
(
fis
);
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
();
Sheet
sheet
=
workbook
.
getSheetAt
(
0
);
Row
row
=
sheet
.
getRow
(
2
);
...
...
@@ -440,13 +446,16 @@ public class ScenarioServiceImpl implements ScenarioService {
}
}
catch
(
Exception
ex
)
{
logger
.
info
(
ex
.
getMessage
(),
ex
);
result
.
put
(
"message"
,
BundleUtils
.
getLangString
(
"customer.errorValidate"
,
locale
));
}
finally
{
if
(
workbook
!=
null
)
workbook
.
close
();
result
.
put
(
"code"
,
Constants
.
FILE_UPLOAD_RESP_CODE
.
ERROR
);
}
return
result
;
}
private
boolean
validateMappingQuestion
(
String
mappingQuestion
,
String
currentQuestionCode
,
List
<
String
>
lstQuestionCode
)
{
if
(
mappingQuestion
==
currentQuestionCode
)
return
false
;
if
(
mappingQuestion
!=
null
&&
mappingQuestion
.
equals
(
currentQuestionCode
)
)
return
false
;
String
duplicateCode
=
lstQuestionCode
.
stream
().
filter
(
p
->
(
p
.
equals
(
mappingQuestion
)
&&
p
.
equals
(
currentQuestionCode
))).
...
...
src/main/java/com/viettel/campaign/utils/BundleUtils.java
View file @
e8919827
...
...
@@ -12,7 +12,7 @@ import java.util.ResourceBundle;
*/
public
class
BundleUtils
{
protected
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BundleUtils
.
class
);
private
static
volatile
ResourceBundle
rsConfig
=
null
;
private
static
ResourceBundle
rsConfig
=
null
;
private
static
final
String
GLOBAL_CONFIG
=
"config/globalConfig"
;
public
static
String
getLangString
(
String
key
,
Locale
...
locale
)
{
...
...
src/main/java/com/viettel/campaign/utils/DataUtil.java
View file @
e8919827
...
...
@@ -127,17 +127,10 @@ public class DataUtil {
}
public
static
boolean
safeEqual
(
Long
obj1
,
Long
obj2
)
{
if
(
obj1
==
obj2
)
{
if
(
obj1
.
equals
(
obj2
)
)
{
return
true
;
}
return
((
obj1
!=
null
)
&&
(
obj2
!=
null
)
&&
(
obj1
.
compareTo
(
obj2
)
==
0
));
}
public
static
boolean
safeEqual
(
String
obj1
,
String
obj2
)
{
if
(
obj1
==
obj2
)
{
return
true
;
}
return
((
obj1
!=
null
)
&&
(
obj2
!=
null
)
&&
obj1
.
equals
(
obj2
));
return
obj2
!=
null
&&
obj1
.
compareTo
(
obj2
)
==
0
;
}
public
static
String
convertDateToStringDDMMYYYYHHMISS
(
Date
datetime
)
{
...
...
src/main/java/com/viettel/campaign/utils/RedisUtil.java
View file @
e8919827
...
...
@@ -16,7 +16,8 @@ public class RedisUtil {
private
static
final
Logger
logger
=
Logger
.
getLogger
(
RedisUtil
.
class
);
private
static
volatile
RedisUtil
INSTANCE
=
null
;
// private static volatile RedisUtil INSTANCE = null;
private
static
RedisUtil
INSTANCE
=
null
;
private
JedisCluster
jedisCluster
;
private
String
redisAddress
;
private
int
redisTimeout
;
...
...
src/main/java/com/viettel/campaign/utils/WorkBookBuilder.java
View file @
e8919827
...
...
@@ -4,7 +4,7 @@ import org.apache.poi.ss.usermodel.*;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
/**
* @author anhvd_itsol
* @author anhvd_itsol
0ad5d5fb7aa141b4ac383bcb096e2ec3faba0b1b
*/
public
class
WorkBookBuilder
{
public
static
Font
buildDefaultFont
(
XSSFWorkbook
workbook
)
{
...
...
src/main/java/com/viettel/campaign/web/dto/request_dto/CustomerQueryDTO.java
View file @
e8919827
...
...
@@ -8,7 +8,7 @@ import lombok.Setter;
@Setter
public
class
CustomerQueryDTO
extends
BaseDTO
{
String
join
;
Stri
ng
field
;
Lo
ng
field
;
String
operator
;
String
condition
;
...
...
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
View file @
e8919827
...
...
@@ -30,7 +30,10 @@ import java.nio.file.Files;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
@Controller
@RequestMapping
(
"/ipcc/customer"
)
...
...
@@ -194,7 +197,6 @@ public class CustomerController {
@RequestPart
(
"customerListId"
)
String
customerListId
,
HttpServletRequest
request
)
{
LOGGER
.
info
(
"------------IMPORT FILE TEMPLATE--------------"
);
Locale
locale
=
new
Locale
(
"vi"
,
"VN"
);
try
{
UserSession
userSession
=
(
UserSession
)
RedisUtil
.
getInstance
().
get
(
request
.
getHeader
(
"X-Auth-Token"
));
if
(
file
.
isEmpty
())
{
...
...
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