Commit f2cd78e8 authored by Cristian Aguirre's avatar Cristian Aguirre

Minimal changes in ETL

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