Browse Source

升级为passcloud框架

lixing 2 years ago
parent
commit
c2de9709fb
33 changed files with 143 additions and 250 deletions
  1. 3 1
      README.md
  2. 26 47
      pom.xml
  3. 6 6
      src/main/java/com/persagy/apm/report/common/config/FeignConfig.java
  4. 5 1
      src/main/java/com/persagy/apm/report/common/utils/ApmStrUtils.java
  5. 1 1
      src/main/java/com/persagy/apm/report/common/utils/DateUtils.java
  6. 1 1
      src/main/java/com/persagy/apm/report/dependencies/centermiddleware/client/fallback/CenterMiddlewareWebClientFallbackFactory.java
  7. 1 1
      src/main/java/com/persagy/apm/report/dependencies/dmpalarm/client/fallback/DmpAlarmClientFallbackFactory.java
  8. 1 1
      src/main/java/com/persagy/apm/report/dependencies/energyefficiencyweb/client/fallback/EnergyEfficiencyClientFallbackFactory.java
  9. 1 1
      src/main/java/com/persagy/apm/report/dependencies/environment/client/fallback/EnvironmentWebClientFallbackFactory.java
  10. 2 2
      src/main/java/com/persagy/apm/report/dependencies/iotdataanalysis/service/impl/IDataAnalysisWebServiceImpl.java
  11. 1 1
      src/main/java/com/persagy/apm/report/dependencies/manualfilling/client/fallback/ManualFillingWebClientFallbackFactory.java
  12. 1 1
      src/main/java/com/persagy/apm/report/dependencies/manualfilling/service/impl/IEnergyItemDataServiceImpl.java
  13. 1 1
      src/main/java/com/persagy/apm/report/dependencies/saasweb/client/fallback/SaasWebClientFallbackFactory.java
  14. 1 1
      src/main/java/com/persagy/apm/report/dependencies/saasweb/service/impl/SaasWebServiceImpl.java
  15. 1 1
      src/main/java/com/persagy/apm/report/indicator/factory/EnergyEfficiencyFactory.java
  16. 1 1
      src/main/java/com/persagy/apm/report/indicator/factory/EnergyUsageFactory.java
  17. 1 1
      src/main/java/com/persagy/apm/report/indicator/factory/EnvFactory.java
  18. 1 1
      src/main/java/com/persagy/apm/report/outline/service/impl/ReportOutlineServiceImpl.java
  19. 1 1
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/ParagraphBuilder.java
  20. 1 1
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/ProjectParagraphBuilder.java
  21. 3 3
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/energybudget/AreaEnergyBudgetBuilder.java
  22. 2 2
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/energybudget/ProjectEnergyBudgetBuilder.java
  23. 3 3
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/energyefficiency/AreaEnergyEfficiencyBuilder.java
  24. 3 3
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/energyusage/ProjectEnergyUsageBuilder.java
  25. 4 4
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/env/AreaEnvBuilder.java
  26. 5 5
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/env/ProjectEnvBuilder.java
  27. 4 4
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/iot/AreaIotBuilder.java
  28. 3 3
      src/main/java/com/persagy/apm/report/paragraphs/service/impl/iot/ProjectIotBuilder.java
  29. 1 1
      src/main/java/com/persagy/apm/report/userconfig/reporttype/service/impl/ReportTypeServiceImpl.java
  30. 1 0
      src/main/resources/1.yml
  31. 56 23
      src/main/resources/bootstrap.yml
  32. 0 126
      src/main/resources/logback-spring.xml
  33. 1 1
      src/test/java/com/persagy/apm/report/indicator/factory/EnergyEfficiencyFactoryTest.java

+ 3 - 1
README.md

@@ -3,4 +3,6 @@
 # v4.0.1
 - 修复标准产品v4.0.0遗留问题
 # v4.1.0
-- 多租户改造
+- 多租户改造
+# v4.2.0
+- 升级passCloud框架

+ 26 - 47
pom.xml

@@ -7,7 +7,7 @@
     <parent>
         <groupId>com.persagy</groupId>
         <artifactId>apm-package</artifactId>
-        <version>3.0.1</version>
+        <version>v1.3.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>report-factory</artifactId>
@@ -20,15 +20,16 @@
 
     <repositories>
         <repository>
-            <id>integrated</id>
-            <name>releases Repository</name>
-            <url>http://47.93.132.139:8081/nexus/content/repositories/integrated/</url>
-        </repository>
-        <repository>
             <id>persagy</id>
             <name>persagy Repository</name>
             <url>http://47.93.132.139:8081/nexus/content/repositories/persagy/</url>
         </repository>
+        <repository>
+            <id>persagy2021-yushu-public</id>
+            <name>public</name>
+            <url>https://persagy2021-maven.pkg.coding.net/repository/yushu/public/</url>
+        </repository>
+
     </repositories>
 
     <dependencies>
@@ -52,58 +53,29 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <!-- apm 工具包 -->
+        <!-- passcloud 工具包 李兴封装 -->
         <dependency>
             <groupId>com.persagy</groupId>
             <artifactId>apm-common</artifactId>
-            <version>3.0.1</version>
             <exclusions>
                 <exclusion>
+                    <artifactId>starter-redis</artifactId>
                     <groupId>com.persagy</groupId>
-                    <artifactId>integrated-redis-spring-boot-starter</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
-        <!-- lang -->
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-        </dependency>
 
         <!-- gson json,java对象互转 -->
         <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
         </dependency>
-        <!-- 配置中心(包含注册中心) -->
-        <dependency>
-            <groupId>com.persagy</groupId>
-            <artifactId>integrated-config-client</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>xstream</artifactId>
-                    <groupId>com.thoughtworks.xstream</groupId>
-                </exclusion>
-            </exclusions>
-        </dependency>
 
-        <!-- 日志 -->
-        <dependency>
-            <groupId>com.persagy</groupId>
-            <artifactId>integrated-log-spring-boot-starter</artifactId>
-        </dependency>
-
-        <!-- feign -->
-        <dependency>
-            <groupId>com.persagy</groupId>
-            <artifactId>integrated-ribbon-spring-boot-starter</artifactId>
-        </dependency>
-
-        <!-- swagger -->
-        <dependency>
-            <groupId>com.persagy</groupId>
-            <artifactId>integrated-swagger2-spring-boot-starter</artifactId>
-        </dependency>
+<!--        &lt;!&ndash; swagger &ndash;&gt;-->
+<!--        <dependency>-->
+<!--            <groupId>com.persagy</groupId>-->
+<!--            <artifactId>integrated-swagger2-spring-boot-starter</artifactId>-->
+<!--        </dependency>-->
 
         <!--jep -->
         <dependency>
@@ -113,11 +85,11 @@
         </dependency>
 
         <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-elasticsearch -->
-        <dependency>
-            <groupId>org.springframework.data</groupId>
-            <artifactId>spring-data-elasticsearch</artifactId>
-            <version>3.2.13.RELEASE</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.data</groupId>-->
+<!--            <artifactId>spring-data-elasticsearch</artifactId>-->
+<!--            <version>3.2.13.RELEASE</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>com.thoughtworks.xstream</groupId>
@@ -162,5 +134,12 @@
             <version>8.3.0</version>
         </dependency>
         <!-- 链路追踪 -->
+
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+            <version>3.2.2</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 6 - 6
src/main/java/com/persagy/apm/report/common/config/FeignConfig.java

@@ -29,12 +29,12 @@ public class FeignConfig {
     private ObjectFactory<HttpMessageConverters> messageConverters;
 
 
-    @Bean
-    @Primary
-    @Scope(SCOPE_PROTOTYPE)
-    Encoder feignFormEncoder() {
-        return new SpringFormEncoder(new SpringEncoder(this.messageConverters));
-    }
+//    @Bean
+//    @Primary
+//    @Scope(SCOPE_PROTOTYPE)
+//    Encoder feignFormEncoder() {
+//        return new SpringFormEncoder(new SpringEncoder(this.messageConverters));
+//    }
 
 
     @Bean

+ 5 - 1
src/main/java/com/persagy/apm/report/common/utils/ApmStrUtils.java

@@ -2,6 +2,7 @@ package com.persagy.apm.report.common.utils;
 
 import cn.hutool.core.util.StrUtil;
 import com.persagy.apm.report.common.constants.DataConstants;
+import com.google.common.collect.Lists;
 
 import java.util.Arrays;
 import java.util.HashSet;
@@ -40,7 +41,7 @@ public class ApmStrUtils {
         if (StrUtil.isBlank(str)) {
             return null;
         }
-        return Arrays.asList(StrUtil.split(str, splitFlag));
+        return Lists.newArrayList(StrUtil.split(str, splitFlag));
     }
 
     /**
@@ -56,4 +57,7 @@ public class ApmStrUtils {
         return new HashSet<>(strList);
     }
 
+    public static void main(String[] args) {
+        System.out.println(str2List("1,2,3", ","));
+    }
 }

+ 1 - 1
src/main/java/com/persagy/apm/report/common/utils/DateUtils.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.report.common.utils;
 
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/centermiddleware/client/fallback/CenterMiddlewareWebClientFallbackFactory.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.report.dependencies.centermiddleware.client.fallback;
 
 import com.persagy.apm.report.dependencies.centermiddleware.client.CenterMiddlewareWebClient;
-import feign.hystrix.FallbackFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
 /**

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/dmpalarm/client/fallback/DmpAlarmClientFallbackFactory.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.report.dependencies.dmpalarm.client.fallback;
 
 import com.persagy.apm.report.dependencies.dmpalarm.client.DmpAlarmClient;
-import feign.hystrix.FallbackFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
 @Component

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/energyefficiencyweb/client/fallback/EnergyEfficiencyClientFallbackFactory.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.report.dependencies.energyefficiencyweb.client.fallback;
 
 import com.persagy.apm.report.dependencies.energyefficiencyweb.client.EnergyEfficiencyClient;
-import feign.hystrix.FallbackFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
 @Component

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/environment/client/fallback/EnvironmentWebClientFallbackFactory.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.report.dependencies.environment.client.fallback;
 
 import com.persagy.apm.report.dependencies.environment.client.EnvironmentWebClient;
-import feign.hystrix.FallbackFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
 /**

+ 2 - 2
src/main/java/com/persagy/apm/report/dependencies/iotdataanalysis/service/impl/IDataAnalysisWebServiceImpl.java

@@ -9,7 +9,7 @@ import com.persagy.apm.report.dependencies.iotdataanalysis.service.IDataAnalysis
 import com.persagy.framework.tenant.mybatis.datasource.db.holder.SaasContext;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
@@ -21,7 +21,7 @@ import java.util.Map;
 @Slf4j
 public class IDataAnalysisWebServiceImpl implements IDataAnalysisWebService {
 
-    @Value("${iot.data.analysis.url}")
+    @Value("${persagy.service.url.iot-data-analysis}")
     private String iotDataAnalysisUrl;
 
     @Override

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/manualfilling/client/fallback/ManualFillingWebClientFallbackFactory.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.report.dependencies.manualfilling.client.fallback;
 
 import com.persagy.apm.report.dependencies.manualfilling.client.ManualFillingWebClient;
-import feign.hystrix.FallbackFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
 @Component

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/manualfilling/service/impl/IEnergyItemDataServiceImpl.java

@@ -22,7 +22,7 @@ import com.persagy.apm.report.indicator.model.entity.BudgetDefine;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/saasweb/client/fallback/SaasWebClientFallbackFactory.java

@@ -1,7 +1,7 @@
 package com.persagy.apm.report.dependencies.saasweb.client.fallback;
 
 import com.persagy.apm.report.dependencies.saasweb.client.SaasWebClient;
-import feign.hystrix.FallbackFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
 /**

+ 1 - 1
src/main/java/com/persagy/apm/report/dependencies/saasweb/service/impl/SaasWebServiceImpl.java

@@ -18,7 +18,7 @@ import com.persagy.framework.tenant.mybatis.datasource.db.holder.SaasContext;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;

+ 1 - 1
src/main/java/com/persagy/apm/report/indicator/factory/EnergyEfficiencyFactory.java

@@ -20,7 +20,7 @@ import com.persagy.apm.report.userconfig.statisticsitems.enums.StatisticCodeEnum
 import com.persagy.apm.report.userconfig.statisticsitems.model.StatisticItem;
 import com.persagy.apm.report.userconfig.statisticsitems.service.IStatisticItemService;
 import org.apache.commons.lang3.StringUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;

+ 1 - 1
src/main/java/com/persagy/apm/report/indicator/factory/EnergyUsageFactory.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.report.indicator.factory;
 
+import com.google.common.collect.Lists;
 import com.persagy.apm.report.common.constants.DataConstants;
 import com.persagy.apm.report.common.utils.DataUtils;
 import com.persagy.apm.report.common.utils.DateUtils;
@@ -16,7 +17,6 @@ import com.persagy.apm.report.indicator.model.entity.EnergyUsageDefine;
 import com.persagy.apm.report.indicator.utils.IndicatorUtils;
 import com.persagy.apm.report.paragraphs.service.impl.energyusage.ProjectEnergyUsageBuilder;
 import com.persagy.apm.report.userconfig.function.model.Function;
-import org.assertj.core.util.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;

+ 1 - 1
src/main/java/com/persagy/apm/report/indicator/factory/EnvFactory.java

@@ -1,6 +1,5 @@
 package com.persagy.apm.report.indicator.factory;
 
-import com.alibaba.excel.util.CollectionUtils;
 import com.google.gson.Gson;
 import com.persagy.apm.report.common.constants.DataConstants;
 import com.persagy.apm.report.common.utils.DataUtils;
@@ -22,6 +21,7 @@ import com.persagy.apm.report.userconfig.statisticsitems.service.IStatisticItemS
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.util.*;
 

+ 1 - 1
src/main/java/com/persagy/apm/report/outline/service/impl/ReportOutlineServiceImpl.java

@@ -42,7 +42,7 @@ import com.persagy.apm.report.userconfig.reporttype.service.IReportTypeService;
 import com.persagy.common.exception.BusinessException;
 import com.persagy.framework.tenant.mybatis.datasource.db.config.DsThreadLocalProcessor;
 import org.apache.commons.lang.StringUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;

+ 1 - 1
src/main/java/com/persagy/apm/report/paragraphs/service/impl/ParagraphBuilder.java

@@ -17,7 +17,7 @@ import com.persagy.apm.report.userconfig.paragraph.service.IParagraphService;
 import com.persagy.apm.report.userconfig.paragraphcustom.model.ParagraphCustom;
 import com.persagy.apm.report.userconfig.paragraphcustom.service.IParagraphCustomService;
 import org.apache.commons.lang3.StringUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+ 1 - 1
src/main/java/com/persagy/apm/report/paragraphs/service/impl/ProjectParagraphBuilder.java

@@ -17,7 +17,7 @@ import com.persagy.apm.report.detail.paragraphvalue.model.vo.ParagraphContentVO;
 import com.persagy.apm.report.detail.paragraphvalue.service.IReportParagraphValueService;
 import com.persagy.apm.report.outline.model.ReportOutline;
 import com.persagy.apm.report.outline.service.IReportOutlineService;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;

+ 3 - 3
src/main/java/com/persagy/apm/report/paragraphs/service/impl/energybudget/AreaEnergyBudgetBuilder.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.report.paragraphs.service.impl.energybudget;
 
+import com.google.common.collect.Sets;
 import com.persagy.apm.report.detail.enums.AttrValueTypeEnum;
 import com.persagy.apm.report.detail.model.vo.AttrValueVO;
 import com.persagy.apm.report.detail.model.vo.GroupVO;
@@ -11,7 +12,6 @@ import com.persagy.apm.report.outline.service.IReportOutlineService;
 import com.persagy.apm.report.paragraphs.service.impl.AreaDepsParagraphBuilder;
 import com.persagy.apm.report.paragraphs.service.impl.ProjectParagraphBuilder;
 import org.apache.commons.lang3.StringUtils;
-import org.mockito.internal.util.collections.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -38,7 +38,7 @@ public class AreaEnergyBudgetBuilder extends AreaDepsParagraphBuilder {
             ParagraphContentVO paragraphContentVO, ReportOutline reportOutline) {
         // 将项目统计信息转换为map
         List<AttrValueVO> summary = paragraphContentVO.getSummary();
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 BudgetHeaderCodes.monthlyBudget.name(),
                 BudgetHeaderCodes.currentMonth.name()
         );
@@ -90,7 +90,7 @@ public class AreaEnergyBudgetBuilder extends AreaDepsParagraphBuilder {
         if (projectBudgetList != null) {
             for (ItemVO itemVO : projectBudgetList) {
                 List<AttrValueVO> attrs = itemVO.getAttrs();
-                Set<String> tmpCodeSet = Sets.newSet(
+                Set<String> tmpCodeSet = Sets.newHashSet(
                         BudgetHeaderCodes.monthlyProportion.name()
                 );
 

+ 2 - 2
src/main/java/com/persagy/apm/report/paragraphs/service/impl/energybudget/ProjectEnergyBudgetBuilder.java

@@ -15,7 +15,7 @@ import com.persagy.apm.report.indicator.factory.EnergyBudgetFactory;
 import com.persagy.apm.report.indicator.model.entity.BudgetDefine;
 import com.persagy.apm.report.outline.model.ReportOutline;
 import com.persagy.apm.report.paragraphs.service.impl.ProjectParagraphBuilder;
-import org.mockito.internal.util.collections.Sets;
+import com.google.common.collect.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -44,7 +44,7 @@ public class ProjectEnergyBudgetBuilder extends ProjectParagraphBuilder {
     public List<AttrValueVO> getSummary(
             List<GroupVO> groupVOList, List<ItemVO> itemVOList, List<String> projectIdList) {
 
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 BudgetContentCodes.currentMonth.name(),
                 BudgetContentCodes.monthlyBudget.name(),
                 BudgetContentCodes.aggregate.name(),

+ 3 - 3
src/main/java/com/persagy/apm/report/paragraphs/service/impl/energyefficiency/AreaEnergyEfficiencyBuilder.java

@@ -22,7 +22,7 @@ import com.persagy.apm.report.userconfig.function.service.IFunctionService;
 import com.persagy.apm.report.userconfig.paragraph.service.IParagraphService;
 import com.persagy.apm.report.userconfig.pargraphdefine.service.IParagraphDefineService;
 import com.persagy.apm.report.userconfig.statisticsitems.enums.QualifiedEnum;
-import org.mockito.internal.util.collections.Sets;
+import com.google.common.collect.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -63,13 +63,13 @@ public class AreaEnergyEfficiencyBuilder extends AreaIndicatorsParagraphBuilder
 
     @Override
     public ItemVO getIndicatorItem(Date reportDate, List<String> projectIds, String itemId) {
-        Set<String> sumCodeSet = Sets.newSet(
+        Set<String> sumCodeSet = Sets.newHashSet(
                 ProjectEnergyEfficiencyContentCodes.currentMonth.name(),
                 ProjectEnergyEfficiencyContentCodes.lastMonth.name(),
                 ProjectEnergyEfficiencyContentCodes.chainGrowth.name()
         );
 
-        Set<String> statisticCodeSet = Sets.newSet(
+        Set<String> statisticCodeSet = Sets.newHashSet(
                 ProjectEnergyEfficiencyContentCodes.isQualified.name(),
                 ProjectEnergyEfficiencyContentCodes.currentMonth.name()
         );

+ 3 - 3
src/main/java/com/persagy/apm/report/paragraphs/service/impl/energyusage/ProjectEnergyUsageBuilder.java

@@ -1,5 +1,6 @@
 package com.persagy.apm.report.paragraphs.service.impl.energyusage;
 
+import com.google.common.collect.Sets;
 import com.google.gson.Gson;
 import com.google.gson.JsonSyntaxException;
 import com.persagy.apm.report.common.utils.DataUtils;
@@ -19,7 +20,6 @@ import com.persagy.apm.report.outline.service.IReportOutlineService;
 import com.persagy.apm.report.paragraphs.service.impl.ProjectParagraphBuilder;
 import com.persagy.apm.report.userconfig.function.model.Function;
 import com.persagy.apm.report.userconfig.function.service.IFunctionService;
-import org.mockito.internal.util.collections.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -48,7 +48,7 @@ public class ProjectEnergyUsageBuilder extends ProjectParagraphBuilder {
         List<String> relatedProjectIds = reportOutlineService.queryRelatedProjectIds(reportOutline);
 
         List<AttrValueVO> summary = paragraphContentVO.getSummary();
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 EnergyUsageContentCodes.currentMonth.name(),
                 EnergyUsageContentCodes.chainRange.name(),
                 EnergyUsageContentCodes.sametimeRange.name()
@@ -112,7 +112,7 @@ public class ProjectEnergyUsageBuilder extends ProjectParagraphBuilder {
     public List<AttrValueVO> getSummary(
             List<GroupVO> groupVOList, List<ItemVO> itemVOList, List<String> projectIdList) {
 
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 EnergyUsageContentCodes.currentMonth.name(),
                 EnergyUsageContentCodes.lastMonth.name(),
                 EnergyUsageContentCodes.chainGrowth.name(),

+ 4 - 4
src/main/java/com/persagy/apm/report/paragraphs/service/impl/env/AreaEnvBuilder.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.report.paragraphs.service.impl.env;
 
-import com.alibaba.excel.util.CollectionUtils;
+import org.springframework.util.CollectionUtils;
 import com.google.gson.Gson;
 import com.persagy.apm.report.common.constants.DataConstants;
 import com.persagy.apm.report.common.utils.DataUtils;
@@ -24,7 +24,7 @@ import com.persagy.apm.report.paragraphs.service.impl.AreaIndicatorsParagraphBui
 import com.persagy.apm.report.paragraphs.utils.ParagraphUtils;
 import com.persagy.apm.report.userconfig.function.service.IFunctionService;
 import com.persagy.apm.report.userconfig.statisticsitems.enums.QualifiedEnum;
-import org.mockito.internal.util.collections.Sets;
+import com.google.common.collect.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -65,7 +65,7 @@ public class AreaEnvBuilder extends AreaIndicatorsParagraphBuilder {
         String projectCount = null;
 
         List<ItemVO> items = paragraphContentVO.getItems();
-        Set<String> attrCodeSet = Sets.newSet(
+        Set<String> attrCodeSet = Sets.newHashSet(
                 AreaEnvContentCodes.projectsCount.name(),
                 AreaEnvContentCodes.unqualifiedCount.name(),
                 AreaEnvContentCodes.qualifiedCount.name()
@@ -147,7 +147,7 @@ public class AreaEnvBuilder extends AreaIndicatorsParagraphBuilder {
         ItemVO itemVO = new ItemVO();
         List<AttrValueVO> attrs = initItem(itemVO, functionId);
 
-        Set<String> statisticCodeSet = Sets.newSet(
+        Set<String> statisticCodeSet = Sets.newHashSet(
                 ProjectEnvContentCodes.complianceRateIsQualified.name(),
                 ProjectEnvContentCodes.complianceRate.name()
         );

+ 5 - 5
src/main/java/com/persagy/apm/report/paragraphs/service/impl/env/ProjectEnvBuilder.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.report.paragraphs.service.impl.env;
 
-import com.alibaba.excel.util.CollectionUtils;
+import org.springframework.util.CollectionUtils;
 import com.google.gson.Gson;
 import com.google.gson.JsonSyntaxException;
 import com.persagy.apm.report.common.utils.DataUtils;
@@ -19,7 +19,7 @@ import com.persagy.apm.report.paragraphs.service.impl.ProjectParagraphBuilder;
 import com.persagy.apm.report.paragraphs.utils.ParagraphUtils;
 import com.persagy.apm.report.userconfig.function.model.Function;
 import com.persagy.apm.report.userconfig.function.service.IFunctionService;
-import org.mockito.internal.util.collections.Sets;
+import com.google.common.collect.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -45,7 +45,7 @@ public class ProjectEnvBuilder extends ProjectParagraphBuilder {
         List<AttrValueVO> results = new ArrayList<>();
 
         List<AttrValueVO> summary = paragraphContentVO.getSummary();
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 ProjectEnvContentCodes.alarmCount.name()
         );
         Map<String, AttrValueVO> dataMap = attrValueList2Map(codeSet, summary);
@@ -63,7 +63,7 @@ public class ProjectEnvBuilder extends ProjectParagraphBuilder {
         String minHandleProportionIndicator = null;
 
         List<ItemVO> items = paragraphContentVO.getItems();
-        Set<String> attrCodeSet = Sets.newSet(
+        Set<String> attrCodeSet = Sets.newHashSet(
                 ProjectEnvContentCodes.alarmCount.name(),
                 ProjectEnvContentCodes.handleProportion.name()
         );
@@ -113,7 +113,7 @@ public class ProjectEnvBuilder extends ProjectParagraphBuilder {
     @Override
     public List<AttrValueVO> getSummary(
             List<GroupVO> groupVOList, List<ItemVO> itemVOList, List<String> projectIdList) {
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 ProjectEnvContentCodes.alarmCount.name()
         );
         Map<String, AttrValueVO> sum = getSum(groupVOList, itemVOList, codeSet);

+ 4 - 4
src/main/java/com/persagy/apm/report/paragraphs/service/impl/iot/AreaIotBuilder.java

@@ -1,6 +1,6 @@
 package com.persagy.apm.report.paragraphs.service.impl.iot;
 
-import com.alibaba.excel.util.CollectionUtils;
+import org.springframework.util.CollectionUtils;
 import com.google.gson.Gson;
 import com.persagy.apm.report.common.constants.DataConstants;
 import com.persagy.apm.report.common.utils.DataUtils;
@@ -23,7 +23,7 @@ import com.persagy.apm.report.paragraphs.constants.StandardNames;
 import com.persagy.apm.report.paragraphs.service.impl.AreaIndicatorsParagraphBuilder;
 import com.persagy.apm.report.userconfig.function.service.IFunctionService;
 import com.persagy.apm.report.userconfig.statisticsitems.enums.QualifiedEnum;
-import org.mockito.internal.util.collections.Sets;
+import com.google.common.collect.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -53,7 +53,7 @@ public class AreaIotBuilder extends AreaIndicatorsParagraphBuilder {
         ItemVO itemVO = new ItemVO();
         List<AttrValueVO> attrs = initItem(itemVO, functionId);
 
-        Set<String> statisticCodeSet = Sets.newSet(
+        Set<String> statisticCodeSet = Sets.newHashSet(
                 ProjectIotContentCodes.isQualified.name(),
                 ProjectIotContentCodes.currentMonth.name()
         );
@@ -147,7 +147,7 @@ public class AreaIotBuilder extends AreaIndicatorsParagraphBuilder {
         String projectCountStr = simpleProjectList == null ? "0" : String.valueOf(simpleProjectList.size());
 
         List<ItemVO> items = paragraphContentVO.getItems();
-        Set<String> attrCodeSet = Sets.newSet(
+        Set<String> attrCodeSet = Sets.newHashSet(
                 AreaIotContentCodes.projectsCount.name(),
                 AreaIotContentCodes.unqualifiedCount.name()
         );

+ 3 - 3
src/main/java/com/persagy/apm/report/paragraphs/service/impl/iot/ProjectIotBuilder.java

@@ -1,6 +1,5 @@
 package com.persagy.apm.report.paragraphs.service.impl.iot;
 
-import com.alibaba.excel.util.CollectionUtils;
 import com.google.gson.Gson;
 import com.google.gson.JsonSyntaxException;
 import com.persagy.apm.report.common.constants.DataConstants;
@@ -19,9 +18,10 @@ import com.persagy.apm.report.outline.model.ReportOutline;
 import com.persagy.apm.report.paragraphs.service.impl.ProjectParagraphBuilder;
 import com.persagy.apm.report.userconfig.function.model.Function;
 import com.persagy.apm.report.userconfig.function.service.IFunctionService;
-import org.mockito.internal.util.collections.Sets;
+import com.google.common.collect.Sets;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import java.util.*;
 
@@ -44,7 +44,7 @@ public class ProjectIotBuilder extends ProjectParagraphBuilder {
 
         List<ItemVO> items = paragraphContentVO.getItems();
         String itemsSummary = null;
-        Set<String> codeSet = Sets.newSet(
+        Set<String> codeSet = Sets.newHashSet(
                 ProjectIotContentCodes.currentMonth.name(),
                 ProjectIotContentCodes.isQualified.name()
         );

+ 1 - 1
src/main/java/com/persagy/apm/report/userconfig/reporttype/service/impl/ReportTypeServiceImpl.java

@@ -30,7 +30,7 @@ import com.persagy.apm.report.dependencies.saasweb.service.ISaasWebService;
 import com.persagy.apm.report.common.utils.ApmStrUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;

+ 1 - 0
src/main/resources/1.yml

@@ -0,0 +1 @@
+persagy.service.url.iot-data-analysis: http://develop.persagy.com/iot-data-analysis

+ 56 - 23
src/main/resources/bootstrap.yml

@@ -5,9 +5,9 @@ spring:
     exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://${PERSAGY_REPORT_FACTORY_MYSQL_URL}/${persagy.db.tenant}?useSSL=false&useUnicode=false&autoReconnect=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
-    username: ${PERSAGY_MYSQL_USERNAME}
-    password: ${PERSAGY_MYSQL_PASSWORD}
+    url: jdbc:mysql://${persagy.mysql.ip}:${persagy.mysql.port}/${persagy.db_name.fm_saas}?useSSL=false&useUnicode=false&autoReconnect=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+    username: ${persagy.mysql.username}
+    password: ${persagy.mysql.password}
     # 指定使用 Druid 数据源
     type: com.alibaba.druid.pool.DruidDataSource
     druid:
@@ -35,11 +35,51 @@ spring:
       datasource:
         master:
           driverClassName: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://${PERSAGY_REPORT_FACTORY_MYSQL_URL}/${persagy.db.report_factory}?useSSL=false&useUnicode=false&autoReconnect=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
-          username: ${PERSAGY_MYSQL_USERNAME}
-          password: ${PERSAGY_MYSQL_PASSWORD}
+          url: jdbc:mysql://${persagy.mysql.ip}:${persagy.mysql.port}/${persagy.db_name.report_factory}?useSSL=false&useUnicode=false&autoReconnect=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+          username: ${persagy.mysql.username}
+          password: ${persagy.mysql.password}
+  cloud:
+    nacos:
+      config:
+        server-addr: ${persagy.nacos.ip}:${persagy.nacos.port}
+        file-extension: yml
+        namespace: ${persagy.nacos.namespace}
+        enabled: true
+        username: ${persagy.nacos.username}
+        password: ${persagy.nacos.password}
+        configLongPollTimeout: 6000
+        shared-configs:
+          # mysql数据库
+          - dataId: default
+          # 服务访问地址
+          - dataId: common
+      discovery:
+        username: ${persagy.nacos.username}
+        password: ${persagy.nacos.password}
+        server-addr: ${persagy.nacos.ip}:${persagy.nacos.port}
+        namespace: ${persagy.nacos.namespace}
+        metadata: # 元数据,用于权限服务实时获取各个服务的所有接口
+          management.context-path: ${server.servlet.context-path:}${spring.mvc.servlet.path:}${management.endpoints.web.base-path:}
+  jackson:
+    serialization:
+      write-dates-as-timestamps: true
+    time-zone: Asia/Shanghai
 
+#package:
+#  scan:
+#    # 实体包路径
+#    path: com.persagy.databillboardindicator.domain.pojo
+#    # 是否进行扫描,默认true
+#    flag: true
+#    # 是否进行扫描对比,默认true
+#    detailed: true
 
+
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+# 多租户配置
 tenant:
   switchover:
     datasource-db:
@@ -47,22 +87,15 @@ tenant:
       interceptor-by-header: true
       provider-by-jdbc-query-sql: select id,name,db_name,alias from t_tenant
       feign-interceptor-enable: true
-package:
-  scan:
-    # 实体包路径
-    path: com.persagy.databillboardindicator.domain.pojo
-    # 是否进行扫描,默认true
-    flag: true
-    # 是否进行扫描对比,默认true
-    detailed: true
-
-
-EUREKA_CLIENT_DEFAULT_ZONE: http://frame:4M7RAaRV0SGbg36@bz-develop.persagy.com/integrated-eureka/eureka/
-#EUREKA_CLIENT_DEFAULT_ZONE: http://frame:Hv7MpxJ5pBckigB@47.117.93.148/integrated-eureka/eureka/
-#CONFIG_SERVER_ID: poems-config
-
-mybatis-plus:
-  configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
+# 监测报告生成失败定时任务执行间隔(ms)
+failReportPeriod: 600000
+# 生成报告最长允许时间(min)
+maxGenerateMinutes: 10
 
+#logging:
+#  level:
+#    root: debug
+#    com:
+#      alibaba:
+#        nacos: debug

+ 0 - 126
src/main/resources/logback-spring.xml

@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-    <contextName>${APP_NAME}</contextName>
-    <springProperty name="APP_NAME" scope="context" source="spring.application.name"/>
-    <springProperty name="LOG_FILE" scope="context" source="logging.file" defaultValue="../logs/${APP_NAME}/application"/>
-    <springProperty name="LOG_POINT_FILE" scope="context" source="logging.file" defaultValue="../logs/${APP_NAME}/point"/>
-    <springProperty name="LOG_AUDIT_FILE" scope="context" source="logging.file" defaultValue="../logs/${APP_NAME}/audit"/>
-    <springProperty name="LOG_MAXFILESIZE" scope="context" source="logback.filesize" defaultValue="100MB"/>
-    <springProperty name="LOG_FILEMAXDAY" scope="context" source="logback.filemaxday" defaultValue="7"/>
-    <springProperty name="LOG_TOTALSIZE" scope="context" source="logback.totalsize" defaultValue="1GB"/>
-    <springProperty name="ServerIP" scope="context" source="spring.cloud.client.ip-address" defaultValue="0.0.0.0"/>
-    <springProperty name="ServerPort" scope="context" source="server.port" defaultValue="0000"/>
-
-    <!-- 彩色日志 -->
-    <!-- 彩色日志依赖的渲染类 -->
-    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
-    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
-    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
-
-    <!-- 彩色日志格式 -->
-    <property name="CONSOLE_LOG_PATTERN"
-              value="[${APP_NAME}:${ServerIP}:${ServerPort}] %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%level){blue} %clr(${PID}){magenta} %clr([%X{traceId}]){yellow} %clr([%thread]){orange} %clr(%logger){cyan} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}" />
-    <property name="CONSOLE_LOG_PATTERN_NO_COLOR" value="[${APP_NAME}:${ServerIP}:${ServerPort}] %d{yyyy-MM-dd HH:mm:ss.SSS} %level ${PID} [%X{traceId}] [%thread] %logger %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}" />
-
-    <!-- 控制台日志 -->
-    <appender name="StdoutAppender" class="ch.qos.logback.core.ConsoleAppender">
-        <withJansi>true</withJansi>
-<!--        <encoder>-->
-<!--            <pattern>${CONSOLE_LOG_PATTERN}</pattern>-->
-<!--            <charset>UTF-8</charset>-->
-<!--        </encoder>-->
-        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
-            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
-                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level logger_name:%logger{36} - [%tid] - message:%msg%n</pattern>
-            </layout>
-        </encoder>
-    </appender>
-    <!-- 按照每天生成常规日志文件 -->
-    <appender name="FileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${LOG_FILE}/${APP_NAME}.log</file>
-<!--        <encoder>-->
-<!--            <pattern>${CONSOLE_LOG_PATTERN_NO_COLOR}</pattern>-->
-<!--            <charset>UTF-8</charset>-->
-<!--        </encoder>-->
-        <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
-            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
-                <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level logger_name:%logger{36} - [%tid] - message:%msg%n</pattern>
-            </layout>
-        </encoder>
-        <!-- 基于时间的分包策略 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-			<fileNamePattern>${LOG_FILE}/${APP_NAME}.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
-			<!--单文件最大限制-->
-			<maxFileSize>${LOG_MAXFILESIZE}</maxFileSize>
-            <!--保留时间,单位:天-->
-            <maxHistory>${LOG_FILEMAXDAY}</maxHistory>
-            <!-- 日志总大小 -->
-            <totalSizeCap>${LOG_TOTALSIZE}</totalSizeCap>
-        </rollingPolicy>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>INFO</level>
-        </filter>
-    </appender>
-
-    <appender name="point_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${LOG_POINT_FILE}/point.log</file>
-        <encoder>
-            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}|${APP_NAME}|%msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 基于时间的分包策略 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-			<fileNamePattern>${LOG_POINT_FILE}/point.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
-			<!--单文件最大限制-->
-			<maxFileSize>${LOG_MAXFILESIZE}</maxFileSize>
-            <!--保留时间,单位:天-->
-            <maxHistory>${LOG_FILEMAXDAY}</maxHistory>
-            <!-- 日志总大小 -->
-            <totalSizeCap>${LOG_TOTALSIZE}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <appender name="audit_log" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${LOG_AUDIT_FILE}/audit.log</file>
-        <encoder>
-            <pattern>%msg%n</pattern>
-            <charset>UTF-8</charset>
-        </encoder>
-        <!-- 基于时间的分包策略 -->
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-			<fileNamePattern>${LOG_AUDIT_FILE}/audit.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
-			<!--单文件最大限制-->
-			<maxFileSize>${LOG_MAXFILESIZE}</maxFileSize>
-            <!--保留时间,单位:天-->
-            <maxHistory>${LOG_FILEMAXDAY}</maxHistory>
-            <!-- 日志总大小 -->
-            <totalSizeCap>${LOG_TOTALSIZE}</totalSizeCap>
-        </rollingPolicy>
-    </appender>
-
-    <appender name="file_async" class="ch.qos.logback.classic.AsyncAppender">
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="FileAppender"/>
-    </appender>
-    <appender name="point_log_async" class="ch.qos.logback.classic.AsyncAppender">
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="point_log"/>
-    </appender>
-    <logger name="com.persagy.log.util.PointUtil" level="info" addtivity="false">
-        <appender-ref ref="point_log_async" />
-    </logger>
-    <appender name="audit_log_async" class="ch.qos.logback.classic.AsyncAppender">
-        <discardingThreshold>0</discardingThreshold>
-        <appender-ref ref="audit_log"/>
-    </appender>
-    <logger name="com.persagy.log.service.impl.LoggerAuditServiceImpl" level="debug" addtivity="false">
-        <appender-ref ref="audit_log_async" />
-    </logger>
-	<!-- 剔除eureka client心跳日志 -->
-	<logger name="com.netflix.discovery.shared.resolver.aws.ConfigClusterResolver" level="WARN" />
-	
-    <root level="INFO">
-        <appender-ref ref="StdoutAppender"/>
-        <appender-ref ref="file_async"/>
-    </root>
-</configuration>

+ 1 - 1
src/test/java/com/persagy/apm/report/indicator/factory/EnergyEfficiencyFactoryTest.java

@@ -5,7 +5,7 @@ import com.persagy.apm.common.context.poems.PoemsContext;
 import com.persagy.apm.report.dependencies.energyefficiencyweb.model.vo.EnergyEfficiencyDataVO;
 import com.persagy.apm.report.detail.model.vo.AttrValueVO;
 import junit.framework.TestCase;
-import org.assertj.core.util.Lists;
+import com.google.common.collect.Lists;
 
 import java.util.ArrayList;
 import java.util.Date;