Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
ejercicio2-framework-back
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Josue
ejercicio2-framework-back
Commits
9373fdd5
Commit
9373fdd5
authored
Dec 03, 2021
by
Roberto Loayza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Mantenimiento de ETL de borrado y dashboard.
parent
669488af
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
98 additions
and
31 deletions
+98
-31
ScheduleService.java
...com/bytesw/bytebot/etl/batch/service/ScheduleService.java
+4
-10
DataSensibleJPAWriter.java
...ytesw/bytebot/etl/batch/writer/DataSensibleJPAWriter.java
+32
-4
IntentRepository.java
...ain/java/com/bytesw/bytebot/etl/dao/IntentRepository.java
+1
-0
UserMessageProcessed.java
...com/bytesw/bytebot/etl/services/UserMessageProcessed.java
+61
-17
No files found.
src/main/java/com/bytesw/bytebot/etl/batch/service/ScheduleService.java
View file @
9373fdd5
...
@@ -24,7 +24,6 @@ import com.bytesw.bytebot.model.enums.AgentStatusEnum;
...
@@ -24,7 +24,6 @@ import com.bytesw.bytebot.model.enums.AgentStatusEnum;
import
com.bytesw.bytebot.model.enums.FrequencyType
;
import
com.bytesw.bytebot.model.enums.FrequencyType
;
import
com.bytesw.bytebot.model.enums.ProcessETLEnum
;
import
com.bytesw.bytebot.model.enums.ProcessETLEnum
;
import
com.bytesw.bytebot.repository.*
;
import
com.bytesw.bytebot.repository.*
;
import
com.bytesw.xdf.exception.NotFoundException
;
import
com.bytesw.xdf.multitenant.core.ThreadLocalStorage
;
import
com.bytesw.xdf.multitenant.core.ThreadLocalStorage
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
lombok.extern.log4j.Log4j2
;
import
lombok.extern.log4j.Log4j2
;
...
@@ -171,15 +170,14 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -171,15 +170,14 @@ public class ScheduleService implements SchedulingConfigurer {
private
void
configureTask
(
String
tenantIdentifier
,
String
identifier
,
ScheduledTaskRegistrar
taskRegistrar
)
{
private
void
configureTask
(
String
tenantIdentifier
,
String
identifier
,
ScheduledTaskRegistrar
taskRegistrar
)
{
Trigger
trigger
=
new
CronTrigger
(
cronExpression
,
TimeZone
.
getDefault
());
Trigger
trigger
=
new
CronTrigger
(
cronExpression
,
TimeZone
.
getDefault
());
/* ETL de Dashboard */
/* ETL de Dashboard */
//
String key = String.format("%s-%s", tenantIdentifier, identifier);
String
key
=
String
.
format
(
"%s-%s"
,
tenantIdentifier
,
identifier
);
//
futureMap.put(key, taskRegistrar.getScheduler().schedule(() -> scheduleCron(createJob(tenantIdentifier), tenantIdentifier), trigger));
futureMap
.
put
(
key
,
taskRegistrar
.
getScheduler
().
schedule
(()
->
scheduleCron
(
createJob
(
tenantIdentifier
),
tenantIdentifier
),
trigger
));
/* Extraer el id del proceso - Delete */
/* Extraer el id del proceso - Delete */
ProcessETL
processDelete
=
processETLRepository
.
findByName
(
ProcessETLEnum
.
PROCESS_DELETE
.
getName
());
ProcessETL
processDelete
=
processETLRepository
.
findByName
(
ProcessETLEnum
.
PROCESS_DELETE
.
getName
());
/* Busca las listas de SchedulerTask */
/* Busca las listas de SchedulerTask */
List
<
SchedulerTask
>
listSchedulerTask
=
schedulerTaskRepository
.
findByEtlId
(
processDelete
.
getId
());
List
<
SchedulerTask
>
listSchedulerTask
=
schedulerTaskRepository
.
findByEtlId
(
processDelete
.
getId
());
System
.
out
.
println
(
listSchedulerTask
);
for
(
SchedulerTask
schedulerTask
:
listSchedulerTask
)
{
for
(
SchedulerTask
schedulerTask
:
listSchedulerTask
)
{
Trigger
triggerDelete
=
new
CronTrigger
(
schedulerTask
.
getCronExpression
(),
TimeZone
.
getDefault
());
Trigger
triggerDelete
=
new
CronTrigger
(
schedulerTask
.
getCronExpression
(),
TimeZone
.
getDefault
());
String
keyScheduler
=
String
.
format
(
"%s-%s"
,
tenantIdentifier
,
schedulerTask
.
getCalendarID
());
String
keyScheduler
=
String
.
format
(
"%s-%s"
,
tenantIdentifier
,
schedulerTask
.
getCalendarID
());
...
@@ -192,7 +190,6 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -192,7 +190,6 @@ public class ScheduleService implements SchedulingConfigurer {
/*ETL eliminacion de data sensible*/
/*ETL eliminacion de data sensible*/
public
void
processDeleteData
(
String
tenantIdentifier
,
ScheduledTaskRegistrar
taskRegistrar
,
String
calendarId
)
{
public
void
processDeleteData
(
String
tenantIdentifier
,
ScheduledTaskRegistrar
taskRegistrar
,
String
calendarId
)
{
Optional
<
List
<
WeekScheduler
>>
dates
=
weekSchedulerRepository
.
findByCalendarId
(
calendarId
);
Optional
<
List
<
WeekScheduler
>>
dates
=
weekSchedulerRepository
.
findByCalendarId
(
calendarId
);
System
.
out
.
println
(
dates
);
OffsetDateTime
actual
=
OffsetDateTime
.
now
();
OffsetDateTime
actual
=
OffsetDateTime
.
now
();
for
(
WeekScheduler
weekScheduler:
dates
.
get
())
{
for
(
WeekScheduler
weekScheduler:
dates
.
get
())
{
if
(
actual
.
isBefore
(
weekScheduler
.
getTo
())
&&
actual
.
isAfter
(
weekScheduler
.
getFrom
()))
{
if
(
actual
.
isBefore
(
weekScheduler
.
getTo
())
&&
actual
.
isAfter
(
weekScheduler
.
getFrom
()))
{
...
@@ -202,7 +199,6 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -202,7 +199,6 @@ public class ScheduleService implements SchedulingConfigurer {
schedulerFlag
=
validateException
(
calendarException
.
get
());
schedulerFlag
=
validateException
(
calendarException
.
get
());
break
;
break
;
}
}
}
else
{
}
else
{
schedulerFlag
=
false
;
schedulerFlag
=
false
;
}
}
...
@@ -221,7 +217,6 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -221,7 +217,6 @@ public class ScheduleService implements SchedulingConfigurer {
keys
.
add
(
keyDataSens
);
keys
.
add
(
keyDataSens
);
futureMap
.
put
(
keyDataSens
,
taskRegistrar
.
getScheduler
()
futureMap
.
put
(
keyDataSens
,
taskRegistrar
.
getScheduler
()
.
schedule
(()
->
scheduleCron
(
createJobDataSens
(
tenantIdentifier
,
data
),
tenantIdentifier
),
trigger
));
.
schedule
(()
->
scheduleCron
(
createJobDataSens
(
tenantIdentifier
,
data
),
tenantIdentifier
),
trigger
));
System
.
out
.
println
(
"Hola mundo"
);
}
}
}
}
}
else
{
}
else
{
...
@@ -281,7 +276,6 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -281,7 +276,6 @@ public class ScheduleService implements SchedulingConfigurer {
private
Step
createStep
(
String
tenantIdentifier
)
{
private
Step
createStep
(
String
tenantIdentifier
)
{
ByteBotJPAWriter
writer
=
new
ByteBotJPAWriter
();
ByteBotJPAWriter
writer
=
new
ByteBotJPAWriter
();
writer
.
setService
(
service
);
writer
.
setService
(
service
);
return
stepBuilderFactory
.
get
(
"processByteBotData"
).<
DynaBean
,
DynaBean
>
chunk
(
chunk
)
return
stepBuilderFactory
.
get
(
"processByteBotData"
).<
DynaBean
,
DynaBean
>
chunk
(
chunk
)
.
reader
(
getReader
(
tenantIdentifier
))
.
reader
(
getReader
(
tenantIdentifier
))
.
processor
(
new
ConvertToBeanProcessor
())
.
processor
(
new
ConvertToBeanProcessor
())
...
@@ -310,7 +304,7 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -310,7 +304,7 @@ public class ScheduleService implements SchedulingConfigurer {
private
Job
createJobDataSens
(
String
tenantIdentifier
,
DeleteDataSensBean
data
)
{
private
Job
createJobDataSens
(
String
tenantIdentifier
,
DeleteDataSensBean
data
)
{
ThreadLocalStorage
.
setTenantName
(
tenantIdentifier
);
ThreadLocalStorage
.
setTenantName
(
tenantIdentifier
);
return
jobBuilderFactory
.
get
(
"processJobDataSensible"
)
return
jobBuilderFactory
.
get
(
String
.
format
(
"processDataSensible%d"
,+
data
.
getAgenId
())
)
.
incrementer
(
new
RunIdIncrementer
()).
listener
(
listener
)
.
incrementer
(
new
RunIdIncrementer
()).
listener
(
listener
)
.
flow
(
createStepDataSens
(
tenantIdentifier
,
data
)).
end
().
build
();
.
flow
(
createStepDataSens
(
tenantIdentifier
,
data
)).
end
().
build
();
}
}
...
@@ -344,7 +338,7 @@ public class ScheduleService implements SchedulingConfigurer {
...
@@ -344,7 +338,7 @@ public class ScheduleService implements SchedulingConfigurer {
DeleteDataSensControlBean
control
=
deleteDataSensJDBCRepository
.
getControl
(
data
.
getAgenId
());
DeleteDataSensControlBean
control
=
deleteDataSensJDBCRepository
.
getControl
(
data
.
getAgenId
());
OffsetDateTime
endDate
=
OffsetDateTime
.
now
();
OffsetDateTime
endDate
=
OffsetDateTime
.
now
();
Long
id
=
1300
0L
;
Long
id
=
0L
;
int
differenceTime
=
0
;
int
differenceTime
=
0
;
if
(
control
!=
null
)
{
if
(
control
!=
null
)
{
...
...
src/main/java/com/bytesw/bytebot/etl/batch/writer/DataSensibleJPAWriter.java
View file @
9373fdd5
...
@@ -25,9 +25,7 @@ import org.springframework.batch.item.ItemWriter;
...
@@ -25,9 +25,7 @@ import org.springframework.batch.item.ItemWriter;
import
javax.transaction.Transactional
;
import
javax.transaction.Transactional
;
import
java.sql.Timestamp
;
import
java.sql.Timestamp
;
import
java.time.OffsetDateTime
;
import
java.time.OffsetDateTime
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Optional
;
@Log4j2
@Log4j2
...
@@ -60,6 +58,13 @@ public class DataSensibleJPAWriter implements ItemWriter<DynaBean>, StepExecutio
...
@@ -60,6 +58,13 @@ public class DataSensibleJPAWriter implements ItemWriter<DynaBean>, StepExecutio
@Override
@Override
@Transactional
@Transactional
public
void
write
(
List
<?
extends
DynaBean
>
list
)
throws
Exception
{
public
void
write
(
List
<?
extends
DynaBean
>
list
)
throws
Exception
{
/* JSON de prueba */
//String jsonPrueba = "{\"telefonos_desplegados\":[{\"CodigoInternacional\": \"1415\",\"numero\": \"5238886\"},{\"CodigoInternacional\": \"51\",\"numero\": \"456789\"},{\"CodigoInternacional\": \"51\", \"numero\": \"456789\"}]}";
//agent.setChannelValue(jsonPrueba);
//-------
Object
numeros
=
JsonUtils
.
getFieldFromJson
(
agent
.
getChannelValue
(),
"$.telefonos_desplegados"
);
List
<
String
>
numerosAgentes
=
numbersAgent
((
List
<
Map
>)
numeros
);
//*------
for
(
DynaBean
dynaBean
:
list
)
{
for
(
DynaBean
dynaBean
:
list
)
{
Long
id
=
Long
.
parseLong
(
dynaBean
.
get
(
"id"
).
toString
());
Long
id
=
Long
.
parseLong
(
dynaBean
.
get
(
"id"
).
toString
());
String
json
=
(
String
)
dynaBean
.
get
(
"data"
);
String
json
=
(
String
)
dynaBean
.
get
(
"data"
);
...
@@ -72,7 +77,17 @@ public class DataSensibleJPAWriter implements ItemWriter<DynaBean>, StepExecutio
...
@@ -72,7 +77,17 @@ public class DataSensibleJPAWriter implements ItemWriter<DynaBean>, StepExecutio
presentDate
=
presentDate
.
replace
(
timeZone
,
""
);
presentDate
=
presentDate
.
replace
(
timeZone
,
""
);
if
(
EventTypeEnum
.
USER
.
getName
().
equals
(
event
))
{
if
(
EventTypeEnum
.
USER
.
getName
().
equals
(
event
))
{
String
toAgent
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.metadata.To"
);
String
toAgent
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.metadata.To"
);
if
(
agent
.
getChannelValue
().
equals
(
toAgent
))
{
//*------------
String
agentNumber
=
new
String
();
if
(
toAgent
==
null
)
{
continue
;
}
if
(
toAgent
.
isEmpty
())
{
agentNumber
=
toAgent
.
split
(
":"
)[
1
];
}
//*------------
if
(
numerosAgentes
.
contains
(
agentNumber
))
{
// if (agent.getChannelValue().equals(toAgent)) {
String
intent
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.parse_data.intent.name"
);
String
intent
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.parse_data.intent.name"
);
if
(
intentByAgent
.
contains
(
intent
))
{
if
(
intentByAgent
.
contains
(
intent
))
{
String
SmSMessageSid
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.metadata.SmsMessageSid"
);
String
SmSMessageSid
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.metadata.SmsMessageSid"
);
...
@@ -133,6 +148,19 @@ public class DataSensibleJPAWriter implements ItemWriter<DynaBean>, StepExecutio
...
@@ -133,6 +148,19 @@ public class DataSensibleJPAWriter implements ItemWriter<DynaBean>, StepExecutio
}
}
}
}
//-------
private
List
<
String
>
numbersAgent
(
List
<
Map
>
listNumber
){
List
<
String
>
result
=
new
ArrayList
<>();
for
(
Map
map
:
listNumber
){
String
cod
=
(
String
)
map
.
get
(
"CodigoInternacional"
);
String
number
=
(
String
)
map
.
get
(
"numero"
);
String
agent
=
"+"
+
cod
+
number
;
result
.
add
(
agent
);
}
return
result
;
}
//-------
@Override
@Override
public
void
beforeStep
(
StepExecution
stepExecution
)
{
public
void
beforeStep
(
StepExecution
stepExecution
)
{
String
tenantId
=
stepExecution
.
getJobParameters
().
getString
(
"tenantId"
);
String
tenantId
=
stepExecution
.
getJobParameters
().
getString
(
"tenantId"
);
...
...
src/main/java/com/bytesw/bytebot/etl/dao/IntentRepository.java
View file @
9373fdd5
...
@@ -8,6 +8,7 @@ import org.springframework.data.repository.query.Param;
...
@@ -8,6 +8,7 @@ import org.springframework.data.repository.query.Param;
import
java.util.Optional
;
import
java.util.Optional
;
public
interface
IntentRepository
extends
CrudRepository
<
Intent
,
Long
>
{
public
interface
IntentRepository
extends
CrudRepository
<
Intent
,
Long
>
{
Optional
<
Intent
>
findByIdentifier
(
String
identifier
);
Optional
<
Intent
>
findByIdentifier
(
String
identifier
);
@Query
(
"SELECT s from Intent s WHERE s.identifier = :intenIdent and s.agenId = :agenId"
)
@Query
(
"SELECT s from Intent s WHERE s.identifier = :intenIdent and s.agenId = :agenId"
)
...
...
src/main/java/com/bytesw/bytebot/etl/services/UserMessageProcessed.java
View file @
9373fdd5
package
com
.
bytesw
.
bytebot
.
etl
.
services
;
package
com
.
bytesw
.
bytebot
.
etl
.
services
;
import
com.bytesw.bytebot.etl.batch.beans.DeleteDataSensBean
;
import
com.bytesw.bytebot.etl.beans.SessionBean
;
import
com.bytesw.bytebot.etl.beans.SessionBean
;
import
com.bytesw.bytebot.etl.dao.IntentRepository
;
import
com.bytesw.bytebot.etl.dao.IntentRepository
;
import
com.bytesw.bytebot.etl.dao.MessageRepository
;
import
com.bytesw.bytebot.etl.dao.MessageRepository
;
...
@@ -12,7 +13,10 @@ import com.bytesw.bytebot.etl.model.Message;
...
@@ -12,7 +13,10 @@ import com.bytesw.bytebot.etl.model.Message;
import
com.bytesw.bytebot.etl.model.Session
;
import
com.bytesw.bytebot.etl.model.Session
;
import
com.bytesw.bytebot.etl.model.User
;
import
com.bytesw.bytebot.etl.model.User
;
import
com.bytesw.bytebot.etl.utils.JsonUtils
;
import
com.bytesw.bytebot.etl.utils.JsonUtils
;
import
com.bytesw.bytebot.jdbc.DeleteDataSensJDBCRepository
;
import
com.bytesw.bytebot.model.Channel
;
import
com.bytesw.bytebot.model.Channel
;
import
com.bytesw.bytebot.model.enums.AgentParameterEnum
;
import
com.bytesw.bytebot.model.enums.AgentStatusEnum
;
import
com.bytesw.bytebot.repository.ChannelRepository
;
import
com.bytesw.bytebot.repository.ChannelRepository
;
import
lombok.extern.log4j.Log4j2
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -23,6 +27,9 @@ import javax.annotation.PostConstruct;
...
@@ -23,6 +27,9 @@ import javax.annotation.PostConstruct;
import
javax.transaction.Transactional
;
import
javax.transaction.Transactional
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.OffsetDateTime
;
import
java.time.OffsetDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Optional
;
@Log4j2
@Log4j2
...
@@ -48,6 +55,9 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
...
@@ -48,6 +55,9 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
@Autowired
@Autowired
private
IntentRepository
intentRepository
;
private
IntentRepository
intentRepository
;
@Autowired
private
DeleteDataSensJDBCRepository
deleteDataSensJDBCRepository
;
@Value
(
"${application.etl.text-user.threshold:0.5}"
)
@Value
(
"${application.etl.text-user.threshold:0.5}"
)
private
BigDecimal
threshold
;
private
BigDecimal
threshold
;
...
@@ -69,26 +79,27 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
...
@@ -69,26 +79,27 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
if
(!
userFound
.
isPresent
())
{
if
(!
userFound
.
isPresent
())
{
return
false
;
return
false
;
}
}
SessionBean
session
=
sessionBotJDBCRepository
.
getLastSessionByUser
(
userFound
.
get
().
getId
());
SessionBean
session
=
sessionBotJDBCRepository
.
getLastSessionByUser
(
userFound
.
get
().
getId
());
if
(
session
!=
null
)
{
if
(
session
!=
null
)
{
Message
message
=
cloneMessage
(
json
,
session
.
getId
());
/* ID del agente */
if
(
message
!=
null
)
{
Long
agentId
=
identifierAgent
(
json
);
int
correlative
=
messageJDBCRepository
.
getLastCorrelativeBySession
(
message
.
getSessionId
());
if
(
agentId
>=
1
)
{
correlative
++;
Message
message
=
cloneMessage
(
json
,
session
.
getId
(),
agentId
);
message
.
setCorrelative
(
correlative
);
if
(
message
!=
null
)
{
int
correlative
=
messageJDBCRepository
.
getLastCorrelativeBySession
(
message
.
getSessionId
());
messageRepository
.
save
(
message
);
correlative
++;
message
.
setCorrelative
(
correlative
);
String
channel
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
CHANNEL_FIELD_NAME
));
messageRepository
.
save
(
message
);
updateSession
(
session
.
getId
(),
message
.
getDate
(),
channel
);
return
true
;
String
channel
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
CHANNEL_FIELD_NAME
));
updateSession
(
session
.
getId
(),
message
.
getDate
(),
channel
);
return
true
;
}
}
}
}
}
}
}
return
false
;
return
false
;
}
}
...
@@ -107,7 +118,7 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
...
@@ -107,7 +118,7 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
}
}
}
}
private
Message
cloneMessage
(
String
json
,
Long
sessionId
)
{
private
Message
cloneMessage
(
String
json
,
Long
sessionId
,
Long
agentId
)
{
Double
timestamp
=
(
Double
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
TIMESTAMP_FIELD_NAME
));
Double
timestamp
=
(
Double
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
TIMESTAMP_FIELD_NAME
));
Object
confidence
=
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
CONFIDENCE_FIELD_NAME
));
Object
confidence
=
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
CONFIDENCE_FIELD_NAME
));
String
content
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
CONTENT_FIELD_NAME
));
String
content
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
CONTENT_FIELD_NAME
));
...
@@ -136,11 +147,44 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
...
@@ -136,11 +147,44 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
if
(
MessageTypeEnum
.
ACCEPTED
.
equals
(
message
.
getType
()))
{
if
(
MessageTypeEnum
.
ACCEPTED
.
equals
(
message
.
getType
()))
{
String
intentName
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
INTENT_NAME
));
String
intentName
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
this
.
fields
.
get
(
INTENT_NAME
));
Optional
<
Intent
>
optionalIntent
=
intentRepository
.
find
ByIdentifier
(
intentName
);
Optional
<
Intent
>
optionalIntent
=
intentRepository
.
find
IntenNameById
(
intentName
,
agentId
);
if
(
optionalIntent
.
isPresent
())
{
if
(
optionalIntent
.
isPresent
())
{
message
.
setIntentId
(
optionalIntent
.
get
().
getId
());
message
.
setIntentId
(
optionalIntent
.
get
().
getId
());
}
}
}
}
return
message
;
return
message
;
}
}
//-------
private
Long
identifierAgent
(
String
json
){
Long
agentId
=
0
l
;
String
number
=
(
String
)
JsonUtils
.
getFieldFromJson
(
json
,
"$.metadata.To"
);
if
(
number
!=
null
)
{
number
=
number
.
split
(
":"
)[
1
];
List
<
DeleteDataSensBean
>
deleteDataSensBeans
=
deleteDataSensJDBCRepository
.
getListAgentChannel
(
AgentStatusEnum
.
DEPLOYED
.
getName
(),
AgentParameterEnum
.
ACCESS_TWILIO
.
getName
());
for
(
DeleteDataSensBean
deleteDataSensBean:
deleteDataSensBeans
)
{
Object
numeros
=
JsonUtils
.
getFieldFromJson
(
deleteDataSensBean
.
getChannelValue
(),
"$.telefonos_desplegados"
);
List
<
String
>
numerosAgentes
=
numbersAgent
((
List
<
Map
>)
numeros
);
if
(
numerosAgentes
.
contains
(
number
))
{
agentId
=
deleteDataSensBean
.
getAgenId
();
break
;
}
}
}
return
agentId
;
}
private
List
<
String
>
numbersAgent
(
List
<
Map
>
listNumber
){
List
<
String
>
result
=
new
ArrayList
<>();
for
(
Map
map
:
listNumber
){
String
cod
=
(
String
)
map
.
get
(
"CodigoInternacional"
);
String
number
=
(
String
)
map
.
get
(
"numero"
);
String
agent
=
"+"
+
cod
+
number
;
result
.
add
(
agent
);
}
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