Логирование и связь с БД
* Добавли логироание Log4j * Настроил тестовую взаимосвязь с БД MySQL
This commit is contained in:
parent
6793efcc55
commit
6fa2baac7e
|
@ -3,3 +3,5 @@
|
|||
**/target/**
|
||||
.DS_Store
|
||||
/vk-bot/src/main/resources/config.properties
|
||||
*.log
|
||||
*.properties
|
||||
|
|
18
core/pom.xml
18
core/pom.xml
|
@ -11,5 +11,23 @@
|
|||
|
||||
<artifactId>consultant-core</artifactId>
|
||||
|
||||
<properties>
|
||||
<persistence.ver>1.0.2</persistence.ver>
|
||||
<lombok.ver>1.18.4</lombok.ver>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>javax.persistence</groupId>
|
||||
<artifactId>persistence-api</artifactId>
|
||||
<version>${persistence.ver}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>${lombok.ver}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,14 @@
|
|||
package org.sadtech.consultant.dao;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
public class NextStage {
|
||||
|
||||
private long id;
|
||||
private long idNext;
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package org.sadtech.consultant.dao;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
public class SaveStage {
|
||||
|
||||
@Id
|
||||
private long id;
|
||||
private long idStage;
|
||||
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
package org.sadtech.consultant.dao;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
|
||||
@Data
|
||||
@Entity
|
||||
public class SocialNetworks {
|
||||
|
||||
@Id
|
||||
private long id;
|
||||
private long idVk;
|
||||
private long idFacebook;
|
||||
private long phone;
|
||||
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package org.sadtech.consultant.dao;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
public class Stage {
|
||||
|
||||
@Id
|
||||
private long id;
|
||||
private String text;
|
||||
private String wordKeys;
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package org.sadtech.consultant.dao;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import java.util.List;
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
public class User {
|
||||
|
||||
@Id
|
||||
@GeneratedValue
|
||||
private long id;
|
||||
private String name;
|
||||
private String token;
|
||||
private String lastName;
|
||||
private String city;
|
||||
private List<SocialNetworks> socialNetworks;
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
|
||||
version="4.0">
|
||||
</web-app>
|
|
@ -22,6 +22,14 @@
|
|||
<target>6</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
@ -42,13 +50,11 @@
|
|||
<artifactId>spring-core</artifactId>
|
||||
<version>${spring.ver}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context</artifactId>
|
||||
<version>${spring.ver}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
|
@ -59,11 +65,6 @@
|
|||
<artifactId>spring-web</artifactId>
|
||||
<version>${spring.ver}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
<version>3.1.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-webmvc</artifactId>
|
||||
|
@ -74,6 +75,19 @@
|
|||
<artifactId>spring-core</artifactId>
|
||||
<version>5.1.3.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.data</groupId>
|
||||
<artifactId>spring-data-jpa</artifactId>
|
||||
<version>2.1.3.RELEASE</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
<version>3.1.0</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>jetty-util</artifactId>
|
||||
|
@ -85,7 +99,48 @@
|
|||
<artifactId>json</artifactId>
|
||||
<version>20180813</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.persistence</groupId>
|
||||
<artifactId>persistence-api</artifactId>
|
||||
<version>1.0.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>8.0.13</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-entitymanager</artifactId>
|
||||
<version>5.4.0.Final</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.4</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.17</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-core</artifactId>
|
||||
<version>5.2.10.Final</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-core</artifactId>
|
||||
<version>5.2.10.Final</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
||||
|
||||
</project>
|
|
@ -0,0 +1,77 @@
|
|||
package org.sadtech.vkbot.config;
|
||||
|
||||
import org.hibernate.jpa.HibernatePersistenceProvider;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
import org.springframework.jdbc.datasource.DriverManagerDataSource;
|
||||
import org.springframework.orm.jpa.JpaTransactionManager;
|
||||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.Properties;
|
||||
|
||||
@Configuration
|
||||
@EnableTransactionManagement
|
||||
@ComponentScan("org.sadtech.vkbot")
|
||||
@EnableJpaRepositories("org.sadtech.vkbot.repo")
|
||||
public class DataConfig {
|
||||
|
||||
private static final String PROPERTY_NAME_DATABASE_DRIVER = "com.mysql.jdbc.Driver";
|
||||
private static final String PROPERTY_NAME_DATABASE_URL = "jdbc:mysql://localhost:3306/testbd"+
|
||||
"?verifyServerCertificate=false"+
|
||||
"&useSSL=false"+
|
||||
"&requireSSL=false"+
|
||||
"&useLegacyDatetimeCode=false"+
|
||||
"&"+
|
||||
"&serverTimezone=UTC";
|
||||
private static final String PROPERTY_NAME_DATABASE_USERNAME = "root";
|
||||
private static final String PROPERTY_NAME_DATABASE_PASSWORD = "121314185398MAmaPApa";
|
||||
|
||||
private static final String PROPERTY_NAME_HIBERNATE_DIALECT = "org.hibernate.dialect.MySQL5Dialect";
|
||||
private static final String PROPERTY_NAME_HIBERNATE_SHOW_SQL = "true";
|
||||
private static final String PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN = "org.sadtech.vkbot";
|
||||
private static final String PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO = "create-drop";
|
||||
|
||||
@Bean
|
||||
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
|
||||
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
|
||||
entityManagerFactoryBean.setDataSource(dataSource());
|
||||
entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistenceProvider.class);
|
||||
entityManagerFactoryBean.setPackagesToScan(PROPERTY_NAME_ENTITYMANAGER_PACKAGES_TO_SCAN);
|
||||
entityManagerFactoryBean.setJpaProperties(hibernateProp());
|
||||
|
||||
return entityManagerFactoryBean;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public JpaTransactionManager transactionManager() {
|
||||
JpaTransactionManager transactionManager = new JpaTransactionManager();
|
||||
transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
|
||||
|
||||
return transactionManager;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public DataSource dataSource() {
|
||||
DriverManagerDataSource dataSource = new DriverManagerDataSource();
|
||||
|
||||
dataSource.setDriverClassName(PROPERTY_NAME_DATABASE_DRIVER);
|
||||
dataSource.setUrl(PROPERTY_NAME_DATABASE_URL);
|
||||
dataSource.setUsername(PROPERTY_NAME_DATABASE_USERNAME);
|
||||
dataSource.setPassword(PROPERTY_NAME_DATABASE_PASSWORD);
|
||||
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
private Properties hibernateProp() {
|
||||
Properties properties = new Properties();
|
||||
properties.put("hibernate.dialect", PROPERTY_NAME_HIBERNATE_DIALECT);
|
||||
properties.put("hibernate.show_sql", PROPERTY_NAME_HIBERNATE_SHOW_SQL);
|
||||
properties.put("hibernate.hbm2ddl.auto", PROPERTY_NAME_HIBERNATE_HBM2DDL_AUTO);
|
||||
return properties;
|
||||
}
|
||||
|
||||
}
|
|
@ -8,15 +8,20 @@ import com.vk.api.sdk.exceptions.ClientException;
|
|||
import com.vk.api.sdk.httpclient.HttpTransportClient;
|
||||
import com.vk.api.sdk.objects.groups.responses.GetLongPollServerResponse;
|
||||
import org.sadtech.vkbot.ResponseData;
|
||||
import org.sadtech.consultant.controller.Test;
|
||||
import org.sadtech.vkbot.TestLogic;
|
||||
import org.sadtech.vkbot.controller.Test;
|
||||
import org.sadtech.vkbot.service.UserService;
|
||||
import org.sadtech.vkbot.service.impl.UserServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
|
||||
|
||||
@Configuration
|
||||
@PropertySource("classpath:config.properties")
|
||||
@ComponentScan("org.sadtech.vkbot")
|
||||
public class SpringConfig {
|
||||
|
||||
@Value("${vk.groupID}")
|
||||
|
@ -75,6 +80,11 @@ public class SpringConfig {
|
|||
return new Test();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public UserService userService() {
|
||||
return new UserServiceImpl();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public ResponseData responseData() {
|
||||
return new ResponseData();
|
||||
|
|
|
@ -9,6 +9,7 @@ import org.springframework.web.servlet.DispatcherServlet;
|
|||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletRegistration;
|
||||
import javax.sql.DataSource;
|
||||
|
||||
@Configuration
|
||||
@ComponentScan("org.sadtech.vkbot.controller")
|
||||
|
@ -17,7 +18,7 @@ public class WebConfig implements WebApplicationInitializer {
|
|||
@Override
|
||||
public void onStartup(ServletContext servletContext) throws ServletException {
|
||||
AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
|
||||
context.register(SpringConfig.class, WebConfig.class);
|
||||
context.register(SpringConfig.class, WebConfig.class, DataConfig.class);
|
||||
context.setServletContext(servletContext);
|
||||
|
||||
ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new DispatcherServlet(context));
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package org.sadtech.consultant.controller;
|
||||
package org.sadtech.vkbot.controller;
|
||||
|
||||
import com.vk.api.sdk.actions.LongPoll;
|
||||
import com.vk.api.sdk.callback.longpoll.queries.GetLongPollEventsQuery;
|
||||
|
@ -8,10 +8,20 @@ import com.vk.api.sdk.client.actors.GroupActor;
|
|||
import com.vk.api.sdk.exceptions.ApiException;
|
||||
import com.vk.api.sdk.exceptions.ClientException;
|
||||
import com.vk.api.sdk.objects.groups.responses.GetLongPollServerResponse;
|
||||
import lombok.extern.log4j.Log4j;
|
||||
import org.json.JSONObject;
|
||||
import org.sadtech.vkbot.ResponseData;
|
||||
import org.sadtech.vkbot.dao.User;
|
||||
import org.sadtech.vkbot.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.EntityManagerFactory;
|
||||
|
||||
@Log4j
|
||||
public class Test extends Thread {
|
||||
|
||||
@Autowired
|
||||
|
@ -23,6 +33,9 @@ public class Test extends Thread {
|
|||
@Autowired
|
||||
private ResponseData responseData;
|
||||
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
private GetLongPollEventsResponse getLongPollEventsResponse = null;
|
||||
|
||||
public void run() {
|
||||
|
@ -34,7 +47,7 @@ public class Test extends Thread {
|
|||
} catch (ClientException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
log.info("Test");
|
||||
JSONObject jObject = new JSONObject(getResponse); // json
|
||||
// System.out.println(getResponse);
|
||||
String key = jObject.getString("key"); // get the name from data.
|
||||
|
@ -44,6 +57,11 @@ public class Test extends Thread {
|
|||
GetLongPollEventsQuery getLongPollEventsQuery = longPoll.getEvents(server, key, ts).waitTime(5);
|
||||
// Gson gson = new Gson();
|
||||
|
||||
User user = new User();
|
||||
user.setId(1);
|
||||
user.setName("Test");
|
||||
userService.addUser(user);
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
getLongPollEventsResponse = getLongPollEventsQuery.execute();
|
||||
|
@ -52,7 +70,7 @@ public class Test extends Thread {
|
|||
} catch (ClientException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// System.out.println(getLongPollEventsResponse);
|
||||
System.out.println(getLongPollEventsResponse);
|
||||
if (getLongPollEventsResponse.getUpdates().toArray().length != 0) {
|
||||
responseData.setJsonObjects(getLongPollEventsResponse.getUpdates());
|
||||
// JsonObject updates = getLongPollEventsResponse.getUpdates().get(0);
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package org.sadtech.vkbot.dao;
|
||||
|
||||
import lombok.Data;
|
||||
import org.hibernate.annotations.GenericGenerator;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
|
||||
@Entity
|
||||
@Data
|
||||
public class User {
|
||||
|
||||
@Id
|
||||
private long id;
|
||||
private String name;
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package org.sadtech.vkbot.repo;
|
||||
|
||||
import org.sadtech.vkbot.dao.User;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface UserRepository extends JpaRepository<User, Long> {
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package org.sadtech.vkbot.service;
|
||||
|
||||
import org.sadtech.vkbot.dao.User;
|
||||
|
||||
public interface UserService {
|
||||
|
||||
User addUser(User user);
|
||||
|
||||
void removeUser(long id);
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package org.sadtech.vkbot.service.impl;
|
||||
|
||||
import org.sadtech.vkbot.dao.User;
|
||||
import org.sadtech.vkbot.repo.UserRepository;
|
||||
import org.sadtech.vkbot.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
|
||||
public class UserServiceImpl implements UserService {
|
||||
|
||||
@Autowired
|
||||
private UserRepository userRepository;
|
||||
|
||||
@Override
|
||||
public User addUser(User user) {
|
||||
User savedUser = userRepository.saveAndFlush(user);
|
||||
return savedUser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUser(long id) {
|
||||
userRepository.deleteById(id);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue