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
4b34df8c
Commit
4b34df8c
authored
Aug 05, 2019
by
đinh thị đầm
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://git.myitsol.com/hanv/service-campaign
parents
3c182010
da873df4
Changes
19
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
508 additions
and
22 deletions
+508
-22
campaign.iml
campaign.iml
+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
+3
-1
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/CampaignRepositoryImpl.java
...ttel/campaign/repository/impl/CampaignRepositoryImpl.java
+24
-16
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
-3
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
+25
-1
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/DataUtil.java
src/main/java/com/viettel/campaign/utils/DataUtil.java
+4
-0
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
+1
-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/dto/request_dto/CampaignRequestDTO.java
...ttel/campaign/web/dto/request_dto/CampaignRequestDTO.java
+1
-0
src/main/java/com/viettel/campaign/web/rest/ApParamController.java
...java/com/viettel/campaign/web/rest/ApParamController.java
+8
-1
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-mng/search-campaign-by-params.sql
.../resources/sql/campaign-mng/search-campaign-by-params.sql
+1
-0
No files found.
campaign.iml
View file @
4b34df8c
<?xml version="1.0" encoding="UTF-8"?>
<module
org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule=
"true"
type=
"JAVA_MODULE"
version=
"4"
>
<component
name=
"ExternalSystem"
externalSystem=
"Maven"
/>
<component
name=
"FacetManager"
>
<facet
type=
"Spring"
name=
"Spring"
>
<configuration
/>
...
...
src/main/java/com/viettel/campaign/model/Ticket.java
0 → 100644
View file @
4b34df8c
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 @
4b34df8c
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 @
4b34df8c
...
...
@@ -18,8 +18,10 @@ public interface ApParamRepository extends JpaRepository<ApParam, Long>, ApParam
@Query
(
value
=
"SELECT p FROM ApParam p WHERE parName LIKE concat('%', :parName, '%') "
)
List
<
ApParam
>
findParamByName
(
@Param
(
"parName"
)
String
parName
,
Pageable
pageable
);
@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/TicketRepository.java
0 → 100644
View file @
4b34df8c
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 @
4b34df8c
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/CampaignRepositoryImpl.java
View file @
4b34df8c
...
...
@@ -8,6 +8,8 @@ import com.viettel.campaign.utils.SQLBuilder;
import
com.viettel.campaign.web.dto.CampaignDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.request_dto.CampaignRequestDTO
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
...
...
@@ -19,6 +21,7 @@ import org.springframework.stereotype.Repository;
import
javax.persistence.EntityManager
;
import
javax.persistence.Query
;
import
javax.xml.crypto.Data
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
...
...
@@ -26,6 +29,7 @@ import java.util.List;
@Repository
public
class
CampaignRepositoryImpl
implements
CampaignRepositoryCustom
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
CampaignRepositoryImpl
.
class
);
@Autowired
EntityManager
entityManager
;
...
...
@@ -61,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
);
}
...
...
@@ -76,6 +80,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
@Override
public
ResultDTO
search
(
CampaignRequestDTO
requestDto
)
{
logger
.
info
(
"Start search campaign::"
);
ResultDTO
result
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
...
...
@@ -117,10 +123,10 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusTo
()))
{
sqlStr
.
append
(
" AND a.CUSTOMER_NUMBER <= :p_cusNumTo"
);
}
if
(
requestDto
.
getType
()
!=
null
)
{
sqlStr
.
append
(
" AND a.CAMPAIGN_TYPE
= :p_type
"
);
if
(
!
DataUtil
.
isNullOrEmpty
(
requestDto
.
getTypes
())
)
{
sqlStr
.
append
(
" AND a.CAMPAIGN_TYPE
IN (:p_type)
"
);
}
if
(
requestDto
.
getChanel
()
!=
null
&&
requestDto
.
getChanel
()
>
0
)
{
if
(
requestDto
.
getChanel
()
!=
null
&&
!
DataUtil
.
isNullOrZero
(
requestDto
.
getChanel
())
)
{
sqlStr
.
append
(
" AND a.CHANEL = :p_chanel"
);
}
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusFr
()))
{
...
...
@@ -164,10 +170,11 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
if
(!
DataUtil
.
isNullOrEmpty
(
requestDto
.
getToDateTo
()))
{
query
.
setParameter
(
"p_toDateTo"
,
requestDto
.
getToDateTo
());
}
if
(
requestDto
.
getType
()
!=
null
)
{
query
.
setParameter
(
"p_type"
,
requestDto
.
getType
());
if
(!
DataUtil
.
isNullOrEmpty
(
requestDto
.
getTypes
()))
{
String
[]
types
=
requestDto
.
getTypes
().
split
(
","
);
query
.
setParameterList
(
"p_type"
,
types
);
}
if
(
requestDto
.
getChanel
()
!=
null
&&
requestDto
.
getChanel
()
>
0
)
{
if
(
requestDto
.
getChanel
()
!=
null
&&
!
DataUtil
.
isNullOrZero
(
requestDto
.
getChanel
())
)
{
query
.
setParameter
(
"p_chanel"
,
requestDto
.
getChanel
());
}
if
(!
DataUtil
.
isNullOrZero
(
requestDto
.
getNumOfCusFr
()))
{
...
...
@@ -181,6 +188,7 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
query
.
addScalar
(
"campaignCode"
,
new
StringType
());
query
.
addScalar
(
"campaignName"
,
new
StringType
());
query
.
addScalar
(
"campaignType"
,
new
StringType
());
query
.
addScalar
(
"campaignTypeName"
,
new
StringType
());
query
.
addScalar
(
"chanel"
,
new
ShortType
());
query
.
addScalar
(
"startTime"
,
new
DateType
());
query
.
addScalar
(
"endTime"
,
new
DateType
());
...
...
@@ -206,18 +214,19 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
result
.
setData
(
dataPage
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
session
.
close
();
return
result
;
}
catch
(
Exception
ex
)
{
session
.
close
();
}
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
finally
{
session
.
close
();
}
return
result
;
}
@Override
public
ResultDTO
findByCampaignCode
(
CampaignRequestDTO
requestDto
)
{
logger
.
info
(
"Start search campaign by code::"
);
ResultDTO
result
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
...
...
@@ -276,14 +285,13 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
result
.
setData
(
dataPage
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
session
.
close
();
return
result
;
}
catch
(
Exception
ex
)
{
session
.
close
();
}
logger
.
error
(
ex
.
getMessage
(),
ex
);
result
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
result
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
}
return
result
;
}
...
...
src/main/java/com/viettel/campaign/repository/impl/TicketRepositoryImpl.java
0 → 100644
View file @
4b34df8c
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 @
4b34df8c
...
...
@@ -13,9 +13,8 @@ public interface ApParamService {
List
<
ApParam
>
getParamByName
(
int
page
,
int
pageSize
,
String
sort
,
String
parName
);
ResultDTO
createApParam
(
ApParamDTO
apParamDTO
);
List
<
ApParam
>
findAllParam
();
ResultDTO
findParamByParType
(
String
parType
);
List
<
ApParam
>
findAllParam
();
}
src/main/java/com/viettel/campaign/service/TicketService.java
0 → 100644
View file @
4b34df8c
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 @
4b34df8c
package
com.viettel.campaign.service.impl
;
import
com.viettel.campaign.service.ApParamService
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.web.dto.ApParamDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.mapper.ApParamMapper
;
...
...
@@ -13,6 +14,8 @@ import org.springframework.stereotype.Service;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
@Service
public
class
ApParamServiceImpl
implements
ApParamService
{
...
...
@@ -20,6 +23,10 @@ public class ApParamServiceImpl implements ApParamService {
@Autowired
ApParamRepository
apParamRepository
;
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
ApParamServiceImpl
.
class
);
@Override
public
Iterable
<
ApParam
>
getAllParams
(
int
page
,
int
pageSize
,
String
sort
)
{
return
apParamRepository
.
findAll
(
PageRequest
.
of
(
page
,
pageSize
,
Sort
.
by
(
sort
)));
...
...
@@ -54,13 +61,30 @@ public class ApParamServiceImpl implements ApParamService {
result
.
setData
(
apparam
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
// e.printStackTrace();
logger
.
error
(
e
.
getMessage
(),
e
);
}
return
null
;
}
@Override
public
ResultDTO
findParamByParType
(
String
parType
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
try
{
List
<
ApParam
>
lst
=
apParamRepository
.
findParamByParType
(
parType
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
resultDTO
.
setData
(
lst
);
logger
.
info
(
"find params by type: "
+
resultDTO
.
getErrorCode
());
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
return
resultDTO
;
}
public
List
<
ApParam
>
findAllParam
()
{
return
apParamRepository
.
findAllParam
();
}
...
...
src/main/java/com/viettel/campaign/service/impl/TicketServiceImpl.java
0 → 100644
View file @
4b34df8c
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/DataUtil.java
View file @
4b34df8c
...
...
@@ -266,4 +266,8 @@ public class DataUtil {
}
return
input
;
}
public
static
boolean
isNullOrZero
(
Short
value
)
{
return
(
value
==
null
||
value
.
equals
(
Short
.
parseShort
(
"0"
)));
}
}
src/main/java/com/viettel/campaign/web/dto/CampaignDTO.java
View file @
4b34df8c
...
...
@@ -57,4 +57,5 @@ public class CampaignDTO extends BaseDTO {
private
Long
numOfJoinedCus
;
private
Long
numOfNotJoinedCus
;
private
Long
numOfLockCus
;
private
String
campaignTypeName
;
}
src/main/java/com/viettel/campaign/web/dto/TicketDTO.java
0 → 100644
View file @
4b34df8c
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/dto/request_dto/CampaignRequestDTO.java
View file @
4b34df8c
...
...
@@ -24,4 +24,5 @@ public class CampaignRequestDTO extends BaseDTO {
Short
type
;
Short
chanel
;
String
companySiteId
;
String
types
;
}
src/main/java/com/viettel/campaign/web/rest/ApParamController.java
View file @
4b34df8c
...
...
@@ -40,9 +40,15 @@ public class ApParamController {
return
new
ResponseEntity
(
lst
,
HttpStatus
.
OK
);
}
@RequestMapping
(
path
=
"/findParamByParType"
,
method
=
RequestMethod
.
GET
)
public
ResponseEntity
findParamByParType
(
@RequestParam
String
parType
)
{
return
new
ResponseEntity
<>(
apParamService
.
findParamByParType
(
parType
),
HttpStatus
.
OK
);
}
@GetMapping
(
path
=
"/findAllParam"
)
@ResponseBody
public
ResponseEntity
findAllParam
(){
public
ResponseEntity
findAllParam
()
{
List
<
ApParam
>
findAll
=
apParamService
.
findAllParam
();
if
(
findAll
.
isEmpty
())
{
return
new
ResponseEntity
<>(
HttpStatus
.
NO_CONTENT
);
...
...
@@ -50,3 +56,4 @@ public class ApParamController {
return
new
ResponseEntity
(
findAll
,
HttpStatus
.
OK
);
}
}
src/main/java/com/viettel/campaign/web/rest/TicketController.java
0 → 100644
View file @
4b34df8c
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-mng/search-campaign-by-params.sql
View file @
4b34df8c
...
...
@@ -3,6 +3,7 @@ SELECT
a
.
CAMPAIGN_CODE
campaignCode
,
a
.
CAMPAIGN_NAME
campaignName
,
a
.
CAMPAIGN_TYPE
campaignType
,
(
SELECT
PAR_NAME
FROM
AP_PARAM
WHERE
STATUS
=
1
AND
PAR_TYPE
=
'CAMPAIGN_TYPE'
AND
PAR_VALUE
=
a
.
CAMPAIGN_TYPE
)
campaignTypeName
,
a
.
CHANEL
chanel
,
a
.
START_TIME
startTime
,
a
.
END_TIME
endTime
,
...
...
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