diff --git a/pom.xml b/pom.xml index b0139781f..53b37571f 100644 --- a/pom.xml +++ b/pom.xml @@ -348,6 +348,23 @@ commons-text 1.1 + + + + org.springframework.plugin + spring-plugin-core + 2.0.0.RELEASE + + + org.springframework.plugin + spring-plugin-metadata + 2.0.0.RELEASE + + + com.github.xiaoymin + knife4j-spring-boot-starter + 2.0.9 + diff --git a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java new file mode 100644 index 000000000..3b7d48c1c --- /dev/null +++ b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java @@ -0,0 +1,37 @@ +package com.glxp.api.config; + + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; + +@Configuration +@EnableSwagger2WebMvc +public class Knife4jConfiguration { + + @Value("${knife4j.enable:false}") + private boolean enable; + + @Bean(value = "defaultApi2") + public Docket defaultApi2() { + Docket docket = new Docket(DocumentationType.SWAGGER_2) + .apiInfo(new ApiInfoBuilder() + .title("UDI管理系统后台") + .description("UDI管理系统后台 - APIS") + .version("1.0") + .build()) + .enable(enable) + .select() + //这里指定Controller扫描包路径 + .apis(RequestHandlerSelectors.basePackage("com.glxp.api.controller")) + .paths(PathSelectors.any()) + .build(); + return docket; + } +} diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index 7177b91db..d727b2415 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -40,7 +40,9 @@ import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.TransactionIsolationLevel; +import org.springframework.aop.framework.AopContext; import org.springframework.beans.BeanUtils; +import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -85,6 +87,8 @@ public class HeartService { @Resource IoOrderInvoiceService orderInvoiceService; + private final ApplicationContext applicationContext; + //上传最近更新扫码单据 public BaseResponse uploadAllOrder(String syncTime) { SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest(); @@ -204,7 +208,7 @@ public class HeartService { private final RedisUtil redisUtil; - @Transactional + @Transactional(rollbackFor = Exception.class) public void chooseData(SyncDataSetEntity info, Date syncTime, BasicExportTypeEnum exportType) { Date now = new Date(); @@ -542,6 +546,7 @@ public class HeartService { return Arrays.stream(set).filter(i -> i == 1).findAny().isPresent(); } + @Transactional(rollbackFor = Exception.class) public void uploadData(BasicExportTypeEnum exportType, String taskId, Function dataMethod) { Integer status = BasicExportStatusEnum.SUCCESS.getCode(); Object data = dataMethod.apply(this); @@ -564,7 +569,7 @@ public class HeartService { .scheduleType(BasicProcessStatus.SCHEDULE_NORMAL) .remark(baseResponse.getMessage()) .build(); - this.insertExportStatus(exportStatus); + applicationContext.getBean(this.getClass()).insertExportStatus(exportStatus); if (baseResponse.getCode() != 20000) { throw new RuntimeException(baseResponse.getMessage()); } diff --git a/src/main/java/com/glxp/api/task/SyncHeartTask.java b/src/main/java/com/glxp/api/task/SyncHeartTask.java index fa769b8b7..d0ca80459 100644 --- a/src/main/java/com/glxp/api/task/SyncHeartTask.java +++ b/src/main/java/com/glxp/api/task/SyncHeartTask.java @@ -81,6 +81,7 @@ public class SyncHeartTask implements SchedulingConfigurer { redisUtil.set("SPS_SYNC_UPLOAD_DATA", curTime1); } } catch (Exception e) { + e.printStackTrace(); }