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
69e574aa
Commit
69e574aa
authored
Aug 14, 2019
by
Phạm Duy Phi
Browse files
Options
Browse Files
Download
Plain Diff
commit
parents
e79facae
2e6e4f63
Changes
36
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
764 additions
and
180 deletions
+764
-180
src/main/java/com/viettel/campaign/model/acd_full/Agents.java
...main/java/com/viettel/campaign/model/acd_full/Agents.java
+1
-1
src/main/java/com/viettel/campaign/model/ccms_full/CampaignAgent.java
...a/com/viettel/campaign/model/ccms_full/CampaignAgent.java
+3
-4
src/main/java/com/viettel/campaign/model/ccms_full/ScenarioAnswer.java
.../com/viettel/campaign/model/ccms_full/ScenarioAnswer.java
+59
-0
src/main/java/com/viettel/campaign/repository/acd_full/AgentsRepository.java
...iettel/campaign/repository/acd_full/AgentsRepository.java
+5
-1
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignAgentRepository.java
...ampaign/repository/ccms_full/CampaignAgentRepository.java
+22
-0
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignExecuteRepository.java
...paign/repository/ccms_full/CampaignExecuteRepository.java
+4
-0
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignRepositoryCustom.java
...mpaign/repository/ccms_full/CampaignRepositoryCustom.java
+4
-2
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioAnswerRepository.java
...mpaign/repository/ccms_full/ScenarioAnswerRepository.java
+14
-0
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioAnswerRepositoryCustom.java
.../repository/ccms_full/ScenarioAnswerRepositoryCustom.java
+8
-0
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioQuestionRepository.java
...aign/repository/ccms_full/ScenarioQuestionRepository.java
+16
-0
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioQuestionRepositoryCustom.java
...epository/ccms_full/ScenarioQuestionRepositoryCustom.java
+9
-0
src/main/java/com/viettel/campaign/repository/ccms_full/TimeRangeDialModeRepository.java
...ign/repository/ccms_full/TimeRangeDialModeRepository.java
+7
-0
src/main/java/com/viettel/campaign/repository/ccms_full/TimeZoneDialModeRepository.java
...aign/repository/ccms_full/TimeZoneDialModeRepository.java
+7
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
...pository/ccms_full/impl/CampaignExecuteRepositoryImp.java
+150
-6
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
...ign/repository/ccms_full/impl/CampaignRepositoryImpl.java
+0
-135
src/main/java/com/viettel/campaign/repository/ccms_full/impl/ScenarioAnswerRepositoryImpl.java
...pository/ccms_full/impl/ScenarioAnswerRepositoryImpl.java
+7
-0
src/main/java/com/viettel/campaign/repository/ccms_full/impl/ScenarioQuestionRepositoryImpl.java
...sitory/ccms_full/impl/ScenarioQuestionRepositoryImpl.java
+13
-0
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
.../com/viettel/campaign/service/CampaignExecuteService.java
+6
-0
src/main/java/com/viettel/campaign/service/CampaignService.java
...in/java/com/viettel/campaign/service/CampaignService.java
+0
-1
src/main/java/com/viettel/campaign/service/ScenarioAnswerService.java
...a/com/viettel/campaign/service/ScenarioAnswerService.java
+8
-0
src/main/java/com/viettel/campaign/service/ScenarioQuestionService.java
...com/viettel/campaign/service/ScenarioQuestionService.java
+14
-0
src/main/java/com/viettel/campaign/service/ScenarioService.java
...in/java/com/viettel/campaign/service/ScenarioService.java
+3
-0
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
.../com/viettel/campaign/service/impl/AgentsServiceImpl.java
+18
-8
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
...ttel/campaign/service/impl/CampaignExecuteServiceImp.java
+94
-4
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
...om/viettel/campaign/service/impl/CampaignServiceImpl.java
+0
-6
src/main/java/com/viettel/campaign/service/impl/ScenarioAnswerServiceImpl.java
...ttel/campaign/service/impl/ScenarioAnswerServiceImpl.java
+12
-0
src/main/java/com/viettel/campaign/service/impl/ScenarioQuestionServiceImpl.java
...el/campaign/service/impl/ScenarioQuestionServiceImpl.java
+64
-0
src/main/java/com/viettel/campaign/service/impl/ScenarioServiceImpl.java
...om/viettel/campaign/service/impl/ScenarioServiceImpl.java
+31
-0
src/main/java/com/viettel/campaign/web/dto/ScenarioAnswerDTO.java
.../java/com/viettel/campaign/web/dto/ScenarioAnswerDTO.java
+26
-0
src/main/java/com/viettel/campaign/web/dto/ScenarioDTO.java
src/main/java/com/viettel/campaign/web/dto/ScenarioDTO.java
+25
-0
src/main/java/com/viettel/campaign/web/dto/ScenarioQuestionDTO.java
...ava/com/viettel/campaign/web/dto/ScenarioQuestionDTO.java
+29
-0
src/main/java/com/viettel/campaign/web/rest/CampaignController.java
...ava/com/viettel/campaign/web/rest/CampaignController.java
+15
-1
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
...ava/com/viettel/campaign/web/rest/CustomerController.java
+12
-7
src/main/java/com/viettel/campaign/web/rest/ScenarioAnswerController.java
...m/viettel/campaign/web/rest/ScenarioAnswerController.java
+15
-0
src/main/java/com/viettel/campaign/web/rest/ScenarioController.java
...ava/com/viettel/campaign/web/rest/ScenarioController.java
+25
-4
src/main/java/com/viettel/campaign/web/rest/ScenarioQuestionController.java
...viettel/campaign/web/rest/ScenarioQuestionController.java
+38
-0
No files found.
src/main/java/com/viettel/campaign/model/acd_full/Agents.java
View file @
69e574aa
...
@@ -7,7 +7,7 @@ import javax.persistence.*;
...
@@ -7,7 +7,7 @@ import javax.persistence.*;
import
java.util.Date
;
import
java.util.Date
;
@Entity
@Entity
@Table
(
name
=
"
VSAUsers
"
)
@Table
(
name
=
"
AGENTS
"
)
@Getter
@Getter
@Setter
@Setter
public
class
Agents
{
public
class
Agents
{
...
...
src/main/java/com/viettel/campaign/model/ccms_full/CampaignAgent.java
View file @
69e574aa
...
@@ -3,10 +3,7 @@ package com.viettel.campaign.model.ccms_full;
...
@@ -3,10 +3,7 @@ package com.viettel.campaign.model.ccms_full;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
javax.persistence.Column
;
import
javax.persistence.*
;
import
javax.persistence.Entity
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.io.Serializable
;
@Entity
@Entity
...
@@ -16,6 +13,8 @@ import java.io.Serializable;
...
@@ -16,6 +13,8 @@ import java.io.Serializable;
public
class
CampaignAgent
implements
Serializable
{
public
class
CampaignAgent
implements
Serializable
{
@Id
@Id
@GeneratedValue
(
generator
=
"CAMPAIGN_AGENT_SEQ"
)
@SequenceGenerator
(
name
=
"CAMPAIGN_AGENT_SEQ"
,
sequenceName
=
"CAMPAIGN_AGENT_SEQ"
,
allocationSize
=
1
)
@Column
(
name
=
"CAMPAIGN_AGENT_ID"
)
@Column
(
name
=
"CAMPAIGN_AGENT_ID"
)
private
Long
campaignAgentId
;
private
Long
campaignAgentId
;
@Column
(
name
=
"CAMPAIGN_ID"
)
@Column
(
name
=
"CAMPAIGN_ID"
)
...
...
src/main/java/com/viettel/campaign/model/ccms_full/ScenarioAnswer.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.model.ccms_full
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
/**
* @author anhvd_itsol
*/
@Entity
@Table
(
name
=
"SCENARIO_ANSWER"
)
@Getter
@Setter
public
class
ScenarioAnswer
{
@Id
@NotNull
@GeneratedValue
(
generator
=
"SCENARIO_ANSWER_SEQ"
)
@SequenceGenerator
(
name
=
"SCENARIO_ANSWER_SEQ"
,
sequenceName
=
"SCENARIO_ANSWER_SEQ"
,
allocationSize
=
1
)
@Basic
(
optional
=
false
)
@Column
(
name
=
"SCENARIO_ANSWER_ID"
)
private
Long
scenarioAnswerId
;
@Column
(
name
=
"COMPANY_SITE_ID"
)
private
Long
companySiteId
;
@Column
(
name
=
"SCENARIO_QUESTION_ID"
)
private
Long
scenarioQuestionId
;
@Column
(
name
=
"CODE"
)
private
String
code
;
@Column
(
name
=
"ANSWER"
)
private
String
answer
;
@Column
(
name
=
"ORDER_INDEX"
)
private
Integer
orderIndex
;
@Column
(
name
=
"HAS_INPUT"
)
private
Short
hasInput
;
@Column
(
name
=
"STATUS"
)
private
Short
status
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"CREATE_TIME"
)
private
Date
createTime
;
@Temporal
(
TemporalType
.
TIMESTAMP
)
@Column
(
name
=
"DELETE_TIME"
)
private
Date
deleteTime
;
@Column
(
name
=
"MAPPING_QUESTION_ID"
)
private
Long
mappingQuestionId
;
}
src/main/java/com/viettel/campaign/repository/acd_full/AgentsRepository.java
View file @
69e574aa
package
com.viettel.campaign.repository.acd_full
;
package
com.viettel.campaign.repository.acd_full
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.model.acd_full.Agents
;
import
com.viettel.campaign.model.acd_full.Agents
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Transactional
;
@Repository
@Repository
public
interface
AgentsRepository
extends
JpaRepository
<
Agents
,
String
>
{
public
interface
AgentsRepository
extends
JpaRepository
<
Agents
,
String
>
{
Agents
getByAgentId
(
String
agentId
);
@Transactional
(
DataSourceQualify
.
ACD_FULL
)
Agents
findByAgentId
(
String
agentId
);
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignAgentRepository.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.model.ccms_full.CampaignAgent
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.transaction.annotation.Transactional
;
@Repository
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
interface
CampaignAgentRepository
extends
JpaRepository
<
CampaignAgent
,
Long
>
{
@Query
(
value
=
"SELECT campaign_agent_seq.nextval FROM DUAL"
,
nativeQuery
=
true
)
Long
getNextSeqId
();
@Modifying
@Query
(
"UPDATE CampaignAgent SET status = :status WHERE agentId = :agentId AND campaignId = :campaignId"
)
void
updateCampaignAgentSetStatus
(
@Param
(
"agentId"
)
Long
agentId
,
@Param
(
"campaignId"
)
Long
campaignId
,
@Param
(
"status"
)
Integer
status
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignExecuteRepository.java
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -11,6 +13,8 @@ import java.util.List;
...
@@ -11,6 +13,8 @@ import java.util.List;
@Repository
@Repository
public
interface
CampaignExecuteRepository
{
public
interface
CampaignExecuteRepository
{
List
<
CampaignDTO
>
searchCampaignExecute
(
CampaignRequestDTO
campaignRequestDto
,
Pageable
pageable
);
//<editor-fold: hungtt>
//<editor-fold: hungtt>
List
<
ApParamDTO
>
getComboBoxStatus
(
String
companySiteId
,
String
completeType
);
List
<
ApParamDTO
>
getComboBoxStatus
(
String
companySiteId
,
String
completeType
);
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignRepositoryCustom.java
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
@Repository
public
interface
CampaignRepositoryCustom
{
public
interface
CampaignRepositoryCustom
{
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
campaignRequestDto
);
ResultDTO
search
(
CampaignRequestDTO
requestDto
);
ResultDTO
search
(
CampaignRequestDTO
requestDto
);
...
@@ -14,5 +16,5 @@ public interface CampaignRepositoryCustom {
...
@@ -14,5 +16,5 @@ public interface CampaignRepositoryCustom {
String
getMaxCampaignIndex
();
String
getMaxCampaignIndex
();
ResultDTO
checkAllowStatusToPrepare
(
Long
campaignId
);
ResultDTO
checkAllowStatusToPrepare
(
Long
campaignId
);
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioAnswerRepository.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.model.ccms_full.ScenarioAnswer
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
/**
* @author anhvd_itsol
*/
@Repository
public
interface
ScenarioAnswerRepository
extends
JpaRepository
<
ScenarioAnswer
,
Long
>
{
}
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioAnswerRepositoryCustom.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
/**
* @author anhvd_itsol
*/
public
interface
ScenarioAnswerRepositoryCustom
{
}
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioQuestionRepository.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.model.ccms_full.ScenarioQuestion
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author anhvd_itsol
*/
@Repository
public
interface
ScenarioQuestionRepository
extends
JpaRepository
<
ScenarioQuestion
,
Long
>
{
List
<
ScenarioQuestion
>
findScenarioQuestionsByScenarioIdAndCampaignIdAndCompanySiteIdAndStatus
(
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
,
Short
status
);
}
src/main/java/com/viettel/campaign/repository/ccms_full/ScenarioQuestionRepositoryCustom.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full
;
/**
* @author anhvd_itsol
*/
public
interface
ScenarioQuestionRepositoryCustom
{
}
src/main/java/com/viettel/campaign/repository/ccms_full/TimeRangeDialModeRepository.java
View file @
69e574aa
...
@@ -2,6 +2,8 @@ package com.viettel.campaign.repository.ccms_full;
...
@@ -2,6 +2,8 @@ package com.viettel.campaign.repository.ccms_full;
import
com.viettel.campaign.model.ccms_full.TimeRangeDialMode
;
import
com.viettel.campaign.model.ccms_full.TimeRangeDialMode
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -12,5 +14,10 @@ import java.util.List;
...
@@ -12,5 +14,10 @@ import java.util.List;
@Repository
@Repository
public
interface
TimeRangeDialModeRepository
extends
JpaRepository
<
TimeRangeDialMode
,
Long
>
{
public
interface
TimeRangeDialModeRepository
extends
JpaRepository
<
TimeRangeDialMode
,
Long
>
{
List
<
TimeRangeDialMode
>
findTimeRangeDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
List
<
TimeRangeDialMode
>
findTimeRangeDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
@Query
(
value
=
"SELECT * FROM TIME_RANGE_DIAL_MODE r "
+
"WHERE r.CAMPAIGN_ID = :campaignId AND r.COMPANY_SITE_ID = :companySiteId AND TO_CHAR(r.START_TIME,'HH24:MI:SS') <= TO_CHAR(SYSDATE,'HH24:MI:SS')"
,
nativeQuery
=
true
)
TimeRangeDialMode
findDialModeAtCurrent
(
@Param
(
"campaignId"
)
Long
campaignId
,
@Param
(
"companySiteId"
)
Long
companySiteId
);
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/TimeZoneDialModeRepository.java
View file @
69e574aa
...
@@ -2,6 +2,8 @@ package com.viettel.campaign.repository.ccms_full;
...
@@ -2,6 +2,8 @@ package com.viettel.campaign.repository.ccms_full;
import
com.viettel.campaign.model.ccms_full.TimeZoneDialMode
;
import
com.viettel.campaign.model.ccms_full.TimeZoneDialMode
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.List
;
...
@@ -12,5 +14,10 @@ import java.util.List;
...
@@ -12,5 +14,10 @@ import java.util.List;
@Repository
@Repository
public
interface
TimeZoneDialModeRepository
extends
JpaRepository
<
TimeZoneDialMode
,
Long
>
{
public
interface
TimeZoneDialModeRepository
extends
JpaRepository
<
TimeZoneDialMode
,
Long
>
{
List
<
TimeZoneDialMode
>
findTimeZoneDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
List
<
TimeZoneDialMode
>
findTimeZoneDialModeByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
@Query
(
value
=
"SELECT * FROM TIME_ZONE_DIAL_MODE z "
+
"WHERE z.CAMPAIGN_ID = :campaignId AND z.COMPANY_SITE_ID = :companySiteId AND concat(z.HOUR, ':', z.MINUTE) <= TO_CHAR(SYSDATE,'HH24:MI')"
,
nativeQuery
=
true
)
TimeZoneDialMode
findDialModeAtCurrent
(
@Param
(
"campaignId"
)
Long
campaignId
,
@Param
(
"companySiteId"
)
Long
companySiteId
);
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
View file @
69e574aa
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignRepositoryImpl.java
View file @
69e574aa
...
@@ -37,141 +37,6 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
...
@@ -37,141 +37,6 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
@PersistenceContext
(
unitName
=
DataSourceQualify
.
JPA_UNIT_NAME_CCMS_FULL
)
@PersistenceContext
(
unitName
=
DataSourceQualify
.
JPA_UNIT_NAME_CCMS_FULL
)
EntityManager
entityManager
;
EntityManager
entityManager
;
@Override
public
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
campaignRequestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
List
<
CampaignDTO
>
lst
=
new
ArrayList
<>();
StringBuilder
expression
=
new
StringBuilder
()
.
append
(
" SELECT C.CAMPAIGN_CODE, C.CAMPAIGN_NAME, C.CONTENT, C.START_TIME, C.END_TIME, C.STATUS, CA.STATUS AS AGENT_STATUS, C.CAMPAIGN_ID "
)
.
append
(
" FROM CAMPAIGN C INNER JOIN CAMPAIGN_AGENT CA ON C.CAMPAIGN_ID = CA.CAMPAIGN_ID "
)
.
append
(
" WHERE 1 = 1 "
)
.
append
(
" AND CA.AGENT_ID = :pAgentId "
);
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
expression
.
append
(
" AND C.CAMPAIGN_CODE IN (:pCampaignCode) "
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignName
()))
{
expression
.
append
(
" AND UPPER(C.CAMPAIGN_NAME) LIKE :pCampaignName "
);
}
if
(!
DataUtil
.
isNullOrZero
(
campaignRequestDto
.
getStatus
().
longValue
()))
{
if
(
campaignRequestDto
.
getStatus
()
!=
0
)
expression
.
append
(
" AND C.STATUS = :pStatus "
);
else
expression
.
append
(
" AND C.STATUS IN (2, 3) "
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getFromDateFr
()))
{
expression
.
append
(
" AND TRUNC(C.START_TIME) >= TRUNC(:pStartTimeFr) "
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getFromDateTo
()))
{
expression
.
append
(
" AND TRUNC(C.START_TIME) <= TRUNC(:pStartTimeTo) "
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getToDateFr
()))
{
expression
.
append
(
" AND TRUNC(C.END_TIME) >= TRUNC(:pEndTimeFr) "
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getToDateTo
()))
{
expression
.
append
(
" AND TRUNC(C.END_TIME) <= TRUNC(:pEndTimeTo) "
);
}
if
(!
DataUtil
.
isNullOrZero
(
campaignRequestDto
.
getNumOfCusFr
()))
{
expression
.
append
(
" AND C.CUSTOMER_NUMBER >= :pCustNumFr "
);
}
if
(!
DataUtil
.
isNullOrZero
(
campaignRequestDto
.
getNumOfCusTo
()))
{
expression
.
append
(
" AND C.CUSTOMER_NUMBER <= :pCustNumTo "
);
}
try
{
Query
query
=
entityManager
.
createNativeQuery
(
expression
.
toString
());
query
.
setParameter
(
"pAgentId"
,
campaignRequestDto
.
getAgentId
());
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignCode
()))
{
String
[]
lstCode
=
campaignRequestDto
.
getCampaignCode
().
split
(
","
);
query
.
setParameter
(
"pCampaignCode"
,
lstCode
);
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getCampaignName
()))
{
query
.
setParameter
(
"pCampaignName"
,
"%"
+
campaignRequestDto
.
getCampaignName
().
toUpperCase
()
.
replace
(
"\\"
,
"\\\\"
)
.
replaceAll
(
"%"
,
"\\\\%"
)
.
replaceAll
(
"_"
,
"\\\\_"
)
+
"%"
);
}
if
(!
DataUtil
.
isNullOrZero
(
campaignRequestDto
.
getStatus
().
longValue
()))
{
if
(
campaignRequestDto
.
getStatus
()
!=
0
)
query
.
setParameter
(
"pStatus"
,
campaignRequestDto
.
getStatus
());
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getFromDateFr
()))
{
query
.
setParameter
(
"pStartTimeFr"
,
campaignRequestDto
.
getFromDateFr
());
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getFromDateTo
()))
{
query
.
setParameter
(
"pStartTimeTo"
,
campaignRequestDto
.
getFromDateTo
());
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getToDateFr
()))
{
query
.
setParameter
(
"pEndTimeFr"
,
campaignRequestDto
.
getToDateFr
());
}
if
(!
DataUtil
.
isNullOrEmpty
(
campaignRequestDto
.
getToDateTo
()))
{
query
.
setParameter
(
"pEndTimeTo"
,
campaignRequestDto
.
getToDateTo
());
}
if
(!
DataUtil
.
isNullOrZero
(
campaignRequestDto
.
getNumOfCusFr
()))
{
query
.
setParameter
(
"pCustNumFr"
,
campaignRequestDto
.
getNumOfCusFr
());
}
if
(!
DataUtil
.
isNullOrZero
(
campaignRequestDto
.
getNumOfCusTo
()))
{
query
.
setParameter
(
"pCustNumTo"
,
campaignRequestDto
.
getNumOfCusTo
());
}
result
.
setTotalRow
(
query
.
getResultList
().
size
());
Pageable
pageable
=
SQLBuilder
.
buildPageable
(
campaignRequestDto
);
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
Object
[]>
data
=
query
.
getResultList
();
for
(
Object
[]
obj
:
data
)
{
CampaignDTO
item
=
new
CampaignDTO
();
item
.
setPage
(
campaignRequestDto
.
getPage
());
item
.
setPageSize
(
campaignRequestDto
.
getPageSize
());
item
.
setSort
(
campaignRequestDto
.
getSort
());
item
.
setCampaignCode
((
String
)
obj
[
0
]);
item
.
setCampaignName
((
String
)
obj
[
1
]);
item
.
setContent
((
String
)
obj
[
2
]);
item
.
setStartTime
((
Date
)
obj
[
3
]);
item
.
setEndTime
((
Date
)
obj
[
4
]);
item
.
setStatus
(((
BigDecimal
)
obj
[
5
]).
shortValueExact
());
item
.
setAgentStatus
(((
BigDecimal
)
obj
[
6
]).
shortValueExact
());
item
.
setCampaignId
(((
BigDecimal
)
obj
[
7
]).
longValueExact
());
lst
.
add
(
item
);
}
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
result
.
setListData
(
lst
);
return
result
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
result
;
}
@Override
@Override
public
ResultDTO
search
(
CampaignRequestDTO
requestDto
)
{
public
ResultDTO
search
(
CampaignRequestDTO
requestDto
)
{
logger
.
info
(
"Start search campaign::"
);
logger
.
info
(
"Start search campaign::"
);
...
...
src/main/java/com/viettel/campaign/repository/ccms_full/impl/ScenarioAnswerRepositoryImpl.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full.impl
;
/**
* @author anhvd_itsol
*/
public
class
ScenarioAnswerRepositoryImpl
{
}
src/main/java/com/viettel/campaign/repository/ccms_full/impl/ScenarioQuestionRepositoryImpl.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.repository.ccms_full.impl
;
import
com.viettel.campaign.repository.ccms_full.ScenarioQuestionRepositoryCustom
;
import
org.springframework.stereotype.Repository
;
/**
* @author anhvd_itsol
*/
@Repository
public
class
ScenarioQuestionRepositoryImpl
implements
ScenarioQuestionRepositoryCustom
{
}
src/main/java/com/viettel/campaign/service/CampaignExecuteService.java
View file @
69e574aa
...
@@ -21,4 +21,10 @@ public interface CampaignExecuteService {
...
@@ -21,4 +21,10 @@ public interface CampaignExecuteService {
List
<
ContactCustResultDTO
>
getContactCustById
(
CampaignRequestDTO
dto
);
List
<
ContactCustResultDTO
>
getContactCustById
(
CampaignRequestDTO
dto
);
//</editor-fold>
//</editor-fold>
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
);
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
);
ResultDTO
getCall
(
CampaignRequestDTO
dto
);
}
}
src/main/java/com/viettel/campaign/service/CampaignService.java
View file @
69e574aa
...
@@ -13,7 +13,6 @@ import java.util.List;
...
@@ -13,7 +13,6 @@ import java.util.List;
import
java.util.Map
;
import
java.util.Map
;
public
interface
CampaignService
{
public
interface
CampaignService
{
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
);
ResultDTO
search
(
CampaignRequestDTO
requestDto
);
ResultDTO
search
(
CampaignRequestDTO
requestDto
);
...
...
src/main/java/com/viettel/campaign/service/ScenarioAnswerService.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.service
;
/**
* @author anhvd_itsol
*/
public
interface
ScenarioAnswerService
{
}
src/main/java/com/viettel/campaign/service/ScenarioQuestionService.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.service
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ScenarioQuestionDTO
;
/**
* @author anhvd_itsol
*/
public
interface
ScenarioQuestionService
{
ResultDTO
findByScenarioIdAndCampaignIdAndCompanySiteId
(
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
);
ResultDTO
add
(
ScenarioQuestionDTO
scenarioQuestionDTO
);
}
src/main/java/com/viettel/campaign/service/ScenarioService.java
View file @
69e574aa
package
com.viettel.campaign.service
;
package
com.viettel.campaign.service
;
import
com.viettel.campaign.model.ccms_full.Scenario
;
import
com.viettel.campaign.model.ccms_full.Scenario
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ScenarioDTO
;
/**
/**
* @author anhvd_itsol
* @author anhvd_itsol
...
@@ -8,4 +10,5 @@ import com.viettel.campaign.model.ccms_full.Scenario;
...
@@ -8,4 +10,5 @@ import com.viettel.campaign.model.ccms_full.Scenario;
public
interface
ScenarioService
{
public
interface
ScenarioService
{
Scenario
findScenarioByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
Scenario
findScenarioByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
);
ResultDTO
update
(
ScenarioDTO
scenario
);
}
}
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
View file @
69e574aa
package
com.viettel.campaign.service.impl
;
package
com.viettel.campaign.service.impl
;
<<<<<<<
HEAD
import
com.viettel.campaign.mapper.CampaignAgentsMapper
;
import
com.viettel.campaign.mapper.CampaignAgentsMapper
;
=======
import
com.viettel.campaign.config.DataSourceQualify
;
>>>>>>>
2
e6e4f6376f75cec918507c48f3fa0c6b5344fd0
import
com.viettel.campaign.model.acd_full.Agents
;
import
com.viettel.campaign.model.acd_full.Agents
;
import
com.viettel.campaign.model.ccms_full.CampaignAgent
;
import
com.viettel.campaign.model.ccms_full.CampaignAgent
;
import
com.viettel.campaign.repository.acd_full.AgentsRepository
;
import
com.viettel.campaign.repository.acd_full.AgentsRepository
;
...
@@ -21,6 +25,7 @@ import org.hibernate.type.*;
...
@@ -21,6 +25,7 @@ import org.hibernate.type.*;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.*
;
import
org.springframework.data.domain.*
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
import
java.util.List
;
...
@@ -37,22 +42,27 @@ public class AgentsServiceImpl implements AgentsService {
...
@@ -37,22 +42,27 @@ public class AgentsServiceImpl implements AgentsService {
public
ResultDTO
getAgentsByAgentId
(
String
agentId
)
{
public
ResultDTO
getAgentsByAgentId
(
String
agentId
)
{
ResultDTO
result
=
new
ResultDTO
();
ResultDTO
result
=
new
ResultDTO
();
Agents
data
=
agentsRepository
.
getByAgentId
(
agentId
);
try
{
Agents
data
=
agentsRepository
.
findByAgentId
(
agentId
);
if
(
data
!=
null
)
{
if
(
data
!=
null
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
"agents data"
);
result
.
setDescription
(
"agents data"
);
result
.
setData
(
data
);
result
.
setData
(
data
);
}
else
{
}
else
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
"agents data null"
);
result
.
setDescription
(
"agents data null"
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
return
result
;
return
result
;
}
}
@Override
@Override
@Transactional
(
DataSourceQualify
.
ACD_FULL
)
public
ResultDTO
getAllAgentsByCompanySiteId
(
int
page
,
int
pageSize
,
Long
companySiteId
)
{
public
ResultDTO
getAllAgentsByCompanySiteId
(
int
page
,
int
pageSize
,
Long
companySiteId
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
...
...
src/main/java/com/viettel/campaign/service/impl/CampaignExecuteServiceImp.java
View file @
69e574aa
package
com.viettel.campaign.service.impl
;
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.config.DataSourceQualify
;
import
com.viettel.campaign.repository.ccms_full.CampaignExecuteRepository
;
import
com.viettel.campaign.model.acd_full.Agents
;
import
com.viettel.campaign.model.ccms_full.TimeRangeDialMode
;
import
com.viettel.campaign.model.ccms_full.TimeZoneDialMode
;
import
com.viettel.campaign.repository.acd_full.AgentsRepository
;
import
com.viettel.campaign.repository.ccms_full.*
;
import
com.viettel.campaign.service.CampaignExecuteService
;
import
com.viettel.campaign.service.CampaignExecuteService
;
import
com.viettel.campaign.utils.BundleUtils
;
import
com.viettel.campaign.utils.BundleUtils
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.utils.SQLBuilder
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ContactCustResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
...
@@ -19,9 +24,7 @@ import org.springframework.stereotype.Service;
...
@@ -19,9 +24,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Locale
;
@Service
@Service
public
class
CampaignExecuteServiceImp
implements
CampaignExecuteService
{
public
class
CampaignExecuteServiceImp
implements
CampaignExecuteService
{
...
@@ -29,9 +32,24 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
...
@@ -29,9 +32,24 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignExecuteServiceImp
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
CampaignExecuteServiceImp
.
class
);
private
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
Constants
.
DATE_FORMAT
.
FOMART_DATE_TYPE_1
);
private
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
Constants
.
DATE_FORMAT
.
FOMART_DATE_TYPE_1
);
@Autowired
CampaignRepositoryCustom
campaignRepositoryCustom
;
@Autowired
@Autowired
CampaignExecuteRepository
campaignExecuteRepository
;
CampaignExecuteRepository
campaignExecuteRepository
;
@Autowired
AgentsRepository
agentsRepository
;
@Autowired
CampaignAgentRepository
campaignAgentRepository
;
@Autowired
TimeZoneDialModeRepository
zoneDialModeRepository
;
@Autowired
TimeRangeDialModeRepository
rangeDialModeRepository
;
//<editor-fold: hungtt>
//<editor-fold: hungtt>
@Override
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
...
@@ -194,4 +212,76 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
...
@@ -194,4 +212,76 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
cell
.
setCellStyle
(
rowStyle
);
cell
.
setCellStyle
(
rowStyle
);
}
}
//</editor-fold: hungtt>
//</editor-fold: hungtt>
@Override
public
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
Map
data
=
new
HashMap
();
Integer
count
=
campaignExecuteRepository
.
searchCampaignExecute
(
requestDto
,
null
).
size
();
if
(
count
>
0
)
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
result
.
setTotalRow
(
count
);
result
.
setListData
(
campaignExecuteRepository
.
searchCampaignExecute
(
requestDto
,
SQLBuilder
.
buildPageable
(
requestDto
)));
Agents
agents
=
agentsRepository
.
findByAgentId
(
requestDto
.
getAgentId
());
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
if
(
agents
.
getUserStatus
()
!=
null
&&
agents
.
getCampaignSystemStatus
()
!=
null
)
{
if
(
agents
.
getUserStatus
().
equalsIgnoreCase
(
"CALLOUT"
)
&&
agents
.
getCampaignSystemStatus
().
equalsIgnoreCase
(
"AVAILABLE"
))
{
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
data
.
put
(
"dialModeManual"
,
"1"
);
}
}
result
.
setData
(
data
);
}
else
{
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
result
;
}
@Override
public
ResultDTO
getExecuteCampaign
(
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
new
ResultDTO
();
try
{
Agents
agents
=
agentsRepository
.
findByAgentId
(
requestDto
.
getAgentId
());
//TimeZoneDialMode zoneDialMode = zoneDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
//TimeRangeDialMode rangeDialMode = rangeDialModeRepository.findDialModeAtCurrent(Long.parseLong(requestDto.getCampaignId()), Long.parseLong(requestDto.getCompanySiteId()));
if
(
agents
.
getUserStatus
().
equalsIgnoreCase
(
"CALLOUT"
)
&&
agents
.
getCampaignSystemStatus
().
equalsIgnoreCase
(
"LOGOUT"
))
{
//if (zoneDialMode != null && zoneDialMode.getDialMode().equals(0) || rangeDialMode != null && rangeDialMode.getDialMode().equals(0))
// update acd_full.agents table
Agents
a
=
new
Agents
();
a
.
setAgentId
(
requestDto
.
getAgentId
());
a
.
setCampaignSystemStatus
(
"AVAILABLE"
);
a
.
setCurrentCampaignId
(
Long
.
parseLong
(
requestDto
.
getCampaignId
()));
agentsRepository
.
save
(
a
);
// update ccms_full.campaign_agent table
campaignAgentRepository
.
updateCampaignAgentSetStatus
(
Long
.
parseLong
(
requestDto
.
getAgentId
()),
Long
.
parseLong
(
requestDto
.
getCampaignId
()),
1
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
result
;
}
@Override
public
ResultDTO
getCall
(
CampaignRequestDTO
dto
)
{
ResultDTO
result
=
new
ResultDTO
();
Map
data
=
new
HashMap
();
data
.
put
(
"campaignId"
,
dto
.
getCampaignId
());
Agents
agents
=
agentsRepository
.
findByAgentId
(
dto
.
getAgentId
());
TimeZoneDialMode
zoneDialMode
=
zoneDialModeRepository
.
findDialModeAtCurrent
(
Long
.
parseLong
(
dto
.
getCampaignId
()),
Long
.
parseLong
(
dto
.
getCompanySiteId
()));
TimeRangeDialMode
rangeDialMode
=
rangeDialModeRepository
.
findDialModeAtCurrent
(
Long
.
parseLong
(
dto
.
getCampaignId
()),
Long
.
parseLong
(
dto
.
getCompanySiteId
()));
return
result
;
}
}
}
src/main/java/com/viettel/campaign/service/impl/CampaignServiceImpl.java
View file @
69e574aa
...
@@ -61,12 +61,6 @@ public class CampaignServiceImpl implements CampaignService {
...
@@ -61,12 +61,6 @@ public class CampaignServiceImpl implements CampaignService {
@Autowired
@Autowired
ApParamRepository
apParamRepository
;
ApParamRepository
apParamRepository
;
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
ResultDTO
searchCampaignExecute
(
CampaignRequestDTO
requestDto
)
{
return
campaignRepositoryCustom
.
searchCampaignExecute
(
requestDto
);
}
@Override
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
ResultDTO
search
(
CampaignRequestDTO
requestDto
)
{
public
ResultDTO
search
(
CampaignRequestDTO
requestDto
)
{
...
...
src/main/java/com/viettel/campaign/service/impl/ScenarioAnswerServiceImpl.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.service.ScenarioAnswerService
;
import
org.springframework.stereotype.Service
;
/**
* @author anhvd_itsol
*/
@Service
public
class
ScenarioAnswerServiceImpl
implements
ScenarioAnswerService
{
}
src/main/java/com/viettel/campaign/service/impl/ScenarioQuestionServiceImpl.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.model.ccms_full.Scenario
;
import
com.viettel.campaign.model.ccms_full.ScenarioQuestion
;
import
com.viettel.campaign.repository.ccms_full.ScenarioQuestionRepository
;
import
com.viettel.campaign.service.ScenarioQuestionService
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ScenarioQuestionDTO
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.modelmapper.ModelMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author anhvd_itsol
*/
@Service
public
class
ScenarioQuestionServiceImpl
implements
ScenarioQuestionService
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
ScenarioQuestionServiceImpl
.
class
);
@Autowired
ScenarioQuestionRepository
scenarioQuestionRepository
;
@Autowired
ModelMapper
modelMapper
;
@Override
public
ResultDTO
findByScenarioIdAndCampaignIdAndCompanySiteId
(
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
try
{
List
<
ScenarioQuestion
>
lst
=
scenarioQuestionRepository
.
findScenarioQuestionsByScenarioIdAndCampaignIdAndCompanySiteIdAndStatus
(
scenarioId
,
campaignId
,
companySiteId
,
(
short
)
1
);
resultDTO
.
setData
(
lst
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
resultDTO
;
}
@Override
public
ResultDTO
add
(
ScenarioQuestionDTO
scenarioQuestionDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
try
{
ScenarioQuestion
scenarioQuestion
=
modelMapper
.
map
(
scenarioQuestionDTO
,
ScenarioQuestion
.
class
);
scenarioQuestionRepository
.
save
(
scenarioQuestion
);
resultDTO
.
setData
(
scenarioQuestion
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
null
;
}
}
src/main/java/com/viettel/campaign/service/impl/ScenarioServiceImpl.java
View file @
69e574aa
...
@@ -4,12 +4,19 @@ import com.viettel.campaign.config.DataSourceQualify;
...
@@ -4,12 +4,19 @@ import com.viettel.campaign.config.DataSourceQualify;
import
com.viettel.campaign.model.ccms_full.Scenario
;
import
com.viettel.campaign.model.ccms_full.Scenario
;
import
com.viettel.campaign.repository.ccms_full.ScenarioRepository
;
import
com.viettel.campaign.repository.ccms_full.ScenarioRepository
;
import
com.viettel.campaign.service.ScenarioService
;
import
com.viettel.campaign.service.ScenarioService
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ScenarioDTO
;
import
org.modelmapper.ModelMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
java.util.Date
;
/**
/**
* @author anhvd_itsol
* @author anhvd_itsol
*/
*/
...
@@ -22,6 +29,9 @@ public class ScenarioServiceImpl implements ScenarioService {
...
@@ -22,6 +29,9 @@ public class ScenarioServiceImpl implements ScenarioService {
@Autowired
@Autowired
ScenarioRepository
scenarioRepository
;
ScenarioRepository
scenarioRepository
;
@Autowired
ModelMapper
modelMapper
;
@Override
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
Scenario
findScenarioByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
)
{
public
Scenario
findScenarioByCampaignIdAndCompanySiteId
(
Long
campaignId
,
Long
companySiteId
)
{
...
@@ -32,4 +42,25 @@ public class ScenarioServiceImpl implements ScenarioService {
...
@@ -32,4 +42,25 @@ public class ScenarioServiceImpl implements ScenarioService {
}
}
return
null
;
return
null
;
}
}
@Override
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
ResultDTO
update
(
ScenarioDTO
scenarioDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
try
{
scenarioDTO
.
setUpdateBy
(
null
);
scenarioDTO
.
setUpdateTime
(
new
Date
());
Scenario
scenario
=
modelMapper
.
map
(
scenarioDTO
,
Scenario
.
class
);
scenarioRepository
.
save
(
scenario
);
resultDTO
.
setData
(
scenario
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
resultDTO
;
}
}
}
src/main/java/com/viettel/campaign/web/dto/ScenarioAnswerDTO.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.web.dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.Date
;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public
class
ScenarioAnswerDTO
{
public
Long
scenarioAnswerId
;
public
Long
companySiteId
;
public
Long
scenarioQuestionId
;
public
String
code
;
public
String
answer
;
public
Integer
orderIndex
;
public
Short
hasInput
;
public
Short
status
;
public
Date
createTime
;
public
Date
deleteTime
;
public
Long
mappingQuestionId
;
}
src/main/java/com/viettel/campaign/web/dto/ScenarioDTO.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.web.dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.Date
;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public
class
ScenarioDTO
{
private
Long
scenarioId
;
private
Long
companySiteId
;
private
Long
campaignId
;
private
String
code
;
private
String
description
;
private
String
createBy
;
private
Date
createTime
;
private
Long
updateBy
;
private
Date
updateTime
;
}
src/main/java/com/viettel/campaign/web/dto/ScenarioQuestionDTO.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.web.dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.Date
;
/**
* @author anhvd_itsol
*/
@Getter
@Setter
public
class
ScenarioQuestionDTO
{
private
Long
scenarioQuestionId
;
private
Long
companySiteId
;
private
Long
campaignId
;
private
Long
scenarioId
;
private
String
code
;
private
Short
type
;
private
String
question
;
private
Long
orderIndex
;
private
Short
status
;
private
Date
createTime
;
private
Date
deleteTime
;
private
Short
isRequire
;
private
Short
isDefault
;
private
Short
answerIndex
;
}
src/main/java/com/viettel/campaign/web/rest/CampaignController.java
View file @
69e574aa
...
@@ -42,7 +42,21 @@ public class CampaignController {
...
@@ -42,7 +42,21 @@ public class CampaignController {
@PostMapping
(
"/searchCampaignExecute"
)
@PostMapping
(
"/searchCampaignExecute"
)
@ResponseBody
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
searchCampaignExecute
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
public
ResponseEntity
<
ResultDTO
>
searchCampaignExecute
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignService
.
searchCampaignExecute
(
requestDto
);
ResultDTO
result
=
campaignExecuteService
.
searchCampaignExecute
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getExecuteCampaign"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getExecuteCampaign
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getExecuteCampaign
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/getCall"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
getCall
(
@RequestBody
CampaignRequestDTO
requestDto
)
{
ResultDTO
result
=
campaignExecuteService
.
getCall
(
requestDto
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
...
...
src/main/java/com/viettel/campaign/web/rest/CustomerController.java
View file @
69e574aa
...
@@ -183,6 +183,7 @@ public class CustomerController {
...
@@ -183,6 +183,7 @@ public class CustomerController {
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
return
new
ResponseEntity
(
result
,
HttpStatus
.
OK
);
}
}
//<editor-fold desc="Download and import excel" defaultState="collapsed">
@GetMapping
(
value
=
"/downloadFileTemplate"
)
@GetMapping
(
value
=
"/downloadFileTemplate"
)
public
ResponseEntity
<
byte
[]>
downloadFileTemplate
(
@RequestParam
(
"companySiteId"
)
Long
companySiteId
)
{
public
ResponseEntity
<
byte
[]>
downloadFileTemplate
(
@RequestParam
(
"companySiteId"
)
Long
companySiteId
)
{
LOGGER
.
debug
(
"--------DOWNLOAD FILE TEMPLATE---------"
);
LOGGER
.
debug
(
"--------DOWNLOAD FILE TEMPLATE---------"
);
...
@@ -239,14 +240,18 @@ public class CustomerController {
...
@@ -239,14 +240,18 @@ public class CustomerController {
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
return
new
ResponseEntity
<>(
HttpStatus
.
BAD_REQUEST
);
}
}
}
}
//</editor-fold>
@RequestMapping
(
value
=
"/searchCustomerListInfoFromCustomerList"
,
method
=
RequestMethod
.
GET
)
@PostMapping
(
"/getCustomerListInfo"
)
public
ResultDTO
searchCustomerListInfoFromCustomerList
(
@RequestParam
(
"page"
)
int
page
,
public
ResponseEntity
<?>
getCustomerListInfo
(
@RequestBody
CampaignCustomerDTO
dto
)
{
@RequestParam
(
"pageSize"
)
int
pageSize
,
List
<
CustomerListDTO
>
customers
=
customerService
.
getCustomerListInfo
(
dto
);
@RequestParam
(
"sort"
)
String
sort
,
return
new
ResponseEntity
<>(
customers
,
HttpStatus
.
OK
);
@RequestParam
(
"campaignId"
)
Long
campaignId
,
}
@RequestParam
(
"companySiteId"
)
Long
companySiteId
)
{
return
null
;
// customerService.searchCustomerListInfoFromCustomerList(page, pageSize, sort, campaignId, companySiteId);
@PostMapping
(
"/getIndividualCustomerInfo"
)
public
ResponseEntity
<?>
getIndividualCustomerInfo
(
@RequestBody
CampaignCustomerDTO
dto
)
{
List
<
CustomerDTO
>
customers
=
customerService
.
getIndividualCustomerInfo
(
dto
);
return
new
ResponseEntity
<>(
customers
,
HttpStatus
.
OK
);
}
}
@PostMapping
(
"/getCustomizeField"
)
@PostMapping
(
"/getCustomizeField"
)
...
...
src/main/java/com/viettel/campaign/web/rest/ScenarioAnswerController.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.web.rest
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author anhvd_itsol
*/
@RestController
@RequestMapping
(
"/ipcc/campaign/scenario-answer"
)
@CrossOrigin
public
class
ScenarioAnswerController
{
}
src/main/java/com/viettel/campaign/web/rest/ScenarioController.java
View file @
69e574aa
package
com.viettel.campaign.web.rest
;
package
com.viettel.campaign.web.rest
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
com.viettel.campaign.model.ccms_full.Scenario
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
com.viettel.campaign.service.ScenarioService
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ScenarioDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
/**
/**
* @author anhvd_itsol
* @author anhvd_itsol
*/
*/
@RestController
@RestController
@RequestMapping
(
"/ipcc/campaign"
)
@RequestMapping
(
"/ipcc/campaign
/scenario
"
)
@CrossOrigin
@CrossOrigin
public
class
ScenarioController
{
public
class
ScenarioController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ScenarioController
.
class
);
@Autowired
ScenarioService
scenarioService
;
@RequestMapping
(
value
=
"/findOneByCampaignIdAndCompanyId"
,
method
=
RequestMethod
.
GET
)
Scenario
findOneByCampaignIdAndCompanyId
(
@RequestParam
Long
campaignId
,
@RequestParam
Long
companySiteId
)
{
return
scenarioService
.
findScenarioByCampaignIdAndCompanySiteId
(
campaignId
,
companySiteId
);
}
@RequestMapping
(
method
=
RequestMethod
.
PUT
)
ResponseEntity
<
ResultDTO
>
update
(
@RequestBody
ScenarioDTO
scenario
)
{
ResultDTO
resultDTO
=
scenarioService
.
update
(
scenario
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
}
}
src/main/java/com/viettel/campaign/web/rest/ScenarioQuestionController.java
0 → 100644
View file @
69e574aa
package
com.viettel.campaign.web.rest
;
import
com.viettel.campaign.service.ScenarioQuestionService
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.ScenarioQuestionDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author anhvd_itsol
*/
@RestController
@RequestMapping
(
"/ipcc/campaign/scenario-question"
)
@CrossOrigin
public
class
ScenarioQuestionController
{
@Autowired
ScenarioQuestionService
scenarioQuestionService
;
@RequestMapping
(
value
=
"/find-by-scenarioId-campaignId-companySiteId"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
<
ResultDTO
>
findByScenarioIdAndCampaignIdAndCompanySiteId
(
Long
scenarioId
,
Long
campaignId
,
Long
companySiteId
){
ResultDTO
resultDTO
=
scenarioQuestionService
.
findByScenarioIdAndCampaignIdAndCompanySiteId
(
scenarioId
,
campaignId
,
companySiteId
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
@RequestMapping
(
method
=
RequestMethod
.
POST
)
public
ResponseEntity
<
ResultDTO
>
add
(
ScenarioQuestionDTO
scenarioQuestionDTO
)
{
ResultDTO
resultDTO
=
scenarioQuestionService
.
add
(
scenarioQuestionDTO
);
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