Browse Source

切换到linux了

“lifuquan” 10 months ago
parent
commit
a2004962ce
38 changed files with 1649 additions and 1723 deletions
  1. 188 188
      .gitignore
  2. 5 5
      README.MD
  3. 55 55
      doc/dw_complain_realtime_alarm_h.sql
  4. 21 21
      doc/prod/gpload/alarm.sh
  5. 79 79
      doc/prod/gpload/alarm.yml
  6. 1 1
      doc/prod/run.sh
  7. 5 5
      doc/prod/stop.sh
  8. 21 21
      doc/test/gpload/alarm.sh
  9. 79 79
      doc/test/gpload/alarm.yml
  10. 1 1
      doc/test/run.sh
  11. 5 5
      doc/test/stop.sh
  12. 23 23
      doc/历史文档/历史版本/投诉1线投诉3线告警订阅.md
  13. 0 113
      doc/历史文档/告警数据字段信息/resultMap20230224163020.csv
  14. 63 63
      doc/历史文档/问题排查/20230113告警报错问题排查/20230113告警报错问题排查.md
  15. 3 3
      doc/开发文档/20240506.md
  16. 3 3
      doc/部署文档/正式环境/正式环境部署情况.md
  17. 45 45
      doc/需求文档/告警入库报错.txt
  18. 7 7
      doc/需求文档/告警数据入库需求汇总.md
  19. 116 116
      pom.xml
  20. 13 13
      src/main/java/com/nokia/alarm/AlarmApplication.java
  21. 57 0
      src/main/java/com/nokia/alarm/config/CronTaskConfig.java
  22. 31 50
      src/main/java/com/nokia/alarm/config/SchedulingConfig.java
  23. 18 18
      src/main/java/com/nokia/alarm/controller/TestController.java
  24. 19 19
      src/main/java/com/nokia/alarm/entity/MessageCfg.java
  25. 13 13
      src/main/java/com/nokia/alarm/entity/ResultInfo.java
  26. 58 58
      src/main/java/com/nokia/alarm/entity/ResultMap.java
  27. 37 37
      src/main/java/com/nokia/alarm/mapper/ResultMapDao.java
  28. 133 132
      src/main/java/com/nokia/alarm/service/AlarmSaveToFileService.java
  29. 68 68
      src/main/java/com/nokia/alarm/service/AlarmSaveToGPandPGService.java
  30. 116 116
      src/main/java/com/nokia/alarm/service/ApiCallService.java
  31. 48 48
      src/main/java/com/nokia/alarm/service/ResultMapService.java
  32. 119 119
      src/main/java/com/nokia/alarm/util/ExportUtil.java
  33. 87 87
      src/main/java/com/nokia/alarm/util/SDKUtil.java
  34. 20 20
      src/main/resources/application-prod.properties
  35. 17 17
      src/main/resources/application-test.properties
  36. 1 1
      src/main/resources/application.properties
  37. 51 51
      src/main/resources/logback-spring.xml
  38. 23 23
      src/test/com/nokia/alarm/AlarmApplicationTest.java

+ 188 - 188
.gitignore

@@ -1,188 +1,188 @@
-target/
+target/
-.vscode/### Java template
+.vscode/### Java template
-# Compiled class file
+# Compiled class file
-*.class
+*.class
-.vscode
+.vscode
-csv
+csv
-
+
-# Log file
+# Log file
-*.log
+*.log
-
+
-# BlueJ files
+# BlueJ files
-*.ctxt
+*.ctxt
-
+
-# Mobile Tools for Java (J2ME)
+# Mobile Tools for Java (J2ME)
-.mtj.tmp/
+.mtj.tmp/
-
+
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
+hs_err_pid*
-
+
-### Maven template
+### Maven template
-pom.xml.tag
+pom.xml.tag
-pom.xml.releaseBackup
+pom.xml.releaseBackup
-pom.xml.versionsBackup
+pom.xml.versionsBackup
-pom.xml.next
+pom.xml.next
-release.properties
+release.properties
-dependency-reduced-pom.xml
+dependency-reduced-pom.xml
-buildNumber.properties
+buildNumber.properties
-.mvn/timing.properties
+.mvn/timing.properties
-# https://github.com/takari/maven-wrapper#usage-without-binary-jar
+# https://github.com/takari/maven-wrapper#usage-without-binary-jar
-.mvn/wrapper/maven-wrapper.jar
+.mvn/wrapper/maven-wrapper.jar
-
+
-### VisualStudioCode template
+### VisualStudioCode template
-.vscode/*
+.vscode/*
-!.vscode/settings.json
+!.vscode/settings.json
-!.vscode/tasks.json
+!.vscode/tasks.json
-!.vscode/launch.json
+!.vscode/launch.json
-!.vscode/extensions.json
+!.vscode/extensions.json
-*.code-workspace
+*.code-workspace
-
+
-# Local History for Visual Studio Code
+# Local History for Visual Studio Code
-.history/
+.history/
-
+
-### JetBrains template
+### JetBrains template
-# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
-# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
-
+
-# User-specific stuff
+# User-specific stuff
-.idea/**/workspace.xml
+.idea/**/workspace.xml
-.idea/**/tasks.xml
+.idea/**/tasks.xml
-.idea/**/usage.statistics.xml
+.idea/**/usage.statistics.xml
-.idea/**/dictionaries
+.idea/**/dictionaries
-.idea/**/shelf
+.idea/**/shelf
-
+
-# Generated files
+# Generated files
-.idea/**/contentModel.xml
+.idea/**/contentModel.xml
-
+
-# Sensitive or high-churn files
+# Sensitive or high-churn files
-.idea/**/dataSources/
+.idea/**/dataSources/
-.idea/**/dataSources.ids
+.idea/**/dataSources.ids
-.idea/**/dataSources.local.xml
+.idea/**/dataSources.local.xml
-.idea/**/sqlDataSources.xml
+.idea/**/sqlDataSources.xml
-.idea/**/dynamic.xml
+.idea/**/dynamic.xml
-.idea/**/uiDesigner.xml
+.idea/**/uiDesigner.xml
-.idea/**/dbnavigator.xml
+.idea/**/dbnavigator.xml
-
+
-# Gradle
+# Gradle
-.idea/**/gradle.xml
+.idea/**/gradle.xml
-.idea/**/libraries
+.idea/**/libraries
-
+
-# Gradle and Maven with auto-import
+# Gradle and Maven with auto-import
-# When using Gradle or Maven with auto-import, you should exclude module files,
+# When using Gradle or Maven with auto-import, you should exclude module files,
-# since they will be recreated, and may cause churn.  Uncomment if using
+# since they will be recreated, and may cause churn.  Uncomment if using
-# auto-import.
+# auto-import.
-# .idea/artifacts
+# .idea/artifacts
-# .idea/compiler.xml
+# .idea/compiler.xml
-# .idea/jarRepositories.xml
+# .idea/jarRepositories.xml
-# .idea/modules.xml
+# .idea/modules.xml
-# .idea/*.iml
+# .idea/*.iml
-# .idea/modules
+# .idea/modules
-# *.iml
+# *.iml
-# *.ipr
+# *.ipr
-
+
-# CMake
+# CMake
-cmake-build-*/
+cmake-build-*/
-
+
-# Mongo Explorer plugin
+# Mongo Explorer plugin
-.idea/**/mongoSettings.xml
+.idea/**/mongoSettings.xml
-
+
-# File-based project format
+# File-based project format
-*.iws
+*.iws
-
+
-# IntelliJ
+# IntelliJ
-out/
+out/
-
+
-# mpeltonen/sbt-idea plugin
+# mpeltonen/sbt-idea plugin
-.idea_modules/
+.idea_modules/
-
+
-# JIRA plugin
+# JIRA plugin
-atlassian-ide-plugin.xml
+atlassian-ide-plugin.xml
-
+
-# Cursive Clojure plugin
+# Cursive Clojure plugin
-.idea/replstate.xml
+.idea/replstate.xml
-
+
-# Crashlytics plugin (for Android Studio and IntelliJ)
+# Crashlytics plugin (for Android Studio and IntelliJ)
-com_crashlytics_export_strings.xml
+com_crashlytics_export_strings.xml
-crashlytics.properties
+crashlytics.properties
-crashlytics-build.properties
+crashlytics-build.properties
-fabric.properties
+fabric.properties
-
+
-# Editor-based Rest Client
+# Editor-based Rest Client
-.idea/httpRequests
+.idea/httpRequests
-
+
-# Android studio 3.1+ serialized cache file
+# Android studio 3.1+ serialized cache file
-.idea/caches/build_file_checksums.ser
+.idea/caches/build_file_checksums.ser
-
+
-### Eclipse template
+### Eclipse template
-.metadata
+.metadata
-bin/
+bin/
-tmp/
+tmp/
-*.tmp
+*.tmp
-*.bak
+*.bak
-*.swp
+*.swp
-*~.nib
+*~.nib
-local.properties
+local.properties
-.settings/
+.settings/
-.loadpath
+.loadpath
-.recommenders
+.recommenders
-
+
-# External tool builders
+# External tool builders
-.externalToolBuilders/
+.externalToolBuilders/
-
+
-# Locally stored "Eclipse launch configurations"
+# Locally stored "Eclipse launch configurations"
-*.launch
+*.launch
-
+
-# PyDev specific (Python IDE for Eclipse)
+# PyDev specific (Python IDE for Eclipse)
-*.pydevproject
+*.pydevproject
-
+
-# CDT-specific (C/C++ Development Tooling)
+# CDT-specific (C/C++ Development Tooling)
-.cproject
+.cproject
-
+
-# CDT- autotools
+# CDT- autotools
-.autotools
+.autotools
-
+
-# Java annotation processor (APT)
+# Java annotation processor (APT)
-.factorypath
+.factorypath
-
+
-# PDT-specific (PHP Development Tools)
+# PDT-specific (PHP Development Tools)
-.buildpath
+.buildpath
-
+
-# sbteclipse plugin
+# sbteclipse plugin
-.target
+.target
-
+
-# Tern plugin
+# Tern plugin
-.tern-project
+.tern-project
-
+
-# TeXlipse plugin
+# TeXlipse plugin
-.texlipse
+.texlipse
-
+
-# STS (Spring Tool Suite)
+# STS (Spring Tool Suite)
-.springBeans
+.springBeans
-
+
-# Code Recommenders
+# Code Recommenders
-.recommenders/
+.recommenders/
-
+
-# Annotation Processing
+# Annotation Processing
-.apt_generated/
+.apt_generated/
-.apt_generated_test/
+.apt_generated_test/
-
+
-# Scala IDE specific (Scala & Java development for Eclipse)
+# Scala IDE specific (Scala & Java development for Eclipse)
-.cache-main
+.cache-main
-.scala_dependencies
+.scala_dependencies
-.worksheet
+.worksheet
-
+
-# Uncomment this line if you wish to ignore the project description file.
+# Uncomment this line if you wish to ignore the project description file.
-# Typically, this file would be tracked if it contains build/dependency configurations:
+# Typically, this file would be tracked if it contains build/dependency configurations:
-#.project
+#.project
-
+
-### Example user template template
+### Example user template template
-### Example user template
+### Example user template
-
+
-# IntelliJ project files
+# IntelliJ project files
-.idea
+.idea
-*.iml
+*.iml
-out
+out
-gen
+gen
-
+
-### Includes
+### Includes
-!lib/*
+!lib/*

+ 5 - 5
README.MD

@@ -1,5 +1,5 @@
-# 告警数据入库
+# 告警数据入库
-
+
-## v1.3说明
+## v1.3说明
-
+
-增加入库到服务请求分析PG数据库
+增加入库到服务请求分析PG数据库

+ 55 - 55
doc/dw_complain_realtime_alarm_h.sql

@@ -1,55 +1,55 @@
-CREATE TABLE tsfx.dw_complain_realtime_alarm_h
+CREATE TABLE tsfx.dw_complain_realtime_alarm_h
-(
+(
-    sdate              timestamp NULL,
+    sdate              timestamp NULL,
-    uniqueid           varchar(200) NULL,
+    uniqueid           varchar(200) NULL,
-    uniqueclearid      varchar(200) NULL,
+    uniqueclearid      varchar(200) NULL,
-    eventtime          varchar(50) NULL,
+    eventtime          varchar(50) NULL,
-    canceltime         varchar(50) NULL,
+    canceltime         varchar(50) NULL,
-    status             numeric NULL,
+    status             numeric NULL,
-    projectstatus      numeric NULL,
+    projectstatus      numeric NULL,
-    vendoralarmserial  varchar(200) NULL,
+    vendoralarmserial  varchar(200) NULL,
-    alarmtitle         varchar(200) NULL,
+    alarmtitle         varchar(200) NULL,
-    vendorseverity     varchar(200) NULL,
+    vendorseverity     varchar(200) NULL,
-    vendoralarmtype    varchar(200) NULL,
+    vendoralarmtype    varchar(200) NULL,
-    specificproblem    varchar(1000) NULL,
+    specificproblem    varchar(1000) NULL,
-    specificproblemid  varchar(200) NULL,
+    specificproblemid  varchar(200) NULL,
-    equipmentclass     varchar(200) NULL,
+    equipmentclass     varchar(200) NULL,
-    equipmentname      varchar(1000) NULL,
+    equipmentname      varchar(1000) NULL,
-    locateneclass      varchar(500) NULL,
+    locateneclass      varchar(500) NULL,
-    locatenename       varchar(1000) NULL,
+    locatenename       varchar(1000) NULL,
-    province           varchar(200) NULL,
+    province           varchar(200) NULL,
-    region             varchar(200) NULL,
+    region             varchar(200) NULL,
-    city               varchar(200) NULL,
+    city               varchar(200) NULL,
-    grid               varchar(200) NULL,
+    grid               varchar(200) NULL,
-    area               varchar(200) NULL,
+    area               varchar(200) NULL,
-    vendor             varchar(200) NULL,
+    vendor             varchar(200) NULL,
-    specialty          numeric NULL,
+    specialty          numeric NULL,
-    siteid             varchar(200) NULL,
+    siteid             varchar(200) NULL,
-    roomid             varchar(1000) NULL,
+    roomid             varchar(1000) NULL,
-    towersiteno        varchar(200) NULL,
+    towersiteno        varchar(200) NULL,
-    proequipmentstatus numeric NULL,
+    proequipmentstatus numeric NULL,
-    projectname        varchar(200) NULL,
+    projectname        varchar(200) NULL,
-    projectno          varchar(200) NULL,
+    projectno          varchar(200) NULL,
-    projectstarttime   varchar(200) NULL,
+    projectstarttime   varchar(200) NULL,
-    projectendtime     varchar(200) NULL,
+    projectendtime     varchar(200) NULL,
-    worksendstatus     numeric NULL,
+    worksendstatus     numeric NULL,
-    workstatus         numeric NULL,
+    workstatus         numeric NULL,
-    workno             varchar(200) NULL,
+    workno             varchar(200) NULL,
-    workarchivedtime   varchar(200) NULL,
+    workarchivedtime   varchar(200) NULL,
-    workdutydep        varchar(200) NULL,
+    workdutydep        varchar(200) NULL,
-    worksendperson     varchar(200) NULL,
+    worksendperson     varchar(200) NULL,
-    alarmlogicclass    varchar(200) NULL,
+    alarmlogicclass    varchar(200) NULL,
-    alarmlogicsubclass varchar(200) NULL,
+    alarmlogicsubclass varchar(200) NULL,
-    standardalarmname  varchar(1000) NULL,
+    standardalarmname  varchar(1000) NULL,
-    alarmseverity      numeric NULL,
+    alarmseverity      numeric NULL,
-    standardalarmid    varchar(500) NULL,
+    standardalarmid    varchar(500) NULL,
-    effectonequipment  varchar(200) NULL,
+    effectonequipment  varchar(200) NULL,
-    effectonbusiness   varchar(200) NULL,
+    effectonbusiness   varchar(200) NULL,
-    standardflag       numeric NULL,
+    standardflag       numeric NULL,
-    networktype        numeric NULL,
+    networktype        numeric NULL,
-    equipmentdn        varchar(500) NULL,
+    equipmentdn        varchar(500) NULL,
-    locatenedn         varchar(500) NULL,
+    locatenedn         varchar(500) NULL,
-    taccode            varchar(500) NULL,
+    taccode            varchar(500) NULL,
-    tacid              varchar(200) NULL,
+    tacid              varchar(200) NULL,
-    alarmtext          text NULL
+    alarmtext          text NULL
-) DISTRIBUTED BY (uniqueid);
+) DISTRIBUTED BY (uniqueid);

+ 21 - 21
doc/prod/gpload/alarm.sh

@@ -1,21 +1,21 @@
-#!/bin/bash
+#!/bin/bash
-
+
-source /usr/local/greenplum-db-clients/greenplum_loaders_path.sh
+source /usr/local/greenplum-db-clients/greenplum_loaders_path.sh
-
+
-new_date=$1
+new_date=$1
-
+
-# 修改gpload配置文件
+# 修改gpload配置文件
-sed -i 's/\/data1\/s130\/alarm\/csv\/resultMap[0-9]\{14\}.csv/\/data1\/s130\/alarm\/csv\/resultMap'${new_date}'.csv/' /data1/s130/alarm/gpload/alarm.yml
+sed -i 's/\/data1\/s130\/alarm\/csv\/resultMap[0-9]\{14\}.csv/\/data1\/s130\/alarm\/csv\/resultMap'${new_date}'.csv/' /data1/s130/alarm/gpload/alarm.yml
-
+
-# 由于gpload需要输入密码,这里需要使用expect执行
+# 由于gpload需要输入密码,这里需要使用expect执行
-password=Richr00t#
+password=Richr00t#
-
+
-expect -c "
+expect -c "
-set timeout 300
+set timeout 300
-spawn gpload -f /data1/s130/alarm/gpload/alarm.yml
+spawn gpload -f /data1/s130/alarm/gpload/alarm.yml
-expect {
+expect {
-\"connecting (yes/no)?\" { send \"yes\n\";exp_continue }
+\"connecting (yes/no)?\" { send \"yes\n\";exp_continue }
-\"Password:\" { send \"${password}\n\"; exp_continue}
+\"Password:\" { send \"${password}\n\"; exp_continue}
-timeout { puts \"超时\" exit 2}
+timeout { puts \"超时\" exit 2}
-}
+}
-"
+"

+ 79 - 79
doc/prod/gpload/alarm.yml

@@ -1,79 +1,79 @@
-VERSION: 1.0.0.1
+VERSION: 1.0.0.1
-DATABASE: sqmmt
+DATABASE: sqmmt
-USER: gpadmin
+USER: gpadmin
-HOST: 192.168.70.109
+HOST: 192.168.70.109
-PORT: 5432
+PORT: 5432
-GPLOAD:
+GPLOAD:
-  INPUT:
+  INPUT:
-    - SOURCE:
+    - SOURCE:
-        LOCAL_HOSTNAME:
+        LOCAL_HOSTNAME:
-          - 192.168.70.130
+          - 192.168.70.130
-        PORT: 54321
+        PORT: 54321
-        FILE:
+        FILE:
-          - /data1/s130/alarm/csv/resultMap20220628132304.csv
+          - /data1/s130/alarm/csv/resultMap20220628132304.csv
-    - FORMAT: csv
+    - FORMAT: csv
-    - DELIMITER: ","
+    - DELIMITER: ","
-    - HEADER: false
+    - HEADER: false
-    - ENCODING: utf-8
+    - ENCODING: utf-8
-    - ERROR_LIMIT: 20000000
+    - ERROR_LIMIT: 20000000
-    - LOG_ERRORS: true
+    - LOG_ERRORS: true
-  EXTERNAL:
+  EXTERNAL:
-    - SCHEMA: tsfx
+    - SCHEMA: tsfx
-  OUTPUT:
+  OUTPUT:
-    - TABLE: tsfx.dw_complain_realtime_alarm_h
+    - TABLE: tsfx.dw_complain_realtime_alarm_h
-    - MODE: merge
+    - MODE: merge
-    - MATCH_COLUMNS:
+    - MATCH_COLUMNS:
-        - uniqueid
+        - uniqueid
-        - sdate
+        - sdate
-    - UPDATE_COLUMNS:
+    - UPDATE_COLUMNS:
-        - sdate
+        - sdate
-        - uniqueclearid
+        - uniqueclearid
-        - eventtime
+        - eventtime
-        - canceltime
+        - canceltime
-        - status
+        - status
-        - projectstatus
+        - projectstatus
-        - vendoralarmserial
+        - vendoralarmserial
-        - alarmtitle
+        - alarmtitle
-        - vendorseverity
+        - vendorseverity
-        - vendoralarmtype
+        - vendoralarmtype
-        - specificproblem
+        - specificproblem
-        - specificproblemid
+        - specificproblemid
-        - equipmentclass
+        - equipmentclass
-        - equipmentname
+        - equipmentname
-        - locateneclass
+        - locateneclass
-        - locatenename
+        - locatenename
-        - province
+        - province
-        - region
+        - region
-        - city
+        - city
-        - grid
+        - grid
-        - area
+        - area
-        - vendor
+        - vendor
-        - specialty
+        - specialty
-        - siteid
+        - siteid
-        - roomid
+        - roomid
-        - towersiteno
+        - towersiteno
-        - proequipmentstatus
+        - proequipmentstatus
-        - projectname
+        - projectname
-        - projectno
+        - projectno
-        - projectstarttime
+        - projectstarttime
-        - projectendtime
+        - projectendtime
-        - worksendstatus
+        - worksendstatus
-        - workstatus
+        - workstatus
-        - workno
+        - workno
-        - workarchivedtime
+        - workarchivedtime
-        - workdutydep
+        - workdutydep
-        - worksendperson
+        - worksendperson
-        - alarmlogicclass
+        - alarmlogicclass
-        - alarmlogicsubclass
+        - alarmlogicsubclass
-        - standardalarmname
+        - standardalarmname
-        - alarmseverity
+        - alarmseverity
-        - standardalarmid
+        - standardalarmid
-        - effectonequipment
+        - effectonequipment
-        - effectonbusiness
+        - effectonbusiness
-        - standardflag
+        - standardflag
-        - networktype
+        - networktype
-        - equipmentdn
+        - equipmentdn
-        - locatenedn
+        - locatenedn
-        - taccode
+        - taccode
-        - tacid
+        - tacid
-        - alarmtext
+        - alarmtext

+ 1 - 1
doc/prod/run.sh

@@ -1 +1 @@
-nohup java -jar /data1/s130/alarm/alarm-1.2-exec.jar >/dev/null 2>&1 &
+nohup java -jar /data1/s130/alarm/alarm-1.2-exec.jar >/dev/null 2>&1 &

+ 5 - 5
doc/prod/stop.sh

@@ -1,5 +1,5 @@
-#!/bin/bash
+#!/bin/bash
-
+
-for i in $(ps -ef | grep alarm-1.2-exec.jar | grep -v grep | awk '{print $2}'); do
+for i in $(ps -ef | grep alarm-1.2-exec.jar | grep -v grep | awk '{print $2}'); do
-  kill -9 "$i"
+  kill -9 "$i"
-done
+done

+ 21 - 21
doc/test/gpload/alarm.sh

@@ -1,21 +1,21 @@
-#!/bin/bash
+#!/bin/bash
-
+
-source /usr/local/greenplum-db-clients/greenplum_loaders_path.sh
+source /usr/local/greenplum-db-clients/greenplum_loaders_path.sh
-
+
-new_date=$1
+new_date=$1
-
+
-# 修改gpload配置文件
+# 修改gpload配置文件
-sed -i 's/\/data1\/s130\/alarm\/csv\/resultMap[0-9]\{14\}.csv/\/data1\/s130\/alarm\/csv\/resultMap'${new_date}'.csv/' /data1/s130/alarm/gpload/alarm.yml
+sed -i 's/\/data1\/s130\/alarm\/csv\/resultMap[0-9]\{14\}.csv/\/data1\/s130\/alarm\/csv\/resultMap'${new_date}'.csv/' /data1/s130/alarm/gpload/alarm.yml
-
+
-# 由于gpload需要输入密码,这里需要使用expect执行
+# 由于gpload需要输入密码,这里需要使用expect执行
-password=Richr00t#
+password=Richr00t#
-
+
-expect -c "
+expect -c "
-set timeout 300
+set timeout 300
-spawn gpload -f /data1/s130/alarm/gpload/alarm.yml
+spawn gpload -f /data1/s130/alarm/gpload/alarm.yml
-expect {
+expect {
-\"connecting (yes/no)?\" { send \"yes\n\";exp_continue }
+\"connecting (yes/no)?\" { send \"yes\n\";exp_continue }
-\"Password:\" { send \"${password}\n\"; exp_continue}
+\"Password:\" { send \"${password}\n\"; exp_continue}
-timeout { puts \"超时\" exit 2}
+timeout { puts \"超时\" exit 2}
-}
+}
-"
+"

+ 79 - 79
doc/test/gpload/alarm.yml

@@ -1,79 +1,79 @@
-VERSION: 1.0.0.1
+VERSION: 1.0.0.1
-DATABASE: sqmmt
+DATABASE: sqmmt
-USER: sqmdb
+USER: sqmdb
-HOST: 192.168.50.5
+HOST: 192.168.50.5
-PORT: 5432
+PORT: 5432
-GPLOAD:
+GPLOAD:
-  INPUT:
+  INPUT:
-    - SOURCE:
+    - SOURCE:
-        LOCAL_HOSTNAME:
+        LOCAL_HOSTNAME:
-          - 192.168.50.3
+          - 192.168.50.3
-        PORT: 54321
+        PORT: 54321
-        FILE:
+        FILE:
-          - /data1/s130/alarm/csv/resultMap20220628132304.csv
+          - /data1/s130/alarm/csv/resultMap20220628132304.csv
-    - FORMAT: csv
+    - FORMAT: csv
-    - DELIMITER: ","
+    - DELIMITER: ","
-    - HEADER: false
+    - HEADER: false
-    - ENCODING: utf-8
+    - ENCODING: utf-8
-    - ERROR_LIMIT: 20000000
+    - ERROR_LIMIT: 20000000
-    - LOG_ERRORS: true
+    - LOG_ERRORS: true
-  EXTERNAL:
+  EXTERNAL:
-    - SCHEMA: tsfx
+    - SCHEMA: tsfx
-  OUTPUT:
+  OUTPUT:
-    - TABLE: tsfx.dw_complain_realtime_alarm_h
+    - TABLE: tsfx.dw_complain_realtime_alarm_h
-    - MODE: merge
+    - MODE: merge
-    - MATCH_COLUMNS:
+    - MATCH_COLUMNS:
-        - uniqueid
+        - uniqueid
-        - sdate
+        - sdate
-    - UPDATE_COLUMNS:
+    - UPDATE_COLUMNS:
-        - sdate
+        - sdate
-        - uniqueclearid
+        - uniqueclearid
-        - eventtime
+        - eventtime
-        - canceltime
+        - canceltime
-        - status
+        - status
-        - projectstatus
+        - projectstatus
-        - vendoralarmserial
+        - vendoralarmserial
-        - alarmtitle
+        - alarmtitle
-        - vendorseverity
+        - vendorseverity
-        - vendoralarmtype
+        - vendoralarmtype
-        - specificproblem
+        - specificproblem
-        - specificproblemid
+        - specificproblemid
-        - equipmentclass
+        - equipmentclass
-        - equipmentname
+        - equipmentname
-        - locateneclass
+        - locateneclass
-        - locatenename
+        - locatenename
-        - province
+        - province
-        - region
+        - region
-        - city
+        - city
-        - grid
+        - grid
-        - area
+        - area
-        - vendor
+        - vendor
-        - specialty
+        - specialty
-        - siteid
+        - siteid
-        - roomid
+        - roomid
-        - towersiteno
+        - towersiteno
-        - proequipmentstatus
+        - proequipmentstatus
-        - projectname
+        - projectname
-        - projectno
+        - projectno
-        - projectstarttime
+        - projectstarttime
-        - projectendtime
+        - projectendtime
-        - worksendstatus
+        - worksendstatus
-        - workstatus
+        - workstatus
-        - workno
+        - workno
-        - workarchivedtime
+        - workarchivedtime
-        - workdutydep
+        - workdutydep
-        - worksendperson
+        - worksendperson
-        - alarmlogicclass
+        - alarmlogicclass
-        - alarmlogicsubclass
+        - alarmlogicsubclass
-        - standardalarmname
+        - standardalarmname
-        - alarmseverity
+        - alarmseverity
-        - standardalarmid
+        - standardalarmid
-        - effectonequipment
+        - effectonequipment
-        - effectonbusiness
+        - effectonbusiness
-        - standardflag
+        - standardflag
-        - networktype
+        - networktype
-        - equipmentdn
+        - equipmentdn
-        - locatenedn
+        - locatenedn
-        - taccode
+        - taccode
-        - tacid
+        - tacid
-        - alarmtext
+        - alarmtext

+ 1 - 1
doc/test/run.sh

@@ -1 +1 @@
-nohup java -jar /data1/s130/alarm/alarm-1.2-exec.jar >/dev/null 2>&1 &
+nohup java -jar /data1/s130/alarm/alarm-1.2-exec.jar >/dev/null 2>&1 &

+ 5 - 5
doc/test/stop.sh

@@ -1,5 +1,5 @@
-#!/bin/bash
+#!/bin/bash
-
+
-for i in $(ps -ef | grep alarm-1.2-exec.jar | grep -v grep | awk '{print $2}'); do
+for i in $(ps -ef | grep alarm-1.2-exec.jar | grep -v grep | awk '{print $2}'); do
-  kill -9 "$i"
+  kill -9 "$i"
-done
+done

+ 23 - 23
doc/历史文档/历史版本/投诉1线投诉3线告警订阅.md

@@ -1,23 +1,23 @@
-# 告警订阅信息
+# 告警订阅信息
-
+
-```sh
+```sh
-# 1线
+# 1线
-httpurl: https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v1.0
+httpurl: https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v1.0
-
+
-https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0
+https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0
-# 3线
+# 3线
-httpurl: http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
+httpurl: http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
-1线和3线是同一个数据源,1线可以直通,3线通过esb转了一手
+1线和3线是同一个数据源,1线可以直通,3线通过esb转了一手
-本地使用url(通过省ESB转发): <http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA>
+本地使用url(通过省ESB转发): <http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA>
-appId: 0f9bf497549343e68ca36b4caffbc8c4
+appId: 0f9bf497549343e68ca36b4caffbc8c4
-secret: 087b1ceb698140cd8c65543f5ace0490
+secret: 087b1ceb698140cd8c65543f5ace0490
-集团使用url: <https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v1.0>
+集团使用url: <https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v1.0>
-```
+```
-
+
-本地ESBurl `http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA`
+本地ESBurl `http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA`
-
+
-集团ESBurl `https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v1.0`
+集团ESBurl `https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v1.0`
-
+
-对应平台url `https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0`
+对应平台url `https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0`
-
+
-尊敬的能力使用方,您好! 由于本部资源池服务器(廊坊)清退,需要您对所订购能力的网络调用地址进行更改, 若调用不通则需要进行网络打通,原地址为(10.243.3.108、10.243.3.110、10.243.3.124(vip)), 新地址为(172.25.34.180:443、172.25.34.151:443、172.25.34.152:443、172.24.123.29:2443)。
+尊敬的能力使用方,您好! 由于本部资源池服务器(廊坊)清退,需要您对所订购能力的网络调用地址进行更改, 若调用不通则需要进行网络打通,原地址为(10.243.3.108、10.243.3.110、10.243.3.124(vip)), 新地址为(172.25.34.180:443、172.25.34.151:443、172.25.34.152:443、172.24.123.29:2443)。

File diff suppressed because it is too large
+ 0 - 113
doc/历史文档/告警数据字段信息/resultMap20230224163020.csv


+ 63 - 63
doc/历史文档/问题排查/20230113告警报错问题排查/20230113告警报错问题排查.md

@@ -1,63 +1,63 @@
-# 20230113告警报错问题排查
+# 20230113告警报错问题排查
-
+
-[接口源头地址](https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0)
+[接口源头地址](https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0)
-
+
-```sh
+```sh
-# appid
+# appid
-0f9bf497549343e68ca36b4caffbc8c4
+0f9bf497549343e68ca36b4caffbc8c4
-# secret
+# secret
-087b1ceb698140cd8c65543f5ace0490
+087b1ceb698140cd8c65543f5ace0490
-```
+```
-
+
-## 20230113报错时间点总结
+## 20230113报错时间点总结
-
+
-```sh
+```sh
-# 接口原始地址
+# 接口原始地址
-https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0
+https://10.243.3.124/api/middlleplatform/NCfVA7/iDYQz4/v2.0
-# 经过ESB转发后的地址
+# 经过ESB转发后的地址
-http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
+http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
-# appid
+# appid
-0f9bf497549343e68ca36b4caffbc8c4
+0f9bf497549343e68ca36b4caffbc8c4
-
+
-报错时间点:
+报错时间点:
-2023-01-13 11:35:00
+2023-01-13 11:35:00
-2023-01-13 11:35:00
+2023-01-13 11:35:00
-2023-01-13 11:40:00
+2023-01-13 11:40:00
-2023-01-13 11:50:16
+2023-01-13 11:50:16
-2023-01-13 11:55:00
+2023-01-13 11:55:00
-2023-01-13 12:00:00
+2023-01-13 12:00:00
-2023-01-13 12:00:00
+2023-01-13 12:00:00
-2023-01-13 12:15:00
+2023-01-13 12:15:00
-2023-01-13 12:25:00
+2023-01-13 12:25:00
-2023-01-13 12:35:00
+2023-01-13 12:35:00
-2023-01-13 12:45:00
+2023-01-13 12:45:00
-
+
-这边的逻辑是每5分钟执行1次任务,调用两次接口,第一次调用是获取新增告警,第二次是获取消除告警。
+这边的逻辑是每5分钟执行1次任务,调用两次接口,第一次调用是获取新增告警,第二次是获取消除告警。
-今天的表现是新增告警和消除告警调用时都存在报错。
+今天的表现是新增告警和消除告警调用时都存在报错。
-
+
-持续时间是 11点36分到12点46分
+持续时间是 11点36分到12点46分
-```
+```
-
+
-报错时接口返回的html
+报错时接口返回的html
-
+
-```html
+```html
-<!DOCTYPE html>
+<!DOCTYPE html>
-<html>
+<html>
-<head>
+<head>
-<title>Error</title>
+<title>Error</title>
-<style>
+<style>
-html { color-scheme: light dark; }
+html { color-scheme: light dark; }
-body { width: 35em; margin: 0 auto;
+body { width: 35em; margin: 0 auto;
-font-family: Tahoma, Verdana, Arial, sans-serif; }
+font-family: Tahoma, Verdana, Arial, sans-serif; }
-</style>
+</style>
-</head>
+</head>
-<body>
+<body>
-<h1>An error occurred.</h1>
+<h1>An error occurred.</h1>
-<p>Sorry, the page you are looking for is currently unavailable.<br/>
+<p>Sorry, the page you are looking for is currently unavailable.<br/>
-Please try again later.</p>
+Please try again later.</p>
-<p>If you are the system administrator of this resource then you should check
+<p>If you are the system administrator of this resource then you should check
-the error log for details.</p>
+the error log for details.</p>
-<p><em>Faithfully yours, nginx.</em></p>
+<p><em>Faithfully yours, nginx.</em></p>
-</body>
+</body>
-</html>
+</html>
-```
+```

+ 3 - 3
doc/开发文档/20240506.md

@@ -1,3 +1,3 @@
-# 20240506
+# 20240506
-
+
-PG数据库登录信息 192.168.70.172:5432/sqmmt  sqmdb/sqmdb_1QAZ
+PG数据库登录信息 192.168.70.172:5432/sqmmt  sqmdb/sqmdb_1QAZ

+ 3 - 3
doc/部署文档/正式环境/正式环境部署情况.md

@@ -1,3 +1,3 @@
-# 正式环境部署情况
+# 正式环境部署情况
-
+
-当前部署位置 192.168.70.130/data1/s130/alarm
+当前部署位置 192.168.70.130/data1/s130/alarm

+ 45 - 45
doc/需求文档/告警入库报错.txt

@@ -1,45 +1,45 @@
-2022-07-26 09:17:00.156 ERROR 179932 --- [lerThreadPool-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task
+2022-07-26 09:17:00.156 ERROR 179932 --- [lerThreadPool-1] o.s.s.s.TaskUtils$LoggingErrorHandler    : Unexpected error occurred in scheduled task
-
+
-com.alibaba.fastjson.JSONException: illegal character <
+com.alibaba.fastjson.JSONException: illegal character <
-	at com.alibaba.fastjson.JSON.parseObject(JSON.java:193) ~[fastjson-2.0.7.graal.jar!/:na]
+	at com.alibaba.fastjson.JSON.parseObject(JSON.java:193) ~[fastjson-2.0.7.graal.jar!/:na]
-	at com.nokia.alarm.service.AlarmSaveToFileService.getHttpSave(AlarmSaveToFileService.java:43) ~[classes!/:1.2]
+	at com.nokia.alarm.service.AlarmSaveToFileService.getHttpSave(AlarmSaveToFileService.java:43) ~[classes!/:1.2]
-	at com.nokia.alarm.config.SchedulingConfig.lambda$null$0(SchedulingConfig.java:53) ~[classes!/:1.2]
+	at com.nokia.alarm.config.SchedulingConfig.lambda$null$0(SchedulingConfig.java:53) ~[classes!/:1.2]
-	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.3.21.jar!/:5.3.21]
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[spring-context-5.3.21.jar!/:5.3.21]
-	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_301]
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_301]
-	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_301]
+	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_301]
-	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_301]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_301]
-	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_301]
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [na:1.8.0_301]
-	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_301]
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_301]
-	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_301]
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_301]
-	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_301]
+	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_301]
-Caused by: com.alibaba.fastjson2.JSONException: illegal character <
+Caused by: com.alibaba.fastjson2.JSONException: illegal character <
-	at com.alibaba.fastjson2.JSONReaderUTF16.readFieldNameHashCode(JSONReaderUTF16.java:633) ~[fastjson2-2.0.7.graal.jar!/:na]
+	at com.alibaba.fastjson2.JSONReaderUTF16.readFieldNameHashCode(JSONReaderUTF16.java:633) ~[fastjson2-2.0.7.graal.jar!/:na]
-	at com.alibaba.fastjson2.reader.ObjectReader4.readObject(ObjectReader4.java:253) ~[fastjson2-2.0.7.graal.jar!/:na]
+	at com.alibaba.fastjson2.reader.ObjectReader4.readObject(ObjectReader4.java:253) ~[fastjson2-2.0.7.graal.jar!/:na]
-	at com.alibaba.fastjson.JSON.parseObject(JSON.java:183) ~[fastjson-2.0.7.graal.jar!/:na]
+	at com.alibaba.fastjson.JSON.parseObject(JSON.java:183) ~[fastjson-2.0.7.graal.jar!/:na]
-	... 10 common frames omitted
+	... 10 common frames omitted
-
+
-
+
-
+
-com.alibaba.fastjson.JSONException: illegal character C
+com.alibaba.fastjson.JSONException: illegal character C
-	at com.alibaba.fastjson.JSON.parseObject(JSON.java:193)
+	at com.alibaba.fastjson.JSON.parseObject(JSON.java:193)
-	at com.nokia.alarm.service.AlarmSaveToFileService.getHttpUpdate(AlarmSaveToFileService.java:82)
+	at com.nokia.alarm.service.AlarmSaveToFileService.getHttpUpdate(AlarmSaveToFileService.java:82)
-	at com.nokia.alarm.config.SchedulingConfig.lambda$configureTasks$1(SchedulingConfig.java:47)
+	at com.nokia.alarm.config.SchedulingConfig.lambda$configureTasks$1(SchedulingConfig.java:47)
-	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
+	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
-	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:95)
+	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:95)
-	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
+	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
-	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
+	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
-	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
-	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
+	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
-	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
+	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
-	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
+	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
-	at java.lang.Thread.run(Thread.java:748)
+	at java.lang.Thread.run(Thread.java:748)
-Caused by: com.alibaba.fastjson2.JSONException: illegal character C
+Caused by: com.alibaba.fastjson2.JSONException: illegal character C
-	at com.alibaba.fastjson2.JSONReaderUTF16.readFieldNameHashCode(JSONReaderUTF16.java:633)
+	at com.alibaba.fastjson2.JSONReaderUTF16.readFieldNameHashCode(JSONReaderUTF16.java:633)
-	at com.alibaba.fastjson2.reader.ObjectReader4.readObject(ObjectReader4.java:253)
+	at com.alibaba.fastjson2.reader.ObjectReader4.readObject(ObjectReader4.java:253)
-	at com.alibaba.fastjson.JSON.parseObject(JSON.java:183)
+	at com.alibaba.fastjson.JSON.parseObject(JSON.java:183)
-
+
-2022-08-10 09:05:19.424  INFO 179932 --- [lerThreadPool-1] c.n.a.service.AlarmSaveToFileService     : 查询消除告警开始=====================================================
+2022-08-10 09:05:19.424  INFO 179932 --- [lerThreadPool-1] c.n.a.service.AlarmSaveToFileService     : 查询消除告警开始=====================================================
-java.lang.NullPointerException
+java.lang.NullPointerException
-
+
-2022-08-10 08:40:00.000  INFO 179932 --- [lerThreadPool-1] c.n.a.service.AlarmSaveToFileService     : 查询新增告警开始=====================================================
+2022-08-10 08:40:00.000  INFO 179932 --- [lerThreadPool-1] c.n.a.service.AlarmSaveToFileService     : 查询新增告警开始=====================================================
-java.lang.NullPointerException
+java.lang.NullPointerException

+ 7 - 7
doc/需求文档/告警数据入库需求汇总.md

@@ -1,7 +1,7 @@
-# 告警数据入库需求汇总
+# 告警数据入库需求汇总
-
+
-## 后续需求
+## 后续需求
-
+
-1. 错误处理,当前发现了两个经常出现的打印消息,与查询远端接口的返回有关,后续需要优化程序,对错误情况进行处理。
+1. 错误处理,当前发现了两个经常出现的打印消息,与查询远端接口的返回有关,后续需要优化程序,对错误情况进行处理。
-
+
-2. 后续会切换到河北省本地的告警数据源,采用kafka对接。
+2. 后续会切换到河北省本地的告警数据源,采用kafka对接。

+ 116 - 116
pom.xml

@@ -1,117 +1,117 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
+    <modelVersion>4.0.0</modelVersion>
-
+
-    <parent>
+    <parent>
-        <artifactId>spring-boot-starter-parent</artifactId>
+        <artifactId>spring-boot-starter-parent</artifactId>
-        <groupId>org.springframework.boot</groupId>
+        <groupId>org.springframework.boot</groupId>
-        <version>2.6.9</version>
+        <version>2.6.9</version>
-    </parent>
+    </parent>
-
+
-    <artifactId>alarm</artifactId>
+    <artifactId>alarm</artifactId>
-    <version>1.3</version>
+    <version>1.3</version>
-    <packaging>jar</packaging>
+    <packaging>jar</packaging>
-
+
-    <properties>
+    <properties>
-        <!-- 跳过测试代码 -->
+        <!-- 跳过测试代码 -->
-        <skipTests>true</skipTests>
+        <skipTests>true</skipTests>
-        <!-- 指定java的版本 -->
+        <!-- 指定java的版本 -->
-        <java.version>1.8</java.version>
+        <java.version>1.8</java.version>
-        <!-- 文件拷贝时的编码 -->
+        <!-- 文件拷贝时的编码 -->
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <!-- 指定maven-compiler-plugin的配置属性开始 -->
+        <!-- 指定maven-compiler-plugin的配置属性开始 -->
-        <!-- 编译时的编码 -->
+        <!-- 编译时的编码 -->
-        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
-        <!-- 指定编译的版本 -->
+        <!-- 指定编译的版本 -->
-        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.source>8</maven.compiler.source>
-        <maven.compiler.target>8</maven.compiler.target>
+        <maven.compiler.target>8</maven.compiler.target>
-        <maven.compiler.compilerVersion>8</maven.compiler.compilerVersion>
+        <maven.compiler.compilerVersion>8</maven.compiler.compilerVersion>
-        <!-- 指定maven-compiler-plugin的配置属性结束 -->
+        <!-- 指定maven-compiler-plugin的配置属性结束 -->
-    </properties>
+    </properties>
-
+
-    <dependencies>
+    <dependencies>
-        <!-- 本地依赖开始 -->
+        <!-- 本地依赖开始 -->
-        <dependency>
+        <dependency>
-            <groupId>com.hl.opnc</groupId>
+            <groupId>com.hl.opnc</groupId>
-            <artifactId>opnc-sdk</artifactId>
+            <artifactId>opnc-sdk</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
+            <version>1.0.0-SNAPSHOT</version>
-            <scope>system</scope>
+            <scope>system</scope>
-            <systemPath>${project.basedir}\lib\opnc-sdk-1.0.0-SNAPSHOT.jar</systemPath>
+            <systemPath>${project.basedir}\lib\opnc-sdk-1.0.0-SNAPSHOT.jar</systemPath>
-        </dependency>
+        </dependency>
-        <!-- opnc-sdk 依赖开始 -->
+        <!-- opnc-sdk 依赖开始 -->
-        <dependency>
+        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
+            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
+            <artifactId>httpclient</artifactId>
-            <version>4.5.13</version>
+            <version>4.5.13</version>
-        </dependency>
+        </dependency>
-        <dependency>
+        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
+            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpmime</artifactId>
+            <artifactId>httpmime</artifactId>
-            <version>4.5</version>
+            <version>4.5</version>
-        </dependency>
+        </dependency>
-        <!-- opnc-sdk 依赖结束 -->
+        <!-- opnc-sdk 依赖结束 -->
-        <!-- 本地依赖结束 -->
+        <!-- 本地依赖结束 -->
-        <!-- mybatis -->
+        <!-- mybatis -->
-        <dependency>
+        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
+            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
+            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>2.2.2</version>
+            <version>2.2.2</version>
-        </dependency>
+        </dependency>
-        <!-- postgresql数据库和greenplum数据库驱动 -->
+        <!-- postgresql数据库和greenplum数据库驱动 -->
-        <dependency>
+        <dependency>
-            <groupId>org.postgresql</groupId>
+            <groupId>org.postgresql</groupId>
-            <artifactId>postgresql</artifactId>
+            <artifactId>postgresql</artifactId>
-            <scope>runtime</scope>
+            <scope>runtime</scope>
-        </dependency>
+        </dependency>
-        <dependency>
+        <dependency>
-            <groupId>com.alibaba</groupId>
+            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
+            <artifactId>fastjson</artifactId>
-            <version>2.0.7.graal</version>
+            <version>2.0.7.graal</version>
-        </dependency>
+        </dependency>
-        <!-- commons-csv -->
+        <!-- commons-csv -->
-        <dependency>
+        <dependency>
-            <groupId>org.apache.commons</groupId>
+            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-csv</artifactId>
+            <artifactId>commons-csv</artifactId>
-            <version>1.9.0</version>
+            <version>1.9.0</version>
-        </dependency>
+        </dependency>
-        <!-- commons-beanutils -->
+        <!-- commons-beanutils -->
-        <dependency>
+        <dependency>
-            <groupId>commons-beanutils</groupId>
+            <groupId>commons-beanutils</groupId>
-            <artifactId>commons-beanutils-core</artifactId>
+            <artifactId>commons-beanutils-core</artifactId>
-            <version>1.8.3</version>
+            <version>1.8.3</version>
-        </dependency>
+        </dependency>
-        <dependency>
+        <dependency>
-            <groupId>org.springframework.boot</groupId>
+            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
+            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
+        </dependency>
-        <dependency>
+        <dependency>
-            <groupId>org.springframework.boot</groupId>
+            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
+            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
+            <scope>test</scope>
-        </dependency>
+        </dependency>
-        <dependency>
+        <dependency>
-            <groupId>org.projectlombok</groupId>
+            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
+            <artifactId>lombok</artifactId>
-            <scope>provided</scope>
+            <scope>provided</scope>
-        </dependency>
+        </dependency>
-    </dependencies>
+    </dependencies>
-
+
-    <build>
+    <build>
-        <!-- testSourceDirectory 测试代码的路径,有的ide是自动识别的 vscode需要通过pom进行配置 -->
+        <!-- testSourceDirectory 测试代码的路径,有的ide是自动识别的 vscode需要通过pom进行配置 -->
-        <testSourceDirectory>src/test</testSourceDirectory>
+        <testSourceDirectory>src/test</testSourceDirectory>
-        <plugins>
+        <plugins>
-            <plugin>
+            <plugin>
-                <groupId>org.springframework.boot</groupId>
+                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
+                <configuration>
-                    <!-- 把systemPath指定的依赖一起打包到BOOT-INF/lib -->
+                    <!-- 把systemPath指定的依赖一起打包到BOOT-INF/lib -->
-                    <includeSystemScope>true</includeSystemScope>
+                    <includeSystemScope>true</includeSystemScope>
-                    <!-- 打包1个带exec的可执行jar包和一个不带exec的可作为依赖的jar包 -->
+                    <!-- 打包1个带exec的可执行jar包和一个不带exec的可作为依赖的jar包 -->
-                    <classifier>exec</classifier>
+                    <classifier>exec</classifier>
-                </configuration>
+                </configuration>
-            </plugin>
+            </plugin>
-        </plugins>
+        </plugins>
-    </build>
+    </build>
-
+
 </project>
 </project>

+ 13 - 13
src/main/java/com/nokia/alarm/AlarmApplication.java

@@ -1,13 +1,13 @@
-package com.nokia.alarm;
+package com.nokia.alarm;
-
+
-import org.springframework.boot.SpringApplication;
+import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.EnableScheduling;
-
+
-@SpringBootApplication
+@SpringBootApplication
-@EnableScheduling
+@EnableScheduling
-public class AlarmApplication {
+public class AlarmApplication {
-    public static void main(String[] args) {
+    public static void main(String[] args) {
-        SpringApplication.run(AlarmApplication.class, args);
+        SpringApplication.run(AlarmApplication.class, args);
-    }
+    }
-}
+}

+ 57 - 0
src/main/java/com/nokia/alarm/config/CronTaskConfig.java

@@ -0,0 +1,57 @@
+package com.nokia.alarm.config;
+
+import java.io.IOException;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.SchedulingConfigurer;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+
+import com.nokia.alarm.service.AlarmSaveToGPandPGService;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@SuppressWarnings("null")
+@Configuration
+public class CronTaskConfig implements SchedulingConfigurer {
+
+    @Autowired
+    private AlarmSaveToGPandPGService service;
+
+    @Autowired
+    private ThreadPoolTaskScheduler taskScheduler;
+
+    @Override
+    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
+        taskRegistrar.setScheduler(taskScheduler);
+
+        // 入库的任务
+        taskRegistrar.addCronTask(() -> {
+            Date date = new Date();
+            taskScheduler.submit(() -> {
+                service.newAlarm(date);
+                service.updateAlarm(date);
+            });
+        }, "0 */5 * * * ?");
+
+        // 删除临时文件的任务
+        taskRegistrar.addCronTask(() -> {
+            String day = DateTimeFormatter.ofPattern("yyyyMMdd").withZone(ZoneId.of("Asia/Shanghai"))
+                    .format(LocalDate.now().plusDays(-7));
+            try {
+                Runtime.getRuntime().exec("rm /data1/s130/allarm/csv/resultMap" + day + "*").waitFor();
+            } catch (InterruptedException | IOException e) {
+                e.printStackTrace();
+                log.error("删除文件出错...");
+            }
+        }, "0 0 0 * * ?");
+
+        log.info("已开启周期任务调度...");
+    }
+}

+ 31 - 50
src/main/java/com/nokia/alarm/config/SchedulingConfig.java

@@ -1,50 +1,31 @@
-package com.nokia.alarm.config;
+package com.nokia.alarm.config;
-
+
-import java.util.Date;
+import org.springframework.beans.factory.annotation.Value;
-
+import org.springframework.context.annotation.Bean;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
-import org.springframework.context.annotation.Bean;
+import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Configuration;
+
-import org.springframework.scheduling.annotation.SchedulingConfigurer;
+@Slf4j
-import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+@Configuration
-import org.springframework.scheduling.config.ScheduledTaskRegistrar;
+
-
+public class SchedulingConfig {
-import com.nokia.alarm.service.AlarmSaveToGPandPGService;
+
-
+    @Value("${scheduling.scheduler.pool.size:5}")
-import lombok.extern.slf4j.Slf4j;
+    private int poolSize;
-
+
-@Slf4j
+    @Bean
-@Configuration
+    public ThreadPoolTaskScheduler taskScheduler() {
-@SuppressWarnings("null")
+        // 使用最常用的ThreadPoolTaskScheduler
-public class SchedulingConfig implements SchedulingConfigurer {
+        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
-
+        // 线程数
-    @Value("${scheduling.scheduler.pool.size:2}")
+        taskScheduler.setPoolSize(poolSize);
-    private int poolSize;
+        taskScheduler.setRemoveOnCancelPolicy(true);
-
+        taskScheduler.setThreadNamePrefix("taskSchedulerThreadPool-");
-    @Autowired
+        log.info("已完成 ThreadPoolTaskScheduler 配置, poolSize = {}", poolSize);
-    private AlarmSaveToGPandPGService service;
+        return taskScheduler;
-
+    }
-    @Bean
+
-    public ThreadPoolTaskScheduler taskScheduler() {
+    
-        // 使用最常用的ThreadPoolTaskScheduler
+
-        ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
+}
-        // 线程数
-        taskScheduler.setPoolSize(poolSize);
-        taskScheduler.setRemoveOnCancelPolicy(true);
-        taskScheduler.setThreadNamePrefix("taskSchedulerThreadPool-");
-        log.info("已完成 ThreadPoolTaskScheduler 配置, poolSize = {}", poolSize);
-        return taskScheduler;
-    }
-
-    @Override
-    public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
-        taskRegistrar.setScheduler(taskScheduler());
-        taskRegistrar.addCronTask(() -> {
-            Date date = new Date();
-            service.newAlarm(date);
-            service.updateAlarm(date);
-        }, "0 */5 * * * ?");
-    }
-
-}

+ 18 - 18
src/main/java/com/nokia/alarm/controller/TestController.java

@@ -1,18 +1,18 @@
-package com.nokia.alarm.controller;
+package com.nokia.alarm.controller;
-
+
-import lombok.extern.slf4j.Slf4j;
+import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.RestController;
-
+
-@Slf4j
+@Slf4j
-@RestController
+@RestController
-public class TestController {
+public class TestController {
-    /**
+    /**
-     * 短信告警测试
+     * 短信告警测试
-     */
+     */
-    @GetMapping("/test/alert")
+    @GetMapping("/test/alert")
-    public Object alert() {
+    public Object alert() {
-        log.error("短信告警测试");
+        log.error("短信告警测试");
-        return "ok";
+        return "ok";
-    }
+    }
-}
+}

+ 19 - 19
src/main/java/com/nokia/alarm/entity/MessageCfg.java

@@ -1,19 +1,19 @@
-package com.nokia.alarm.entity;
+package com.nokia.alarm.entity;
-
+
-import java.util.List;
+import java.util.List;
-
+
-import lombok.Data;
+import lombok.Data;
-
+
-@Data
+@Data
-public class MessageCfg {
+public class MessageCfg {
-    private String startTime;
+    private String startTime;
-    private int pageSize;
+    private int pageSize;
-    private List<String> fileds;
+    private List<String> fileds;
-    private String endTime;
+    private String endTime;
-    private int resultDataType;
+    private int resultDataType;
-    private int resultFieldType;
+    private int resultFieldType;
-    private int pageNum;
+    private int pageNum;
-    private List<String> province;
+    private List<String> province;
-    private List<String> networkType;
+    private List<String> networkType;
-    private List<String> cancelTime;
+    private List<String> cancelTime;
-}
+}

+ 13 - 13
src/main/java/com/nokia/alarm/entity/ResultInfo.java

@@ -1,13 +1,13 @@
-package com.nokia.alarm.entity;
+package com.nokia.alarm.entity;
-
+
-import java.util.List;
+import java.util.List;
-
+
-import lombok.Data;
+import lombok.Data;
-
+
-@Data
+@Data
-public class ResultInfo {
+public class ResultInfo {
-    private String msg;
+    private String msg;
-    private int status;
+    private int status;
-    private int total;
+    private int total;
-    private List<ResultMap> result;
+    private List<ResultMap> result;
-}
+}

+ 58 - 58
src/main/java/com/nokia/alarm/entity/ResultMap.java

@@ -1,58 +1,58 @@
-package com.nokia.alarm.entity;
+package com.nokia.alarm.entity;
-
+
-import lombok.Data;
+import lombok.Data;
-
+
-@Data
+@Data
-public class ResultMap {
+public class ResultMap {
-    private String uniqueId;
+    private String uniqueId;
-    private String uniqueClearId;
+    private String uniqueClearId;
-    private String eventTime;
+    private String eventTime;
-    private String cancelTime;
+    private String cancelTime;
-    private Integer status;
+    private Integer status;
-    private Integer projectStatus;
+    private Integer projectStatus;
-    private String vendorAlarmSerial;
+    private String vendorAlarmSerial;
-    private String alarmTitle;
+    private String alarmTitle;
-    private String vendorSeverity;
+    private String vendorSeverity;
-    private String vendorAlarmType;
+    private String vendorAlarmType;
-    private String specificProblem;
+    private String specificProblem;
-    private String specificProblemID;
+    private String specificProblemID;
-    private String equipmentClass;
+    private String equipmentClass;
-    private String equipmentName;
+    private String equipmentName;
-    private String locateNeClass;
+    private String locateNeClass;
-    private String locateNeName;
+    private String locateNeName;
-    private String province;
+    private String province;
-    private String region;
+    private String region;
-    private String city;
+    private String city;
-    private String grid;
+    private String grid;
-    private String area;
+    private String area;
-    private String vendor;
+    private String vendor;
-    private Integer specialty;
+    private Integer specialty;
-    private String siteId;
+    private String siteId;
-    private String roomId;
+    private String roomId;
-    private String towerSiteNo;
+    private String towerSiteNo;
-    private Integer proEquipmentStatus;
+    private Integer proEquipmentStatus;
-    private String projectName;
+    private String projectName;
-    private String projectNo;
+    private String projectNo;
-    private String projectStartTime;
+    private String projectStartTime;
-    private String projectEndTime;
+    private String projectEndTime;
-    private Integer workSendStatus;
+    private Integer workSendStatus;
-    private Integer workStatus;
+    private Integer workStatus;
-    private String workNo;
+    private String workNo;
-    private String workArchivedTime;
+    private String workArchivedTime;
-    private String workDutyDep;
+    private String workDutyDep;
-    private String workSendPerson;
+    private String workSendPerson;
-    private String alarmLogicClass;
+    private String alarmLogicClass;
-    private String alarmLogicSubClass;
+    private String alarmLogicSubClass;
-    private String standardAlarmName;
+    private String standardAlarmName;
-    private Integer alarmSeverity;
+    private Integer alarmSeverity;
-    private String standardAlarmId;
+    private String standardAlarmId;
-    private String effectOnEquipment;
+    private String effectOnEquipment;
-    private String effectOnBusiness;
+    private String effectOnBusiness;
-    private Integer standardFlag;
+    private Integer standardFlag;
-    private Integer networkType;
+    private Integer networkType;
-    private String locateNEDN;
+    private String locateNEDN;
-    private String equipmentDN;
+    private String equipmentDN;
-    private String tacCode;
+    private String tacCode;
-    private String tacId;
+    private String tacId;
-    private String alarmText;
+    private String alarmText;
-}
+}

+ 37 - 37
src/main/java/com/nokia/alarm/mapper/ResultMapDao.java

@@ -1,37 +1,37 @@
-package com.nokia.alarm.mapper;
+package com.nokia.alarm.mapper;
-
+
-import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Insert;
-import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
+import org.apache.ibatis.annotations.Update;
-
+
-import com.nokia.alarm.entity.ResultMap;
+import com.nokia.alarm.entity.ResultMap;
-
+
-/* cspell:disable */
+/* cspell:disable */
-@Mapper
+@Mapper
-public interface ResultMapDao {
+public interface ResultMapDao {
-
+
-        @Select("select count(1) from tsfx.dw_complain_realtime_alarm_h where uniqueId=#{uniqueId} and sdate = to_timestamp(#{eventTime}, 'yyyy-MM-dd HH24:00:00')")
+        @Select("select count(1) from tsfx.dw_complain_realtime_alarm_h where sdate = to_timestamp(#{eventTime}, 'yyyy-MM-dd HH24:00:00') and uniqueId=#{uniqueId}")
-        int findByUniqueId(ResultMap result);
+        int findByUniqueId(ResultMap result);
-
+
-        @Update("update tsfx.dw_complain_realtime_alarm_h set cancelTime=#{cancelTime},status=#{status},projectStatus=#{projectStatus},workStatus=#{workStatus}"
+        @Update("update tsfx.dw_complain_realtime_alarm_h set cancelTime=#{cancelTime},status=#{status},projectStatus=#{projectStatus},workStatus=#{workStatus}"
-                        + " where uniqueId=#{uniqueId}")
+                        + " where sdate=to_timestamp(#{eventTime}, 'yyyy-MM-dd HH24:00:00') and uniqueId=#{uniqueId}")
-        void updateData(ResultMap result);
+        void updateData(ResultMap result);
-
+
-        @Insert("insert into tsfx.dw_complain_realtime_alarm_h "
+        @Insert("insert into tsfx.dw_complain_realtime_alarm_h "
-                        + "(sdate,uniqueid,uniqueclearid,eventtime,canceltime,status,projectstatus,vendoralarmserial,alarmtitle,"
+                        + "(sdate,uniqueid,uniqueclearid,eventtime,canceltime,status,projectstatus,vendoralarmserial,alarmtitle,"
-                        + "vendorseverity,vendoralarmtype,specificproblem,specificproblemid,equipmentclass,equipmentname,locateneclass,"
+                        + "vendorseverity,vendoralarmtype,specificproblem,specificproblemid,equipmentclass,equipmentname,locateneclass,"
-                        + "locatenename,province,region,city,grid,area,vendor,specialty,siteid,roomid,towersiteno,proequipmentstatus,"
+                        + "locatenename,province,region,city,grid,area,vendor,specialty,siteid,roomid,towersiteno,proequipmentstatus,"
-                        + "projectname,projectno,projectstarttime,projectendtime,worksendstatus,workstatus,workno,workarchivedtime,"
+                        + "projectname,projectno,projectstarttime,projectendtime,worksendstatus,workstatus,workno,workarchivedtime,"
-                        + "workdutydep,worksendperson,alarmlogicclass,alarmlogicsubclass,standardalarmname,alarmseverity,standardalarmid,"
+                        + "workdutydep,worksendperson,alarmlogicclass,alarmlogicsubclass,standardalarmname,alarmseverity,standardalarmid,"
-                        + "effectonequipment,effectonbusiness,standardflag,networktype,equipmentdn,locatenedn,taccode,tacid,alarmtext) values "
+                        + "effectonequipment,effectonbusiness,standardflag,networktype,equipmentdn,locatenedn,taccode,tacid,alarmtext) values "
-                        + "(to_timestamp(#{eventTime}, 'yyyy-MM-dd HH24:00:00'),#{uniqueId},#{uniqueClearId},#{eventTime},#{cancelTime},"
+                        + "(to_timestamp(#{eventTime}, 'yyyy-MM-dd HH24:00:00'),#{uniqueId},#{uniqueClearId},#{eventTime},#{cancelTime},"
-                        + "#{status},#{projectStatus},#{vendorAlarmSerial},#{alarmTitle},#{vendorSeverity},#{vendorAlarmType},#{specificProblem},"
+                        + "#{status},#{projectStatus},#{vendorAlarmSerial},#{alarmTitle},#{vendorSeverity},#{vendorAlarmType},#{specificProblem},"
-                        + "#{specificProblemID},#{equipmentClass},#{equipmentName},#{locateNeClass},#{locateNeName},#{province},#{region},#{city},"
+                        + "#{specificProblemID},#{equipmentClass},#{equipmentName},#{locateNeClass},#{locateNeName},#{province},#{region},#{city},"
-                        + "#{grid},#{area},#{vendor},#{specialty},#{siteId},#{roomId},#{towerSiteNo},#{proEquipmentStatus},#{projectName},"
+                        + "#{grid},#{area},#{vendor},#{specialty},#{siteId},#{roomId},#{towerSiteNo},#{proEquipmentStatus},#{projectName},"
-                        + "#{projectNo},#{projectStartTime},#{projectEndTime},#{workSendStatus},#{workStatus},#{workNo},#{workArchivedTime},"
+                        + "#{projectNo},#{projectStartTime},#{projectEndTime},#{workSendStatus},#{workStatus},#{workNo},#{workArchivedTime},"
-                        + "#{workDutyDep},#{workSendPerson},#{alarmLogicClass},#{alarmLogicSubClass},#{standardAlarmName},#{alarmSeverity},"
+                        + "#{workDutyDep},#{workSendPerson},#{alarmLogicClass},#{alarmLogicSubClass},#{standardAlarmName},#{alarmSeverity},"
-                        + "#{standardAlarmId},#{effectOnEquipment},#{effectOnBusiness},#{standardFlag},#{networkType},#{locateNEDN},"
+                        + "#{standardAlarmId},#{effectOnEquipment},#{effectOnBusiness},#{standardFlag},#{networkType},#{locateNEDN},"
-                        + "#{equipmentDN},#{tacCode},#{tacId},#{alarmText})")
+                        + "#{equipmentDN},#{tacCode},#{tacId},#{alarmText})")
-        void insertData(ResultMap result);
+        void insertData(ResultMap result);
-}
+}

+ 133 - 132
src/main/java/com/nokia/alarm/service/AlarmSaveToFileService.java

@@ -1,132 +1,133 @@
-package com.nokia.alarm.service;
+package com.nokia.alarm.service;
-
+
-import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSON;
-import com.hl.opnc.AbilityResponse;
+import com.hl.opnc.AbilityResponse;
-import com.hl.opnc.ResponseBody;
+import com.hl.opnc.ResponseBody;
-import com.hl.opnc.invoke.AbilityInvokeManager;
+import com.hl.opnc.invoke.AbilityInvokeManager;
-import com.hl.opnc.invoke.InvokeManager;
+import com.hl.opnc.invoke.InvokeManager;
-import com.nokia.alarm.entity.MessageCfg;
+import com.nokia.alarm.entity.MessageCfg;
-import com.nokia.alarm.entity.ResultInfo;
+import com.nokia.alarm.entity.ResultInfo;
-import com.nokia.alarm.entity.ResultMap;
+import com.nokia.alarm.entity.ResultMap;
-import com.nokia.alarm.util.ExportUtil;
+import com.nokia.alarm.util.ExportUtil;
-import com.nokia.alarm.util.SDKUtil;
+import com.nokia.alarm.util.SDKUtil;
-import lombok.extern.slf4j.Slf4j;
+import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
+
-import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Value;
-
+import org.springframework.stereotype.Service;
-import java.io.IOException;
+
-import java.util.Date;
+import java.io.IOException;
-import java.util.List;
+import java.util.Date;
-
+import java.util.List;
-@Slf4j
+
-@Service
+@Slf4j
-public class AlarmSaveToFileService {
+@Service
-    @Value("${httpurl:http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA}")
+public class AlarmSaveToFileService {
-    private String methodUrl;
+    @Value("${httpurl:http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA}")
-    @Value("${appId:0f9bf497549343e68ca36b4caffbc8c4}")
+    private String methodUrl;
-    private String appId;
+    @Value("${appId:0f9bf497549343e68ca36b4caffbc8c4}")
-    @Value("${secret:087b1ceb698140cd8c65543f5ace0490}")
+    private String appId;
-    private String secret;
+    @Value("${secret:087b1ceb698140cd8c65543f5ace0490}")
-
+    private String secret;
-    public void getHttpSave(Date date) {
+
-        log.info("查询新增告警开始=====================================================");
+    public void getHttpSave(Date date) {
-        InvokeManager manager = new AbilityInvokeManager(appId, secret);
+        log.info("查询新增告警开始=====================================================");
-        MessageCfg cfg = SDKUtil.getBody(date);
+        InvokeManager manager = new AbilityInvokeManager(appId, secret);
-        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
+        MessageCfg cfg = SDKUtil.getBody(date);
-        try {
+        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
-            String responseStr = response.getRespStr();
+        try {
-            ResponseBody resObj;
+            String responseStr = response.getRespStr();
-            try {
+            ResponseBody resObj;
-                resObj = JSON.parseObject(responseStr, ResponseBody.class);
+            try {
-            } catch (Exception e) {
+                resObj = JSON.parseObject(responseStr, ResponseBody.class);
-                log.error("返回消息json解析错误: {}", responseStr);
+            } catch (Exception e) {
-                e.printStackTrace();
+                log.error("返回消息json解析错误: {}", responseStr);
-                return;
+                e.printStackTrace();
-            }
+                return;
-            String body = (String) resObj.getUNI_NET_BODY();
+            }
-            // log.info(body);
+            String body = (String) resObj.getUNI_NET_BODY();
-            // body = body.replace("null", "\"\"");
+            // log.info(body);
-            ResultInfo info;
+            // body = body.replace("null", "\"\"");
-            try {
+            ResultInfo info;
-                info = JSON.parseObject(body, ResultInfo.class);
+            try {
-            } catch (Exception e) {
+                info = JSON.parseObject(body, ResultInfo.class);
-                log.error("返回消息json解析错误: {}", responseStr);
+            } catch (Exception e) {
-                e.printStackTrace();
+                log.error("返回消息json解析错误: {}", responseStr);
-                return;
+                e.printStackTrace();
-            }
+                return;
-            int rows = info.getTotal();
+            }
-            log.info("新增告警返回数据{}条", rows);
+            int rows = info.getTotal();
-            List<ResultMap> results = info.getResult();
+            log.info("新增告警返回数据{}条", rows);
-            // 写入文件
+            List<ResultMap> results = info.getResult();
-            String dString = ExportUtil.saveToCsv(results);
+            // 写入文件
-            // gpload
+            String dString = ExportUtil.saveToCsv(results);
-            String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
+            // gpload
-            log.info("新增告警goload:----{}", gploadCommand);
+            String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
-            try {
+            log.info("新增告警goload:----{}", gploadCommand);
-                int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
+            try {
-                log.info("新增告警gpload完成。。。。。{}", exitCode);
+                int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
-            } catch (InterruptedException e) {
+                log.info("新增告警gpload完成。。。。。{}", exitCode);
-                e.printStackTrace();
+            } catch (InterruptedException e) {
-                log.error("新增告警gpload失败: {}", e.getMessage());
+                e.printStackTrace();
-            }
+                log.error("新增告警gpload失败: {}", e.getMessage());
-            log.info("查询新增告警完成=====================================================");
+            }
-        } catch (Exception e) {
+            log.info("查询新增告警完成=====================================================");
-            log.info("查询新增告警出错=====================================================");
+        } catch (Exception e) {
-            e.printStackTrace();
+            log.info("查询新增告警出错=====================================================");
-        } finally {
+            e.printStackTrace();
-            try {
+        } finally {
-                response.close();
+            try {
-            } catch (IOException e) {
+                response.close();
-                e.printStackTrace();
+            } catch (IOException e) {
-            }
+                e.printStackTrace();
-
+            }
-        }
+
-    }
+        }
-
+    }
-    public void getHttpUpdate(Date date) {
+
-        log.info("查询消除告警开始=====================================================");
+    public void getHttpUpdate(Date date) {
-        InvokeManager manager = new AbilityInvokeManager(appId, secret);
+        log.info("查询消除告警开始=====================================================");
-        MessageCfg cfg = SDKUtil.gethistoryBody(date);
+        InvokeManager manager = new AbilityInvokeManager(appId, secret);
-        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
+        MessageCfg cfg = SDKUtil.gethistoryBody(date);
-        try {
+        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
-            String responseStr = response.getRespStr();
+        try {
-            ResponseBody resObj;
+            String responseStr = response.getRespStr();
-            try {
+            ResponseBody resObj;
-                resObj = JSON.parseObject(responseStr, ResponseBody.class);
+            try {
-            } catch (Exception e) {
+                resObj = JSON.parseObject(responseStr, ResponseBody.class);
-                log.error("返回消息json解析错误: {}", responseStr);
+            } catch (Exception e) {
-                e.printStackTrace();
+                log.error("返回消息json解析错误: {}", responseStr);
-                return;
+                e.printStackTrace();
-            }
+                return;
-            String body = (String) resObj.getUNI_NET_BODY();
+            }
-            // body = body.replace("null", "\"\"");
+            String body = (String) resObj.getUNI_NET_BODY();
-            ResultInfo info;
+            // body = body.replace("null", "\"\"");
-            try {
+            ResultInfo info;
-                info = JSON.parseObject(body, ResultInfo.class);
+            try {
-            } catch (Exception e) {
+                info = JSON.parseObject(body, ResultInfo.class);
-                log.error("返回消息json解析错误: {}", responseStr);
+            } catch (Exception e) {
-                e.printStackTrace();
+                log.error("返回消息json解析错误: {}", responseStr);
-                return;
+                e.printStackTrace();
-            }
+                return;
-            int rows = info.getTotal();
+            }
-            log.info("消除告警返回数据{}条", rows);
+            int rows = info.getTotal();
-            List<ResultMap> results = info.getResult();
+            log.info("消除告警返回数据{}条", rows);
-            // 写入文件
+            List<ResultMap> results = info.getResult();
-            String dString = ExportUtil.saveToCsv(results);
+            // 写入文件
-            // gpload
+            String dString = ExportUtil.saveToCsv(results);
-            String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
+            // gpload
-            log.info("消除告警goload:----{}", gploadCommand);
+            String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
-            try {
+            log.info("消除告警goload:----{}", gploadCommand);
-                int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
+            try {
-                log.info("消除告警gpload完成。。。。。{}", exitCode);
+                int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
-            } catch (InterruptedException e) {
+                log.info("消除告警gpload完成。。。。。{}", exitCode);
-                e.printStackTrace();
+            } catch (InterruptedException e) {
-                log.error("消除告警gpload失败: {}", e.getMessage());
+                e.printStackTrace();
-            }
+                log.error("消除告警gpload失败: {}", e.getMessage());
-            log.info("查询消除告警完成=====================================================");
+            }
-        } catch (Exception e) {
+            log.info("查询消除告警完成=====================================================");
-            log.info("查询消除告警出错=====================================================");
+        } catch (Exception e) {
-            e.printStackTrace();
+            log.info("查询消除告警出错=====================================================");
-        }
+            e.printStackTrace();
-    }
+        }
-}
+    }
+}

+ 68 - 68
src/main/java/com/nokia/alarm/service/AlarmSaveToGPandPGService.java

@@ -1,68 +1,68 @@
-package com.nokia.alarm.service;
+package com.nokia.alarm.service;
-
+
-import java.io.IOException;
+import java.io.IOException;
-import java.util.Date;
+import java.util.Date;
-import java.util.List;
+import java.util.List;
-
+
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Service;
-
+
-import com.nokia.alarm.entity.ResultMap;
+import com.nokia.alarm.entity.ResultMap;
-import com.nokia.alarm.util.ExportUtil;
+import com.nokia.alarm.util.ExportUtil;
-
+
-import lombok.extern.slf4j.Slf4j;
+import lombok.extern.slf4j.Slf4j;
-
+
-@Slf4j
+@Slf4j
-@Service
+@Service
-public class AlarmSaveToGPandPGService {
+public class AlarmSaveToGPandPGService {
-
+
-    @Autowired
+    @Autowired
-    private ApiCallService apiCallService;
+    private ApiCallService apiCallService;
-
+
-    @Autowired
+    @Autowired
-    private ResultMapService resultMapService;
+    private ResultMapService resultMapService;
-
+
-    public void newAlarm(Date date) {
+    public void newAlarm(Date date) {
-        long start = System.currentTimeMillis();
+        long start = System.currentTimeMillis();
-        // 获取新增告警
+        // 获取新增告警
-        List<ResultMap> results = apiCallService.getNewAlarm(date);
+        List<ResultMap> results = apiCallService.getNewAlarm(date);
-        // 使用gpload入库到GP数据库
+        // 使用gpload入库到GP数据库
-        // 写入文件
+        // 写入文件
-        String dString = ExportUtil.saveToCsv(results);
+        String dString = ExportUtil.saveToCsv(results);
-        // gpload
+        // gpload
-        String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
+        String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
-        log.info("新增告警goload:--{}", gploadCommand);
+        log.info("新增告警goload:--{}", gploadCommand);
-        try {
+        try {
-            int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
+            int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
-            log.info("新增告警gpload完成...{}", exitCode);
+            log.info("新增告警gpload完成...{}, 耗时 {} 毫秒...", exitCode, System.currentTimeMillis() - start);
-        } catch (InterruptedException | IOException e) {
+        } catch (InterruptedException | IOException e) {
-            e.printStackTrace();
+            e.printStackTrace();
-            log.error("新增告警gpload失败: {}", e.getMessage());
+            log.error("新增告警gpload失败: {}", e.getMessage());
-        }
+        }
-        // 通过轮询批量插入PG数据库
+        // 通过轮询批量插入PG数据库
-        resultMapService.insertData(results);
+        resultMapService.insertData(results);
-        log.info("新增告警 {} 时间 入库完成, 耗时 {} 毫秒...", date, (System.currentTimeMillis() - start));
+        log.info("新增告警 {} 时间 入库PG完成, 耗时 {} 毫秒...", date, (System.currentTimeMillis() - start));
-    }
+    }
-
+
-    public void updateAlarm(Date date) {
+    public void updateAlarm(Date date) {
-        long start = System.currentTimeMillis();
+        long start = System.currentTimeMillis();
-        // 获取取消告警
+        // 获取取消告警
-        List<ResultMap> results = apiCallService.getCanceledAlarm(date);
+        List<ResultMap> results = apiCallService.getCanceledAlarm(date);
-        // 通过gpload入库到GP数据库
+        // 通过gpload入库到GP数据库
-        // 写入文件
+        // 写入文件
-        String dString = ExportUtil.saveToCsv(results);
+        String dString = ExportUtil.saveToCsv(results);
-        // gpload
+        // gpload
-        String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
+        String gploadCommand = "sh /data1/s130/alarm/gpload/alarm.sh " + dString;
-        log.info("消除告警goload:--{}", gploadCommand);
+        log.info("消除告警goload:--{}", gploadCommand);
-        try {
+        try {
-            int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
+            int exitCode = Runtime.getRuntime().exec(gploadCommand).waitFor();
-            log.info("消除告警gpload完成。。。。。{}", exitCode);
+            log.info("消除告警gpload完成。。。。。{}", exitCode);
-        } catch (InterruptedException | IOException e) {
+        } catch (InterruptedException | IOException e) {
-            e.printStackTrace();
+            e.printStackTrace();
-            log.error("消除告警gpload失败: {}", e.getMessage());
+            log.error("消除告警gpload失败: {}", e.getMessage());
-        }
+        }
-        // 通过resultMapService更新到PG数据库
+        // 通过resultMapService更新到PG数据库
-        resultMapService.updateOrInsertData(results);
+        resultMapService.updateOrInsertData(results);
-        log.info("消除告警 {} 时间 入库完成, 耗时 {} 毫秒...", date, (System.currentTimeMillis() - start));
+        log.info("消除告警 {} 时间 入库完成, 耗时 {} 毫秒...", date, (System.currentTimeMillis() - start));
-    }
+    }
-}
+}

+ 116 - 116
src/main/java/com/nokia/alarm/service/ApiCallService.java

@@ -1,116 +1,116 @@
-package com.nokia.alarm.service;
+package com.nokia.alarm.service;
-
+
-import java.io.IOException;
+import java.io.IOException;
-import java.util.Date;
+import java.util.Date;
-import java.util.List;
+import java.util.List;
-
+
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Service;
-
+
-import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSON;
-import com.hl.opnc.AbilityResponse;
+import com.hl.opnc.AbilityResponse;
-import com.hl.opnc.ResponseBody;
+import com.hl.opnc.ResponseBody;
-import com.hl.opnc.invoke.AbilityInvokeManager;
+import com.hl.opnc.invoke.AbilityInvokeManager;
-import com.hl.opnc.invoke.InvokeManager;
+import com.hl.opnc.invoke.InvokeManager;
-import com.nokia.alarm.entity.MessageCfg;
+import com.nokia.alarm.entity.MessageCfg;
-import com.nokia.alarm.entity.ResultInfo;
+import com.nokia.alarm.entity.ResultInfo;
-import com.nokia.alarm.entity.ResultMap;
+import com.nokia.alarm.entity.ResultMap;
-import com.nokia.alarm.util.SDKUtil;
+import com.nokia.alarm.util.SDKUtil;
-
+
-import lombok.extern.slf4j.Slf4j;
+import lombok.extern.slf4j.Slf4j;
-
+
-@Slf4j
+@Slf4j
-@Service
+@Service
-public class ApiCallService {
+public class ApiCallService {
-
+
-    @Value("${httpurl:http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA}")
+    @Value("${httpurl:http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA}")
-    private String methodUrl;
+    private String methodUrl;
-    @Value("${appId:0f9bf497549343e68ca36b4caffbc8c4}")
+    @Value("${appId:0f9bf497549343e68ca36b4caffbc8c4}")
-    private String appId;
+    private String appId;
-    @Value("${secret:087b1ceb698140cd8c65543f5ace0490}")
+    @Value("${secret:087b1ceb698140cd8c65543f5ace0490}")
-    private String secret;
+    private String secret;
-
+
-    public List<ResultMap> getNewAlarm(Date date) {
+    public List<ResultMap> getNewAlarm(Date date) {
-        log.info("查询新增告警开始...");
+        log.info("查询新增告警开始...");
-        InvokeManager manager = new AbilityInvokeManager(appId, secret);
+        InvokeManager manager = new AbilityInvokeManager(appId, secret);
-        MessageCfg cfg = SDKUtil.getBody(date);
+        MessageCfg cfg = SDKUtil.getBody(date);
-        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
+        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
-        try {
+        try {
-            String responseStr = response.getRespStr();
+            String responseStr = response.getRespStr();
-            ResponseBody resObj;
+            ResponseBody resObj;
-            try {
+            try {
-                resObj = JSON.parseObject(responseStr, ResponseBody.class);
+                resObj = JSON.parseObject(responseStr, ResponseBody.class);
-            } catch (Exception e) {
+            } catch (Exception e) {
-                log.error("返回消息json解析错误: {}", responseStr);
+                log.error("返回消息json解析错误: {}", responseStr);
-                e.printStackTrace();
+                e.printStackTrace();
-                return null;
+                return null;
-            }
+            }
-            String body = (String) resObj.getUNI_NET_BODY();
+            String body = (String) resObj.getUNI_NET_BODY();
-            // log.info(body);
+            // log.info(body);
-            body = body.replace("null", "\"\"");
+            body = body.replace("null", "\"\"");
-            ResultInfo info;
+            ResultInfo info;
-            try {
+            try {
-                info = JSON.parseObject(body, ResultInfo.class);
+                info = JSON.parseObject(body, ResultInfo.class);
-            } catch (Exception e) {
+            } catch (Exception e) {
-                log.error("返回消息json解析错误: {}", responseStr);
+                log.error("返回消息json解析错误: {}", responseStr);
-                e.printStackTrace();
+                e.printStackTrace();
-                return null;
+                return null;
-            }
+            }
-            int rows = info.getTotal();
+            int rows = info.getTotal();
-            log.info("新增告警返回数据{}条", rows);
+            log.info("新增告警返回数据{}条", rows);
-            return info.getResult();
+            return info.getResult();
-        } catch (Exception e) {
+        } catch (Exception e) {
-            log.error("查询新增告警出错: {}", e.getMessage());
+            log.error("查询新增告警出错: {}", e.getMessage());
-            e.printStackTrace();
+            e.printStackTrace();
-            return null;
+            return null;
-        } finally {
+        } finally {
-            try {
+            try {
-                response.close();
+                response.close();
-            } catch (IOException e) {
+            } catch (IOException e) {
-                e.printStackTrace();
+                e.printStackTrace();
-            }
+            }
-        }
+        }
-    }
+    }
-
+
-    public List<ResultMap> getCanceledAlarm(Date date) {
+    public List<ResultMap> getCanceledAlarm(Date date) {
-        log.info("查询消除告警开始...");
+        log.info("查询消除告警开始...");
-        InvokeManager manager = new AbilityInvokeManager(appId, secret);
+        InvokeManager manager = new AbilityInvokeManager(appId, secret);
-        MessageCfg cfg = SDKUtil.gethistoryBody(date);
+        MessageCfg cfg = SDKUtil.gethistoryBody(date);
-        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
+        AbilityResponse response = manager.post(methodUrl, null, JSON.toJSONString(cfg));
-        try {
+        try {
-            String responseStr = response.getRespStr();
+            String responseStr = response.getRespStr();
-            ResponseBody resObj;
+            ResponseBody resObj;
-            try {
+            try {
-                resObj = JSON.parseObject(responseStr, ResponseBody.class);
+                resObj = JSON.parseObject(responseStr, ResponseBody.class);
-            } catch (Exception e) {
+            } catch (Exception e) {
-                log.error("返回消息json解析错误: {}", responseStr);
+                log.error("返回消息json解析错误: {}", responseStr);
-                e.printStackTrace();
+                e.printStackTrace();
-                return null;
+                return null;
-            }
+            }
-            String body = (String) resObj.getUNI_NET_BODY();
+            String body = (String) resObj.getUNI_NET_BODY();
-            body = body.replace("null", "\"\"");
+            body = body.replace("null", "\"\"");
-            ResultInfo info;
+            ResultInfo info;
-            try {
+            try {
-                info = JSON.parseObject(body, ResultInfo.class);
+                info = JSON.parseObject(body, ResultInfo.class);
-            } catch (Exception e) {
+            } catch (Exception e) {
-                log.error("返回消息json解析错误: {}", responseStr);
+                log.error("返回消息json解析错误: {}", responseStr);
-                e.printStackTrace();
+                e.printStackTrace();
-                return null;
+                return null;
-            }
+            }
-            int rows = info.getTotal();
+            int rows = info.getTotal();
-            log.info("消除告警返回数据{}条", rows);
+            log.info("消除告警返回数据{}条", rows);
-            return info.getResult();
+            return info.getResult();
-        } catch (Exception e) {
+        } catch (Exception e) {
-            log.error("查询消除告警出错: {}...", e.getMessage());
+            log.error("查询消除告警出错: {}...", e.getMessage());
-            e.printStackTrace();
+            e.printStackTrace();
-            return null;
+            return null;
-        } finally {
+        } finally {
-            try {
+            try {
-                response.close();
+                response.close();
-            } catch (IOException e) {
+            } catch (IOException e) {
-                e.printStackTrace();
+                e.printStackTrace();
-            }
+            }
-        }
+        }
-    }
+    }
-
+
-}
+}

+ 48 - 48
src/main/java/com/nokia/alarm/service/ResultMapService.java

@@ -1,48 +1,48 @@
-package com.nokia.alarm.service;
+package com.nokia.alarm.service;
-
+
-import java.util.List;
+import java.util.List;
-
+
-import org.springframework.stereotype.Service;
+import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
+import com.nokia.alarm.entity.ResultMap;
-
+import com.nokia.alarm.mapper.ResultMapDao;
-import com.nokia.alarm.entity.ResultMap;
+
-import com.nokia.alarm.mapper.ResultMapDao;
+import lombok.extern.slf4j.Slf4j;
-
+
-import lombok.extern.slf4j.Slf4j;
+@Slf4j
-
+@Service
-@Slf4j
+public class ResultMapService {
-@Service
+
-public class ResultMapService {
+    private final ResultMapDao resultMapDao;
-
+
-    private final ResultMapDao resultMapDao;
+    public ResultMapService(ResultMapDao resultMapDao) {
-
+        this.resultMapDao = resultMapDao;
-    public ResultMapService(ResultMapDao resultMapDao) {
+    }
-        this.resultMapDao = resultMapDao;
+
-    }
+    public boolean isExist(ResultMap resultMap) {
-
+        int count = resultMapDao.findByUniqueId(resultMap);
-    public boolean isExist(ResultMap resultMap) {
+        return count != 0;
-        int count = resultMapDao.findByUniqueId(resultMap);
+    }
-        return count != 0;
+
-    }
+    public void updateOrInsertData(List<ResultMap> results) {
-
+        if (results != null) {
-    @Transactional
+            for (ResultMap result : results) {
-    public void updateOrInsertData(List<ResultMap> results) {
+                if (isExist(result)) {
-        if (results != null) {
+                    log.debug("更新数据 {}", result.getUniqueId());
-            for (ResultMap result : results) {
+                    resultMapDao.updateData(result);
-                if (isExist(result)) {
+                } else {
-                    log.debug("更新数据 {}", result.getUniqueId());
+                    resultMapDao.insertData(result);
-                    resultMapDao.updateData(result);
+                }
-                } else {
+            }
-                    resultMapDao.insertData(result);
+        }
-                }
+    }
-            }
+
-        }
+    public void insertData(List<ResultMap> results) {
-    }
+        if (results != null) {
-
+            for (ResultMap result : results) {
-    @Transactional
+                if (!isExist(result)) {
-    public void insertData(List<ResultMap> results) {
+                    resultMapDao.insertData(result);
-        for (ResultMap result : results) {
+                }
-            resultMapDao.insertData(result);
+            }
-        }
+        }
-    }
+    }
-}
+}

+ 119 - 119
src/main/java/com/nokia/alarm/util/ExportUtil.java

@@ -1,119 +1,119 @@
-package com.nokia.alarm.util;
+package com.nokia.alarm.util;
-
+
-import java.io.File;
+import java.io.File;
-import java.io.FileOutputStream;
+import java.io.FileOutputStream;
-import java.io.IOException;
+import java.io.IOException;
-import java.io.OutputStreamWriter;
+import java.io.OutputStreamWriter;
-import java.nio.charset.StandardCharsets;
+import java.nio.charset.StandardCharsets;
-import java.text.DateFormat;
+import java.text.DateFormat;
-import java.text.ParseException;
+import java.text.ParseException;
-import java.text.SimpleDateFormat;
+import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.util.Date;
-import java.util.List;
+import java.util.List;
-
+
-import org.apache.commons.csv.CSVFormat;
+import org.apache.commons.csv.CSVFormat;
-import org.apache.commons.csv.CSVPrinter;
+import org.apache.commons.csv.CSVPrinter;
-
+
-import com.nokia.alarm.entity.ResultMap;
+import com.nokia.alarm.entity.ResultMap;
-
+
-public class ExportUtil {
+public class ExportUtil {
-    public static String filePath = "csv";
+    public static String filePath = "csv";
-    public static String fileNamePrifix = "resultMap";
+    public static String fileNamePrifix = "resultMap";
-    public static final String recordSeparator = "\r\n";
+    public static final String recordSeparator = "\r\n";
-    public static final char delimiter = ',';
+    public static final char delimiter = ',';
-
+
-    public static String saveToCsv(List<ResultMap> results) {
+    public static String saveToCsv(List<ResultMap> results) {
-        DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
+        DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
-        String dString = format.format(new Date());
+        String dString = format.format(new Date());
-        File file = new File(filePath, fileNamePrifix + dString + ".csv");
+        File file = new File(filePath, fileNamePrifix + dString + ".csv");
-        if (!file.getParentFile().exists()) {
+        if (!file.getParentFile().exists()) {
-            file.getParentFile().mkdirs();
+            file.getParentFile().mkdirs();
-        }
+        }
-        Appendable writer = null;
+        Appendable writer = null;
-        CSVPrinter printer = null;
+        CSVPrinter printer = null;
-        CSVFormat csvFormat = CSVFormat.DEFAULT.builder()
+        CSVFormat csvFormat = CSVFormat.DEFAULT.builder()
-                .setRecordSeparator(recordSeparator)
+                .setRecordSeparator(recordSeparator)
-                .setDelimiter(delimiter)
+                .setDelimiter(delimiter)
-                .build();
+                .build();
-        try {
+        try {
-            writer = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
+            writer = new OutputStreamWriter(new FileOutputStream(file), StandardCharsets.UTF_8);
-            printer = csvFormat.print(writer);
+            printer = csvFormat.print(writer);
-            for (ResultMap resultMap : results) {
+            for (ResultMap resultMap : results) {
-                Object[] arr = toArray(resultMap);
+                Object[] arr = toArray(resultMap);
-                if (arr != null) {
+                if (arr != null) {
-                    printer.printRecord(arr);
+                    printer.printRecord(arr);
-                }
+                }
-            }
+            }
-            printer.flush();
+            printer.flush();
-            printer.close();
+            printer.close();
-        } catch (IOException e) {
+        } catch (IOException e) {
-            e.printStackTrace();
+            e.printStackTrace();
-        }
+        }
-        return dString;
+        return dString;
-    }
+    }
-
+
-    private static Object[] toArray(ResultMap resultMap) {
+    private static Object[] toArray(ResultMap resultMap) {
-        DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
+        DateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:00:00");
-        String sdate = resultMap.getEventTime();
+        String sdate = resultMap.getEventTime();
-        try {
+        try {
-            sdate = format2.format(format1.parse(sdate));
+            sdate = format2.format(format1.parse(sdate));
-            return new Object[] { sdate,
+            return new Object[] { sdate,
-                    resultMap.getUniqueId(),
+                    resultMap.getUniqueId(),
-                    resultMap.getUniqueClearId(),
+                    resultMap.getUniqueClearId(),
-                    resultMap.getEventTime(),
+                    resultMap.getEventTime(),
-                    resultMap.getCancelTime(),
+                    resultMap.getCancelTime(),
-                    resultMap.getStatus(),
+                    resultMap.getStatus(),
-                    resultMap.getProjectStatus(),
+                    resultMap.getProjectStatus(),
-                    resultMap.getVendorAlarmSerial(),
+                    resultMap.getVendorAlarmSerial(),
-                    resultMap.getAlarmTitle(),
+                    resultMap.getAlarmTitle(),
-                    resultMap.getVendorSeverity(),
+                    resultMap.getVendorSeverity(),
-                    resultMap.getVendorAlarmType(),
+                    resultMap.getVendorAlarmType(),
-                    resultMap.getSpecificProblem(),
+                    resultMap.getSpecificProblem(),
-                    resultMap.getSpecificProblemID(),
+                    resultMap.getSpecificProblemID(),
-                    resultMap.getEquipmentClass(),
+                    resultMap.getEquipmentClass(),
-                    resultMap.getEquipmentName(),
+                    resultMap.getEquipmentName(),
-                    resultMap.getLocateNeClass(),
+                    resultMap.getLocateNeClass(),
-                    resultMap.getLocateNeName(),
+                    resultMap.getLocateNeName(),
-                    resultMap.getProvince(),
+                    resultMap.getProvince(),
-                    resultMap.getRegion(),
+                    resultMap.getRegion(),
-                    resultMap.getCity(),
+                    resultMap.getCity(),
-                    resultMap.getGrid(),
+                    resultMap.getGrid(),
-                    resultMap.getArea(),
+                    resultMap.getArea(),
-                    resultMap.getVendor(),
+                    resultMap.getVendor(),
-                    resultMap.getSpecialty(),
+                    resultMap.getSpecialty(),
-                    resultMap.getSiteId(),
+                    resultMap.getSiteId(),
-                    resultMap.getRoomId(),
+                    resultMap.getRoomId(),
-                    resultMap.getTowerSiteNo(),
+                    resultMap.getTowerSiteNo(),
-                    resultMap.getProEquipmentStatus(),
+                    resultMap.getProEquipmentStatus(),
-                    resultMap.getProjectName(),
+                    resultMap.getProjectName(),
-                    resultMap.getProjectNo(),
+                    resultMap.getProjectNo(),
-                    resultMap.getProjectStartTime(),
+                    resultMap.getProjectStartTime(),
-                    resultMap.getProjectEndTime(),
+                    resultMap.getProjectEndTime(),
-                    resultMap.getWorkSendStatus(),
+                    resultMap.getWorkSendStatus(),
-                    resultMap.getWorkStatus(),
+                    resultMap.getWorkStatus(),
-                    resultMap.getWorkNo(),
+                    resultMap.getWorkNo(),
-                    resultMap.getWorkArchivedTime(),
+                    resultMap.getWorkArchivedTime(),
-                    resultMap.getWorkDutyDep(),
+                    resultMap.getWorkDutyDep(),
-                    resultMap.getWorkSendPerson(),
+                    resultMap.getWorkSendPerson(),
-                    resultMap.getAlarmLogicClass(),
+                    resultMap.getAlarmLogicClass(),
-                    resultMap.getAlarmLogicSubClass(),
+                    resultMap.getAlarmLogicSubClass(),
-                    resultMap.getStandardAlarmName(),
+                    resultMap.getStandardAlarmName(),
-                    resultMap.getAlarmSeverity(),
+                    resultMap.getAlarmSeverity(),
-                    resultMap.getStandardAlarmId(),
+                    resultMap.getStandardAlarmId(),
-                    resultMap.getEffectOnEquipment(),
+                    resultMap.getEffectOnEquipment(),
-                    resultMap.getEffectOnBusiness(),
+                    resultMap.getEffectOnBusiness(),
-                    resultMap.getStandardFlag(),
+                    resultMap.getStandardFlag(),
-                    resultMap.getNetworkType(),
+                    resultMap.getNetworkType(),
-                    resultMap.getEquipmentDN(),
+                    resultMap.getEquipmentDN(),
-                    resultMap.getLocateNEDN(),
+                    resultMap.getLocateNEDN(),
-                    resultMap.getTacCode(),
+                    resultMap.getTacCode(),
-                    resultMap.getTacId(),
+                    resultMap.getTacId(),
-                    resultMap.getAlarmText()
+                    resultMap.getAlarmText()
-            };
+            };
-        } catch (ParseException e) {
+        } catch (ParseException e) {
-            e.printStackTrace();
+            e.printStackTrace();
-            return null;
+            return null;
-        }
+        }
-    }
+    }
-}
+}

+ 87 - 87
src/main/java/com/nokia/alarm/util/SDKUtil.java

@@ -1,87 +1,87 @@
-package com.nokia.alarm.util;
+package com.nokia.alarm.util;
-
+
-import java.text.DateFormat;
+import java.text.DateFormat;
-import java.text.SimpleDateFormat;
+import java.text.SimpleDateFormat;
-import java.util.ArrayList;
+import java.util.ArrayList;
-import java.util.Calendar;
+import java.util.Calendar;
-import java.util.Date;
+import java.util.Date;
-import java.util.List;
+import java.util.List;
-
+
-import com.nokia.alarm.entity.MessageCfg;
+import com.nokia.alarm.entity.MessageCfg;
-
+
-public class SDKUtil {
+public class SDKUtil {
-    private final static DateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+    private final static DateFormat FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
+
-    public static MessageCfg getBody(Date date) {
+    public static MessageCfg getBody(Date date) {
-        // 查询开始时间
+        // 查询开始时间
-        String startTime = addDateMinut(date, -35);
+        String startTime = addDateMinut(date, -35);
-        // 查询结束时间
+        // 查询结束时间
-        String endTime = addDateMinut(date, -30);
+        String endTime = addDateMinut(date, -30);
-        MessageCfg cfg = new MessageCfg();
+        MessageCfg cfg = new MessageCfg();
-        cfg.setStartTime(startTime);
+        cfg.setStartTime(startTime);
-        cfg.setEndTime(endTime);
+        cfg.setEndTime(endTime);
-        cfg.setResultDataType(1);
+        cfg.setResultDataType(1);
-        cfg.setResultFieldType(1);
+        cfg.setResultFieldType(1);
-        cfg.setPageNum(0);
+        cfg.setPageNum(0);
-        List<String> provincelist = new ArrayList<>();
+        List<String> provincelist = new ArrayList<>();
-        provincelist.add("河北省");
+        provincelist.add("河北省");
-        cfg.setProvince(provincelist);
+        cfg.setProvince(provincelist);
-        List<String> networklist = new ArrayList<>();
+        List<String> networklist = new ArrayList<>();
-        networklist.add("104");
+        networklist.add("104");
-        networklist.add("105");
+        networklist.add("105");
-        cfg.setNetworkType(networklist);
+        cfg.setNetworkType(networklist);
-        cfg.setPageSize(10000);
+        cfg.setPageSize(10000);
-        return cfg;
+        return cfg;
-    }
+    }
-
+
-    public static MessageCfg gethistoryBody(Date date) {
+    public static MessageCfg gethistoryBody(Date date) {
-        // 查询开始时间 1个月前
+        // 查询开始时间 1个月前
-        String startTime = addDateMonth(date, -1);
+        String startTime = addDateMonth(date, -1);
-        // 查询结束时间 当前时间
+        // 查询结束时间 当前时间
-        String endTime = FORMAT.format(date);
+        String endTime = FORMAT.format(date);
-        MessageCfg cfg = new MessageCfg();
+        MessageCfg cfg = new MessageCfg();
-        cfg.setStartTime(startTime);
+        cfg.setStartTime(startTime);
-        cfg.setEndTime(endTime);
+        cfg.setEndTime(endTime);
-        cfg.setResultDataType(1);
+        cfg.setResultDataType(1);
-        cfg.setResultFieldType(1);
+        cfg.setResultFieldType(1);
-        cfg.setPageNum(0);
+        cfg.setPageNum(0);
-        List<String> provincelist = new ArrayList<>();
+        List<String> provincelist = new ArrayList<>();
-        provincelist.add("河北省");
+        provincelist.add("河北省");
-        cfg.setProvince(provincelist);
+        cfg.setProvince(provincelist);
-        List<String> networklist = new ArrayList<>();
+        List<String> networklist = new ArrayList<>();
-        networklist.add("104");
+        networklist.add("104");
-        networklist.add("105");
+        networklist.add("105");
-        List<String> cancelTime = new ArrayList<>();
+        List<String> cancelTime = new ArrayList<>();
-        // 告警消除的开始时间
+        // 告警消除的开始时间
-        cancelTime.add(addDateMinut(date, -35));
+        cancelTime.add(addDateMinut(date, -35));
-        // 告警消除的结束时间
+        // 告警消除的结束时间
-        cancelTime.add(addDateMinut(date, -30));
+        cancelTime.add(addDateMinut(date, -30));
-        cfg.setCancelTime(cancelTime);
+        cfg.setCancelTime(cancelTime);
-        cfg.setNetworkType(networklist);
+        cfg.setNetworkType(networklist);
-        cfg.setPageSize(10000);
+        cfg.setPageSize(10000);
-        return cfg;
+        return cfg;
-    }
+    }
-
+
-    public static String addDateMonth(Date date, int x) {
+    public static String addDateMonth(Date date, int x) {
-        if (date == null)
+        if (date == null)
-            return "";
+            return "";
-        Calendar cal = Calendar.getInstance();
+        Calendar cal = Calendar.getInstance();
-        cal.setTime(date);
+        cal.setTime(date);
-        cal.add(Calendar.MONTH, x);// 24小时制
+        cal.add(Calendar.MONTH, x);// 24小时制
-        date = cal.getTime();
+        date = cal.getTime();
-        cal = null;
+        cal = null;
-        return FORMAT.format(date);
+        return FORMAT.format(date);
-    }
+    }
-
+
-    private static String addDateMinut(Date date, int x) {
+    private static String addDateMinut(Date date, int x) {
-        // 引号里面个格
+        // 引号里面个格
-        if (date == null)
+        if (date == null)
-            return "";
+            return "";
-        Calendar cal = Calendar.getInstance();
+        Calendar cal = Calendar.getInstance();
-        cal.setTime(date);
+        cal.setTime(date);
-        cal.add(Calendar.MINUTE, x);// 24小时制
+        cal.add(Calendar.MINUTE, x);// 24小时制
-        date = cal.getTime();
+        date = cal.getTime();
-        cal = null;
+        cal = null;
-        return FORMAT.format(date);
+        return FORMAT.format(date);
-    }
+    }
-}
+}

+ 20 - 20
src/main/resources/application-prod.properties

@@ -1,20 +1,20 @@
-server.port=8081
+server.port=8081
-
+
-# 入库GP数据库使用的是GPload,不需要配置
+# 入库GP数据库使用的是GPload,不需要配置
-
+
-# 入库PG数据库
+# 入库PG数据库
-# PG数据库登录信息
+# PG数据库登录信息
-spring.datasource.driverClassName=org.postgresql.Driver
+spring.datasource.driverClassName=org.postgresql.Driver
-spring.datasource.url=jdbc:postgresql://192.168.70.172:5432/sqmmt
+spring.datasource.url=jdbc:postgresql://192.168.70.172:5432/sqmmt
-spring.datasource.username=sqmdb
+spring.datasource.username=sqmdb
-spring.datasource.password=sqmdb_1QAZ
+spring.datasource.password=sqmdb_1QAZ
-
+
-# log配置
+# log配置
-logging.level.com.nokia=info
+logging.level.com.nokia=info
-# logging.file.name=log/alarm.log
+# logging.file.name=log/alarm.log
-# logging.charset.file=utf-8
+# logging.charset.file=utf-8
-# logging.charset.console=utf-8
+# logging.charset.console=utf-8
-
+
-httpurl=http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
+httpurl=http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
-
+
-# httpurl=http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
+# httpurl=http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA

+ 17 - 17
src/main/resources/application-test.properties

@@ -1,17 +1,17 @@
-server.port=8081
+server.port=8081
-
+
-# # 本地postgresql
+# # 本地postgresql
-spring.datasource.driverClassName=org.postgresql.Driver
+spring.datasource.driverClassName=org.postgresql.Driver
-spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
+spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
-spring.datasource.username=postgres
+spring.datasource.username=postgres
-spring.datasource.password=fantuan1985
+spring.datasource.password=fantuan1985
-
+
-# log配置
+# log配置
-logging.level.com.nokia=info
+logging.level.com.nokia=info
-# logging.file.name=log/alarm.log
+# logging.file.name=log/alarm.log
-# logging.charset.file=utf-8
+# logging.charset.file=utf-8
-# logging.charset.console=utf-8
+# logging.charset.console=utf-8
-
+
-httpurl=http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
+httpurl=http://192.168.70.125:12090/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
-
+
-# httpurl=http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA
+# httpurl=http://10.160.84.7:8888/esb/HEB_AlarmCustomQuery/0?authcode=SEVCX1VDSUFQI0BhdXRoQCNTWnFsVk9QeA

+ 1 - 1
src/main/resources/application.properties

@@ -1 +1 @@
-spring.profiles.active=prod
+spring.profiles.active=prod

+ 51 - 51
src/main/resources/logback-spring.xml

@@ -1,51 +1,51 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
+<configuration>
-    <property name="PATH" value="./log"/>
+    <property name="PATH" value="./log"/>
-    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-        <encoder>
+        <encoder>
-            <Pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) %yellow(%X{traceId}) %cyan(%logger:%line) %msg%n</Pattern>
+            <Pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level [%thread] %X{traceId} %logger:%line %.-2048msg%n</Pattern>
-        </encoder>
+        </encoder>
-    </appender>
+    </appender>
-    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${PATH}/trace.log</file>
+        <file>${PATH}/trace.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <!-- rollover daily -->
+            <!-- rollover daily -->
-            <fileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
+            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
-            <maxFileSize>10MB</maxFileSize>
+            <maxFileSize>10MB</maxFileSize>
-            <maxHistory>60</maxHistory>
+            <maxHistory>60</maxHistory>
-            <totalSizeCap>20GB</totalSizeCap>
+            <totalSizeCap>20GB</totalSizeCap>
-        </rollingPolicy>
+        </rollingPolicy>
-        <encoder>
+        <encoder>
-            <Pattern>%d %highlight(%-5level) %yellow(%X{traceId}) %cyan(%logger:%line) %msg%n</Pattern>
+            <Pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} %-5level [%thread] %X{traceId} %logger:%line %.-2048msg%n</Pattern>
-        </encoder>
+        </encoder>
-    </appender>
+    </appender>
-    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-        <file>${PATH}/error.log</file>
+        <file>${PATH}/error.log</file>
-        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
+        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <!-- rollover daily -->
+            <!-- rollover daily -->
-            <fileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
+            <fileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
-            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
+            <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB -->
-            <maxFileSize>10MB</maxFileSize>
+            <maxFileSize>10MB</maxFileSize>
-            <maxHistory>60</maxHistory>
+            <maxHistory>60</maxHistory>
-            <totalSizeCap>20GB</totalSizeCap>
+            <totalSizeCap>20GB</totalSizeCap>
-        </rollingPolicy>
+        </rollingPolicy>
-        <encoder>
+        <encoder>
-            <Pattern>%d %-5level %X{traceId} %logger:%line %msg%n</Pattern>
+            <Pattern>%d %-5level %X{traceId} %logger:%line %msg%n</Pattern>
-        </encoder>
+        </encoder>
-        <filter class="ch.qos.logback.classic.filter.LevelFilter">
+        <filter class="ch.qos.logback.classic.filter.LevelFilter">
-            <level>ERROR</level>
+            <level>ERROR</level>
-            <onMatch>ACCEPT</onMatch>
+            <onMatch>ACCEPT</onMatch>
-            <onMismatch>DENY</onMismatch>
+            <onMismatch>DENY</onMismatch>
-        </filter>
+        </filter>
-    </appender>
+    </appender>
-    <root level="INFO">
+    <root level="INFO">
-        <appender-ref ref="STDOUT"/>
+        <appender-ref ref="STDOUT"/>
-    </root>
+    </root>
-    <root level="TRACE">
+    <root level="TRACE">
-        <appender-ref ref="TRACE_FILE"/>
+        <appender-ref ref="TRACE_FILE"/>
-    </root>
+    </root>
-    <root level="ERROR">
+    <root level="ERROR">
-        <appender-ref ref="ERROR_FILE"/>
+        <appender-ref ref="ERROR_FILE"/>
-    </root>
+    </root>
-</configuration>
+</configuration>

+ 23 - 23
src/test/com/nokia/alarm/AlarmApplicationTest.java

@@ -1,23 +1,23 @@
-package com.nokia.alarm;
+package com.nokia.alarm;
-
+
-import java.util.Date;
+import java.util.Date;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.context.SpringBootTest;
-
+
-import com.nokia.alarm.service.AlarmSaveToGPandPGService;
+import com.nokia.alarm.service.AlarmSaveToGPandPGService;
-
+
-@SpringBootTest
+@SpringBootTest
-public class AlarmApplicationTest {
+public class AlarmApplicationTest {
-
+
-    @Autowired
+    @Autowired
-    private AlarmSaveToGPandPGService alarmSaveToGPandPGService;
+    private AlarmSaveToGPandPGService alarmSaveToGPandPGService;
-
+
-    @Test
+    @Test
-    void test() {
+    void test() {
-        Date date = new Date();
+        Date date = new Date();
-        alarmSaveToGPandPGService.newAlarm(date);
+        alarmSaveToGPandPGService.newAlarm(date);
-        alarmSaveToGPandPGService.updateAlarm(date);
+        alarmSaveToGPandPGService.updateAlarm(date);
-    }
+    }
-
+
-}
+}

Some files were not shown because too many files changed in this diff