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
baeb8b59
Commit
baeb8b59
authored
Aug 14, 2019
by
Tu Bach
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://git.myitsol.com/hanv/service-campaign
parents
361b4fc1
e0affd11
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
453 additions
and
10 deletions
+453
-10
src/main/java/com/viettel/campaign/config/WebSecurityConfig.java
...n/java/com/viettel/campaign/config/WebSecurityConfig.java
+13
-0
src/main/java/com/viettel/campaign/filter/CorsFilter.java
src/main/java/com/viettel/campaign/filter/CorsFilter.java
+27
-6
src/main/java/com/viettel/campaign/mapper/CampaignAgentsMapper.java
...ava/com/viettel/campaign/mapper/CampaignAgentsMapper.java
+32
-0
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignAgentsRepository.java
...mpaign/repository/ccms_full/CampaignAgentsRepository.java
+7
-0
src/main/java/com/viettel/campaign/service/AgentsService.java
...main/java/com/viettel/campaign/service/AgentsService.java
+5
-0
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
.../com/viettel/campaign/service/impl/AgentsServiceImpl.java
+119
-4
src/main/java/com/viettel/campaign/utils/Config.java
src/main/java/com/viettel/campaign/utils/Config.java
+87
-0
src/main/java/com/viettel/campaign/utils/RedisUtil.java
src/main/java/com/viettel/campaign/utils/RedisUtil.java
+129
-0
src/main/java/com/viettel/campaign/web/dto/CampaignAgentsDTO.java
.../java/com/viettel/campaign/web/dto/CampaignAgentsDTO.java
+16
-0
src/main/java/com/viettel/campaign/web/rest/AgentsController.java
.../java/com/viettel/campaign/web/rest/AgentsController.java
+18
-0
No files found.
src/main/java/com/viettel/campaign/config/WebSecurityConfig.java
View file @
baeb8b59
package
com.viettel.campaign.config
;
import
com.viettel.campaign.filter.CorsFilter
;
import
org.springframework.boot.web.servlet.FilterRegistrationBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.security.config.annotation.web.builders.HttpSecurity
;
import
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity
;
...
...
@@ -18,4 +21,14 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
protected
void
configure
(
HttpSecurity
http
)
throws
Exception
{
http
.
csrf
().
disable
();
}
@Bean
public
FilterRegistrationBean
filterRegistrationBean
()
{
FilterRegistrationBean
registrationBean
=
new
FilterRegistrationBean
();
registrationBean
.
setName
(
"CorsFilter"
);
CorsFilter
corsFilter
=
new
CorsFilter
();
registrationBean
.
setFilter
(
corsFilter
);
registrationBean
.
setOrder
(
1
);
return
registrationBean
;
}
}
src/main/java/com/viettel/campaign/filter/CorsFilter.java
View file @
baeb8b59
package
com.viettel.campaign.filter
;
import
com.viettel.campaign.utils.RedisUtil
;
import
org.apache.log4j.Logger
;
import
org.springframework.stereotype.Component
;
...
...
@@ -14,20 +15,40 @@ public class CorsFilter implements Filter {
private
Logger
logger
=
Logger
.
getLogger
(
CorsFilter
.
class
);
@Override
public
void
init
(
FilterConfig
filterConfig
)
throws
ServletException
{
public
void
init
(
FilterConfig
filterConfig
){
}
@Override
public
void
doFilter
(
ServletRequest
req
,
ServletResponse
resp
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
HttpServletResponse
response
=
(
HttpServletResponse
)
resp
;
response
.
setHeader
(
"Access-Control-Allow-Origin"
,
"*"
);
response
.
setHeader
(
"Access-Control-Allow-Methods"
,
"POST, GET, OPTIONS, DELETE"
);
response
.
setHeader
(
"Access-Control-Max-Age"
,
"3600"
);
response
.
setHeader
(
"Access-Control-Allow-Headers"
,
"Origin, Authorization, X-Requested-With, Content-Type, Accept, token1, X-Auth-Token"
);
try
{
HttpServletRequest
request
=
(
HttpServletRequest
)
req
;
if
(
"OPTIONS"
.
equalsIgnoreCase
(
request
.
getMethod
()))
{
chain
.
doFilter
(
req
,
resp
);
return
;
}
logger
.
info
(
"uri: "
+
request
.
getRequestURI
());
if
(
"/"
.
equals
(
request
.
getRequestURI
()))
{
chain
.
doFilter
(
req
,
resp
);
return
;
}
String
xAuthToken
=
request
.
getHeader
(
"X-Auth-Token"
);
if
(
xAuthToken
==
null
||
""
.
equals
(
xAuthToken
))
{
response
.
sendError
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
"The token is null."
);
return
;
}
Object
obj
=
RedisUtil
.
getInstance
().
get
(
xAuthToken
);
if
(
obj
instanceof
UserSession
)
{
chain
.
doFilter
(
req
,
resp
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
response
.
sendError
(
HttpServletResponse
.
SC_INTERNAL_SERVER_ERROR
,
e
.
getMessage
());
}
else
{
response
.
sendError
(
HttpServletResponse
.
SC_UNAUTHORIZED
,
"The token is invalid."
);
}
}
...
...
src/main/java/com/viettel/campaign/mapper/CampaignAgentsMapper.java
0 → 100644
View file @
baeb8b59
package
com.viettel.campaign.mapper
;
import
com.viettel.campaign.model.ccms_full.CampaignAgent
;
import
com.viettel.campaign.web.dto.CampaignAgentsDTO
;
public
class
CampaignAgentsMapper
extends
BaseMapper
<
CampaignAgent
,
CampaignAgentsDTO
>
{
@Override
public
CampaignAgentsDTO
toDtoBean
(
CampaignAgent
campaignAgent
)
{
CampaignAgentsDTO
obj
=
new
CampaignAgentsDTO
();
obj
.
setAgentId
(
campaignAgent
.
getAgentId
());
obj
.
setCampaignAgentId
(
campaignAgent
.
getCampaignAgentId
());
obj
.
setCampaignId
(
campaignAgent
.
getCampaignId
());
obj
.
setCompanySiteId
(
campaignAgent
.
getCompanySiteId
());
obj
.
setFilterType
(
campaignAgent
.
getFilterType
());
obj
.
setReSchedule
(
campaignAgent
.
getReSchedule
());
obj
.
setStatus
(
campaignAgent
.
getStatus
());
return
obj
;
}
@Override
public
CampaignAgent
toPersistenceBean
(
CampaignAgentsDTO
dtoBean
)
{
CampaignAgent
obj
=
new
CampaignAgent
();
obj
.
setAgentId
(
dtoBean
.
getAgentId
());
obj
.
setCampaignAgentId
(
dtoBean
.
getCampaignAgentId
());
obj
.
setCampaignId
(
dtoBean
.
getCampaignId
());
obj
.
setCompanySiteId
(
dtoBean
.
getCompanySiteId
());
obj
.
setFilterType
(
dtoBean
.
getFilterType
());
obj
.
setReSchedule
(
dtoBean
.
getReSchedule
());
obj
.
setStatus
(
dtoBean
.
getStatus
());
return
obj
;
}
}
src/main/java/com/viettel/campaign/repository/ccms_full/CampaignAgentsRepository.java
0 → 100644
View file @
baeb8b59
package
com.viettel.campaign.repository.ccms_full
;
import
com.viettel.campaign.model.ccms_full.CampaignAgent
;
import
org.springframework.data.jpa.repository.JpaRepository
;
public
interface
CampaignAgentsRepository
extends
JpaRepository
<
CampaignAgent
,
Long
>
{
}
src/main/java/com/viettel/campaign/service/AgentsService.java
View file @
baeb8b59
package
com.viettel.campaign.service
;
import
com.viettel.campaign.web.dto.CampaignAgentsDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
public
interface
AgentsService
{
ResultDTO
getAgentsByAgentId
(
String
agentId
);
ResultDTO
getAllAgentsByCompanySiteId
(
int
page
,
int
pageSize
,
Long
companySiteId
);
ResultDTO
getAllAgentsSelectedByCompanySiteId
(
int
page
,
int
pageSize
,
Long
companySiteId
,
Long
campaignId
);
ResultDTO
createCampaignAgents
(
CampaignAgentsDTO
campaignAgentsDTO
);
}
src/main/java/com/viettel/campaign/service/impl/AgentsServiceImpl.java
View file @
baeb8b59
package
com.viettel.campaign.service.impl
;
<<<<<<<
HEAD
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.ccms_full.CampaignAgent
;
import
com.viettel.campaign.repository.acd_full.AgentsRepository
;
import
com.viettel.campaign.repository.ccms_full.CampaignAgentsRepository
;
import
com.viettel.campaign.service.AgentsService
;
import
com.viettel.campaign.utils.Constants
;
import
com.viettel.campaign.utils.DataUtil
;
import
com.viettel.campaign.utils.HibernateUtil
;
import
com.viettel.campaign.utils.SQLBuilder
;
import
com.viettel.campaign.web.dto.CampaignAgentsDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
com.viettel.campaign.web.dto.VSAUsersDTO
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.DateType
;
import
org.hibernate.type.LongType
;
import
org.hibernate.type.ShortType
;
import
org.hibernate.type.StringType
;
import
org.hibernate.type.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.*
;
import
org.springframework.stereotype.Service
;
...
...
@@ -31,6 +35,9 @@ public class AgentsServiceImpl implements AgentsService {
@Autowired
AgentsRepository
agentsRepository
;
@Autowired
CampaignAgentsRepository
campaignAgentsRepository
;
@Override
public
ResultDTO
getAgentsByAgentId
(
String
agentId
)
{
ResultDTO
result
=
new
ResultDTO
();
...
...
@@ -137,4 +144,112 @@ public class AgentsServiceImpl implements AgentsService {
return
resultDTO
;
}
@Override
public
ResultDTO
getAllAgentsSelectedByCompanySiteId
(
int
page
,
int
pageSize
,
Long
companySiteId
,
Long
campaignId
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
if
(
DataUtil
.
isNullOrZero
(
companySiteId
))
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
return
resultDTO
;
}
try
{
StringBuilder
sqlStrBuilder
=
new
StringBuilder
();
sqlStrBuilder
.
append
(
SQLBuilder
.
getSqlQueryById
(
SQLBuilder
.
SQL_MODULE_CAMPAIGN_MNG
,
"campaign-agents-by-params"
));
sqlStrBuilder
.
append
(
" RIGHT JOIN CAMPAIGN_AGENT b on a.USER_ID = b.AGENT_ID"
);
sqlStrBuilder
.
append
(
" WHERE 1 = 1"
);
sqlStrBuilder
.
append
(
" AND b.COMPANY_SITE_ID = :p_company_site_id"
);
sqlStrBuilder
.
append
(
" AND b.CAMPAIGN_ID = :p_campaign_id"
);
sqlStrBuilder
.
append
(
" ORDER BY a.FULL_NAME ASC"
);
SQLQuery
query
=
session
.
createSQLQuery
(
sqlStrBuilder
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
companySiteId
);
query
.
setParameter
(
"p_campaign_id"
,
campaignId
);
query
.
addScalar
(
"userId"
,
new
LongType
());
query
.
addScalar
(
"userName"
,
new
StringType
());
query
.
addScalar
(
"status"
,
new
ShortType
());
query
.
addScalar
(
"fullName"
,
new
StringType
());
query
.
addScalar
(
"userTypeId"
,
new
LongType
());
query
.
addScalar
(
"createDate"
,
new
DateType
());
query
.
addScalar
(
"description"
,
new
StringType
());
query
.
addScalar
(
"staffCode"
,
new
StringType
());
query
.
addScalar
(
"managerId"
,
new
LongType
());
query
.
addScalar
(
"locationId"
,
new
LongType
());
query
.
addScalar
(
"deptId"
,
new
LongType
());
query
.
addScalar
(
"deptLevel"
,
new
StringType
());
query
.
addScalar
(
"posId"
,
new
LongType
());
query
.
addScalar
(
"deptName"
,
new
StringType
());
query
.
addScalar
(
"groupId"
,
new
LongType
());
query
.
addScalar
(
"siteId"
,
new
LongType
());
query
.
addScalar
(
"companySiteId"
,
new
LongType
());
query
.
addScalar
(
"agentType"
,
new
ShortType
());
query
.
addScalar
(
"mobileNumber"
,
new
StringType
());
query
.
addScalar
(
"facebookId"
,
new
StringType
());
query
.
addScalar
(
"loginType"
,
new
ShortType
());
query
.
addScalar
(
"googleId"
,
new
StringType
());
query
.
addScalar
(
"email"
,
new
StringType
());
query
.
addScalar
(
"availableTicket"
,
new
LongType
());
query
.
addScalar
(
"userKazooId"
,
new
StringType
());
query
.
addScalar
(
"filterType"
,
new
ShortType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
VSAUsersDTO
.
class
));
int
count
=
0
;
List
<
VSAUsersDTO
>
dtoList
=
query
.
list
();
if
(
dtoList
.
size
()
>
0
)
{
count
=
query
.
list
().
size
();
}
Pageable
pageable
=
PageRequest
.
of
(
page
,
pageSize
);
if
(
pageable
!=
null
)
{
query
.
setFirstResult
(
pageable
.
getPageNumber
()
*
pageable
.
getPageSize
());
query
.
setMaxResults
(
pageable
.
getPageSize
());
}
List
<
VSAUsersDTO
>
data
=
query
.
list
();
Page
<
VSAUsersDTO
>
dataPage
=
new
PageImpl
<>(
data
,
pageable
,
count
);
resultDTO
.
setData
(
dataPage
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
}
return
resultDTO
;
}
@Override
public
ResultDTO
createCampaignAgents
(
CampaignAgentsDTO
campaignAgentsDTO
)
{
ResultDTO
resultDTO
=
new
ResultDTO
();
CampaignAgentsMapper
campaignAgentsMapper
=
new
CampaignAgentsMapper
();
CampaignAgent
campaignAgent
=
new
CampaignAgent
();
try
{
if
(
campaignAgentsDTO
!=
null
)
{
// insert
campaignAgent
=
campaignAgentsMapper
.
toPersistenceBean
(
campaignAgentsDTO
);
campaignAgentsRepository
.
save
(
campaignAgent
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
else
{
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
resultDTO
;
}
}
src/main/java/com/viettel/campaign/utils/Config.java
0 → 100644
View file @
baeb8b59
package
com.viettel.campaign.utils
;
import
com.viettel.security.PassTranformer
;
import
org.apache.log4j.Logger
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.util.Properties
;
/**
* @author hanv_itsol
* @project campaign
*/
public
class
Config
{
public
static
final
String
APP_CONF_FILE_PATH
=
System
.
getProperty
(
"user.dir"
)
+
File
.
separator
+
"etc"
+
File
.
separator
+
"app.conf"
;
public
static
final
String
LOG_CONF_FILE_PATH
=
System
.
getProperty
(
"user.dir"
)
+
File
.
separator
+
"etc"
+
File
.
separator
+
"log.conf"
;
public
static
String
amcd_xmlrpc_url
;
public
static
int
num_client_amcd_xmlprc
;
// public static final int AGENT_ANSWER_TIMEOUT = 10;
// public static final int AGENT_ACCEPT_TIMEOUT = 10;
// public static final int SMS_ANSWER_TIMEOUT = 24 * 60 * 60;
// public static final int INTERVAL_SCAN_SMS = 100;
// public static final int NUM_SMSGW = 1;
// public static final int NUM_RETRY_SEND_SMSGW = 3;
// public static final int INTERVAL_RETRY_SEND_SMSGW = 10;
// public static final String SMS_SEND_OUT_CHANNEL = "198";
// public static final int INTERVAL_SCAN_FACEBOOK = 100;
// public static final int FACEBOOK_ANSWER_TIMEOUT = 24 * 60 * 60;
// public static final String prefixKeyRedis = "";
// public static final String redisPatternSMS = "";
// public static final String redisPatternFacebook = "";
// public static final String rabbitConnection;
// public static final String fbGatewayUser;
// public static final String fbGatewayPass;
// public static final String virtual_host;
// public static final String rb_queuename_kpi_log;
// public static final String facebook_text_queue_name;
// public static final String app_code;
// public static final String TICKET_SERVICES_URL;
public
static
final
int
redisTimeout
;
public
static
final
String
redisAddress
;
// public static String link_services_ticket;
private
static
final
Properties
properties
=
new
Properties
();
static
{
org
.
apache
.
log4j
.
PropertyConfigurator
.
configure
(
Config
.
LOG_CONF_FILE_PATH
);
try
{
properties
.
load
(
new
FileInputStream
(
APP_CONF_FILE_PATH
));
}
catch
(
IOException
ex
)
{
Logger
.
getLogger
(
Config
.
class
.
getName
()).
error
(
ex
.
getMessage
(),
ex
);
}
PassTranformer
.
setInputKey
(
"Ipcc#987654321#@!"
);
// rabbitConnection = properties.getProperty("rabbit_connection_string");
// fbGatewayUser = PassTranformer.decrypt(properties.getProperty("rabbit_user", "").trim());
// fbGatewayPass = PassTranformer.decrypt(properties.getProperty("rabbit_pass", "").trim());
// virtual_host = properties.getProperty("virtual_host", "/").trim();
// facebook_text_queue_name = properties.getProperty("facebook_text_queue_name", "mt2facebooktext").trim();
// rb_queuename_kpi_log = properties.getProperty("rb_queuename_kpi_log", "econtact_kpi_log").trim();
// app_code = properties.getProperty("app_code", "ECONTACT").trim();
// TICKET_SERVICES_URL = properties.getProperty("ticket_services_url", "").trim();
redisAddress
=
properties
.
getProperty
(
"redis_address"
,
""
).
trim
();
redisTimeout
=
Integer
.
valueOf
(
properties
.
getProperty
(
"redis_timeout"
,
"3000"
).
trim
());
// link_services_ticket = properties.getProperty("link_services_ticket");
}
private
static
String
getString
(
String
key
,
String
defaultValue
)
{
return
properties
.
getProperty
(
key
,
defaultValue
).
trim
();
}
private
static
int
getInt
(
String
key
,
int
defaultValue
)
{
return
Integer
.
valueOf
(
properties
.
getProperty
(
key
,
""
+
defaultValue
).
trim
());
}
}
src/main/java/com/viettel/campaign/utils/RedisUtil.java
0 → 100644
View file @
baeb8b59
package
com.viettel.campaign.utils
;
import
org.apache.log4j.Logger
;
import
redis.clients.jedis.JedisCluster
;
import
redis.clients.jedis.HostAndPort
;
import
java.io.Serializable
;
import
java.util.*
;
/**
* @author hanv_itsol
* @project campaign
*/
public
class
RedisUtil
{
private
static
final
Logger
logger
=
Logger
.
getLogger
(
RedisUtil
.
class
);
private
static
volatile
RedisUtil
INSTANCE
=
null
;
private
JedisCluster
jedisCluster
;
private
String
redisAddress
;
private
int
redisTimeout
;
private
RedisUtil
(
JedisCluster
jedisCluster
)
{
this
.
jedisCluster
=
jedisCluster
;
}
public
RedisUtil
(
String
redisAddress
,
int
redisTimeout
)
{
this
.
redisAddress
=
redisAddress
;
this
.
redisTimeout
=
redisTimeout
;
}
public
RedisUtil
()
{
}
public
synchronized
RedisUtil
setup
()
{
if
(
INSTANCE
==
null
)
{
logger
.
info
(
"Start connect Redis: "
+
redisAddress
);
Set
<
HostAndPort
>
hostAndPortNodes
=
new
HashSet
();
String
[]
hostAndPorts
=
redisAddress
.
split
(
","
);
for
(
String
hostAndPort
:
hostAndPorts
)
{
String
[]
parts
=
hostAndPort
.
split
(
":"
);
String
host
=
parts
[
0
];
int
port
=
Integer
.
parseInt
(
parts
[
1
].
trim
());
hostAndPortNodes
.
add
(
new
HostAndPort
(
host
,
port
));
}
INSTANCE
=
new
RedisUtil
(
new
JedisCluster
(
hostAndPortNodes
,
redisTimeout
));
}
return
INSTANCE
;
}
public
static
synchronized
RedisUtil
getInstance
()
{
if
(
INSTANCE
==
null
)
{
INSTANCE
=
new
RedisUtil
().
setup
();
}
return
INSTANCE
;
}
public
JedisCluster
getRedis
()
{
return
INSTANCE
.
jedisCluster
;
}
public
void
setRedisAddress
(
String
dress
)
{
redisAddress
=
dress
;
}
public
void
setRedisTimeout
(
int
timeout
)
{
redisTimeout
=
timeout
;
}
public
String
getRedisAddress
()
{
return
redisAddress
;
}
public
int
getRedisTimeout
()
{
return
redisTimeout
;
}
public
boolean
set
(
String
key
,
Serializable
value
)
{
if
(
key
==
null
)
{
return
false
;
}
// Jedis jedis = null;
try
{
JedisCluster
jedis
=
getRedis
();
jedis
.
set
(
key
.
getBytes
(),
org
.
springframework
.
util
.
SerializationUtils
.
serialize
(
value
));
jedis
.
expire
(
key
.
getBytes
(),
60
);
// exprire
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
return
true
;
}
public
Object
get
(
String
key
)
{
// Jedis jedis = null;
Object
object
=
null
;
try
{
// jedis = pool.getResource();
JedisCluster
jedis
=
getRedis
();
byte
[]
value
=
jedis
.
get
(
key
.
getBytes
());
if
(
value
!=
null
&&
value
.
length
>
0
)
{
object
=
(
Object
)
org
.
springframework
.
util
.
SerializationUtils
.
deserialize
(
value
);
}
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
return
object
;
}
public
void
del
(
String
key
)
{
// Jedis jedis = null;
// Object object = null;
try
{
// jedis = pool.getResource();
JedisCluster
jedis
=
getRedis
();
jedis
.
del
(
key
);
}
catch
(
Exception
ex
)
{
logger
.
error
(
ex
.
getMessage
(),
ex
);
}
}
}
src/main/java/com/viettel/campaign/web/dto/CampaignAgentsDTO.java
0 → 100644
View file @
baeb8b59
package
com.viettel.campaign.web.dto
;
import
lombok.Getter
;
import
lombok.Setter
;
@Getter
@Setter
public
class
CampaignAgentsDTO
extends
BaseDTO
{
Long
campaignAgentId
;
Long
campaignId
;
Long
agentId
;
Short
filterType
;
Integer
status
;
Long
companySiteId
;
Long
reSchedule
;
}
src/main/java/com/viettel/campaign/web/rest/AgentsController.java
View file @
baeb8b59
package
com.viettel.campaign.web.rest
;
import
com.viettel.campaign.service.AgentsService
;
import
com.viettel.campaign.web.dto.CampaignAgentsDTO
;
import
com.viettel.campaign.web.dto.ResultDTO
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -9,6 +10,8 @@ import org.springframework.http.HttpStatus;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
@RestController
@RequestMapping
(
"/ipcc/agents"
)
@CrossOrigin
...
...
@@ -32,4 +35,19 @@ public class AgentsController {
ResultDTO
result
=
agentsService
.
getAllAgentsByCompanySiteId
(
page
,
pageSize
,
companySiteId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@GetMapping
(
"/findAllSelected"
)
@ResponseBody
public
ResponseEntity
<
ResultDTO
>
listAgentsSelectedByCompanySiteId
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"pageSize"
)
int
pageSize
,
@RequestParam
(
"companySiteId"
)
Long
companySiteId
,
@RequestParam
(
"campaignId"
)
Long
campaignId
)
{
ResultDTO
result
=
agentsService
.
getAllAgentsSelectedByCompanySiteId
(
page
,
pageSize
,
companySiteId
,
campaignId
);
return
new
ResponseEntity
<>(
result
,
HttpStatus
.
OK
);
}
@PostMapping
(
"/createCampaignAgents"
)
@ResponseBody
public
ResultDTO
createCustomerList
(
@RequestBody
@Valid
CampaignAgentsDTO
campaignAgentsDTO
)
{
ResultDTO
result
=
new
ResultDTO
();
result
=
agentsService
.
createCampaignAgents
(
campaignAgentsDTO
);
return
result
;
}
}
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