Commit f2cd78e8 authored by Cristian Aguirre's avatar Cristian Aguirre

Minimal changes in ETL

parent fff3f7b6
...@@ -35,6 +35,7 @@ public class CountryBean { ...@@ -35,6 +35,7 @@ public class CountryBean {
@Expose @Expose
private List<String> timezones; private List<String> timezones;
public static CountryBean clone(Country country) { public static CountryBean clone(Country country) {
CountryBean bean = new CountryBean(); CountryBean bean = new CountryBean();
......
...@@ -30,6 +30,7 @@ public class DashboardController { ...@@ -30,6 +30,7 @@ public class DashboardController {
@PostMapping("/operative") @PostMapping("/operative")
public ResponseEntity<String> getOperativeInfo(@RequestBody Map<String, Object> body) { public ResponseEntity<String> getOperativeInfo(@RequestBody Map<String, Object> body) {
Map<String, Object> info = operativeDashboardService.generateInfo(body); Map<String, Object> info = operativeDashboardService.generateInfo(body);
return new ResponseEntity<>(gson.toJson(info), HttpStatus.OK); return new ResponseEntity<>(gson.toJson(info), HttpStatus.OK);
} }
......
package com.bytesw.bytebot.etl.batch.factory.reader; package com.bytesw.bytebot.etl.batch.factory.reader;
import com.bytesw.bytebot.etl.batch.beans.DynaBean; import com.bytesw.bytebot.etl.batch.beans.DynaBean;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.dbcp.BasicDataSource; import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.batch.item.ItemReader; import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.database.JdbcCursorItemReader; import org.springframework.batch.item.database.JdbcCursorItemReader;
...@@ -20,6 +21,7 @@ import java.util.Map; ...@@ -20,6 +21,7 @@ import java.util.Map;
* -query * -query
*/ */
@Component @Component
@Log4j2
public class DataBaseItemReaderFactory implements ItemReaderFactory<DynaBean, RowMapper<DynaBean>> { public class DataBaseItemReaderFactory implements ItemReaderFactory<DynaBean, RowMapper<DynaBean>> {
@Override @Override
...@@ -49,6 +51,7 @@ public class DataBaseItemReaderFactory implements ItemReaderFactory<DynaBean, Ro ...@@ -49,6 +51,7 @@ public class DataBaseItemReaderFactory implements ItemReaderFactory<DynaBean, Ro
databaseReader.setRowMapper(mapper); databaseReader.setRowMapper(mapper);
databaseReader.setSql(query); databaseReader.setSql(query);
log.debug("DATASOURCE: "+databaseReader.getDataSource());
return databaseReader; return databaseReader;
} }
......
...@@ -6,8 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; ...@@ -6,8 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.batch.item.ItemProcessor; import org.springframework.batch.item.ItemProcessor;
@Log4j2 public class ConvertToBeanProcessor implements ItemProcessor<DynaBean, DynaBean> {
public class ConvertToBeanProcessor implements ItemProcessor<DynaBean, DynaBean> {
private ObjectMapper mapper = new ObjectMapper(); private ObjectMapper mapper = new ObjectMapper();
......
...@@ -32,7 +32,8 @@ import org.springframework.stereotype.Service; ...@@ -32,7 +32,8 @@ import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
//@Service // Descomentar lo siguiente para que funcione
@Service
@Log4j2 @Log4j2
public class ScheduleService implements SchedulingConfigurer { public class ScheduleService implements SchedulingConfigurer {
...@@ -102,12 +103,13 @@ public class ScheduleService implements SchedulingConfigurer { ...@@ -102,12 +103,13 @@ public class ScheduleService implements SchedulingConfigurer {
throw new RuntimeException("batch properties not found"); throw new RuntimeException("batch properties not found");
} }
// identifier "prueba" Cambiar luego
properties.getTenants().stream().forEach(tenant -> { properties.getTenants().stream().forEach(tenant -> {
ThreadLocalStorage.setTenantName(tenant.getId()); ThreadLocalStorage.setTenantName(tenant.getId());
configureTask(tenant.getId(), "prueba", taskRegistrar); configureTask(tenant.getId(), "prueba", taskRegistrar);
}); });
//@TODO Falta añadir el modo multitenan //@TODO Falta añadir el modo multitenan
} }
...@@ -145,9 +147,12 @@ public class ScheduleService implements SchedulingConfigurer { ...@@ -145,9 +147,12 @@ public class ScheduleService implements SchedulingConfigurer {
} }
Long id = eventHistoryRepository.maxEventId(); Long id = eventHistoryRepository.maxEventId();
log.debug("ID: "+id);
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.putAll(tenantFound.get().getDatasource()); params.putAll(tenantFound.get().getDatasource());
params.put("query", String.format((String) params.get("query"), id != null ? id : 0)); params.put("query", String.format((String) params.get("query"), id != null ? id : 0));
log.debug("PARAMS: "+params);
return dataBaseItemReaderFactory.createReader(rowMapperFactory.createMapper(new HashMap<>()), params); return dataBaseItemReaderFactory.createReader(rowMapperFactory.createMapper(new HashMap<>()), params);
} }
......
package com.bytesw.bytebot.etl.dao;
import com.bytesw.bytebot.etl.model.ETLChannel;
import org.springframework.data.repository.CrudRepository;
import java.util.Optional;
public interface ETLChannelRepository extends CrudRepository<ETLChannel, Long> {
Optional<ETLChannel> findByIdentifier(String identifier);
}
...@@ -10,15 +10,15 @@ import javax.persistence.*; ...@@ -10,15 +10,15 @@ import javax.persistence.*;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_ACTION") @Table(name="AVB_ACTION")
@NamedQuery(name = "Action.findByPK", query = "Select p from Action p where p.id = ?1") @NamedQuery(name = "Action.findByPK", query = "Select p from Action p where p.id = ?1")
public class Action { public class Action {
@Id @Id
@Column(name = "ACTION_ID") @Column(name = "ACTION_ID")
@TableGenerator(name = "BBOT_ACTION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_ACTION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_ACTION_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_ACTION_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_ACTION_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_ACTION_GENERATOR")
private Long id; private Long id;
@Column(name = "ACTION_IDENT") @Column(name = "ACTION_IDENT")
...@@ -28,7 +28,4 @@ public class Action { ...@@ -28,7 +28,4 @@ public class Action {
@JoinColumn(name = "GOAL_ID", referencedColumnName = "GOAL_ID") @JoinColumn(name = "GOAL_ID", referencedColumnName = "GOAL_ID")
private Goal goal; private Goal goal;
@Column(name = "ACTION_RGOAL")
@Convert(converter = BooleanToStringConverter.class)
private boolean meetGoal;
} }
package com.bytesw.bytebot.etl.model;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import javax.persistence.*;
@Cacheable(false)
@Entity
@Getter @Setter @ToString
@Table(name="BBOT_CHANNEL_DASHBOARD")
@NamedQuery(name = "ETLChannel.findByPK", query = "Select p from ETLChannel p where p.id = ?1")
public class ETLChannel {
@Id
@Column(name = "CHANN_ID")
@TableGenerator(name = "BBOT_CHANNEL_DASHBOARD_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_CHANNEL_DASHBOARD_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_CHANNEL_DASHBOARD_GENERATOR")
private Long id;
@Column(name = "CHANN_IDENT")
private String identifier;
}
...@@ -10,15 +10,15 @@ import java.time.OffsetDateTime; ...@@ -10,15 +10,15 @@ import java.time.OffsetDateTime;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_EVENT_HISTORY") @Table(name="AVB_EVENT_HISTORY")
@NamedQuery(name = "EventHistory.findByPK", query = "Select p from EventHistory p where p.id = ?1") @NamedQuery(name = "EventHistory.findByPK", query = "Select p from EventHistory p where p.id = ?1")
public class EventHistory { public class EventHistory {
@Id @Id
@Column(name = "EVENH_ID") @Column(name = "EVENH_ID")
@TableGenerator(name = "BBOT_EVENT_HISTORY_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_EVENT_HISTORY_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_EVENT_HISTORY_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_EVENT_HISTORY_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_EVENT_HISTORY_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_EVENT_HISTORY_GENERATOR")
private Long id; private Long id;
@Column(name = "EVENH_SENDID") @Column(name = "EVENH_SENDID")
......
...@@ -9,15 +9,15 @@ import javax.persistence.*; ...@@ -9,15 +9,15 @@ import javax.persistence.*;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_GOAL") @Table(name="AVB_GOAL")
@NamedQuery(name = "Goal.findByPK", query = "Select p from Goal p where p.id = ?1") @NamedQuery(name = "Goal.findByPK", query = "Select p from Goal p where p.id = ?1")
public class Goal { public class Goal {
@Id @Id
@Column(name = "GOAL_ID") @Column(name = "GOAL_ID")
@TableGenerator(name = "BBOT_GOAL_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_GOAL_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_GOAL_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_GOAL_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_GOAL_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_GOAL_GENERATOR")
private Long id; private Long id;
@Column(name = "GOAL_IDENT") @Column(name = "GOAL_IDENT")
......
...@@ -6,19 +6,19 @@ import lombok.ToString; ...@@ -6,19 +6,19 @@ import lombok.ToString;
import javax.persistence.*; import javax.persistence.*;
//BBOT_INTENT //AVB_INTENT
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_INTENT") @Table(name="AVB_INTENT")
@NamedQuery(name = "Intent.findByPK", query = "Select p from Intent p where p.id = ?1") @NamedQuery(name = "Intent.findByPK", query = "Select p from Intent p where p.id = ?1")
public class Intent { public class Intent {
@Id @Id
@Column(name = "INTEN_ID") @Column(name = "INTEN_ID")
@TableGenerator(name = "BBOT_INTENT_DASHBOARD_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_INTENT_DASHBOARD_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_INTENT_DASHBOARD_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_INTENT_DASHBOARD_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_INTENT_DASHBOARD_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_INTENT_DASHBOARD_GENERATOR")
private Long id; private Long id;
@Column(name = "INTEN_IDENT") @Column(name = "INTEN_IDENT")
......
...@@ -14,15 +14,15 @@ import java.time.OffsetDateTime; ...@@ -14,15 +14,15 @@ import java.time.OffsetDateTime;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Builder @Getter @Setter @ToString @Builder
@Table(name="BBOT_MESSAGE") @Table(name="AVB_MESSAGE")
@NamedQuery(name = "Message.findByPK", query = "Select p from Message p where p.id = ?1") @NamedQuery(name = "Message.findByPK", query = "Select p from Message p where p.id = ?1")
public class Message { public class Message {
@Id @Id
@Column(name = "MESSA_ID") @Column(name = "MESSA_ID")
@TableGenerator(name = "BBOT_MESSAGE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_MESSAGE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_MESSAGE_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_MESSAGE_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_MESSAGE_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_MESSAGE_GENERATOR")
private Long id; private Long id;
@Column(name = "SESSION_ID") @Column(name = "SESSION_ID")
......
...@@ -10,15 +10,15 @@ import java.time.OffsetDateTime; ...@@ -10,15 +10,15 @@ import java.time.OffsetDateTime;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_RESPONSE") @Table(name="AVB_RESPONSE")
@NamedQuery(name = "Response.findByPK", query = "Select p from Response p where p.id = ?1") @NamedQuery(name = "Response.findByPK", query = "Select p from Response p where p.id = ?1")
public class Response { public class Response {
@Id @Id
@Column(name = "RESPO_ID") @Column(name = "RESPO_ID")
@TableGenerator(name = "BBOT_RESPONSE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_RESPONSE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_RESPONSE_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_RESPONSE_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_RESPONSE_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_RESPONSE_GENERATOR")
private Long id; private Long id;
@Column(name = "RESPO_DATE") @Column(name = "RESPO_DATE")
......
package com.bytesw.bytebot.etl.model; package com.bytesw.bytebot.etl.model;
import com.bytesw.bytebot.model.Channel;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
...@@ -10,15 +11,15 @@ import java.time.OffsetDateTime; ...@@ -10,15 +11,15 @@ import java.time.OffsetDateTime;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_SESSION") @Table(name="AVB_SESSION")
@NamedQuery(name = "Session.findByPK", query = "Select p from Session p where p.id = ?1") @NamedQuery(name = "Session.findByPK", query = "Select p from Session p where p.id = ?1")
public class Session { public class Session {
@Id @Id
@Column(name = "SESSION_ID") @Column(name = "SESSION_ID")
@TableGenerator(name = "BBOT_SESSION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_SESSION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_SESSION_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_SESSION_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_SESSION_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_SESSION_GENERATOR")
private Long id; private Long id;
@Column(name = "SESSION_DATE", nullable = false) @Column(name = "SESSION_DATE", nullable = false)
...@@ -31,8 +32,8 @@ public class Session { ...@@ -31,8 +32,8 @@ public class Session {
private OffsetDateTime responseDate; private OffsetDateTime responseDate;
@ManyToOne @ManyToOne
@JoinColumn(name = "CHANN_ID", referencedColumnName = "CHANN_ID") @JoinColumn(name = "chan_id", referencedColumnName = "chan_id")
private ETLChannel channel; private Channel channel;
@ManyToOne(optional = false) @ManyToOne(optional = false)
@JoinColumn(name = "USER_ID", referencedColumnName = "USER_ID") @JoinColumn(name = "USER_ID", referencedColumnName = "USER_ID")
......
...@@ -10,15 +10,15 @@ import java.time.OffsetDateTime; ...@@ -10,15 +10,15 @@ import java.time.OffsetDateTime;
@Cacheable(false) @Cacheable(false)
@Entity @Entity
@Getter @Setter @ToString @Getter @Setter @ToString
@Table(name="BBOT_ACTION_SESSION") @Table(name="AVB_ACTION_SESSION")
@NamedQuery(name = "SessionAction.findByPK", query = "Select p from SessionAction p where p.id = ?1") @NamedQuery(name = "SessionAction.findByPK", query = "Select p from SessionAction p where p.id = ?1")
public class SessionAction { public class SessionAction {
@Id @Id
@Column(name = "ASESS_ID") @Column(name = "ASESS_ID")
@TableGenerator(name = "BBOT_ACTION_SESSION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_ACTION_SESSION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_ACTION_SESSION_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_ACTION_SESSION_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_ACTION_SESSION_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_ACTION_SESSION_GENERATOR")
private Long id; private Long id;
@ManyToOne(optional = false) @ManyToOne(optional = false)
......
...@@ -8,15 +8,15 @@ import javax.persistence.*; ...@@ -8,15 +8,15 @@ import javax.persistence.*;
@Cacheable(false) @Cacheable(false)
@Entity @Getter @Setter @ToString @Entity @Getter @Setter @ToString
@Table(name="BBOT_USER") @Table(name="AVB_USER")
@NamedQuery(name = "User.findByPK", query = "Select p from User p where p.id = ?1") @NamedQuery(name = "User.findByPK", query = "Select p from User p where p.id = ?1")
public class User { public class User {
@Id @Id
@Column(name = "USER_ID") @Column(name = "USER_ID")
@TableGenerator(name = "BBOT_USER_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_USER_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_USER_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_USER_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE,generator = "BBOT_USER_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE,generator = "AVB_USER_GENERATOR")
private Long id; private Long id;
@Column(name = "USER_IDENT") @Column(name = "USER_IDENT")
......
...@@ -43,6 +43,7 @@ public class StartSessionMessageProcessed extends MessageProcessedSupport implem ...@@ -43,6 +43,7 @@ public class StartSessionMessageProcessed extends MessageProcessedSupport implem
Double timestamp = (Double) JsonUtils.getFieldFromJson(json, this.fields.get(TIMESTAMP_FIELD_NAME)); Double timestamp = (Double) JsonUtils.getFieldFromJson(json, this.fields.get(TIMESTAMP_FIELD_NAME));
if (timestamp != null) { if (timestamp != null) {
// Validate if the below method is ok
OffsetDateTime sessionDate = getOffsetDateTimeFromTimestampPython(timestamp); OffsetDateTime sessionDate = getOffsetDateTimeFromTimestampPython(timestamp);
if (sessionDate != null) { if (sessionDate != null) {
Session session = new Session(); Session session = new Session();
......
package com.bytesw.bytebot.etl.services; package com.bytesw.bytebot.etl.services;
import com.bytesw.bytebot.etl.beans.SessionBean; import com.bytesw.bytebot.etl.beans.SessionBean;
import com.bytesw.bytebot.etl.dao.ETLChannelRepository; import com.bytesw.bytebot.model.Channel;
import com.bytesw.bytebot.repository.ChannelRepository;
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;
import com.bytesw.bytebot.etl.dao.UserRepository; import com.bytesw.bytebot.etl.dao.UserRepository;
...@@ -31,7 +32,7 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes ...@@ -31,7 +32,7 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
private ETLMessageJDBCRepository messageJDBCRepository; private ETLMessageJDBCRepository messageJDBCRepository;
@Autowired @Autowired
private ETLChannelRepository channelRepository; private ChannelRepository chanelRepository;
@Autowired @Autowired
private UserRepository userRepository; private UserRepository userRepository;
...@@ -92,12 +93,12 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes ...@@ -92,12 +93,12 @@ public class UserMessageProcessed extends MessageProcessedSupport implements Mes
Session session = sessionFond.get(); Session session = sessionFond.get();
session.setLastEventDate(date); session.setLastEventDate(date);
if (channelIdentifier != null && session.getChannel() == null) { if (channelIdentifier != null && session.getChannel() == null) {
Optional<ETLChannel> channelFound = channelRepository.findByIdentifier(channelIdentifier); Optional<Channel> channelFound = chanelRepository.findByName(channelIdentifier);
// Optional<ETLChannel> channelFound = channelRepository.findByIdentifier(channelIdentifier);
if (channelFound.isPresent()) { if (channelFound.isPresent()) {
session.setChannel(channelFound.get()); session.setChannel(channelFound.get());
} }
} }
sessionBotRepository.save(session); sessionBotRepository.save(session);
} }
} }
......
...@@ -9,6 +9,7 @@ import com.bytesw.bytebot.model.enums.AgentTypeEnum; ...@@ -9,6 +9,7 @@ import com.bytesw.bytebot.model.enums.AgentTypeEnum;
import com.bytesw.bytebot.model.enums.LanguageEnum; import com.bytesw.bytebot.model.enums.LanguageEnum;
import com.bytesw.bytebot.model.enums.StatusEnum; import com.bytesw.bytebot.model.enums.StatusEnum;
import lombok.*; import lombok.*;
import org.hibernate.annotations.Type;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
...@@ -17,15 +18,15 @@ import java.util.List; ...@@ -17,15 +18,15 @@ import java.util.List;
@Entity @Entity
@Getter @Setter @ToString @EqualsAndHashCode(of = "id") @Getter @Setter @ToString @EqualsAndHashCode(of = "id")
@NoArgsConstructor @NoArgsConstructor
@Table(name = "BBOT_AGENT") @Table(name = "AVB_AGENT")
@NamedQuery(name = "Agent.findByPK", query = "Select u from Agent u where u.id = ?1") @NamedQuery(name = "Agent.findByPK", query = "Select u from Agent u where u.id = ?1")
public class Agent implements Serializable { public class Agent implements Serializable {
@Id @Id
@Column(name = "AGEN_ID") @Column(name = "AGEN_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_AGENT_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_AGENT_GENERATOR")
@TableGenerator(name = "BBOT_AGENT_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_AGENT_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_AGENT_SEQ", allocationSize = 1) pkColumnValue = "AVB_AGENT_SEQ", allocationSize = 1)
private Long id; private Long id;
@Column(name = "AGEN_IDEN") @Column(name = "AGEN_IDEN")
...@@ -45,6 +46,7 @@ public class Agent implements Serializable { ...@@ -45,6 +46,7 @@ public class Agent implements Serializable {
private String timezone; private String timezone;
@Lob @Lob
@Type(type = "org.hibernate.type.TextType")
@Basic(fetch = FetchType.LAZY) @Basic(fetch = FetchType.LAZY)
@Column(name = "AGEN_AVAT") @Column(name = "AGEN_AVAT")
private String avatar; private String avatar;
......
...@@ -20,18 +20,16 @@ import java.util.List; ...@@ -20,18 +20,16 @@ import java.util.List;
* licencia de uso que firmó con Byte. * licencia de uso que firmó con Byte.
*/ */
@Entity @Entity
@Table(name = "BBOT_CHANNEL") @Table(name = "AVB_CHANNEL")
@Getter @Getter @Setter @ToString
@Setter
@ToString
@EqualsAndHashCode(of = {"id"}, callSuper = false) @EqualsAndHashCode(of = {"id"}, callSuper = false)
public class Channel { public class Channel {
@Id @Id
@Column(name = "CHAN_ID") @Column(name = "CHAN_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_CHANNEL_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_CHANNEL_GENERATOR")
@TableGenerator(name = "BBOT_CHANNEL_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_CHANNEL_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_CHANNEL_SEQ", allocationSize = 1) pkColumnValue = "AVB_CHANNEL_SEQ", allocationSize = 1)
private Long id; private Long id;
@Column(name = "CHAN_IDEN") @Column(name = "CHAN_IDEN")
......
...@@ -20,7 +20,7 @@ import javax.persistence.*; ...@@ -20,7 +20,7 @@ import javax.persistence.*;
* licencia de uso que firmó con Byte. * licencia de uso que firmó con Byte.
*/ */
@Entity @Entity
@Table(name = "BBOT_CHANNEL_PARAM") @Table(name = "AVB_CHANNEL_PARAM")
@Getter @Getter
@Setter @Setter
@ToString @ToString
...@@ -29,9 +29,9 @@ public class ChannelParam { ...@@ -29,9 +29,9 @@ public class ChannelParam {
@Id @Id
@Column(name = "CHPA_ID") @Column(name = "CHPA_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_CHANNEL_PARAM_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_CHANNEL_PARAM_GENERATOR")
@TableGenerator(name = "BBOT_CHANNEL_PARAM_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_CHANNEL_PARAM_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_CHANNEL_PARAM_SEQ", allocationSize = 1) pkColumnValue = "AVB_CHANNEL_PARAM_SEQ", allocationSize = 1)
private Long id; private Long id;
@Column(name = "CHPA_IDEN") @Column(name = "CHPA_IDEN")
......
...@@ -11,15 +11,15 @@ import java.util.List; ...@@ -11,15 +11,15 @@ import java.util.List;
@ToString @ToString
@EqualsAndHashCode(of = "id") @EqualsAndHashCode(of = "id")
@NoArgsConstructor @NoArgsConstructor
@Table(name = "BBOT_COUNTRY") @Table(name = "AVB_COUNTRY")
@NamedQuery(name = "Country.findByPK", query = "Select u from Country u where u.id = ?1") @NamedQuery(name = "Country.findByPK", query = "Select u from Country u where u.id = ?1")
public class Country { public class Country {
@Id @Id
@Column(name = "COUN_ID") @Column(name = "COUN_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_COUNTRY_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_COUNTRY_GENERATOR")
@TableGenerator(name = "BBOT_COUNTRY_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_COUNTRY_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_COUNTRY_SEQ", allocationSize = 1) pkColumnValue = "AVB_COUNTRY_SEQ", allocationSize = 1)
private Long id; private Long id;
@Column(name = "COUN_NAME", nullable = false) @Column(name = "COUN_NAME", nullable = false)
......
...@@ -22,7 +22,7 @@ import java.util.List; ...@@ -22,7 +22,7 @@ import java.util.List;
* licencia de uso que firmó con Byte. * licencia de uso que firmó con Byte.
*/ */
@Entity @Entity
@Table(name = "BBOT_DEPLOYMENT_CHANNEL") @Table(name = "AVB_DEPLOYMENT_CHANNEL")
@Getter @Getter
@Setter @Setter
@ToString @ToString
...@@ -31,9 +31,9 @@ public class DeploymentChannel { ...@@ -31,9 +31,9 @@ public class DeploymentChannel {
@Id @Id
@Column(name = "DCHA_ID") @Column(name = "DCHA_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_DEPLOYMENT_CHANNEL_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_DEPLOYMENT_CHANNEL_GENERATOR")
@TableGenerator(name = "BBOT_DEPLOYMENT_CHANNEL_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_DEPLOYMENT_CHANNEL_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_DEPLOYMENT_CHANNEL_SEQ", allocationSize = 1) pkColumnValue = "AVB_DEPLOYMENT_CHANNEL_SEQ", allocationSize = 1)
private Long id; private Long id;
@Column(name = "DCHA_NAME") @Column(name = "DCHA_NAME")
......
...@@ -19,7 +19,7 @@ import javax.persistence.*; ...@@ -19,7 +19,7 @@ import javax.persistence.*;
* licencia de uso que firmó con Byte. * licencia de uso que firmó con Byte.
*/ */
@Entity @Entity
@Table(name = "BBOT_DEPLOYMENT_CHANNEL_PARAM_VALUE") @Table(name = "AVB_DEPLOYMENT_CHANNEL_PARAM_VALUE")
@Getter @Getter
@Setter @Setter
@ToString @ToString
...@@ -28,9 +28,9 @@ public class DeploymentChannelParamValue { ...@@ -28,9 +28,9 @@ public class DeploymentChannelParamValue {
@Id @Id
@Column(name = "CHPV_ID") @Column(name = "CHPV_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_DEPLOYMENT_CHANNEL_PARAM_VALUE_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_DEPLOYMENT_CHANNEL_PARAM_VALUE_GENERATOR")
@TableGenerator(name = "BBOT_DEPLOYMENT_CHANNEL_PARAM_VALUE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_DEPLOYMENT_CHANNEL_PARAM_VALUE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_DEPLOYMENT_CHANNEL_PARAM_VALUE_SEQ", allocationSize = 1) pkColumnValue = "AVB_DEPLOYMENT_CHANNEL_PARAM_VALUE_SEQ", allocationSize = 1)
private Long id; private Long id;
@ManyToOne @ManyToOne
......
...@@ -25,7 +25,7 @@ import java.time.OffsetDateTime; ...@@ -25,7 +25,7 @@ import java.time.OffsetDateTime;
* licencia de uso que firmó con Byte. * licencia de uso que firmó con Byte.
*/ */
@Entity @Entity
@Table(name = "BBOT_FREQUENT_QUESTION") @Table(name = "AVB_FREQUENT_QUESTION")
@Getter @Getter
@Setter @Setter
@ToString @ToString
...@@ -33,9 +33,9 @@ import java.time.OffsetDateTime; ...@@ -33,9 +33,9 @@ import java.time.OffsetDateTime;
public class FrequentQuestion { public class FrequentQuestion {
@Id @Id
@Column(name = "FQUE_ID") @Column(name = "FQUE_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_FREQUENT_QUESTION_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_FREQUENT_QUESTION_GENERATOR")
@TableGenerator(name = "BBOT_FREQUENT_QUESTION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_FREQUENT_QUESTION_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_FREQUENT_QUESTION_SEQ", initialValue = 1, allocationSize = 1) pkColumnValue = "AVB_FREQUENT_QUESTION_SEQ", initialValue = 1, allocationSize = 1)
private Long id; private Long id;
@Column(name = "FQUE_UUID") @Column(name = "FQUE_UUID")
......
...@@ -29,15 +29,15 @@ import lombok.ToString; ...@@ -29,15 +29,15 @@ import lombok.ToString;
@ToString @ToString
@EqualsAndHashCode(of = "id") @EqualsAndHashCode(of = "id")
@NoArgsConstructor @NoArgsConstructor
@Table(name = "BBOT_QUESTION_FILE") @Table(name = "AVB_QUESTION_FILE")
@NamedQuery(name = "QuestionFile.findByPK", query = "Select u from QuestionFile u where u.id = ?1") @NamedQuery(name = "QuestionFile.findByPK", query = "Select u from QuestionFile u where u.id = ?1")
public class QuestionFile { public class QuestionFile {
@Id @Id
@Column(name = "QUFI_ID") @Column(name = "QUFI_ID")
@TableGenerator(name = "BBOT_QUESTION_FILE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", @TableGenerator(name = "AVB_QUESTION_FILE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME",
valueColumnName = "SEQ_COUNT", pkColumnValue = "BBOT_QUESTION_FILE_SEQ", allocationSize = 1) valueColumnName = "SEQ_COUNT", pkColumnValue = "AVB_QUESTION_FILE_SEQ", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_QUESTION_FILE_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_QUESTION_FILE_GENERATOR")
private Long id; private Long id;
@Column(name = "QUFI_UUID", nullable = false) @Column(name = "QUFI_UUID", nullable = false)
......
...@@ -19,14 +19,14 @@ import javax.persistence.*; ...@@ -19,14 +19,14 @@ import javax.persistence.*;
@Entity @Entity
@Getter @Setter @ToString @EqualsAndHashCode(of = "id") @Getter @Setter @ToString @EqualsAndHashCode(of = "id")
@NoArgsConstructor @NoArgsConstructor
@Table(name = "BBOT_TIMEZONE") @Table(name = "AVB_TIMEZONE")
public class Timezone { public class Timezone {
@Id @Id
@Column(name = "TZON_ID") @Column(name = "TZON_ID")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "BBOT_TIMEZONE_GENERATOR") @GeneratedValue(strategy = GenerationType.TABLE, generator = "AVB_TIMEZONE_GENERATOR")
@TableGenerator(name = "BBOT_TIMEZONE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", @TableGenerator(name = "AVB_TIMEZONE_GENERATOR", table = "SEQUENCE_TABLE", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "BBOT_TIMEZONE_SEQ", allocationSize = 1) pkColumnValue = "AVB_TIMEZONE_SEQ", allocationSize = 1)
private Long id; private Long id;
@Column(name = "TZON_ZONE", nullable = false) @Column(name = "TZON_ZONE", nullable = false)
......
...@@ -3,6 +3,8 @@ package com.bytesw.bytebot.repository; ...@@ -3,6 +3,8 @@ package com.bytesw.bytebot.repository;
import com.bytesw.bytebot.model.Channel; import com.bytesw.bytebot.model.Channel;
import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.CrudRepository;
import java.util.Optional;
/** /**
* @author Sebastián Chicoma Sandmann. * @author Sebastián Chicoma Sandmann.
* @version 9-sep-2020 * @version 9-sep-2020
...@@ -15,4 +17,6 @@ import org.springframework.data.repository.CrudRepository; ...@@ -15,4 +17,6 @@ import org.springframework.data.repository.CrudRepository;
* licencia de uso que firmó con Byte. * licencia de uso que firmó con Byte.
*/ */
public interface ChannelRepository extends CrudRepository<Channel, Long> { public interface ChannelRepository extends CrudRepository<Channel, Long> {
Optional<Channel> findByName(String name);
} }
...@@ -422,6 +422,9 @@ public class AgentService extends CustomPaginationService<Agent> { ...@@ -422,6 +422,9 @@ public class AgentService extends CustomPaginationService<Agent> {
agentRepository.save(agent); agentRepository.save(agent);
} }
} }
else{
isValid = false;
}
return isValid; return isValid;
} }
......
...@@ -20,7 +20,7 @@ public abstract class DashboardService { ...@@ -20,7 +20,7 @@ public abstract class DashboardService {
public Map<String, Object> generateInfo(Map<String, Object> params) { public Map<String, Object> generateInfo(Map<String, Object> params) {
Map<String, Object> info = new HashMap<>(); Map<String, Object> info = new HashMap<>();
log.info(params);
if (params == null) { if (params == null) {
return info; return info;
} }
......
...@@ -4,7 +4,7 @@ server: ...@@ -4,7 +4,7 @@ server:
servlet.context-path: ${APPLICATION_PATH:/bytebot} servlet.context-path: ${APPLICATION_PATH:/bytebot}
port: ${APPLICATION_PORT:9077} port: ${APPLICATION_PORT:9077}
web: web:
static-content-location: file:C:/Users/aaron/Documents/proyectos/BYTEBOT/bytebot-workspace/dist/bytebot-html/ static-content-location: file:/home/cristian/Documents/CDB-Bytebot/bytebot-workspace/dist/bytebot-html/
#NOTA debe terminar con / #NOTA debe terminar con /
security: security:
...@@ -27,7 +27,7 @@ application: ...@@ -27,7 +27,7 @@ application:
byte-bot: byte-bot:
batch: batch:
chunk: 1 chunk: 1
cron: 0/5 * * * * * cron: 0/100 * * * * *
show-side-bar: false show-side-bar: false
test: ENC(OEchnTXpIZnCVdPNthgCZBfQjMt1AUS1) test: ENC(OEchnTXpIZnCVdPNthgCZBfQjMt1AUS1)
name: xdf-example name: xdf-example
...@@ -54,13 +54,13 @@ application: ...@@ -54,13 +54,13 @@ application:
services: services:
multi-tenant-conf: multi-tenant-conf:
exclude-service: /health exclude-service: /health
authorization-service.url: http://192.168.27.96:7580 authorization-service.url: http://localhost:17580
security: oauth2sso # none, basic, oauth2sso security: oauth2sso # none, basic, oauth2sso
security.method: true security.method: true
security-exclude: /service/oauth/userinfo, /actuator/**, /mylogout, /login, /logout, /goodbye, /error, /anon, /cache.manifest, /favicon.ico, /service/file, /goodbye security-exclude: /service/oauth/userinfo, /actuator/**, /mylogout, /login, /logout, /goodbye, /error, /anon, /cache.manifest, /favicon.ico, /service/file, /goodbye
messaging: messaging:
queue-support: activemq queue-support: activemq
multi-tenant: true multi-tenant: false
clustering: true clustering: true
database: true database: true
send-email: false send-email: false
...@@ -102,47 +102,62 @@ spring: ...@@ -102,47 +102,62 @@ spring:
name: xdf-example name: xdf-example
datasource: datasource:
database-type: mysql database-type: postgres
schemaName: BYTEBOT_BASE schemaName: avb
url: jdbc:mysql://192.168.27.96:3306/BYTEBOT_BASE?useSSL=false url: jdbc:postgresql://192.168.21.74:5432/avb?useSSL=false
driverClassName: 'com.mysql.cj.jdbc.Driver' driverClassName: 'org.postgresql.Driver'
username: root username: postgres
password: byte2k20 password:
minimum-idle: 10 minimum-idle: 10
maximum-pool-size: 10 maximum-pool-size: 10
validationQuery: SELECT 1 validationQuery: SELECT 1
testWhileIdle: true testWhileIdle: true
hikari.registerMbeans: true hikari.registerMbeans: true
security:
basepath: http://localhost:9077/bytebot
provider: byte # oracle, amazon
oauth2-client:
clientId: xdf-client
clientSecret: xdf-secret
accessTokenUri: http://192.168.1.6:18080/oauth/token
userAuthorizationUri: http://192.168.1.6:18080/oauth/authorize
oauth2-resource:
userInfoUri: http://192.168.1.6:18080/oauth/userinfo
logoutUri: http://192.168.1.6:18080/oauth/userlogout
tenants: tenants:
- -
id: T186A1 id: T186A1
servername: cdb.bytebot.t186a1 servername: cdb.bytebot.t186a1
datasource: datasource:
url: jdbc:mysql://192.168.27.96:3306/BYTEBOT_T186A1?useSSL=false database-type: postgres
username: root schemaName: public
password: byte2k20 url: jdbc:postgresql://localhost:5432/avb?useSSL=false
driverClassName: 'org.postgresql.Driver'
username: postgres
password: admin
minimum-idle: 10 minimum-idle: 10
maximum-pool-size: 100 maximum-pool-size: 10
validationQuery: SELECT 1 validationQuery: SELECT 1
testWhileIdle: true testWhileIdle: true
hikari.registerMbeans: true hikari.registerMbeans: true
security: security:
basepath: http://cdb.bytebot.t186a1:9077/bytebot basepath: http://localhost:9077/bytebot
provider: byte # oracle, amazon provider: byte # oracle, amazon
oauth2-client: oauth2-client:
clientId: xdf-client clientId: xdf-client
clientSecret: xdf-secret clientSecret: xdf-secret
accessTokenUri: http://192.168.27.96:8080/oauth/token accessTokenUri: http://192.168.1.6:18080/oauth/token
userAuthorizationUri: http://192.168.27.96:8080/oauth/authorize userAuthorizationUri: http://192.168.1.6:18080/oauth/authorize
oauth2-resource: oauth2-resource:
userInfoUri: http://192.168.27.96:8080/oauth/userinfo userInfoUri: http://192.168.1.6:18080/oauth/userinfo
logoutUri: http://192.168.27.96:8080/oauth/userlogout logoutUri: http://192.168.1.6:18080/oauth/userlogout
jpa: jpa:
open-in-view: false open-in-view: false
properties.hibernate: properties.hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect dialect: org.hibernate.dialect.PostgreSQLDialect #org.hibernate.dialect.MySQL5Dialect
format_sql: false format_sql: false
hbm2ddl.auto: none hbm2ddl.auto: none
jdbc: jdbc:
...@@ -150,20 +165,20 @@ spring: ...@@ -150,20 +165,20 @@ spring:
non_contextual_creation: true non_contextual_creation: true
show-sql: true show-sql: true
#session.store-type: jdbc #session.store-type: jdbc
activemq.broker-url: tcp://192.168.27.96:61616 activemq.broker-url: tcp://localhost:8161
batch: batch:
tenants: tenants:
- -
id: T186A1 id: T186A1
datasource: datasource:
jdbc-driver: com.mysql.cj.jdbc.Driver jdbc-driver: 'org.postgresql.Driver'
username: root username: postgres
password: byte2k20 password:
jdbc-url: jdbc:mysql://192.168.27.96:3306/BYTEBOT_T186A1?useSSL=false jdbc-url: jdbc:postgresql://192.168.21.74:5432/broker_rasa_db?useSSL=false
query: 'select * from events WHERE id > %d order by id asc' query: 'select * from events WHERE id > %d order by id asc'
logging.level.root: INFO logging.level.root: DEBUG
logging.pattern.console: '%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n' logging.pattern.console: '%d{dd-MM-yyyy HH:mm:ss.SSS} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n'
logging.level.com.zaxxer.hikari: ERROR logging.level.com.zaxxer.hikari: ERROR
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
<select id="getSummaryActionsByGoal" resultType="ActionSummaryByGoal" flushCache="true"> <select id="getSummaryActionsByGoal" resultType="ActionSummaryByGoal" flushCache="true">
SELECT COUNT(BAS.ASESS_ID) as count, SELECT COUNT(BAS.ASESS_ID) as count,
G.GOAL_IDENT as goal G.GOAL_IDENT as goal
FROM BBOT_ACTION_SESSION BAS FROM AVB_ACTION_SESSION BAS
LEFT JOIN BBOT_ACTION A ON BAS.ACTION_ID = A.ACTION_ID LEFT JOIN AVB_ACTION A ON BAS.ACTION_ID = A.ACTION_ID
LEFT JOIN BBOT_GOAL G ON G.GOAL_ID = A.GOAL_ID LEFT JOIN AVB_GOAL G ON G.GOAL_ID = A.GOAL_ID
WHERE A.ACTION_RGOAL = 'Y' WHERE A.GOAL_ID IS NOT NULL
AND BAS.ASESS_DATE &lt;= #{endDate} AND BAS.ASESS_DATE &gt;= #{startDate} AND BAS.ASESS_DATE &lt;= #{endDate} AND BAS.ASESS_DATE &gt;= #{startDate}
GROUP BY G.GOAL_ID GROUP BY G.GOAL_ID
</select> </select>
......
...@@ -6,13 +6,13 @@ ...@@ -6,13 +6,13 @@
<select id="countMessagesInRange" resultType="int" flushCache="true"> <select id="countMessagesInRange" resultType="int" flushCache="true">
SELECT COUNT(MESSA_ID) SELECT COUNT(MESSA_ID)
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
<select id="countMessagesInRangeForHour" resultType="int" flushCache="true"> <select id="countMessagesInRangeForHour" resultType="int" flushCache="true">
SELECT COUNT(MESSA_ID) SELECT COUNT(MESSA_ID)
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
COUNT(MESSA_ID) AS count, COUNT(MESSA_ID) AS count,
I.INTEN_IDENT as identifier, I.INTEN_IDENT as identifier,
I.INTEN_ID as id I.INTEN_ID as id
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL WHERE M.INTEN_ID IS NOT NULL
AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate} AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
...@@ -38,21 +38,21 @@ ...@@ -38,21 +38,21 @@
COUNT(MESSA_ID) AS count, COUNT(MESSA_ID) AS count,
I.INTEN_IDENT as identifier, I.INTEN_IDENT as identifier,
I.INTEN_ID as id I.INTEN_ID as id
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL WHERE M.INTEN_ID IS NOT NULL
AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate} AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY M.MESSA_CONT, I.INTEN_ID GROUP BY M.MESSA_CONT, I.INTEN_ID
ORDER BY count DESC) as BBOT_SUMMARY ORDER BY count DESC) as AVB_SUMMARY
</select> </select>
<select id="getSummaryByIntent" resultType="SummaryMessageByIntent" flushCache="true"> <select id="getSummaryByIntent" resultType="SummaryMessageByIntent" flushCache="true">
SELECT COUNT(MESSA_ID) AS count, SELECT COUNT(MESSA_ID) AS count,
I.INTEN_IDENT as identifier, I.INTEN_IDENT as identifier,
I.INTEN_ID as id I.INTEN_ID as id
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL WHERE M.INTEN_ID IS NOT NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
SELECT SELECT
COUNT(MESSA_ID) as count, COUNT(MESSA_ID) as count,
MESSA_CONT as identifier MESSA_CONT as identifier
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
WHERE INTEN_ID IS NULL WHERE INTEN_ID IS NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
GROUP BY MESSA_CONT GROUP BY MESSA_CONT
...@@ -75,17 +75,17 @@ ...@@ -75,17 +75,17 @@
SELECT count(*) FROM (SELECT SELECT count(*) FROM (SELECT
COUNT(MESSA_ID) as count, COUNT(MESSA_ID) as count,
MESSA_CONT as identifier MESSA_CONT as identifier
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
WHERE INTEN_ID IS NULL WHERE INTEN_ID IS NULL
AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate} AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY MESSA_CONT GROUP BY MESSA_CONT
ORDER BY count DESC, identifier DESC) as BBOT_SUMMARY ORDER BY count DESC, identifier DESC) as AVB_SUMMARY
</select> </select>
<select id="countByIntentAndRange" resultType="int" flushCache="true"> <select id="countByIntentAndRange" resultType="int" flushCache="true">
SELECT SELECT
COUNT(MESSA_ID) COUNT(MESSA_ID)
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE INTEN_ID IS NOT NULL WHERE INTEN_ID IS NOT NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<select id="countBySentencesAndRange" resultType="int" flushCache="true"> <select id="countBySentencesAndRange" resultType="int" flushCache="true">
SELECT SELECT
COUNT(MESSA_ID) COUNT(MESSA_ID)
FROM BBOT_MESSAGE WHERE INTEN_ID IS NULL FROM AVB_MESSAGE WHERE INTEN_ID IS NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
...@@ -102,19 +102,19 @@ ...@@ -102,19 +102,19 @@
( (
SELECT COUNT(MESSA_ID) as COUNT_MESSA, SELECT COUNT(MESSA_ID) as COUNT_MESSA,
S.USER_ID S.USER_ID
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_SESSION S ON M.SESSION_ID = S.SESSION_ID LEFT JOIN AVB_SESSION S ON M.SESSION_ID = S.SESSION_ID
WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate} WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY S.USER_ID GROUP BY S.USER_ID
) BBOT_INTENT_CUSTOMER ) AVB_INTENT_CUSTOMER
</select> </select>
<select id="countMessageByIntent" resultType="MessageByIntent" flushCache="true"> <select id="countMessageByIntent" resultType="MessageByIntent" flushCache="true">
SELECT SELECT
COUNT(M.MESSA_ID) as count, COUNT(M.MESSA_ID) as count,
I.INTEN_IDENT as identifier I.INTEN_IDENT as identifier
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate} WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY I.INTEN_IDENT GROUP BY I.INTEN_IDENT
...@@ -123,7 +123,7 @@ ...@@ -123,7 +123,7 @@
<select id="countCustomersBySentence" resultType="Double" flushCache="true"> <select id="countCustomersBySentence" resultType="Double" flushCache="true">
SELECT COUNT(distinct USER_ID) SELECT COUNT(distinct USER_ID)
FROM BBOT_SESSION FROM AVB_SESSION
WHERE SESSION_ID in (select DISTINCT SESSION_ID from BBOT_MESSAGE bm WHERE MESSA_CONT = #{sentence}) WHERE SESSION_ID in (select DISTINCT SESSION_ID from AVB_MESSAGE bm WHERE MESSA_CONT = #{sentence})
</select> </select>
</mapper> </mapper>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<select id="countMessagesInRange" resultType="int" flushCache="true"> <select id="countMessagesInRange" resultType="int" flushCache="true">
SELECT COUNT(RESPO_ID) SELECT COUNT(RESPO_ID)
FROM BBOT_RESPONSE FROM AVB_RESPONSE
WHERE RESPO_DATE &lt;= #{endDate} AND RESPO_DATE &gt;= #{startDate} WHERE RESPO_DATE &lt;= #{endDate} AND RESPO_DATE &gt;= #{startDate}
</select> </select>
</mapper> </mapper>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<select id="getLastDateInRange" resultType="java.sql.Timestamp" flushCache="true"> <select id="getLastDateInRange" resultType="java.sql.Timestamp" flushCache="true">
select SESSION_LEDAT select SESSION_LEDAT
FROM BBOT_SESSION bas FROM AVB_SESSION bas
WHERE SESSION_LEDAT &lt;= #{endDate} WHERE SESSION_LEDAT &lt;= #{endDate}
AND SESSION_LEDAT &gt;= #{startDate} AND SESSION_LEDAT &gt;= #{startDate}
ORDER BY SESSION_LEDAT DESC LIMIT 1 ORDER BY SESSION_LEDAT DESC LIMIT 1
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<select id="countSessionsInRange" resultType="int" flushCache="true"> <select id="countSessionsInRange" resultType="int" flushCache="true">
select COUNT(SESSION_ID) select COUNT(SESSION_ID)
FROM BBOT_SESSION bas FROM AVB_SESSION bas
WHERE SESSION_DATE &lt;= #{endDate} WHERE SESSION_DATE &lt;= #{endDate}
AND SESSION_DATE &gt;= #{startDate} AND SESSION_DATE &gt;= #{startDate}
</select> </select>
...@@ -23,16 +23,16 @@ ...@@ -23,16 +23,16 @@
select avg(SESSION_CANT) FROM select avg(SESSION_CANT) FROM
( (
select count(USER_ID) as SESSION_CANT select count(USER_ID) as SESSION_CANT
from BBOT_SESSION bas from AVB_SESSION bas
WHERE SESSION_DATE &lt;= #{endDate} AND SESSION_DATE &gt;= #{startDate} GROUP BY USER_ID WHERE SESSION_DATE &lt;= #{endDate} AND SESSION_DATE &gt;= #{startDate} GROUP BY USER_ID
) BBOT_SESSION_COUNT ) AVB_SESSION_COUNT
</select> </select>
<select id="avgFirstResponseTime" resultType="Long" flushCache="true"> <select id="avgFirstResponseTime" resultType="Long" flushCache="true">
SELECT AVG(RESP_TIME) SELECT AVG(RESP_TIME)
FROM ( FROM (
select TIMESTAMPDIFF(SECOND, SESSION_DATE, SESSION_FRDAT) AS RESP_TIME select TIMESTAMPDIFF(SECOND, SESSION_DATE, SESSION_FRDAT) AS RESP_TIME
from BBOT_SESSION bs WHERE SESSION_FRDAT IS NOT NULL from AVB_SESSION bs WHERE SESSION_FRDAT IS NOT NULL
AND SESSION_DATE &lt;= #{endDate} AND SESSION_DATE &lt;= #{endDate}
AND SESSION_DATE &gt;= #{startDate} AND SESSION_DATE &gt;= #{startDate}
) RESPONSE_DIF ) RESPONSE_DIF
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
<select id="getSummaryActionsByGoal" resultType="ActionSummaryByGoal" flushCache="true"> <select id="getSummaryActionsByGoal" resultType="ActionSummaryByGoal" flushCache="true">
SELECT COUNT(BAS.ASESS_ID) as count, SELECT COUNT(BAS.ASESS_ID) as count,
G.GOAL_IDENT as goal G.GOAL_IDENT as goal
FROM BBOT_ACTION_SESSION BAS FROM AVB_ACTION_SESSION BAS
LEFT JOIN BBOT_ACTION A ON BAS.ACTION_ID = A.ACTION_ID LEFT JOIN AVB_ACTION A ON BAS.ACTION_ID = A.ACTION_ID
LEFT JOIN BBOT_GOAL G ON G.GOAL_ID = A.GOAL_ID LEFT JOIN AVB_GOAL G ON G.GOAL_ID = A.GOAL_ID
WHERE A.ACTION_RGOAL = 'Y' WHERE A.GOAL_ID IS NOT NULL
AND BAS.ASESS_DATE &lt;= #{endDate} AND BAS.ASESS_DATE &gt;= #{startDate} AND BAS.ASESS_DATE &lt;= #{endDate} AND BAS.ASESS_DATE &gt;= #{startDate}
GROUP BY G.GOAL_ID GROUP BY G.GOAL_ID
</select> </select>
......
...@@ -6,13 +6,13 @@ ...@@ -6,13 +6,13 @@
<select id="countMessagesInRange" resultType="int" flushCache="true"> <select id="countMessagesInRange" resultType="int" flushCache="true">
SELECT COUNT(MESSA_ID) SELECT COUNT(MESSA_ID)
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
<select id="countMessagesInRangeForHour" resultType="int" flushCache="true"> <select id="countMessagesInRangeForHour" resultType="int" flushCache="true">
SELECT COUNT(MESSA_ID) SELECT COUNT(MESSA_ID)
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} WHERE MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
COUNT(MESSA_ID) AS count, COUNT(MESSA_ID) AS count,
I.INTEN_IDENT as identifier, I.INTEN_IDENT as identifier,
I.INTEN_ID as id I.INTEN_ID as id
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL WHERE M.INTEN_ID IS NOT NULL
AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate} AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
...@@ -38,21 +38,21 @@ ...@@ -38,21 +38,21 @@
COUNT(MESSA_ID) AS count, COUNT(MESSA_ID) AS count,
I.INTEN_IDENT as identifier, I.INTEN_IDENT as identifier,
I.INTEN_ID as id I.INTEN_ID as id
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL WHERE M.INTEN_ID IS NOT NULL
AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate} AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY M.MESSA_CONT, I.INTEN_ID GROUP BY M.MESSA_CONT, I.INTEN_ID
ORDER BY count DESC) as BBOT_SUMMARY ORDER BY count DESC) as AVB_SUMMARY
</select> </select>
<select id="getSummaryByIntent" resultType="SummaryMessageByIntent" flushCache="true"> <select id="getSummaryByIntent" resultType="SummaryMessageByIntent" flushCache="true">
SELECT COUNT(MESSA_ID) AS count, SELECT COUNT(MESSA_ID) AS count,
I.INTEN_IDENT as identifier, I.INTEN_IDENT as identifier,
I.INTEN_ID as id I.INTEN_ID as id
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL WHERE M.INTEN_ID IS NOT NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
SELECT SELECT
COUNT(MESSA_ID) as count, COUNT(MESSA_ID) as count,
MESSA_CONT as identifier MESSA_CONT as identifier
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
WHERE INTEN_ID IS NULL WHERE INTEN_ID IS NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
GROUP BY MESSA_CONT GROUP BY MESSA_CONT
...@@ -75,17 +75,17 @@ ...@@ -75,17 +75,17 @@
SELECT count(*) FROM (SELECT SELECT count(*) FROM (SELECT
COUNT(MESSA_ID) as count, COUNT(MESSA_ID) as count,
MESSA_CONT as identifier MESSA_CONT as identifier
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
WHERE INTEN_ID IS NULL WHERE INTEN_ID IS NULL
AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate} AND M.MESSA_DATE &lt;= #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY MESSA_CONT GROUP BY MESSA_CONT
ORDER BY count DESC, identifier DESC) as BBOT_SUMMARY ORDER BY count DESC, identifier DESC) as AVB_SUMMARY
</select> </select>
<select id="countByIntentAndRange" resultType="int" flushCache="true"> <select id="countByIntentAndRange" resultType="int" flushCache="true">
SELECT SELECT
COUNT(MESSA_ID) COUNT(MESSA_ID)
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE INTEN_ID IS NOT NULL WHERE INTEN_ID IS NOT NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<select id="countBySentencesAndRange" resultType="int" flushCache="true"> <select id="countBySentencesAndRange" resultType="int" flushCache="true">
SELECT SELECT
COUNT(MESSA_ID) COUNT(MESSA_ID)
FROM BBOT_MESSAGE WHERE INTEN_ID IS NULL FROM AVB_MESSAGE WHERE INTEN_ID IS NULL
AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate} AND MESSA_DATE &lt;= #{endDate} AND MESSA_DATE &gt;= #{startDate}
</select> </select>
...@@ -102,19 +102,19 @@ ...@@ -102,19 +102,19 @@
( (
SELECT COUNT(MESSA_ID) as COUNT_MESSA, SELECT COUNT(MESSA_ID) as COUNT_MESSA,
S.USER_ID S.USER_ID
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_SESSION S ON M.SESSION_ID = S.SESSION_ID LEFT JOIN AVB_SESSION S ON M.SESSION_ID = S.SESSION_ID
WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate} WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY S.USER_ID GROUP BY S.USER_ID
) BBOT_INTENT_CUSTOMER ) AVB_INTENT_CUSTOMER
</select> </select>
<select id="countMessageByIntent" resultType="MessageByIntent" flushCache="true"> <select id="countMessageByIntent" resultType="MessageByIntent" flushCache="true">
SELECT SELECT
COUNT(M.MESSA_ID) as count, COUNT(M.MESSA_ID) as count,
I.INTEN_IDENT as identifier I.INTEN_IDENT as identifier
FROM BBOT_MESSAGE M FROM AVB_MESSAGE M
LEFT JOIN BBOT_INTENT I LEFT JOIN AVB_INTENT I
ON M.INTEN_ID = I.INTEN_ID ON M.INTEN_ID = I.INTEN_ID
WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate} WHERE M.INTEN_ID IS NOT NULL AND M.MESSA_DATE &lt; #{endDate} AND M.MESSA_DATE &gt;= #{startDate}
GROUP BY I.INTEN_IDENT GROUP BY I.INTEN_IDENT
...@@ -123,7 +123,7 @@ ...@@ -123,7 +123,7 @@
<select id="countCustomersBySentence" resultType="int" flushCache="true"> <select id="countCustomersBySentence" resultType="int" flushCache="true">
SELECT COUNT(distinct USER_ID) SELECT COUNT(distinct USER_ID)
FROM BBOT_SESSION FROM AVB_SESSION
WHERE SESSION_ID in (select DISTINCT SESSION_ID from BBOT_MESSAGE bm WHERE MESSA_CONT = #{sentence}) WHERE SESSION_ID in (select DISTINCT SESSION_ID from AVB_MESSAGE bm WHERE MESSA_CONT = #{sentence})
</select> </select>
</mapper> </mapper>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<select id="countMessagesInRange" resultType="int" flushCache="true"> <select id="countMessagesInRange" resultType="int" flushCache="true">
SELECT COUNT(RESPO_ID) SELECT COUNT(RESPO_ID)
FROM BBOT_RESPONSE FROM AVB_RESPONSE
WHERE RESPO_DATE &lt;= #{endDate} AND RESPO_DATE &gt;= #{startDate} WHERE RESPO_DATE &lt;= #{endDate} AND RESPO_DATE &gt;= #{startDate}
</select> </select>
</mapper> </mapper>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<select id="getLastDateInRange" resultType="java.sql.Timestamp" flushCache="true"> <select id="getLastDateInRange" resultType="java.sql.Timestamp" flushCache="true">
select SESSION_LEDAT select SESSION_LEDAT
FROM BBOT_SESSION bas FROM AVB_SESSION bas
WHERE SESSION_LEDAT &lt;= #{endDate} WHERE SESSION_LEDAT &lt;= #{endDate}
AND SESSION_LEDAT &gt;= #{startDate} AND SESSION_LEDAT &gt;= #{startDate}
ORDER BY SESSION_LEDAT DESC LIMIT 1 ORDER BY SESSION_LEDAT DESC LIMIT 1
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<select id="countSessionsInRange" resultType="int" flushCache="true"> <select id="countSessionsInRange" resultType="int" flushCache="true">
select COUNT(SESSION_ID) select COUNT(SESSION_ID)
FROM BBOT_SESSION bas FROM AVB_SESSION bas
WHERE SESSION_DATE &lt;= #{endDate} WHERE SESSION_DATE &lt;= #{endDate}
AND SESSION_DATE &gt;= #{startDate} AND SESSION_DATE &gt;= #{startDate}
</select> </select>
...@@ -23,9 +23,9 @@ ...@@ -23,9 +23,9 @@
select avg(SESSION_CANT) FROM select avg(SESSION_CANT) FROM
( (
select count(USER_ID) as SESSION_CANT select count(USER_ID) as SESSION_CANT
from BBOT_SESSION bas from AVB_SESSION bas
WHERE SESSION_DATE &lt;= #{endDate} AND SESSION_DATE &gt;= #{startDate} GROUP BY USER_ID WHERE SESSION_DATE &lt;= #{endDate} AND SESSION_DATE &gt;= #{startDate} GROUP BY USER_ID
) BBOT_SESSION_COUNT ) AVB_SESSION_COUNT
</select> </select>
<select id="avgFirstResponseTime" resultType="Double" flushCache="true"> <select id="avgFirstResponseTime" resultType="Double" flushCache="true">
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
DATE_PART('hour', SESSION_FRDAT - SESSION_DATE)) * 60 + DATE_PART('hour', SESSION_FRDAT - SESSION_DATE)) * 60 +
DATE_PART('minute', SESSION_FRDAT - SESSION_DATE)) * 60 + DATE_PART('minute', SESSION_FRDAT - SESSION_DATE)) * 60 +
DATE_PART('second', SESSION_FRDAT - SESSION_DATE) AS RESP_TIME DATE_PART('second', SESSION_FRDAT - SESSION_DATE) AS RESP_TIME
from BBOT_SESSION bs WHERE SESSION_FRDAT IS NOT null from AVB_SESSION bs WHERE SESSION_FRDAT IS NOT null
AND SESSION_DATE &lt;= #{endDate} AND SESSION_DATE &lt;= #{endDate}
AND SESSION_DATE &gt;= #{startDate} AND SESSION_DATE &gt;= #{startDate}
) RESPONSE_DIF ) RESPONSE_DIF
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<select id="getLastCorrelativeBySession" resultType="int" flushCache="true"> <select id="getLastCorrelativeBySession" resultType="int" flushCache="true">
SELECT IFNULL( (SELECT SELECT IFNULL( (SELECT
MESSA_CORRE MESSA_CORRE
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE SESSION_ID = ${sessionId} WHERE SESSION_ID = ${sessionId}
ORDER BY MESSA_CORRE DESC ORDER BY MESSA_CORRE DESC
LIMIT 1) ,0) as correlative LIMIT 1) ,0) as correlative
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<select id="getLastCorrelativeBySession" resultType="int" flushCache="true"> <select id="getLastCorrelativeBySession" resultType="int" flushCache="true">
SELECT IFNULL( (SELECT SELECT IFNULL( (SELECT
RESPO_CORR RESPO_CORR
FROM BBOT_RESPONSE FROM AVB_RESPONSE
WHERE SESSION_ID = ${sessionId} WHERE SESSION_ID = ${sessionId}
ORDER BY RESPO_CORR DESC ORDER BY RESPO_CORR DESC
LIMIT 1) ,0) as correlative LIMIT 1) ,0) as correlative
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
SESSION_DATE as sessionDate, SESSION_DATE as sessionDate,
SESSION_LEDAT as lastEventDate, SESSION_LEDAT as lastEventDate,
SESSION_FRDAT as responseDate, SESSION_FRDAT as responseDate,
CHANN_ID as channelId, chan_id as channelId,
USER_ID as userId USER_ID as userId
FROM BBOT_SESSION FROM AVB_SESSION
WHERE USER_ID = ${userId} WHERE USER_ID = ${userId}
ORDER BY SESSION_DATE DESC ORDER BY SESSION_DATE DESC
LIMIT 1 LIMIT 1
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<update id="updateLastEventDate" flushCache="true"> <update id="updateLastEventDate" flushCache="true">
UPDATE UPDATE
BBOT_SESSION SET AVB_SESSION SET
SESSION_LEDAT = ${lastEventDate} SESSION_LEDAT = ${lastEventDate}
WHERE SESSION_ID = ${sessionID} WHERE SESSION_ID = ${sessionID}
</update> </update>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<select id="getLastCorrelativeBySession" resultType="int" flushCache="true"> <select id="getLastCorrelativeBySession" resultType="int" flushCache="true">
SELECT coalesce( (SELECT SELECT coalesce( (SELECT
MESSA_CORRE MESSA_CORRE
FROM BBOT_MESSAGE FROM AVB_MESSAGE
WHERE SESSION_ID = ${sessionId} WHERE SESSION_ID = ${sessionId}
ORDER BY MESSA_CORRE DESC ORDER BY MESSA_CORRE DESC
LIMIT 1) ,0) as correlative LIMIT 1) ,0) as correlative
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<select id="getLastCorrelativeBySession" resultType="int" flushCache="true"> <select id="getLastCorrelativeBySession" resultType="int" flushCache="true">
SELECT coalesce( (SELECT SELECT coalesce( (SELECT
RESPO_CORR RESPO_CORR
FROM BBOT_RESPONSE FROM AVB_RESPONSE
WHERE SESSION_ID = ${sessionId} WHERE SESSION_ID = ${sessionId}
ORDER BY RESPO_CORR DESC ORDER BY RESPO_CORR DESC
LIMIT 1) ,0) as correlative LIMIT 1) ,0) as correlative
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
SESSION_DATE as sessionDate, SESSION_DATE as sessionDate,
SESSION_LEDAT as lastEventDate, SESSION_LEDAT as lastEventDate,
SESSION_FRDAT as responseDate, SESSION_FRDAT as responseDate,
CHANN_ID as channelId, chan_id as channelId,
USER_ID as userId USER_ID as userId
FROM BBOT_SESSION FROM AVB_SESSION
WHERE USER_ID = ${userId} WHERE USER_ID = ${userId}
ORDER BY SESSION_DATE DESC ORDER BY SESSION_DATE DESC
LIMIT 1 LIMIT 1
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<update id="updateLastEventDate" flushCache="true"> <update id="updateLastEventDate" flushCache="true">
UPDATE UPDATE
BBOT_SESSION SET AVB_SESSION SET
SESSION_LEDAT = ${lastEventDate} SESSION_LEDAT = ${lastEventDate}
WHERE SESSION_ID = ${sessionID} WHERE SESSION_ID = ${sessionID}
</update> </update>
......
database-type-xdf=mysql database-type-xdf=postgres
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment