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
da873df4
Commit
da873df4
authored
Aug 05, 2019
by
Vu Duy Anh
Browse files
Options
Browse Files
Download
Plain Diff
anhvd commit campaign mng services + common services
parents
33ea7d89
661ba580
Changes
26
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
771 additions
and
14 deletions
+771
-14
campaign.iml
campaign.iml
+212
-0
src/main/java/com/viettel/campaign/model/Campaign.java
src/main/java/com/viettel/campaign/model/Campaign.java
+1
-0
src/main/java/com/viettel/campaign/model/CampaignCompleteCode.java
...java/com/viettel/campaign/model/CampaignCompleteCode.java
+1
-0
src/main/java/com/viettel/campaign/model/Ticket.java
src/main/java/com/viettel/campaign/model/Ticket.java
+159
-0
src/main/java/com/viettel/campaign/model/TicketCatStatus.java
...main/java/com/viettel/campaign/model/TicketCatStatus.java
+41
-0
src/main/java/com/viettel/campaign/repository/ApParamRepository.java
...va/com/viettel/campaign/repository/ApParamRepository.java
+4
-0
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepository.java
...l/campaign/repository/CampaignCompleteCodeRepository.java
+9
-3
src/main/java/com/viettel/campaign/repository/TicketRepository.java
...ava/com/viettel/campaign/repository/TicketRepository.java
+6
-0
src/main/java/com/viettel/campaign/repository/TicketRepositoryCustom.java
...m/viettel/campaign/repository/TicketRepositoryCustom.java
+10
-0
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCodeRepositoryIpml.java
...n/repository/impl/CampaignCompleteCodeRepositoryIpml.java
+17
-7
src/main/java/com/viettel/campaign/repository/impl/CampaignRepositoryImpl.java
...ttel/campaign/repository/impl/CampaignRepositoryImpl.java
+1
-1
src/main/java/com/viettel/campaign/repository/impl/TicketRepositoryImpl.java
...iettel/campaign/repository/impl/TicketRepositoryImpl.java
+60
-0
src/main/java/com/viettel/campaign/service/ApParamService.java
...ain/java/com/viettel/campaign/service/ApParamService.java
+2
-0
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeService.java
...viettel/campaign/service/CampaignCompleteCodeService.java
+4
-0
src/main/java/com/viettel/campaign/service/TicketService.java
...main/java/com/viettel/campaign/service/TicketService.java
+7
-0
src/main/java/com/viettel/campaign/service/impl/ApParamServiceImpl.java
...com/viettel/campaign/service/impl/ApParamServiceImpl.java
+5
-0
src/main/java/com/viettel/campaign/service/impl/CampaignCompleteCodeServiceImpl.java
...ampaign/service/impl/CampaignCompleteCodeServiceImpl.java
+24
-2
src/main/java/com/viettel/campaign/service/impl/TicketServiceImpl.java
.../com/viettel/campaign/service/impl/TicketServiceImpl.java
+34
-0
src/main/java/com/viettel/campaign/utils/Constants.java
src/main/java/com/viettel/campaign/utils/Constants.java
+14
-0
src/main/java/com/viettel/campaign/web/dto/TicketDTO.java
src/main/java/com/viettel/campaign/web/dto/TicketDTO.java
+93
-0
src/main/java/com/viettel/campaign/web/rest/ApParamController.java
...java/com/viettel/campaign/web/rest/ApParamController.java
+12
-1
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
...tel/campaign/web/rest/CampaignCompleteCodeController.java
+8
-0
src/main/java/com/viettel/campaign/web/rest/TicketController.java
.../java/com/viettel/campaign/web/rest/TicketController.java
+28
-0
src/main/resources/sql/campaign-status-mng/appParam-campaignCompleteCode.sql
...sql/campaign-status-mng/appParam-campaignCompleteCode.sql
+1
-0
src/main/resources/sql/campaign-status-mng/deleteListAll-campaignCompleteCode.sql
...ampaign-status-mng/deleteListAll-campaignCompleteCode.sql
+2
-0
src/main/resources/sql/campaign-status-mng/search-campaign-status-by-params.sql
.../campaign-status-mng/search-campaign-status-by-params.sql
+16
-0
No files found.
campaign.iml
0 → 100644
View file @
da873df4
This diff is collapsed.
Click to expand it.
src/main/java/com/viettel/campaign/model/Campaign.java
View file @
da873df4
...
...
@@ -112,4 +112,5 @@ public class Campaign implements Serializable {
private
Integer
timeWaitAgent
;
@Column
(
name
=
"QUEST_INDEX"
)
private
BigDecimal
questIndex
;
}
src/main/java/com/viettel/campaign/model/CampaignCompleteCode.java
View file @
da873df4
...
...
@@ -44,6 +44,7 @@ public class CampaignCompleteCode implements Serializable {
@Column
(
name
=
"CREATE_AT"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
createAt
;
@Transient
@Column
(
name
=
"CAMPAIGN_TYPE"
)
private
String
campaignType
;
@Column
(
name
=
"IS_FINISH"
)
...
...
src/main/java/com/viettel/campaign/model/Ticket.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.model
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.Basic
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Lob
;
import
javax.persistence.SequenceGenerator
;
import
javax.persistence.Table
;
import
javax.persistence.Temporal
;
import
javax.persistence.TemporalType
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
import
javax.xml.bind.annotation.XmlRootElement
;
@Entity
@Table
(
name
=
"TICKET"
)
@XmlRootElement
@Getter
@Setter
public
class
Ticket
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"ticket_seq"
)
@SequenceGenerator
(
name
=
"ticket_seq"
,
sequenceName
=
"ticket_seq"
,
allocationSize
=
1
)
@Basic
(
optional
=
false
)
@NotNull
@Column
(
name
=
"TICKET_ID"
)
private
Long
ticketId
;
@Column
(
name
=
"SOURCE_ID"
)
private
Long
sourceId
;
@Column
(
name
=
"CHANEL_ID"
)
private
Long
chanelId
;
@Column
(
name
=
"CREATE_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
createDate
;
@Size
(
max
=
200
)
@Column
(
name
=
"REF_ID"
)
private
String
refId
;
@Column
(
name
=
"CUSTOMER_ID"
)
private
Long
customerId
;
@Column
(
name
=
"TICKET_STATUS"
)
private
Short
ticketStatus
;
@Column
(
name
=
"RESPONSE_STATUS"
)
private
Long
responseStatus
;
@Column
(
name
=
"PRIORITY_ID"
)
private
Short
priorityId
;
@Column
(
name
=
"RESOLVE_SLA"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
resolveSla
;
@Column
(
name
=
"FIRST_RESPONE_SLA"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
firstResponeSla
;
@Size
(
max
=
400
)
@Column
(
name
=
"AGENT_PROCESS"
)
private
String
agentProcess
;
@Size
(
max
=
400
)
@Column
(
name
=
"AGENT_ASSIGN"
)
private
String
agentAssign
;
@Column
(
name
=
"FIRST_RESPONE_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
firstResponeDate
;
@Column
(
name
=
"RESOLVE_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
resolveDate
;
@Column
(
name
=
"ASSIGN_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
assignDate
;
@Column
(
name
=
"SECOND_RESPONE_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
secondResponeDate
;
@Size
(
max
=
20
)
@Column
(
name
=
"AGENT_ID"
)
private
String
agentId
;
@Size
(
max
=
20
)
@Column
(
name
=
"AGENT_ASSIGN_ID"
)
private
String
agentAssignId
;
@Column
(
name
=
"TICKET_SLA_ID"
)
private
Long
ticketSlaId
;
@Column
(
name
=
"SITE_ID"
)
private
Long
siteId
;
@Column
(
name
=
"REQUEST_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
requestDate
;
@Column
(
name
=
"LAST_REQUEST_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
lastRequestDate
;
@Column
(
name
=
"TICKET_TYPE_ID"
)
private
Long
ticketTypeId
;
@Column
(
name
=
"SECOND_RESPONE_SLA"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
secondResponeSla
;
@Column
(
name
=
"COOPERATE_ID"
)
private
Long
cooperateId
;
@Column
(
name
=
"POST_TYPE_ID"
)
private
Long
postTypeId
;
@Column
(
name
=
"USER_READ"
)
private
String
userRead
;
@Column
(
name
=
"POST_CUSTOMER"
)
private
Long
postCustomer
;
@Column
(
name
=
"REASON"
)
private
String
reason
;
@Column
(
name
=
"PROCESS"
)
private
String
process
;
@Column
(
name
=
"LAST_UPDATE_TIME"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
lastUpdateTime
;
@Column
(
name
=
"SLA_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
slaDate
;
@Column
(
name
=
"SLA_PROCESS_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
slaProcessDate
;
@Column
(
name
=
"SLA_COOPERATE_DATE"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
slaCooperateDate
;
@Column
(
name
=
"SLA_PROCESS_CONFIG"
)
private
Long
slaProcessConfig
;
@Column
(
name
=
"SLA_COOPERATE_CONFIG"
)
private
Long
slaCooperateConfig
;
// @Column(name = "COMPANY_SITE_ID")
// private Long companySiteId;
@Column
(
name
=
"REOPEN_DATE"
)
private
Date
reopenDate
;
@Column
(
name
=
"COMPANY_SITE_ID"
)
private
Long
companyId
;
@Column
(
name
=
"ASSIGN_TYPE"
)
private
Long
assignType
;
//bo sung ignored va close reason
@Column
(
name
=
"IGNORED"
)
private
Long
ignored
;
@Column
(
name
=
"REASON_CAT_ITEM_ID"
)
private
Long
reasonCatItemId
;
@Column
(
name
=
"PROBLEM_CAT_ITEM_ID"
)
private
Long
problemCatItemId
;
@Column
(
name
=
"VIEW_TYPE"
)
private
Long
viewType
;
@Column
(
name
=
"SUBJECT"
)
private
String
subject
;
@Column
(
name
=
"CLASSIFY_REQUIRE_ID"
)
private
Long
classifyRequireId
;
@Column
(
name
=
"AGENT_RECEIVE"
)
private
String
agentReceive
;
@Lob
@Column
(
name
=
"CONTENT_RECEIVE"
)
private
String
contentReceive
;
}
src/main/java/com/viettel/campaign/model/TicketCatStatus.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.model
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.Size
;
@Entity
@Table
(
name
=
"TICKET_CAT_STATUS"
)
@Getter
@Setter
public
class
TicketCatStatus
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"ticket_cat_status_seq"
)
@SequenceGenerator
(
name
=
"ticket_cat_status_seq"
,
sequenceName
=
"ticket_cat_status_seq"
,
allocationSize
=
1
)
@Basic
(
optional
=
false
)
@NotNull
@Column
(
name
=
"STATUS_ID"
)
private
Long
statusId
;
@Size
(
max
=
100
)
@Column
(
name
=
"STATUS_NAME"
)
private
String
statusName
;
@Size
(
max
=
50
)
@Column
(
name
=
"STATUS_CODE"
)
private
String
statusCode
;
@Size
(
max
=
100
)
@Column
(
name
=
"CREATE_BY"
)
private
String
createBy
;
@Column
(
name
=
"CREATE_TIME"
)
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
createTime
;
@Column
(
name
=
"COMPANY_ID"
)
private
Long
companyId
;
@Column
(
name
=
"ACTIVE"
)
private
Short
active
;
}
src/main/java/com/viettel/campaign/repository/ApParamRepository.java
View file @
da873df4
...
...
@@ -20,4 +20,8 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam
@Query
(
value
=
"SELECT p FROM ApParam p WHERE status = 1 AND parType LIKE concat('%', :parType, '%') "
)
List
<
ApParam
>
findParamByParType
(
@Param
(
"parType"
)
String
parType
);
@Query
(
value
=
"select a from ApParam a WHERE status = 1 AND parType = 'CAMPAIGN_TYPE'"
)
List
<
ApParam
>
findAllParam
();
}
src/main/java/com/viettel/campaign/repository/CampaignCompleteCodeRepository.java
View file @
da873df4
...
...
@@ -4,19 +4,25 @@ import com.viettel.campaign.model.CampaignCompleteCode;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
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
java.util.List
;
@Repository
public
interface
CampaignCompleteCodeRepository
extends
JpaRepository
<
CampaignCompleteCode
,
Long
>
{
Page
<
CampaignCompleteCode
>
findAll
(
Pageable
pageable
);
@Query
(
"FROM CampaignCompleteCode WHERE completeName LIKE concat('%', :name, '%') "
)
List
<
CampaignCompleteCode
>
findByName
(
@Param
(
"name"
)
String
Name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByName
(
@Param
(
"name"
)
String
name
,
Pageable
pageable
);
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
);
@Modifying
@Query
(
"delete from CampaignCompleteCode c where c.campaignCompleteCodeId in (:ids)"
)
int
deleteds
(
@Param
(
"ids"
)
List
<
Long
>
ids
);
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
Name
,
Pageable
pageable
);
}
src/main/java/com/viettel/campaign/repository/TicketRepository.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.repository
;
import
com.viettel.campaign.model.Ticket
;
public
interface
TicketRepository
extends
BaseRepository
<
Ticket
>,
TicketRepositoryCustom
{
}
src/main/java/com/viettel/campaign/repository/TicketRepositoryCustom.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.repository
;
import
com.viettel.campaign.web.dto.TicketDTO
;
import
org.springframework.data.domain.Pageable
;
import
java.util.List
;
public
interface
TicketRepositoryCustom
{
List
<
TicketDTO
>
getHistory
(
String
customerId
,
Pageable
pageable
);
}
src/main/java/com/viettel/campaign/repository/impl/CampaignCompleteCodeRepositoryIpml.java
View file @
da873df4
...
...
@@ -20,12 +20,14 @@ import org.springframework.data.domain.Example;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Repository
;
import
javax.persistence.EntityManager
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
public
class
CampaignCompleteCodeRepositoryIpml
implements
CampaignCompleteCodeRepository
{
@Autowired
EntityManager
entityManager
;
...
...
@@ -35,12 +37,17 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR
@Override
public
Page
<
CampaignCompleteCode
>
findAll
(
Pageable
pageable
)
{
return
campaignCompleteCodeRepository
.
findAll
(
pageable
);
// Page<CampaignCompleteCode>
// try {
//
// } catch (Exception e) {
//
// }
return
null
;
}
@Override
public
List
<
CampaignCompleteCode
>
findByName
(
String
name
,
Pageable
pageable
)
{
// return campaignCompleteCodeRepository.findByName(name , pageable);
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
...
...
@@ -49,11 +56,11 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR
List
<
CampaignCompleteCode
>
resultList
=
null
;
try
{
StringBuilder
sql
=
new
StringBuilder
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_STATUS_MNG
,
"search-campaign-status-by-params"
));
SQLQuery
query
=
session
.
createSQLQuery
(
sql
.
toString
());
query
.
setParameter
(
":p_name"
,
name
);
// add SCalar
query
.
addScalar
(
"campaignId"
,
new
LongType
());
query
.
addScalar
(
"completeValue"
,
new
StringType
());
...
...
@@ -76,10 +83,13 @@ public class CampaignCompleteCodeRepositoryIpml implements CampaignCompleteCodeR
}
@Override
public
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
Name
,
Pageable
pageable
)
{
// List<CampaignCompleteCodeDTO> lst = new ArrayList<>();
// return lst;
return
null
;
public
List
<
CampaignCompleteCode
>
findByCompleteNameContains
(
String
name
,
Pageable
pageable
)
{
return
campaignCompleteCodeRepository
.
findByCompleteNameContains
(
name
,
pageable
);
}
@Override
public
int
deleteds
(
List
<
Long
>
ids
)
{
return
0
;
}
@Override
...
...
src/main/java/com/viettel/campaign/repository/impl/CampaignRepositoryImpl.java
View file @
da873df4
...
...
@@ -65,7 +65,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
item
.
setContent
((
String
)
obj
[
2
]);
item
.
setStartTime
((
Date
)
obj
[
3
]);
item
.
setEndTime
((
Date
)
obj
[
4
]);
item
.
setStatus
((
Short
)
obj
[
5
]
);
item
.
setStatus
((
(
BigDecimal
)
obj
[
5
]).
shortValueExact
()
);
lst
.
add
(
item
);
}
...
...
src/main/java/com/viettel/campaign/repository/impl/TicketRepositoryImpl.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.repository.impl
;
import
com.viettel.campaign.repository.TicketRepositoryCustom
;
import
com.viettel.campaign.web.dto.TicketDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
public
class
TicketRepositoryImpl
implements
TicketRepositoryCustom
{
@Autowired
EntityManager
entityManager
;
@Override
public
List
<
TicketDTO
>
getHistory
(
String
customerId
,
Pageable
pageable
)
{
List
<
TicketDTO
>
lst
=
new
ArrayList
<>();
String
expression
=
new
StringBuilder
()
.
append
(
" SELECT T.TICKET_ID, T.CREATE_DATE, T.SUBJECT, TCS.STATUS_NAME, T.RESOLVE_DATE "
)
.
append
(
" FROM TICKET T "
)
.
append
(
" INNER JOIN TICKET_CAT_STATUS TCS ON T.TICKET_STATUS = TCS.STATUS_ID "
)
.
append
(
" WHERE 1 = 1 "
)
.
append
(
" AND T.CUSTOMER_ID = :pCustomerId "
)
.
toString
();
try
{
Query
query
=
entityManager
.
createNativeQuery
(
expression
);
query
.
setParameter
(
"pCustomerId"
,
customerId
);
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
Object
[]>
data
=
query
.
getResultList
();
for
(
Object
[]
obj
:
data
)
{
TicketDTO
item
=
new
TicketDTO
();
item
.
setTicketId
(((
BigDecimal
)
obj
[
0
]).
longValueExact
());
item
.
setCreateDate
((
Date
)
obj
[
1
]);
item
.
setSubject
((
String
)
obj
[
2
]);
item
.
setStatusName
((
String
)
obj
[
3
]);
item
.
setResolveDate
((
Date
)
obj
[
4
]);
lst
.
add
(
item
);
}
return
lst
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
lst
;
}
}
src/main/java/com/viettel/campaign/service/ApParamService.java
View file @
da873df4
...
...
@@ -15,4 +15,6 @@ public interface ApParamService {
ResultDTO
createApParam
(
ApParamDTO
apParamDTO
);
ResultDTO
findParamByParType
(
String
parType
);
List
<
ApParam
>
findAllParam
();
}
src/main/java/com/viettel/campaign/service/CampaignCompleteCodeService.java
View file @
da873df4
...
...
@@ -3,6 +3,7 @@ package com.viettel.campaign.service;
import
com.viettel.campaign.web.dto.CampaignCompleteCodeDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
java.util.List
;
import
java.util.Map
;
public
interface
CampaignCompleteCodeService
{
...
...
@@ -16,4 +17,7 @@ public interface CampaignCompleteCodeService {
ResultDTO
updateCompleteCode
(
CampaignCompleteCodeDTO
completeCodeDTO
);
ResultDTO
deleteCompleteCode
(
CampaignCompleteCodeDTO
completeCodeDTO
);
ResultDTO
deleteList
(
List
<
Long
>
completeCodeDtos
);
}
src/main/java/com/viettel/campaign/service/TicketService.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.service
;
import
java.util.Map
;
public
interface
TicketService
{
Map
getHistory
(
int
page
,
int
pageSize
,
String
sort
,
String
customerId
);
}
src/main/java/com/viettel/campaign/service/impl/ApParamServiceImpl.java
View file @
da873df4
...
...
@@ -41,6 +41,7 @@ public class ApParamServiceImpl implements ApParamService {
return
lst
;
}
@Override
public
ResultDTO
createApParam
(
ApParamDTO
apParamDTO
)
{
ResultDTO
result
=
new
ResultDTO
();
...
...
@@ -83,4 +84,8 @@ public class ApParamServiceImpl implements ApParamService {
}
return
resultDTO
;
}
public
List
<
ApParam
>
findAllParam
()
{
return
apParamRepository
.
findAllParam
();
}
}
src/main/java/com/viettel/campaign/service/impl/CampaignCompleteCodeServiceImpl.java
View file @
da873df4
package
com.viettel.campaign.service
.impl
;
package
com.viettel.campaign.service
;
import
com.viettel.campaign.
service.CampaignCompleteCodeService
;
import
com.viettel.campaign.
utils.Constants
;
import
com.viettel.campaign.web.dto.CampaignCompleteCodeDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.mapper.CampaignCompleteCodeMapper
;
import
com.viettel.campaign.model.CampaignCompleteCode
;
import
com.viettel.campaign.repository.CampaignCompleteCodeRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
...
...
@@ -118,6 +120,26 @@ public class CampaignCompleteCodeServiceImpl implements CampaignCompleteCodeServ
e
.
printStackTrace
();
}
return
resultDTO
;
}
@Transactional
@Override
public
ResultDTO
deleteList
(
List
<
Long
>
completeCodeDtos
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
// for (int i = 0; i < completeCodeDtos.size(); i++) {
try
{
completeCodeRepository
.
deleteds
(
completeCodeDtos
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
resultDTO
.
setErrorCode
(
"-1"
);
return
resultDTO
;
}
// }
resultDTO
.
setErrorCode
(
"0"
);
return
resultDTO
;
}
}
src/main/java/com/viettel/campaign/service/impl/TicketServiceImpl.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.repository.TicketRepository
;
import
com.viettel.campaign.service.TicketService
;
import
com.viettel.campaign.web.dto.TicketDTO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
TicketServiceImpl
implements
TicketService
{
@Autowired
TicketRepository
ticketRepository
;
@Override
public
Map
getHistory
(
int
page
,
int
pageSize
,
String
sort
,
String
customerId
)
{
Map
result
=
new
HashMap
();
List
<
TicketDTO
>
lst
=
new
ArrayList
<>();
lst
=
ticketRepository
.
getHistory
(
customerId
,
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)));
result
.
put
(
"totalItem"
,
lst
.
size
());
result
.
put
(
"tickets"
,
lst
);
return
result
;
}
}
src/main/java/com/viettel/campaign/utils/Constants.java
View file @
da873df4
...
...
@@ -17,4 +17,18 @@ public class Constants {
String
xls
=
"xls"
;
String
xlsx
=
"xlsx"
;
}
public
interface
Status
{
Long
ACTIVE
=
1L
;
Long
INACTIVE
=
0L
;
String
ACTIVE_STR
=
"Hoạt động"
;
String
INACTIVE_STR
=
"Không hoạt động"
;
}
public
interface
TypeStatus
{
Long
ACTIVE
=
1L
;
Long
INACTIVE
=
0L
;
String
ACTIVE_STR
=
"Trang thai ket noi(Khong thanh cong)"
;
String
INACTIVE_STR
=
"Trang thai khao sat"
;
}
}
src/main/java/com/viettel/campaign/web/dto/TicketDTO.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.web.dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.Date
;
@Getter
@Setter
public
class
TicketDTO
extends
BaseDTO
{
private
Long
ticketId
;
private
Long
sourceId
;
private
Date
createDate
;
private
String
refId
;
private
Long
customerId
;
private
Short
ticketStatus
;
private
Short
responseStatus
;
private
Short
priorityId
;
private
Date
resolveSla
;
private
Date
firstResponeSla
;
private
String
agentProcess
;
private
Date
firstResponeDate
;
private
Date
resolveDate
;
private
Date
assignDate
;
private
Date
secondResponeDate
;
private
String
agentId
;
private
Long
ticketSlaId
;
private
Long
companyId
;
private
Long
siteId
;
private
Date
requestDate
;
private
Date
lastRequestDate
;
private
Long
ticketTypeId
;
private
Long
ticketTypeTemp
;
private
Date
secondResponeSla
;
private
Long
cooperateId
;
private
String
subject
;
private
String
customerName
;
private
String
sourceName
;
private
Long
chanelId
;
private
int
overDue
;
private
String
fromDate
;
private
String
toDate
;
private
String
customerCode
;
private
String
agentAssignId
;
private
String
agentAssign
;
private
String
userLogin
;
private
Long
readed
;
private
String
emailFrom
;
private
String
ticketTypeName
;
private
Short
ticketStatusTemp
;
private
Short
priorityTemp
;
private
Long
postTypeId
;
private
String
postTypeName
;
private
Long
postCustomer
;
private
Long
agentAssignType
;
private
String
reason
;
private
String
process
;
private
Long
agentSiteId
;
private
String
agentRole
;
private
String
agentAssignTemp
;
private
String
agentAssignIdTemp
;
private
Long
siteAssignIdTemp
;
private
Long
siteAssign
;
private
Double
dateDiff
;
private
String
fromUser
;
private
Long
sendType
;
private
String
content
;
private
Date
createDateDetail
;
private
String
toUser
;
private
String
postContent
;
private
Date
postTime
;
private
String
link
;
private
Long
numLike
;
private
Long
numShare
;
private
Long
numView
;
private
Double
timeResponse
;
private
String
name
;
private
String
lastReflect
;
private
String
statusName
;
private
String
priorityName
;
private
String
siteName
;
private
int
maxRow
;
private
String
channelName
;
private
String
sendTypeName
;
private
Date
fromDateValue
;
private
Date
toDateValue
;
}
src/main/java/com/viettel/campaign/web/rest/ApParamController.java
View file @
da873df4
...
...
@@ -13,7 +13,7 @@ import java.util.List;
@Controller
@RequestMapping
(
"/ipcc/apParam"
)
@CrossOrigin
@CrossOrigin
(
origins
=
"*"
)
public
class
ApParamController
{
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
CustomerController
.
class
);
...
...
@@ -45,4 +45,15 @@ public class ApParamController {
public
ResponseEntity
findParamByParType
(
@RequestParam
String
parType
)
{
return
new
ResponseEntity
<>(
apParamService
.
findParamByParType
(
parType
),
HttpStatus
.
OK
);
}
@GetMapping
(
path
=
"/findAllParam"
)
@ResponseBody
public
ResponseEntity
findAllParam
()
{
List
<
ApParam
>
findAll
=
apParamService
.
findAllParam
();
if
(
findAll
.
isEmpty
())
{
return
new
ResponseEntity
<>(
HttpStatus
.
NO_CONTENT
);
}
return
new
ResponseEntity
(
findAll
,
HttpStatus
.
OK
);
}
}
src/main/java/com/viettel/campaign/web/rest/CampaignCompleteCodeController.java
View file @
da873df4
...
...
@@ -11,6 +11,7 @@ import org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
java.util.List
;
import
java.util.Map
;
@Controller
...
...
@@ -81,4 +82,11 @@ public class CampaignCompleteCodeController {
result
=
completeCodeService
.
deleteCompleteCode
(
completeCodeDTO
);
return
result
;
}
@PostMapping
(
"/listDelete"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
deleteList
(
@RequestBody
@Valid
List
<
Long
>
completeCodeDtos
){
ResultDTO
resultDTO
=
completeCodeService
.
deleteList
(
completeCodeDtos
);
return
new
ResponseEntity
<>(
resultDTO
,
HttpStatus
.
OK
);
}
}
src/main/java/com/viettel/campaign/web/rest/TicketController.java
0 → 100644
View file @
da873df4
package
com.viettel.campaign.web.rest
;
import
com.viettel.campaign.service.TicketService
;
import
org.apache.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Map
;
@RestController
@RequestMapping
(
"/ipcc/ticket"
)
@CrossOrigin
public
class
TicketController
{
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
TicketController
.
class
);
@Autowired
TicketService
ticketService
;
@GetMapping
(
"/getHistory"
)
@ResponseBody
public
ResponseEntity
searchCampaignExecute
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"sort"
)
String
sort
,
@RequestParam
(
"customerId"
)
String
customerId
)
{
Map
result
=
ticketService
.
getHistory
(
page
,
pageSize
,
sort
,
customerId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
}
src/main/resources/sql/campaign-status-mng/appParam-campaignCompleteCode.sql
0 → 100644
View file @
da873df4
SELECT
PAR_NAME
,
AP_PARAM_ID
,
PAR_TYPE
FROM
AP_PARAM
a
WHERE
STATUS
=
1
AND
PAR_TYPE
=
'CAMPAIGN_TYPE'
src/main/resources/sql/campaign-status-mng/deleteListAll-campaignCompleteCode.sql
0 → 100644
View file @
da873df4
DELETE
FROM
CAMPAIGN_COMPLETE_CODE
WHERE
CAMPAIGN_ID
IN
(
0
,
1
)
select
*
from
CAMPAIGN_COMPLETE_CODE
src/main/resources/sql/campaign-status-mng/search-campaign-status-by-params.sql
0 → 100644
View file @
da873df4
SELECT
a
.
CAMPAIGN_ID
campaignId
,
a
.
COMPLETE_VALUE
completeValue
,
a
.
COMPLETE_NAME
completeName
,
a
.
COMPLETE_TYPE
completeType
,
-- a.CAMPAIGN_TYPE campaignType,
c
.
PAR_NAME
campaignType
,
b
.
CHANEL
chanel
,
a
.
DESCRIPTION
description
,
a
.
STATUS
status
FROM
CAMPAIGN_COMPLETE_CODE
a
LEFT
JOIN
CAMPAIGN
b
ON
a
.
CAMPAIGN_ID
=
b
.
CAMPAIGN_ID
LEFT
JOIN
AP_PARAM
c
ON
a
.
CAMPAIGN_TYPE
=
to_char
(
c
.
AP_PARAM_ID
)
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