From 2675577c2053f785189834d785bfd381349d2a79 Mon Sep 17 00:00:00 2001
From: 陈杰 <504987307@qq.com>
Date: Fri, 7 Aug 2020 15:52:24 +0800
Subject: [PATCH] 翼学云 增量接口
---
cloud/quartz/pom.xml | 5 +++++
cloud/quartz/src/main/java/com/sincere/quartz/QuartzApplication.java | 2 +-
cloud/quartz/src/main/java/com/sincere/quartz/Swagger2.java | 39 +++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/controller/YxyController.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/datasource/DataSourceConfig.java | 80 ++++++++++++++++++++++++++++++++++++++++++++------------------------------------
cloud/quartz/src/main/java/com/sincere/quartz/datasource/DataSourceType.java | 28 +++++++++++++++-------------
cloud/quartz/src/main/java/com/sincere/quartz/dto/AddStudentDto.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/dto/AddTeacherDto.java | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/dto/BaseDto.java | 43 +++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/dto/EditStudentDto.java | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/dto/EditTeacherDto.java | 41 +++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/dto/StudentView.java | 32 ++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/dto/TeacherView.java | 32 ++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/job/AddYxyJob.java | 18 ++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/job/BindPushJob.java | 209 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------
cloud/quartz/src/main/java/com/sincere/quartz/job/KQJob.java | 1102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cloud/quartz/src/main/java/com/sincere/quartz/job/SyncJob.java | 58 +++++++++++++++++++++++++++++-----------------------------
cloud/quartz/src/main/java/com/sincere/quartz/mapper/YxyMapper.java | 28 ++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/model/YxyStudent.java | 35 +++++++++++++++++++++++++++++------
cloud/quartz/src/main/java/com/sincere/quartz/model/YxyTeacher.java | 28 ++++++++++++++++++++++++----
cloud/quartz/src/main/java/com/sincere/quartz/service/YxyService.java | 28 ++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/service/impl/YxyServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/third/qiyehao/QYHUtils.java | 64 ++++++++++++++++++++++++++++++++--------------------------------
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYAddReadService.java | 413 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java | 2 +-
cloud/quartz/src/main/resources/mapper/YxyMapper.xml | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cloud/weigeng/src/main/java/com/sincere/weigeng/Swagger2.java | 39 ---------------------------------------
27 files changed, 1935 insertions(+), 817 deletions(-)
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/Swagger2.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/controller/YxyController.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/AddStudentDto.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/AddTeacherDto.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/BaseDto.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/EditStudentDto.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/EditTeacherDto.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/StudentView.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/dto/TeacherView.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/job/AddYxyJob.java
create mode 100644 cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYAddReadService.java
delete mode 100644 cloud/weigeng/src/main/java/com/sincere/weigeng/Swagger2.java
diff --git a/cloud/quartz/pom.xml b/cloud/quartz/pom.xml
index 26725d6..a456193 100644
--- a/cloud/quartz/pom.xml
+++ b/cloud/quartz/pom.xml
@@ -30,6 +30,11 @@
org.springframework.boot
+ spring-boot-starter-web
+ 2.2.5.RELEASE
+
+
+ org.springframework.boot
spring-boot-starter-test
test
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/QuartzApplication.java b/cloud/quartz/src/main/java/com/sincere/quartz/QuartzApplication.java
index bb541d6..9fd58a7 100644
--- a/cloud/quartz/src/main/java/com/sincere/quartz/QuartzApplication.java
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/QuartzApplication.java
@@ -15,12 +15,12 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
* @version 1.0
* @date 2019/11/27 0027 14:24
*/
+@EnableEurekaClient
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableTransactionManagement(order = 2) //设置事务执行顺序(需要在切换数据源之后,否则只走主库)
@EnableCaching
@EnableScheduling
@EnableFeignClients(basePackages = "com.sincere.quartz.feign")
-@EnableEurekaClient
@MapperScan("com.sincere.quartz.mapper")
public class QuartzApplication {
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/Swagger2.java b/cloud/quartz/src/main/java/com/sincere/quartz/Swagger2.java
new file mode 100644
index 0000000..f67e708
--- /dev/null
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/Swagger2.java
@@ -0,0 +1,39 @@
+package com.sincere.quartz;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+@EnableSwagger2
+@Configuration //让Spring来加载该类配置
+public class Swagger2 {
+
+ @Bean
+ public Docket createRestApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .apiInfo(apiInfo())
+ .enableUrlTemplating(false)
+ .select()
+ // 扫描所有有注解的api,用这种方式更灵活
+ .apis(RequestHandlerSelectors.basePackage("com.sincere.quartz.controller"))
+ .paths(PathSelectors.any())
+ .build();
+
+ }
+
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title("Spring Boot中使用Swagger2构建RESTful APIs")
+ .description("接口文档")
+ .termsOfServiceUrl("")
+ .version("1.0")
+ .build();
+ }
+}
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/controller/YxyController.java b/cloud/quartz/src/main/java/com/sincere/quartz/controller/YxyController.java
new file mode 100644
index 0000000..3607463
--- /dev/null
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/controller/YxyController.java
@@ -0,0 +1,74 @@
+package com.sincere.quartz.controller;
+
+import com.sincere.common.dto.smartCampus.SyncSchoolDto;
+import com.sincere.common.dto.smartCampus.SyncUserDto;
+import com.sincere.quartz.dto.BaseDto;
+import com.sincere.quartz.feign.ScFeign;
+import com.sincere.quartz.service.YxyService;
+import com.sincere.quartz.third.yixueyun.YXYAddReadService;
+import com.sincere.quartz.third.yixueyun.YXYReadService;
+import com.sincere.quartz.third.yixueyun.YXYWriteService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/sync")
+@Api(value = "同步")
+public class YxyController {
+
+ @Autowired
+ YXYReadService readService ;
+
+ @Autowired
+ YXYWriteService writeService ;
+
+ @Autowired
+ ScFeign scFeign;
+
+ @Autowired
+ YXYAddReadService addReadService ;
+
+ @Autowired
+ YxyService yxyService ;
+
+ @ApiOperation(value = "test")
+ @RequestMapping(value = "test",method = RequestMethod.GET)
+ public void test(){
+ addReadService.sync();
+ }
+
+ @ApiOperation(value = "syncTeacher")
+ @RequestMapping(value = "syncTeacher",method = RequestMethod.GET)
+ public BaseDto syncTeacher(String schoolId){
+ yxyService.updateTeacherBySchool(schoolId);
+ readService.syncTeacher(schoolId);
+ return new BaseDto() ;
+ }
+
+ @ApiOperation(value = "syncStudent")
+ @RequestMapping(value = "syncStudent",method = RequestMethod.GET)
+ public BaseDto syncStudent(String schoolId){
+ yxyService.updateStudentBySchool(schoolId);
+ readService.syncStudent(schoolId);
+ return new BaseDto() ;
+ }
+
+ @ApiOperation(value = "syncWrite")
+ @RequestMapping(value = "syncWrite",method = RequestMethod.GET)
+ public BaseDto syncWrite(int hxyId){
+ List schoolList = scFeign.selectSyncSchool();
+ for (SyncSchoolDto school : schoolList) {
+ if(school.getSchoolId() == hxyId){
+ List userList = scFeign.selectUser(school.getSchoolId());
+ writeService.syncUser(school, userList);
+ }
+ }
+ return new BaseDto();
+ }
+}
diff --git a/cloud/quartz/src/main/java/com/sincere/quartz/datasource/DataSourceConfig.java b/cloud/quartz/src/main/java/com/sincere/quartz/datasource/DataSourceConfig.java
index be8a995..1e2bb9b 100644
--- a/cloud/quartz/src/main/java/com/sincere/quartz/datasource/DataSourceConfig.java
+++ b/cloud/quartz/src/main/java/com/sincere/quartz/datasource/DataSourceConfig.java
@@ -12,45 +12,53 @@ import java.util.Map;
/**
* 数据源配置
+ *
*/
@Configuration
public class DataSourceConfig {
- @Bean(name = "master")
- @ConfigurationProperties(prefix = "datasource.master")
- public DataSource dataSource1() {
- return DataSourceBuilder.create().build();
- }
-
- @Bean(name = "slave")
- @ConfigurationProperties(prefix = "datasource.slave")
- public DataSource dataSource2() {
- return DataSourceBuilder.create().build();
- }
-
- @Bean(name = "yxy")
- @ConfigurationProperties(prefix = "datasource.yxy")
- public DataSource dataSource3() {
- return DataSourceBuilder.create().build();
- }
-
-
- @Bean(name = "dynamicDataSource")
- @Primary //优先使用,多数据源
- public DataSource dataSource() {
- DynamicDataSource dynamicDataSource = new DynamicDataSource();
- DataSource master = dataSource1();
- DataSource slave = dataSource2();
- DataSource yxy = dataSource3();
- //设置默认数据源
- dynamicDataSource.setDefaultTargetDataSource(master);
- //配置多数据源
- Map