Kaynağa Gözat

Merge branch '2.2.0' into 2.2.1

klzhangweiya 2 yıl önce
ebeveyn
işleme
cada1c5f3d
95 değiştirilmiş dosya ile 1668 ekleme ve 911 silme
  1. 2 0
      .gitignore
  2. 47 0
      VB_DSM_V2.1/Mirror/Dockerfile
  3. 2 0
      VB_DSM_V2.1/Scripts/Cmds/7085_gov.run.xml
  4. 20 0
      VB_DSM_V2.1/Scripts/Cmds/Build_IWBTomcate.run.xml
  5. 227 0
      VB_DSM_V2.1/Scripts/Dockers/docker-compose-iwb-v2.yml
  6. 45 27
      VB_DSM_V2.1/Scripts/Dockers/docker-compose-iwb.yml
  7. 14 14
      VB_DSM_V2.1/Scripts/Dockers/docker-compose.yml
  8. 1 1
      VB_DSM_V2.1/pom.xml
  9. 459 446
      VB_DSM_V2.1/vbdsm-common/vbdsm-base/src/main/java/cn/vbdsm/core/dao/impl/RequiredDao.java
  10. 11 6
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/MonitorDao.java
  11. 6 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/OrgDao.java
  12. 3 3
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/process/impl/HarmonicUDataProcess.java
  13. 8 8
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/local/db.properties
  14. 1 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/local/redis-host.properties
  15. 8 8
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/product/db.properties
  16. 8 8
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/test/db.properties
  17. 1 1
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/pom.xml
  18. 6 6
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/src/main/resources/config/application.yml
  19. 11 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/pom.xml
  20. 13 4
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/VbdsmHj212ModbusApplication.java
  21. 28 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/config/TaskConfig.java
  22. 1 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/config/TcpServerProperties.java
  23. 38 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/handler/TcpClientHandler.java
  24. 64 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/server/TcpSocketClient.java
  25. 56 5
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/task/UploadDataTask.java
  26. 47 0
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/utils/ExecUtil.java
  27. 47 4
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/utils/WsClientUtil.java
  28. 24 10
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/MockUploadWsService.java
  29. 19 19
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/RandomHarmonic.java
  30. 27 17
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/TerminalData.java
  31. 6 2
      VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/resources/application.yml
  32. 1 1
      VB_DSM_V2.1/vbdsm-job/xxl-job-admin/src/main/resources/application.properties
  33. 10 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/db.properties
  34. 10 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/db.properties
  35. 16 16
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/test/db.properties
  36. 1 1
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/pom.xml
  37. 10 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-dev.yml
  38. 10 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-prod.yml
  39. 10 10
      VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-test.yml
  40. 26 0
      VB_DSM_V2.1/vbdsm-web/Dockerfile
  41. 5 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-charts/Dockerfile
  42. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-charts/src/main/resources/local/redis-host.properties
  43. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-charts/src/main/resources/product/redis-host.properties
  44. 3 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-charts/src/main/resources/test/log4j-cfg.xml
  45. 5 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/java/cn/vbdsm/explorer/service/impl/UFileService.java
  46. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/local/db.properties
  47. 4 4
      VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/product/db.properties
  48. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/product/redis-host.properties
  49. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/test/db.properties
  50. 3 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/test/log4j-cfg.xml
  51. 11 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/pom.xml
  52. 17 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/java/cn/vbdsm/VbdsmGovNewApplication.java
  53. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/application-prod.yml
  54. 10 10
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/sharding-dev.yml
  55. 10 10
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/sharding-prod.yml
  56. 10 10
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/sharding-test.yml
  57. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/logback.xml
  58. 6 6
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/local/db.properties
  59. 6 6
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/product/db.properties
  60. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/product/redis-host.properties
  61. 6 6
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/test/db.properties
  62. 3 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/test/log4j-cfg.xml
  63. 2 0
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/java/cn/vbdsm/manage/dao/RoleDao.java
  64. 132 112
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/java/cn/vbdsm/manage/mvc/action/web/BaseCodeAction.java
  65. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/local/db.properties
  66. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/product/db.properties
  67. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/product/redis-host.properties
  68. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/test/db.properties
  69. 3 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/test/log4j-cfg.xml
  70. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/local/db.properties
  71. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/product/db.properties
  72. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/product/redis-host.properties
  73. 2 2
      VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/test/db.properties
  74. 3 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/test/log4j-cfg.xml
  75. 21 0
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/pom.xml
  76. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/company_usepower_top.xls
  77. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_month_detail.xls
  78. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_single_month_detail.xls
  79. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_single_year_detail.xls
  80. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_year_detail.xls
  81. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_day_detail.xls
  82. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_month_detail.xls
  83. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_power.xls
  84. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_power_price.xls
  85. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_time.xls
  86. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_total_month_detail.xls
  87. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/ydb_quality_detail.docx
  88. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/ydb_test_report - 副本.docx
  89. BIN
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/ydb_test_report.docx
  90. 5 5
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/jjrh/db.properties
  91. 10 10
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/local/db.properties
  92. 10 10
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/product/db.properties
  93. 1 1
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/product/redis-host.properties
  94. 10 10
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/test/db.properties
  95. 3 3
      VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/test/log4j-cfg.xml

+ 2 - 0
.gitignore

@@ -70,3 +70,5 @@ obj/
 *.rar
 *.zip
 VB_DSM_V*/mock/*.json
+VB_DSM_V*/Mirror/*.gz
+VB_DSM_V*/Mirror/*.TTF

+ 47 - 0
VB_DSM_V2.1/Mirror/Dockerfile

@@ -0,0 +1,47 @@
+# 指定操作的镜像
+FROM ubuntu:22.04
+
+# 维护者信息
+MAINTAINER Vber
+
+# 将 jdk 和 tomcat 添加到镜像centos的/usr/local/目录下
+ADD jdk-8u381-linux-x64.tar.gz /usr/local/
+ADD apache-tomcat-8.5.93.tar.gz /usr/local/
+
+RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.tuna.tsinghua.edu.cn/#' /etc/apt/sources.list;
+RUN apt-get update && apt-get install -y fontconfig
+COPY STSONG.TTF /usr/share/fonts/
+ENV MYPATH /usr/local
+WORKDIR $MYPATH
+# 添加环境变量
+ENV JAVA_HOME /usr/local/jdk1.8.0_381
+ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
+ENV CATALINA_HOME /usr/local/tomcat
+ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
+ENV TZ="Asia/Shanghai"
+ENV JAVA_OPTS="\
+-server \
+-Xms3g \
+-Xmx3g \
+-Xmn512m \
+-Xss512K \
+-Dfile.encoding=UTF-8 \
+-verbose:gc \
+-XX:+UseConcMarkSweepGC \
+-XX:MaxTenuringThreshold=10 \
+-XX:+ExplicitGCInvokesConcurrent \
+-XX:GCTimeRatio=19 \
+-XX:+UseParNewGC \
+-XX:+UseCMSCompactAtFullCollection \
+-XX:CMSFullGCsBeforeCompaction=10 \
+-XX:+CMSClassUnloadingEnabled \
+-XX:+CMSParallelRemarkEnabled \
+-XX:CMSInitiatingOccupancyFraction=50 \
+-Xnoclassgc \
+-XX:SoftRefLRUPolicyMSPerMB=0"
+
+# 暴露8080端口
+EXPOSE 8080
+
+# 容器启动时运行tomcat
+CMD $CATALINA_HOME/bin/catalina.sh run

+ 2 - 0
VB_DSM_V2.1/Scripts/Cmds/7085_gov.run.xml

@@ -1,6 +1,8 @@
 <component name="ProjectRunConfigurationManager">
   <configuration default="false" name="7085_gov" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
     <option name="ACTIVE_PROFILES" value="dev" />
+    <option name="ALTERNATIVE_JRE_PATH" value="1.8" />
+    <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
     <module name="vbdsm-gov-new" />
     <option name="SPRING_BOOT_MAIN_CLASS" value="cn.vbdsm.VbdsmGovNewApplication" />
     <method v="2">

+ 20 - 0
VB_DSM_V2.1/Scripts/Cmds/Build_IWBTomcate.run.xml

@@ -0,0 +1,20 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="Build_IWBTomcate" type="docker-deploy" factoryName="dockerfile" server-name="81_L">
+    <deployment type="dockerfile">
+      <settings>
+        <option name="imageTag" value="iwbtomcat:1.0.0" />
+        <option name="containerName" value="test-tomcat" />
+        <option name="portBindings">
+          <list>
+            <DockerPortBindingImpl>
+              <option name="containerPort" value="8080" />
+              <option name="hostPort" value="8080" />
+            </DockerPortBindingImpl>
+          </list>
+        </option>
+        <option name="sourceFilePath" value="Mirror/Dockerfile" />
+      </settings>
+    </deployment>
+    <method v="2" />
+  </configuration>
+</component>

+ 227 - 0
VB_DSM_V2.1/Scripts/Dockers/docker-compose-iwb-v2.yml

@@ -0,0 +1,227 @@
+version: '3'
+
+services:
+  mysql:
+    image: mysql:5.7.4
+    container_name: vbdsm-mysql
+    restart: always
+    environment:
+      - TZ
+      - MYSQL_ROOT_PASSWORD
+    ports:
+      - "3306:3306"
+    volumes:
+      # 数据挂载
+      - /home/iwb/vbdsm/mysql/data/:/var/lib/mysql/
+      # 配置挂载
+      - /home/iwb/vbdsm/mysql/conf/my.cnf:/etc/mysql/my.cnf
+
+    privileged: true
+
+    networks:
+      - vbdsm-net
+  nginx-web:
+    image: nginx:1.22.1
+    container_name: vbdsm-nginx-web
+    restart: always
+    environment:
+      - TZ
+    ports:
+      - "80:80"
+      - "443:443"
+    volumes:
+      # 证书映射
+      - /home/iwb/vbdsm/nginx/cert:/etc/nginx/cert
+      # 配置文件映射
+      - /home/iwb/vbdsm/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
+      - /home/iwb/vbdsm/nginx/conf/conf.d:/etc/nginx/conf.d
+      # 页面目录
+      - /home/iwb/vbdsm/nginx/html:/usr/share/nginx/html
+      # 日志目录
+      - /home/iwb/vbdsm/nginx/log:/var/log/nginx
+    privileged: true
+    networks:
+      - vbdsm-net
+  redis:
+    image: redis:6.2.7
+    container_name: vbdsm-redis
+    restart: always
+    ports:
+      - "6379:6379"
+    environment:
+      - TZ
+    volumes:
+      # 配置文件
+      - /home/iwb/vbdsm/redis/conf/redis.conf:/redis/redis.conf:rw
+      # 数据文件
+      - /home/iwb/vbdsm/redis/data/:/redis/data/:rw
+    command: redis-server /redis/redis.conf
+    privileged: true
+    networks:
+      - vbdsm-net
+
+  vber-server-web:
+    build: ../../vbdsm-web
+    image: vbdsm-web:2.1.2
+    container_name: vbdsm-web
+    restart: always
+    ports:
+      - "7080:8080"
+    environment:
+      - TZ
+      - SERVER_PORT
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/web/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+
+  vber-server-analysis:
+    build: ../../vbdsm-statistics/vbdsm-analysis
+    image: vbdsm-analysis:2.1.2
+    container_name: vbdsm-analysis
+    restart: always
+    ports:
+      - "7090:8080"
+    environment:
+      TZ: Asia/Shanghai
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/analysis/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+
+  vber-server-xxl-job:
+    build: ../../vbdsm-job
+    image: vbdsm-job:2.1.2
+    container_name: vbdsm-job
+    restart: always
+    ports:
+      - "7200:7200"
+    environment:
+      # SERVER_PORT: 7200
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7200 --spring.datasource.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_xxl_job?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/job/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+
+  vber-server-statistics:
+    build: ../../vbdsm-statistics/vbdsm-statistic
+    image: vbdsm-statistics:2.1.2
+    container_name: vbdsm-statistics
+    restart: always
+    ports:
+      # 内部使用了7211端口
+      - "7210:7210"
+    environment:
+      # 时区上海
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7210 --xxl.job.admin.addresses=http://vbdsm-job:7200
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/statistics/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+  vber-server-acquis-ws1:
+    build: ../../vbdsm-data-upload/vbdsm-acquis-ws
+    image: vbdsm-acquis-ws:13306
+    container_name: vbdsm-acquis-ws-13306
+    restart: always
+    ports:
+      - "7101:8080"
+    environment:
+      - TZ
+      - SERVER_PORT
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/acquis-ws/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+  vber-server-acquis-ws2:
+    build: ../../vbdsm-data-upload/vbdsm-acquis-ws
+    image: vbdsm-acquis-ws:23306
+    container_name: vbdsm-acquis-ws-23306
+    restart: always
+    ports:
+      - "7102:8080"
+    environment:
+      - TZ
+      - SERVER_PORT
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/acquis-ws/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+  vber-server-hj212-data-collect:
+    build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect
+    image: vbdsm-hj212-data-collect:2.1.2
+    container_name: vbdsm-hj212-data-collect
+    restart: always
+    ports:
+      # 内部使用了7221端口
+      - "7220:7220"
+    environment:
+      #SERVER_PORT: 7220
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7220 --xxl.job.admin.addresses=http://vbdsm-job:7200
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/hj212-datacollect/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+  vber-server-hj212-data-upload:
+    build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server
+    image: vbdsm-hj212-data-upload:2.1.2
+    container_name: vbdsm-hj212-data-upload
+    restart: always
+    ports:
+      # 内部使用了7221端口
+      - "7776:8080"
+    environment:
+      TZ: Asia/Shanghai
+      PARAMS: --vbdsm.socket.server.bindPort=7777
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/hj212-upload/:/vbdsm/logs/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+  vber-server-hj212-modbus-test:
+    build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus
+    image: vbdsm-hj212-mockdata-upload:2.1.2
+    container_name: vbdsm-hj212-mockdata-upload
+    restart: always
+    ports:
+      # 内部使用了7221端口
+      - "18888:7110"
+    environment:
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7110 --vbdsm.ws.url=http://192.168.0.81:7101/services/UploadData?wsdl --vbdsm.monitor.terminals=3@YC0001,YC0002&7@YD001_01,YD001_02&9@YD002_01,YD002_02&10@YD003_01
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/hj212-upload-mockdata/:/vbdsm/logs/
+      - /home/iwb/vbdsm/hj212-upload-mockdata/mock/:/vbdsm/mock/
+    privileged: true
+    networks:
+      - vbdsm-net
+
+networks:
+  vbdsm-net:
+    external: false

+ 45 - 27
VB_DSM_V2.1/Scripts/Dockers/docker-compose-iwb.yml

@@ -62,7 +62,7 @@ services:
 
   vber-server-passport:
     build: ../../vbdsm-web/vbdsm-passport
-    image: vbdsm-passport:2.1.0
+    image: vbdsm-passport:2.1.2
     container_name: vbdsm-passport
     restart: always
     ports:
@@ -79,7 +79,7 @@ services:
 
   vber-server-manage:
     build: ../../vbdsm-web/vbdsm-manage
-    image: vbdsm-manage:2.1.0
+    image: vbdsm-manage:2.1.2
     container_name: vbdsm-manage
     restart: always
     ports:
@@ -96,7 +96,7 @@ services:
 
   vber-server-powerservice:
     build: ../../vbdsm-web/vbdsm-powerservice
-    image: vbdsm-powerservice:2.1.0
+    image: vbdsm-powerservice:2.1.2
     container_name: vbdsm-powerservice
     restart: always
     ports:
@@ -113,7 +113,7 @@ services:
 
   vber-server-gov:
     build: ../../vbdsm-web/vbdsm-gov
-    image: vbdsm-gov:2.1.0
+    image: vbdsm-gov:2.1.2
     container_name: vbdsm-gov
     restart: always
     ports:
@@ -130,7 +130,7 @@ services:
 
   vber-server-gov-new:
     build: ../../vbdsm-web/vbdsm-gov-new
-    image: vbdsm-gov-new:2.1.0
+    image: vbdsm-gov-new:2.1.2
     container_name: vbdsm-gov-new
     restart: always
     ports:
@@ -147,7 +147,7 @@ services:
 
   vber-server-explorer:
     build: ../../vbdsm-web/vbdsm-explorer
-    image: vbdsm-explorer:2.1.0
+    image: vbdsm-explorer:2.1.2
     container_name: vbdsm-explorer
     restart: always
     ports:
@@ -163,16 +163,32 @@ services:
     networks:
       - vbdsm-net
 
+  vber-server-charts:
+    build: ../../vbdsm-web/vbdsm-charts
+    image: vbdsm-charts:2.1.2
+    container_name: vbdsm-charts
+    restart: always
+    ports:
+      - "7087:8080"
+    environment:
+      TZ: Asia/Shanghai
+    volumes:
+      # 日志文件
+      - /home/iwb/vbdsm/server-logs/charts/:/vbdsm/logs/
+      #- /home/iwb/vbdsm/chart/server.xml:/usr/local/tomcat/conf/server.xml
+    privileged: true
+    networks:
+      - vbdsm-net
+
   vber-server-analysis:
     build: ../../vbdsm-statistics/vbdsm-analysis
-    image: vbdsm-analysis:2.1.0
+    image: vbdsm-analysis:2.1.2
     container_name: vbdsm-analysis
     restart: always
     ports:
-      - "7087:8080"
+      - "7090:8080"
     environment:
-      - TZ
-      - SERVER_PORT
+      TZ: Asia/Shanghai
     volumes:
       # 日志文件
       - /home/iwb/vbdsm/server-logs/analysis/:/vbdsm/logs/
@@ -183,14 +199,15 @@ services:
 
   vber-server-xxl-job:
     build: ../../vbdsm-job
-    image: vbdsm-job:2.1.0
+    image: vbdsm-job:2.1.2
     container_name: vbdsm-job
     restart: always
     ports:
-      - "7200:8080"
+      - "7200:7200"
     environment:
-      - TZ
-      - SERVER_PORT
+      # SERVER_PORT: 7200
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7200 --spring.datasource.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_xxl_job?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     volumes:
       # 日志文件
       - /home/iwb/vbdsm/server-logs/job/:/vbdsm/logs/
@@ -201,16 +218,16 @@ services:
 
   vber-server-statistics:
     build: ../../vbdsm-statistics/vbdsm-statistic
-    image: vbdsm-statistics:2.1.0
+    image: vbdsm-statistics:2.1.2
     container_name: vbdsm-statistics
     restart: always
     ports:
       # 内部使用了7211端口
-      - "7210:8080"
+      - "7210:7210"
     environment:
       # 时区上海
-      - TZ
-      - SERVER_PORT
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7210 --xxl.job.admin.addresses=http://vbdsm-job:7200
     volumes:
       # 日志文件
       - /home/iwb/vbdsm/server-logs/statistics/:/vbdsm/logs/
@@ -253,15 +270,16 @@ services:
 
   vber-server-hj212-data-collect:
     build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect
-    image: vbdsm-hj212-data-collect:2.1.0
+    image: vbdsm-hj212-data-collect:2.1.2
     container_name: vbdsm-hj212-data-collect
     restart: always
     ports:
       # 内部使用了7221端口
-      - "7220:8080"
+      - "7220:7220"
     environment:
-      - TZ
-      - SERVER_PORT
+      #SERVER_PORT: 7220
+      TZ: Asia/Shanghai
+      PARAMS: --server.port=7220 --xxl.job.admin.addresses=http://vbdsm-job:7200
     volumes:
       # 日志文件
       - /home/iwb/vbdsm/server-logs/hj212-datacollect/:/vbdsm/logs/
@@ -271,15 +289,15 @@ services:
 
   vber-server-hj212-data-upload:
     build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server
-    image: vbdsm-hj212-data-upload:2.1.0
+    image: vbdsm-hj212-data-upload:2.1.2
     container_name: vbdsm-hj212-data-upload
     restart: always
     ports:
       # 内部使用了7221端口
-      - "7777:8080"
+      - "7776:8080"
     environment:
-      - TZ
-      - SERVER_PORT
+      TZ: Asia/Shanghai
+      PARAMS: --vbdsm.socket.server.bindPort=7777
     volumes:
       # 日志文件
       - /home/iwb/vbdsm/server-logs/hj212-upload/:/vbdsm/logs/
@@ -289,7 +307,7 @@ services:
 
   vber-server-hj212-modbus-test:
     build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus
-    image: vbdsm-hj212-mockdata-upload:2.1.0
+    image: vbdsm-hj212-mockdata-upload:2.1.2
     container_name: vbdsm-hj212-mockdata-upload
     restart: always
     ports:

+ 14 - 14
VB_DSM_V2.1/Scripts/Dockers/docker-compose.yml

@@ -61,7 +61,7 @@ services:
 
   vber-server-passport:
     build: ../../vbdsm-web/vbdsm-passport
-    image: vbdsm-passport:2.1.1
+    image: vbdsm-passport:2.1.2
     container_name: vbdsm-passport
     restart: always
     ports:
@@ -78,7 +78,7 @@ services:
 
   vber-server-manage:
     build: ../../vbdsm-web/vbdsm-manage
-    image: vbdsm-manage:2.1.0
+    image: vbdsm-manage:2.1.2
     container_name: vbdsm-manage
     restart: always
     ports:
@@ -95,7 +95,7 @@ services:
 
   vber-server-powerservice:
     build: ../../vbdsm-web/vbdsm-powerservice
-    image: vbdsm-powerservice:2.1.0
+    image: vbdsm-powerservice:2.1.2
     container_name: vbdsm-powerservice
     restart: always
     ports:
@@ -112,7 +112,7 @@ services:
 
   vber-server-gov:
     build: ../../vbdsm-web/vbdsm-gov
-    image: vbdsm-gov:2.1.0
+    image: vbdsm-gov:2.1.2
     container_name: vbdsm-gov
     restart: always
     ports:
@@ -129,7 +129,7 @@ services:
 
   vber-server-gov-new:
     build: ../../vbdsm-web/vbdsm-gov-new
-    image: vbdsm-gov-new:2.1.0
+    image: vbdsm-gov-new:2.1.2
     container_name: vbdsm-gov-new
     restart: always
     ports:
@@ -146,7 +146,7 @@ services:
 
   vber-server-explorer:
     build: ../../vbdsm-web/vbdsm-explorer
-    image: vbdsm-explorer:2.1.0
+    image: vbdsm-explorer:2.1.2
     container_name: vbdsm-explorer
     restart: always
     ports:
@@ -164,7 +164,7 @@ services:
 
   vber-server-charts:
     build: ../../vbdsm-web/vbdsm-charts
-    image: vbdsm-charts:2.1.0
+    image: vbdsm-charts:2.1.2
     container_name: vbdsm-charts
     restart: always
     ports:
@@ -180,7 +180,7 @@ services:
 
   vber-server-analysis:
     build: ../../vbdsm-statistics/vbdsm-analysis
-    image: vbdsm-analysis:2.1.1
+    image: vbdsm-analysis:2.1.2
     container_name: vbdsm-analysis
     restart: always
     ports:
@@ -197,7 +197,7 @@ services:
 
   vber-server-xxl-job:
     build: ../../vbdsm-job
-    image: vbdsm-job:2.1.0
+    image: vbdsm-job:2.1.2
     container_name: vbdsm-job
     restart: always
     ports:
@@ -205,7 +205,7 @@ services:
     environment:
       # SERVER_PORT: 7200
       TZ: Asia/Shanghai
-      PARAMS: --server.port=7200 --spring.datasource.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_xxl_job?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+      PARAMS: --server.port=7200 --spring.datasource.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_xxl_job?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     volumes:
       # 日志文件
       - /home/yue/vbdsm/server-logs/job/:/vbdsm/logs/
@@ -216,7 +216,7 @@ services:
 
   vber-server-statistics:
     build: ../../vbdsm-statistics/vbdsm-statistic
-    image: vbdsm-statistics:2.1.1
+    image: vbdsm-statistics:2.1.2
     container_name: vbdsm-statistics
     restart: always
     ports:
@@ -235,7 +235,7 @@ services:
 
   vber-server-acquis-ws:
     build: ../../vbdsm-data-upload/vbdsm-acquis-ws
-    image: vbdsm-acquis-ws:2.1.0
+    image: vbdsm-acquis-ws:2.1.2
     container_name: vbdsm-acquis-ws
     restart: always
     ports:
@@ -252,7 +252,7 @@ services:
 
   vber-server-hj212-data-collect:
     build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect
-    image: vbdsm-hj212-data-collect:2.1.0
+    image: vbdsm-hj212-data-collect:2.1.2
     container_name: vbdsm-hj212-data-collect
     restart: always
     ports:
@@ -272,7 +272,7 @@ services:
 
   vber-server-hj212-data-upload:
     build: ../../vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server
-    image: vbdsm-hj212-data-upload:2.1.0
+    image: vbdsm-hj212-data-upload:2.1.2
     container_name: vbdsm-hj212-data-upload
     restart: always
     ports:

+ 1 - 1
VB_DSM_V2.1/pom.xml

@@ -75,7 +75,7 @@
         <spring.version>3.2.6.RELEASE</spring.version>
         <javax.version>1.0</javax.version>
         <jedis.version>2.6.0</jedis.version>
-        <mysql.connector.version>8.0.11</mysql.connector.version>
+        <mysql.connector.version>5.1.46</mysql.connector.version>
         <servlet.api.version>2.4</servlet.api.version>
         <log4j.version>1.2.17</log4j.version>
         <slf4j.version>1.7.5</slf4j.version>

+ 459 - 446
VB_DSM_V2.1/vbdsm-common/vbdsm-base/src/main/java/cn/vbdsm/core/dao/impl/RequiredDao.java

@@ -1,98 +1,99 @@
 package cn.vbdsm.core.dao.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.core.common.utils.StringUtils;
-import javax.sql.DataSource;
-
 import cn.vbdsm.common.constants.DataSourceConstant;
 import cn.vbdsm.common.constants.SystemConstant;
 import cn.vbdsm.core.dao.ICacheDao;
 import cn.vbdsm.core.dao.IRequiredDao;
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Repository;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import cn.vbdsm.core.dao.datasource.DynamicDataSource;
 import cn.vbdsm.core.dao.datasource.DynamicDataSourceEntry;
 import cn.vbdsm.model.Org;
 import cn.vbdsm.model.Role;
 import cn.vbdsm.model.Site;
 import cn.vbdsm.model.User;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Repository;
+
+import javax.annotation.Resource;
+import javax.core.common.utils.StringUtils;
+import javax.sql.DataSource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 全系统依赖查询,涉及用户、角色、机构、权限等操作
+ *
  * @author Tanyongde
  */
 @Repository
 public class RequiredDao implements IRequiredDao {
-	
-	private Logger log = Logger.getLogger(RequiredDao.class);
-	
-//	private JdbcTemplate write;
-	private JdbcTemplate jdbc;
-	@Autowired private ICacheDao cacheDao;
-	private final String USER_AUTH_KEY = "user_auth_";
-	private final String SYS_SETTING_KEY = "sys_setting_";
-	private final String SITE_BY_COMPANY_KEY = "site_by_company_";
-	private final String COMPANY_KEY = "company_";
-	private final String SERVICE_INFO_KEY = "service_info_";
-	private final int outtime = 2 * 60 * 60;
-	private final String system_mode = "system";
-	private DynamicDataSourceEntry dynamicDataSourceEntry;
- 	
-	/**
-	 * 设定数据源
-	 * @param dataSource
-	 */
-	@Resource(name="dynamicDataSource")
-	public void setDataSource(DataSource dataSource){
-		dynamicDataSourceEntry = ((DynamicDataSource) dataSource).getDataSourceEntry();
+
+    private final String USER_AUTH_KEY = "user_auth_";
+    private final String SYS_SETTING_KEY = "sys_setting_";
+    private final String SITE_BY_COMPANY_KEY = "site_by_company_";
+    private final String COMPANY_KEY = "company_";
+    private final String SERVICE_INFO_KEY = "service_info_";
+    private final int outtime = 2 * 60 * 60;
+    private final String system_mode = "system";
+    private final Logger log = Logger.getLogger(RequiredDao.class);
+    //	private JdbcTemplate write;
+    private JdbcTemplate jdbc;
+    @Autowired
+    private ICacheDao cacheDao;
+    private DynamicDataSourceEntry dynamicDataSourceEntry;
+
+    /**
+     * 设定数据源
+     *
+     * @param dataSource
+     */
+    @Resource(name = "dynamicDataSource")
+    public void setDataSource(DataSource dataSource) {
+        dynamicDataSourceEntry = ((DynamicDataSource) dataSource).getDataSourceEntry();
 //		write = new JdbcTemplate(dataSource);
-		jdbc = new JdbcTemplate(dataSource);
-	}
-	
-	/**
-	 * 清空用户相关的缓存信息
-	 * @param id
-	 * @return
-	 */
-	public boolean deleteUserAuthCacheById(Long id){
-		String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, "" + id);
-		try{
-			cacheDao.delete(cacheKey);
-			return true;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return false;
-		}
-	}
-	
-	/**
-	 * 根据domain获取站点信息
-	 */
-	public Site selectSiteByDomain(String domain){
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		String sql = "select id,name,sortName,domain,config,logo,favIcon,minLogo from t_site where domain = ?";
-		Map<String,Object> result = jdbc.queryForMap(sql, domain);
-		Site s = null;
-		if(result != null){
-			s = JSONObject.toJavaObject((JSON)JSONObject.toJSON(result),Site.class);
-		}
-		return s;
-	}
-	
-	/**
-	 * 根据机构ID获取站点信息
-	 */
-	public List<Site> selectSites(Long companyId,String domain){
+        jdbc = new JdbcTemplate(dataSource);
+    }
+
+    /**
+     * 清空用户相关的缓存信息
+     *
+     * @param id
+     * @return
+     */
+    public boolean deleteUserAuthCacheById(Long id) {
+        String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, "" + id);
+        try {
+            cacheDao.delete(cacheKey);
+            return true;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return false;
+        }
+    }
+
+    /**
+     * 根据domain获取站点信息
+     */
+    public Site selectSiteByDomain(String domain) {
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+        String sql = "select id,name,sortName,domain,config,logo,favIcon,minLogo from t_site where domain = ?";
+        List<Map<String, Object>> result = jdbc.queryForList(sql, domain);
+        Site s = null;
+        if (result != null) {
+            s = JSONObject.toJavaObject((JSON) JSONObject.toJSON(result.get(0)), Site.class);
+        }
+        return s;
+    }
+
+    /**
+     * 根据机构ID获取站点信息
+     */
+    public List<Site> selectSites(Long companyId, String domain) {
 //		String cacheKey = cacheDao.genMD5Key(SITE_BY_COMPANY_KEY, "" + companyId);
 //		try{
 //			Object json = cacheDao.get(cacheKey);
@@ -102,262 +103,271 @@ public class RequiredDao implements IRequiredDao {
 //		}catch(Exception e){
 //			log.debug(e.getStackTrace());
 //		}
-		List<Object> param = new ArrayList<Object>();
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		String sql = "select id,name,sortName,domain,config,logo,favIcon,minLogo from t_site where id in(select siteId from t_org_site where orgId = ?)";
-		param.add(companyId);
-		
-		if(!StringUtils.isEmpty(domain)){
-			sql += " and domain = ?";
-			param.add(domain);
-		}
-		List<Map<String,Object>> result =  jdbc.queryForList(sql,param.toArray());
-		List<Site> r = new ArrayList<Site>();
-		try{
-			if(null != result){
-				for (Map<String,Object> m : result) {
-					Site s = JSONObject.toJavaObject((JSON)JSONObject.toJSON(m),Site.class);
-					r.add(s);
-				}
+        List<Object> param = new ArrayList<Object>();
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+        String sql = "select id,name,sortName,domain,config,logo,favIcon,minLogo from t_site where id in(select siteId from t_org_site where orgId = ?)";
+        param.add(companyId);
+
+        if (!StringUtils.isEmpty(domain)) {
+            sql += " and domain = ?";
+            param.add(domain);
+        }
+        List<Map<String, Object>> result = jdbc.queryForList(sql, param.toArray());
+        List<Site> r = new ArrayList<Site>();
+        try {
+            if (null != result) {
+                for (Map<String, Object> m : result) {
+                    Site s = JSONObject.toJavaObject((JSON) JSONObject.toJSON(m), Site.class);
+                    r.add(s);
+                }
 //				cacheDao.insert(cacheKey, JSONObject.toJSONString(r), outtime);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		return r;
-	}
-	
-	
-	public Role selectRoleById(Long roleId){
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		//查看机构是否存在
-		String sql = "select * from t_role where id = ?";
-		try{
-			Map<String,Object> result = jdbc.queryForMap(sql, new Object[]{roleId});
-			Role r = null;
-			if(null != result){
-				String s = JSONObject.toJSONString(result);
-				r = JSONObject.parseObject(s, Role.class);
-			}
-			return r;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return null;
-		}
-	}
-	
-	public Org selectCompanyById(Long companyId){
-		String cacheKey = cacheDao.genMD5Key(COMPANY_KEY, "" + companyId);
-		try{
-			Object json = cacheDao.get(cacheKey);
-			if(null != json){
-				return JSONObject.toJavaObject(JSONObject.parseObject(json.toString()), Org.class);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		//查看机构是否存在
-		String sql = "select * from t_org where id = ? and isDel = 0";
-		try{
-			Map<String,Object> result = jdbc.queryForMap(sql, new Object[]{companyId});
-			Org r = null;
-			if(null != result){
-				String s = JSONObject.toJSONString(result);
-				r = JSONObject.parseObject(s, Org.class);
-				cacheDao.insert(cacheKey, JSONObject.toJSONString(r), outtime);
-			}
-			return r;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return null;
-		}
-	}
-	
-	
-	public Org selectCompanyAuth(Long uid,Long companyId){
-		Org org = selectCompanyById(companyId);
-		//如果机构不存在,视为非法访问
-		if(org == null){ return null; }
-		//查询是否有该机构的权限
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		String authSql = "select * from t_powerservice where userId = ? and companyId = ?";
-		try{
-			Map<String,Object> pr = jdbc.queryForMap(authSql, uid,companyId);
-			if(pr == null){ return null; }
-		}catch(Exception e){
-			return null;
-		}
-		return org;
-	}
-	
-	/**
-	 * 根据key删除缓存信息
-	 */
-	public boolean deleteByCacheKey(String cacheKey) {
-		try{
-			cacheDao.delete(cacheKey);
-			return true;
-		}catch(Exception e){
-			return false;
-		}
-	}
-	
-	/**
-	 * 根据key获得缓存信息
-	 */
-	public JSONObject selectByCacheKey(String cacheKey){
-		Object obj = cacheDao.get(cacheKey);
-		if(obj == null){
-			return null;
-		}
-		JSONObject data = (JSONObject)JSONObject.toJSON(obj);
-		return data;
-	}
-	
-	/**
-	 * 根据虚拟用户ID获取角色
-	 * @param userId
-	 * @return
-	 */
-	public List<Map<String,Object>> selectVirtualRoleById(Long userId){
-		String sql = "select r.* from t_role r,t_user u,t_user_role ur where ur.userId = ? and ur.roleId = r.id and ur.userId = u.id and u.virtualAble = " + SystemConstant.ENABLE;
-		try{
-			dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-			List<Map<String,Object>> result = jdbc.queryForList(sql, userId);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        return r;
+    }
+
+
+    public Role selectRoleById(Long roleId) {
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+        //查看机构是否存在
+        String sql = "select * from t_role where id = ?";
+        try {
+            Map<String, Object> result = jdbc.queryForMap(sql, roleId);
+            Role r = null;
+            if (null != result) {
+                String s = JSONObject.toJSONString(result);
+                r = JSONObject.parseObject(s, Role.class);
+            }
+            return r;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return null;
+        }
+    }
+
+    public Org selectCompanyById(Long companyId) {
+        String cacheKey = cacheDao.genMD5Key(COMPANY_KEY, "" + companyId);
+        try {
+            Object json = cacheDao.get(cacheKey);
+            if (null != json) {
+                return JSONObject.toJavaObject(JSONObject.parseObject(json.toString()), Org.class);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+        //查看机构是否存在
+        String sql = "select * from t_org where id = ? and isDel = 0";
+        try {
+            Map<String, Object> result = jdbc.queryForMap(sql, companyId);
+            Org r = null;
+            if (null != result) {
+                String s = JSONObject.toJSONString(result);
+                r = JSONObject.parseObject(s, Org.class);
+                cacheDao.insert(cacheKey, JSONObject.toJSONString(r), outtime);
+            }
+            return r;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return null;
+        }
+    }
+
+
+    public Org selectCompanyAuth(Long uid, Long companyId) {
+        Org org = selectCompanyById(companyId);
+        //如果机构不存在,视为非法访问
+        if (org == null) {
+            return null;
+        }
+        //查询是否有该机构的权限
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+        String authSql = "select * from t_powerservice where userId = ? and companyId = ?";
+        try {
+            Map<String, Object> pr = jdbc.queryForMap(authSql, uid, companyId);
+            if (pr == null) {
+                return null;
+            }
+        } catch (Exception e) {
+            return null;
+        }
+        return org;
+    }
+
+    /**
+     * 根据key删除缓存信息
+     */
+    public boolean deleteByCacheKey(String cacheKey) {
+        try {
+            cacheDao.delete(cacheKey);
+            return true;
+        } catch (Exception e) {
+            return false;
+        }
+    }
+
+    /**
+     * 根据key获得缓存信息
+     */
+    public JSONObject selectByCacheKey(String cacheKey) {
+        Object obj = cacheDao.get(cacheKey);
+        if (obj == null) {
+            return null;
+        }
+        JSONObject data = (JSONObject) JSONObject.toJSON(obj);
+        return data;
+    }
+
+    /**
+     * 根据虚拟用户ID获取角色
+     *
+     * @param userId
+     * @return
+     */
+    public List<Map<String, Object>> selectVirtualRoleById(Long userId) {
+        String sql = "select r.* from t_role r,t_user u,t_user_role ur where ur.userId = ? and ur.roleId = r.id and ur.userId = u.id and u.virtualAble = " + SystemConstant.ENABLE;
+        try {
+            dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+            List<Map<String, Object>> result = jdbc.queryForList(sql, userId);
 //			Role r = null;
 //			if(null != result){
 //				String s = JSONObject.toJSONString(result);
 //				r = JSONObject.parseObject(s, Role.class);
 //			}
 //			return r;
-			return result;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return null;
-		}
-	}
-	
-	/**
-	 * 获取一个用户相关的信息
-	 * @param id
-	 * @return
-	 */
-	public Map<String,Object> selectUserAuthById(Long id){
-		String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, "" + id);
-		try{
-			Object json = cacheDao.get(cacheKey);
-			if(null != json){
-				return JSONObject.toJavaObject(JSONObject.parseObject(json.toString()), Map.class);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		StringBuffer sql = new StringBuffer();
-		sql.append(" select u.id as user_id");				//用户ID
+            return result;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return null;
+        }
+    }
+
+    /**
+     * 获取一个用户相关的信息
+     *
+     * @param id
+     * @return
+     */
+    public Map<String, Object> selectUserAuthById(Long id) {
+        String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, "" + id);
+        try {
+            Object json = cacheDao.get(cacheKey);
+            if (null != json) {
+                return JSONObject.toJavaObject(JSONObject.parseObject(json.toString()), Map.class);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+
+		String sql = " select u.id as user_id" +                //用户ID
 //		sql.append(" ,u.roleId as user_roleId");			//角色ID
-		sql.append(" ,u.companyId as user_companyId");		//机构ID
+				" ,u.companyId as user_companyId" +        //机构ID
 //		sql.append(" ,u.userInGov as user_userInGov");		//单位
 //		sql.append(" ,u.fromSite as user_fromSite");		//所属站点
-		sql.append(" ,u.loginName as user_loginName");		//登录名
-		sql.append(" ,u.realName as user_realName");		//用户真实姓名
-		sql.append(" ,u.loginCount as user_loginCount");		//登录次数
-		sql.append(" ,u.lastLoginIp as user_lastLoginIp");		//上次登录IP
-		sql.append(" ,u.lastLoginTime as user_lastLoginTime");	//上次登录时间
-		sql.append(" ,u.realName as user_realName");		//用户真实姓名
-		sql.append(" ,u.realName as user_realName");		//用户真实姓名
-		sql.append(" ,u.realName as user_realName");		//用户真实姓名
-		sql.append(" ,u.realName as user_realName");		//用户真实姓名
-		sql.append(" ,u.userType as user_userType");		//用户类型
-		sql.append(" ,u.province as user_province");		//省级
-		sql.append(" ,u.city as user_city");				//市级
-		sql.append(" ,u.area as user_area");				//区
-		sql.append(" ,u.industry as user_industry");		//行业
-		sql.append(" ,u.virtualId as user_virtualId");		//对应虚拟用户ID
-		
+				" ,u.loginName as user_loginName" +        //登录名
+				" ,u.realName as user_realName" +        //用户真实姓名
+				" ,u.loginCount as user_loginCount" +        //登录次数
+				" ,u.lastLoginIp as user_lastLoginIp" +        //上次登录IP
+				" ,u.lastLoginTime as user_lastLoginTime" +    //上次登录时间
+				" ,u.realName as user_realName" +        //用户真实姓名
+				" ,u.realName as user_realName" +        //用户真实姓名
+				" ,u.realName as user_realName" +        //用户真实姓名
+				" ,u.realName as user_realName" +        //用户真实姓名
+				" ,u.userType as user_userType" +        //用户类型
+				" ,u.province as user_province" +        //省级
+				" ,u.city as user_city" +                //市级
+				" ,u.area as user_area" +                //区
+				" ,u.industry as user_industry" +        //行业
+				" ,u.virtualId as user_virtualId" +        //对应虚拟用户ID
+
 //		sql.append(" ,r.id as role_id");
 //		sql.append(" ,r.name as role_roleName");			//角色名称
 //		sql.append(" ,r.discription as role_discription");	//角色描述
 //		sql.append(" ,r.root as role_is_root");				//是否超级管理员
 //		sql.append(" ,r.options as options_content");		//角色权限
-		
-		sql.append(" ,c.id as company_id");
+
+				" ,c.id as company_id" +
 //		sql.append(" ,p.id as company_id");
 //		sql.append(" ,c.title as company_name");				//机构名称
-		sql.append(" ,c.name as company_name");				//机构名称
-		sql.append(" ,c.orgType as company_orgType");		//机构类型
-		sql.append(" ,c.province as company_province");		//所在省
-		sql.append(" ,c.city as company_city");		//所在市
-		sql.append(" ,c.district as company_district");		//所在区
+				" ,c.name as company_name" +                //机构名称
+				" ,c.orgType as company_orgType" +        //机构类型
+				" ,c.province as company_province" +        //所在省
+				" ,c.city as company_city" +        //所在市
+				" ,c.district as company_district" +        //所在区
 //		sql.append(" ,c.sortName as company_sortName");		//机构简称
 //		sql.append(" ,c.domain as company_domain");			//机构域名
-		sql.append(" ,c.appNo as company_appNo");			//APP权限
-		
-		sql.append(" from t_user u left join t_org c on u.companyId = c.id");
-		sql.append(" where u.id = ? and u.virtualAble = " + SystemConstant.DISABLE );
+				" ,c.appNo as company_appNo" +            //APP权限
+
+				" from t_user u left join t_org c on u.companyId = c.id" +
+				" where u.id = ? and u.virtualAble = " + SystemConstant.DISABLE;
 //		sql.append(" where u.id = ? and u.roleId = r.id and (u.companyId = p.id or u.userInGov = c.id)");
-		Map<String,Object> result = jdbc.queryForMap(sql.toString(), id);
-		
-		/** 获取角色列表   */
-		StringBuffer roleSql = new StringBuffer();
-		roleSql.append("select r.id as id ");				//角色ID
-		roleSql.append(" ,r.name as roleName");			//角色名称
-		roleSql.append(" ,r.discription as discription");	//角色描述
-		roleSql.append(" ,r.root as is_root");				//是否超级管理员
-		roleSql.append(" ,r.options as options");		//角色权限
-		roleSql.append(" from t_role r left join t_user_role ur on r.id = ur.roleId where ur.userId = ?");
-		
-		List<Map<String,Object>> roles = jdbc.queryForList(roleSql.toString(),id);
-		
-		result.put("roles", roles);
-		
-		try{
-			if(null != result){
-				cacheDao.insert(cacheKey, JSONObject.toJSONString(result), outtime);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		return result;
-	}
-	
-	public boolean deleteSiteCacheByCompanyId(Long companyId){
-		String cacheKey = cacheDao.genMD5Key(SITE_BY_COMPANY_KEY, "" + companyId);
-		try{
-			cacheDao.delete(cacheKey);
-			return true;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return false;
-		}
-	}
-	
-	
-	/**
-	 * 清空用户相关的缓存信息
-	 * @param id
-	 * @return
-	 */
-	public boolean deleteUserCacheByLoginName(String loginName){
-		String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, "" + loginName);
-		try{
-			cacheDao.delete(cacheKey);
-			return true;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return false;
-		}
-	}
-	
-	
-	/**
-	 * 根据登录名获取一个用户
-	 * @param loginName
-	 * @return
-	 */
-	public User selectUserByLoginName(String loginName){
-		if(StringUtils.isEmpty(loginName)){return null;}
+        Map<String, Object> result = jdbc.queryForMap(sql, id);
+
+        /** 获取角色列表   */
+		String roleSql = "select r.id as id " +                //角色ID
+				" ,r.name as roleName" +            //角色名称
+				" ,r.discription as discription" +    //角色描述
+				" ,r.root as is_root" +                //是否超级管理员
+				" ,r.options as options" +        //角色权限
+				" from t_role r left join t_user_role ur on r.id = ur.roleId where ur.userId = ?";
+
+        List<Map<String, Object>> roles = jdbc.queryForList(roleSql, id);
+
+        result.put("roles", roles);
+
+        try {
+            if (null != result) {
+                cacheDao.insert(cacheKey, JSONObject.toJSONString(result), outtime);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        return result;
+    }
+
+    public boolean deleteSiteCacheByCompanyId(Long companyId) {
+        String cacheKey = cacheDao.genMD5Key(SITE_BY_COMPANY_KEY, "" + companyId);
+        try {
+            cacheDao.delete(cacheKey);
+            return true;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return false;
+        }
+    }
+
+
+    /**
+     * 清空用户相关的缓存信息
+     *
+     * @param id
+     * @return
+     */
+    public boolean deleteUserCacheByLoginName(String loginName) {
+        String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, loginName);
+        try {
+            cacheDao.delete(cacheKey);
+            return true;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return false;
+        }
+    }
+
+
+    /**
+     * 根据登录名获取一个用户
+     *
+     * @param loginName
+     * @return
+     */
+    public User selectUserByLoginName(String loginName) {
+        if (StringUtils.isEmpty(loginName)) {
+            return null;
+        }
 //		String cacheKey = cacheDao.genMD5Key(USER_AUTH_KEY, "" + loginName);
 //		try{
 //			Object json = cacheDao.get(cacheKey);
@@ -368,143 +378,146 @@ public class RequiredDao implements IRequiredDao {
 //			e.printStackTrace();
 //			log.debug(e.getStackTrace());
 //		}
-		User user = null;
-		try{
-			dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-			String sql = "select * from t_user where loginName = ? and state=1 and virtualAble = " + SystemConstant.DISABLE;
-			Map<String,Object> map = jdbc.queryForMap(sql,loginName);
-			user = JSONObject.toJavaObject((JSON)JSON.toJSON(map), User.class);
+        User user = null;
+        try {
+            dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+            String sql = "select * from t_user where loginName = ? and state=1 and virtualAble = " + SystemConstant.DISABLE;
+            Map<String, Object> map = jdbc.queryForMap(sql, loginName);
+            user = JSONObject.toJavaObject((JSON) JSON.toJSON(map), User.class);
 //			if(null != user){
 //				cacheDao.insert(cacheKey, JSONObject.toJSONString(user), outtime);
 //			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		return user;
-	}
-	
-	/**
-	 * 清空系统配置的缓存
-	 * @return
-	 */
-	public boolean deleteSysSettingsCache(){
-		String cacheKey = cacheDao.genMD5Key(SYS_SETTING_KEY, "");
-		try{
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        return user;
+    }
+
+    /**
+     * 清空系统配置的缓存
+     *
+     * @return
+     */
+    public boolean deleteSysSettingsCache() {
+        String cacheKey = cacheDao.genMD5Key(SYS_SETTING_KEY, "");
+        try {
 //			dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-			cacheDao.delete(cacheKey);
-			return true;
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-			return false;
-		}
-	}
-	
-	/**
-	 * 获取系统配置信息
-	 * @return
-	 */
-	public List<Map<String,Object>> selectSysSettings(){
-		String cacheKey = cacheDao.genMD5Key(SYS_SETTING_KEY, "");
-		try{
-			Object json = cacheDao.get(cacheKey);
-			if(null != json){
-				return JSONArray.toJavaObject(JSONArray.parseArray(json.toString()), List.class);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		String sql = "select keyCode,keyVal from t_sys_settings where mode = ?";
-		List<Map<String,Object>> result = jdbc.queryForList(sql, system_mode);
-		try{
-			if(null != result){
-				cacheDao.insert(cacheKey, JSONArray.toJSONString(result), outtime);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		return result;
-	}
-	
-	/**
-	 * 更新服务记录
-	 * @param uid
-	 * @param companyId
-	 * @param ip
-	 * @return
-	 */
-	public boolean updateServiceInfo(long uid,long companyId,String ip){
-		//切换数据源
-		dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
-		
-		long currTime = System.currentTimeMillis();
-		try{
-			String log = "insert into t_powerservice_log(userId,companyId,serviceTime) values(?,?,?)";
-			jdbc.update(log, uid,companyId,currTime);
-		}catch(Exception e){
-			log.error("写入服务日志失败");
-		}
-		
-		//先查询其服务记录,因为一天只记录一次
-		String cacheKey = cacheDao.genMD5Key(SERVICE_INFO_KEY, "" + uid + "_" + companyId);
-		JSONObject info = null;
-		try{
-			Object json = cacheDao.get(cacheKey);
-			if(null != json){
-				info = (JSONObject)JSONObject.toJSON(json);
-			}
-		}catch(Exception e){
-			log.debug(e.getStackTrace());
-		}
-		
-		try{
-			if(null == info){
-				String query = "select * from t_powerservice where userId = ? and companyId = ?";
-				Map<String,Object> serviceInfo = jdbc.queryForMap(query, uid,companyId);
-				if(serviceInfo != null){
-					info = (JSONObject)JSONObject.toJSON(serviceInfo);
-				}
-			}
-			JSONObject cacheObj = null;
-			//从未有过服务记录,则插入一条服务记录
-			if(null == info){
-				String add = "insert into t_powerservice(userId,companyId,times,lastTime) values(?,?,?,?)";
-				jdbc.update(add, uid,companyId,1,currTime);
-				
-				cacheObj = new JSONObject();
-				cacheObj.put("times", 1);
-				
-			}else{
-				boolean updateAble = false;
-				if(info.get("lastTime") == null){ //未设置过服务时间
-					updateAble = true;
-				}else{
-					//比较上次和本次是否为同一天 
-					long intervalMilli = currTime - info.getLongValue("lastTime");
-					updateAble = ((int)(intervalMilli / (24 * 60 * 60 * 1000))) != 0;
-				}
-			   
-				if(updateAble){
-					String update = "update t_powerservice set times = ?,lastTime = ? where userId = ? and companyId = ?";
-					jdbc.update(update,info.getInteger("times") + 1,currTime,uid,companyId);
-					
-					cacheObj = new JSONObject();
-					cacheObj.put("times", info.getInteger("times") + 1);
-				}
-			}
-			
-			//写入缓存
-			if(null != cacheObj){
-				cacheObj.put("userId", uid);
-				cacheObj.put("companyId", companyId);
-				cacheObj.put("lastTime", currTime);
-				cacheDao.insert(cacheKey, cacheObj, outtime);
-			}
-			return true;
-		}catch(Exception e){
-			log.debug("更新服务记录失败");
-			return false;
-		}
-	}
-	
+            cacheDao.delete(cacheKey);
+            return true;
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+            return false;
+        }
+    }
+
+    /**
+     * 获取系统配置信息
+     *
+     * @return
+     */
+    public List<Map<String, Object>> selectSysSettings() {
+        String cacheKey = cacheDao.genMD5Key(SYS_SETTING_KEY, "");
+        try {
+            Object json = cacheDao.get(cacheKey);
+            if (null != json) {
+                return JSONArray.toJavaObject(JSONArray.parseArray(json.toString()), List.class);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+        String sql = "select keyCode,keyVal from t_sys_settings where mode = ?";
+        List<Map<String, Object>> result = jdbc.queryForList(sql, system_mode);
+        try {
+            if (null != result) {
+                cacheDao.insert(cacheKey, JSONArray.toJSONString(result), outtime);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+        return result;
+    }
+
+    /**
+     * 更新服务记录
+     *
+     * @param uid
+     * @param companyId
+     * @param ip
+     * @return
+     */
+    public boolean updateServiceInfo(long uid, long companyId, String ip) {
+        //切换数据源
+        dynamicDataSourceEntry.set(DataSourceConstant.DB_BASE);
+
+        long currTime = System.currentTimeMillis();
+        try {
+            String log = "insert into t_powerservice_log(userId,companyId,serviceTime) values(?,?,?)";
+            jdbc.update(log, uid, companyId, currTime);
+        } catch (Exception e) {
+            log.error("写入服务日志失败");
+        }
+
+        //先查询其服务记录,因为一天只记录一次
+        String cacheKey = cacheDao.genMD5Key(SERVICE_INFO_KEY, uid + "_" + companyId);
+        JSONObject info = null;
+        try {
+            Object json = cacheDao.get(cacheKey);
+            if (null != json) {
+                info = (JSONObject) JSONObject.toJSON(json);
+            }
+        } catch (Exception e) {
+            log.debug(e.getStackTrace());
+        }
+
+        try {
+            if (null == info) {
+                String query = "select * from t_powerservice where userId = ? and companyId = ?";
+                Map<String, Object> serviceInfo = jdbc.queryForMap(query, uid, companyId);
+                if (serviceInfo != null) {
+                    info = (JSONObject) JSONObject.toJSON(serviceInfo);
+                }
+            }
+            JSONObject cacheObj = null;
+            //从未有过服务记录,则插入一条服务记录
+            if (null == info) {
+                String add = "insert into t_powerservice(userId,companyId,times,lastTime) values(?,?,?,?)";
+                jdbc.update(add, uid, companyId, 1, currTime);
+
+                cacheObj = new JSONObject();
+                cacheObj.put("times", 1);
+
+            } else {
+                boolean updateAble = false;
+                if (info.get("lastTime") == null) { //未设置过服务时间
+                    updateAble = true;
+                } else {
+                    //比较上次和本次是否为同一天
+                    long intervalMilli = currTime - info.getLongValue("lastTime");
+                    updateAble = ((int) (intervalMilli / (24 * 60 * 60 * 1000))) != 0;
+                }
+
+                if (updateAble) {
+                    String update = "update t_powerservice set times = ?,lastTime = ? where userId = ? and companyId = ?";
+                    jdbc.update(update, info.getInteger("times") + 1, currTime, uid, companyId);
+
+                    cacheObj = new JSONObject();
+                    cacheObj.put("times", info.getInteger("times") + 1);
+                }
+            }
+
+            //写入缓存
+            if (null != cacheObj) {
+                cacheObj.put("userId", uid);
+                cacheObj.put("companyId", companyId);
+                cacheObj.put("lastTime", currTime);
+                cacheDao.insert(cacheKey, cacheObj, outtime);
+            }
+            return true;
+        } catch (Exception e) {
+            log.debug("更新服务记录失败");
+            return false;
+        }
+    }
+
 }

+ 11 - 6
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/MonitorDao.java

@@ -107,14 +107,19 @@ public class MonitorDao extends BaseDaoSupport<Monitor, Long> {
 		QueryRule rule = QueryRule.getInstance();
 		rule.andIn("terminalId", noExists);
 		List<Monitor> monitors =  super.find(rule);
-		for (Monitor monitor : monitors) {
-			result.add(monitor);
-			//计算缓存key,将数据库结果存入缓存
-			String cacheKey = cacheDao.genMD5Key(MONITOR_BY_ID, "" + monitor.getTerminalId());
-			if(!cacheDao.exists(cacheKey)){
-				cacheDao.insert(cacheKey, JSONObject.toJSONString(monitor), outtime);
+		try{
+			for (Monitor monitor : monitors) {
+				result.add(monitor);
+				//计算缓存key,将数据库结果存入缓存
+				String cacheKey = cacheDao.genMD5Key(MONITOR_BY_ID, "" + monitor.getTerminalId());
+				if(!cacheDao.exists(cacheKey)){
+					cacheDao.insert(cacheKey, JSONObject.toJSONString(monitor), outtime);
+				}
 			}
+		}catch (Exception e) {
+		//	log.debug(e.getStackTrace());
 		}
+
 		
 		return result;
 	}

+ 6 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/dao/OrgDao.java

@@ -133,7 +133,12 @@ public class OrgDao extends BaseDaoSupport<Org, Long>  {
 		
 		//存入缓存
 		if(null != org){
-			cacheDao.insert(cacheKey, JSONObject.toJSONString(org), outtime);
+			try{
+				cacheDao.insert(cacheKey, JSONObject.toJSONString(org), outtime);
+			}catch (Exception e) {
+				//			log.debug(e.getStackTrace());
+			}
+
 		}
 		return org;
 		

+ 3 - 3
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/java/cn/vbdsm/acquis/process/impl/HarmonicUDataProcess.java

@@ -160,11 +160,11 @@ public class HarmonicUDataProcess extends AbstractMessageProcess implements IMes
 		List<OnlineDataHarmonicU> dataList = new ArrayList<OnlineDataHarmonicU>();
 		//int success = 0;
 		
-		List<String> mointorIds = new ArrayList<String>();
+		List<String> monitorIds = new ArrayList<String>();
 		for(Object obj: msgList){
 			JSONObject json = JSONObject.parseObject(obj.toString());
 			OnlineDataHarmonicU harmonicU = getHarmonicU(json);
-			mointorIds.add(harmonicU.getTerminalId());
+			monitorIds.add(harmonicU.getTerminalId());
 
 		}
 
@@ -173,7 +173,7 @@ public class HarmonicUDataProcess extends AbstractMessageProcess implements IMes
 //				logger.info("记录总数"+msgList.size());
 				
 //				long beginTime = System.currentTimeMillis();
-				List<Monitor> datas = getMonitorByIds(mointorIds);
+				List<Monitor> datas = getMonitorByIds(monitorIds);
 				Map<String, Monitor> monitors = new HashMap<String,Monitor>();
 				for(Monitor m: datas){
 					monitors.put(m.getTerminalId(), m);

+ 8 - 8
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/local/db.properties

@@ -1,20 +1,20 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/local/redis-host.properties

@@ -1 +1 @@
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=192.168.0.104:6379:Iwb-2017

+ 8 - 8
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/product/db.properties

@@ -1,20 +1,20 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 8 - 8
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-acquis-ws/src/main/resources/test/db.properties

@@ -1,20 +1,20 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/pom.xml

@@ -26,7 +26,7 @@
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.11</version>
+            <version>5.1.46</version>
         </dependency>
         <!-- xxl-job-core -->
         <dependency>

+ 6 - 6
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/src/main/resources/config/application.yml

@@ -32,10 +32,10 @@ sharding:
     datasource:
       names: vbdsm,vbdsm-2023,vbdsm-2024
       vbdsm:
-        url: jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+        url: jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
         username: root
         password: 123456
-        driverClassName: com.mysql.cj.jdbc.Driver
+        driverClassName: com.mysql.jdbc.Driver
         minIdle: 10
         validationQuery: SELECT 1
         initialSize: 5
@@ -46,10 +46,10 @@ sharding:
         testWhileIdle: true
         maxActive: 30
       vbdsm-2023:
-        url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+        url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
         username: root
         password: 123456
-        driverClassName: com.mysql.cj.jdbc.Driver
+        driverClassName: com.mysql.jdbc.Driver
         minIdle: 10
         validationQuery: SELECT 1
         initialSize: 5
@@ -60,10 +60,10 @@ sharding:
         testWhileIdle: true
         maxActive: 30
       vbdsm-2024:
-        url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+        url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
         username: root
         password: 123456
-        driverClassName: com.mysql.cj.jdbc.Driver
+        driverClassName: com.mysql.jdbc.Driver
         minIdle: 10
         validationQuery: SELECT 1
         initialSize: 5

+ 11 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/pom.xml

@@ -68,6 +68,17 @@
             <version>1.0</version>
             <scope>compile</scope>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.apache.cxf</groupId>-->
+<!--            <artifactId>cxf-rt-transports-http</artifactId>-->
+<!--            <version>2.7.1</version>-->
+<!--            <scope>compile</scope>-->
+<!--        </dependency>-->
+        <dependency>
+            <groupId>com.alibaba.csp</groupId>
+            <artifactId>sentinel-core</artifactId>
+            <version>1.8.6</version>
+        </dependency>
     </dependencies>
 <!--    <dependencyManagement>-->
 <!--        <dependencies>-->

+ 13 - 4
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/VbdsmHj212ModbusApplication.java

@@ -1,6 +1,7 @@
 package cn.vbdsm.hj212.modbus;
 
 import cn.vbdsm.hj212.modbus.server.TcpSocketServer;
+import cn.vbdsm.hj212.modbus.task.UploadDataTask;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
@@ -11,19 +12,27 @@ import  cn.vbdsm.hj212.modbus.ws.*;
 
 @SpringBootApplication
 @Slf4j
-@EnableScheduling
+//@EnableScheduling
 public class VbdsmHj212ModbusApplication implements CommandLineRunner {
+//    @Autowired
+//    private TcpSocketServer tcpSocketServer;
     @Autowired
-    private TcpSocketServer tcpSocketServer;
+    private MockUploadWsService uploadDataService;
     @Autowired
-        private MockUploadWsService uploadDataService;
+    private UploadDataTask uploadDataTask;
 
     public static void main(String[] args) {
         SpringApplication.run(VbdsmHj212ModbusApplication.class, args);
     }
 
     @Override
-    public void run(String... args) throws Exception {
+    public void run(String... args)  {
+        try{
+            uploadDataTask.startUpload();
+        }catch (Exception e){
+            log.error("uploadData error:" + e.getMessage());
+        }
+
       //uploadDataService.loadTerminals();
 //        tcpSocketServer.run();
 //        Runtime.getRuntime().addShutdownHook(new Thread(){

+ 28 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/config/TaskConfig.java

@@ -0,0 +1,28 @@
+package cn.vbdsm.hj212.modbus.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+
+@Configuration
+public class TaskConfig {
+
+    @Bean(name = "uploadDataTaskScheduler")
+    public ThreadPoolTaskScheduler threadPoolTaskScheduler(){
+        ThreadPoolTaskScheduler executor = new ThreadPoolTaskScheduler();
+        executor.setPoolSize(2);
+        executor.setThreadNamePrefix("taskExecutor-");
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        return executor;
+    }
+    @Bean(name = "restartTaskScheduler")
+    public ThreadPoolTaskScheduler restartTaskScheduler(){
+        ThreadPoolTaskScheduler executor = new ThreadPoolTaskScheduler();
+        executor.setPoolSize(1);
+        executor.setThreadNamePrefix("taskRestartExecutor-");
+        executor.setWaitForTasksToCompleteOnShutdown(true);
+        executor.setAwaitTerminationSeconds(60);
+        return executor;
+    }
+}

+ 1 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/config/TcpServerProperties.java

@@ -18,6 +18,7 @@ public class TcpServerProperties {
     private Integer bossThreadNum = 1;
 
     private Integer workThreadNum = 4;
+
     public static TcpServerProperties defaultProperties() {
         TcpServerProperties properties = new TcpServerProperties();
         properties.bindPort = 18888;

+ 38 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/handler/TcpClientHandler.java

@@ -0,0 +1,38 @@
+package cn.vbdsm.hj212.modbus.handler;
+
+import io.netty.channel.ChannelDuplexHandler;
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerAdapter;
+import io.netty.channel.ChannelHandlerContext;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@ChannelHandler.Sharable
+@AllArgsConstructor
+public class TcpClientHandler extends ChannelDuplexHandler {
+
+    @Override
+    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
+        System.out.println("通信异常!!");
+        cause.printStackTrace();
+    }
+
+    @Override
+    public void channelInactive(ChannelHandlerContext ctx) throws Exception {
+        super.channelInactive(ctx);
+    }
+
+    @Override
+    public void channelActive(ChannelHandlerContext ctx) throws Exception {
+        super.channelActive(ctx);
+    }
+    @Override
+    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+        log.info("接收数据包:{}", msg);
+    }
+
+    public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
+        ctx.channel().writeAndFlush("数据读取完成!");
+    }
+}

+ 64 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/server/TcpSocketClient.java

@@ -0,0 +1,64 @@
+package cn.vbdsm.hj212.modbus.server;
+
+import cn.vbdsm.hj212.modbus.handler.TcpClientHandler;
+import io.netty.bootstrap.Bootstrap;
+import io.netty.channel.*;
+import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.socket.SocketChannel;
+import io.netty.channel.socket.nio.NioSocketChannel;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.net.InetSocketAddress;
+import java.util.Scanner;
+
+@Component
+@Slf4j
+public class TcpSocketClient {
+
+//    @Getter
+//    private Bootstrap bootstrap;
+//    @Getter
+//    private Channel channel;
+//
+//    @Value("${vbdsm.socket.client.port}")
+//    private int port;
+//    @Value("${vbdsm.socket.client.bindIp}")
+//    private String host;
+//
+//    public void connect(){
+//        EventLoopGroup group = new NioEventLoopGroup();
+//        this.bootstrap = new Bootstrap();
+//        bootstrap.group(group).channel(NioSocketChannel.class)
+//                .option(ChannelOption.TCP_NODELAY, true)
+//                .handler(new ChannelInitializer<SocketChannel>() {
+//                    @Override
+//                    protected void initChannel(SocketChannel ch) throws Exception {
+////                        ch.pipeline().addLast("decoder",new DealMsg()); //设置自定义解码器
+////                        ch.pipeline().addLast("encoder",new MsgEncode()); //设置自定义编码器
+//                        ch.pipeline().addLast(new TcpClientHandler());//设置客户端网络IO处理器
+//                    }
+//                });
+//        //连接服务器 同步等待成功
+//        ChannelFuture f = bootstrap.connect(new InetSocketAddress(host, port));
+//        //同步等待客户端通道关闭
+//        try {
+//            this.channel = f.sync().channel();
+//        } catch (InterruptedException e) {
+//            throw new RuntimeException(e);
+//        }
+//        //释放线程组资源
+//        //group.shutdownGracefully();
+//    }
+//
+//    public void sendMsg(String msg){
+//        try {
+//            this.channel.writeAndFlush(msg);
+//        } catch (Exception e) {
+//            throw new RuntimeException(e);
+//        }
+//    }
+
+}

+ 56 - 5
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/task/UploadDataTask.java

@@ -1,23 +1,74 @@
 package cn.vbdsm.hj212.modbus.task;
 
+import cn.vbdsm.hj212.modbus.utils.ExecUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.scheduling.support.CronTrigger;
 import org.springframework.stereotype.Component;
 import cn.vbdsm.hj212.modbus.ws.*;
+import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
+import java.util.concurrent.ScheduledFuture;
 
-@Component
+@Slf4j
+@Service
 public class UploadDataTask {
 //    @Autowired
 //    private  UploadDataService uploadDataService;
     @Autowired
     private MockUploadWsService uploadWsService;
 
-    @Scheduled(cron = "0 0/15 * * * ?")
-    public void uploadData() throws Exception {
-        uploadWsService.loadTerminals();
-        //System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+
+
+//    @Scheduled(cron = "0 0/15 * * * ?")
+//    public void uploadData() {
+//        try{
+//            uploadWsService.loadTerminals();
+//        }catch (Exception e){
+//            log.error("uploadData error:" + e.getMessage());
+//        }
+//        //System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+//    }
+    @Resource(name = "uploadDataTaskScheduler")
+    private ThreadPoolTaskScheduler taskScheduler;
+    @Resource(name = "restartTaskScheduler")
+    private ThreadPoolTaskScheduler restartTaskScheduler;
+
+    private ScheduledFuture future;
+
+   // private ScheduledFuture restartFuture;
+
+
+
+
+    public void startUpload(){
+        //每次调用前,可执行一次关闭之前的
+        stopUpload();
+        future = taskScheduler.schedule(()->{
+            try{
+                uploadWsService.loadTerminals();
+            }catch (Exception e){
+                log.error("uploadData error:" + e.getMessage());
+            }
+        },new CronTrigger("0 0/5 * * * ?"));
+
+//        restartFuture = restartTaskScheduler.schedule(()->{
+//            ExecUtil.execCommand("/opt/vbdsm/exec_mock.sh restart vbdsm-hj212-modbus-2.1.0");
+//        },new CronTrigger("0 5/15 * * * ?"));
+    }
+
+    public void stopUpload(){
+        if(future != null){
+            log.info("stop upload!!");
+            future.cancel(true);
+        }
     }
+
+
+
 }

+ 47 - 0
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/utils/ExecUtil.java

@@ -0,0 +1,47 @@
+package cn.vbdsm.hj212.modbus.utils;
+
+import lombok.extern.slf4j.Slf4j;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+@Slf4j
+public class ExecUtil {
+
+    public static void execCommand(String command){
+        log.info("begin exec os command: " + command);
+        Process process;
+        try {
+            process = Runtime.getRuntime().exec(command);
+            //开启新线程处理正常输出 和 错误输出
+            newThreadLogInputStream(process.getInputStream());
+            newThreadLogInputStream(process.getErrorStream());
+            // 阻塞当前进程,直到命令结束
+            process.waitFor();
+            // 不会阻塞进程,但是调用时如果没有完成会报错
+            if (process.exitValue() != 0) {
+                log.error("exec os command failure: " + command);
+            } else {
+                log.info("exec os command success: " + command);
+            }
+        } catch (Exception  e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static void newThreadLogInputStream(InputStream is) {
+        new Thread(()->{
+            try {
+                BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+                String line = null;
+                while ((line = reader.readLine()) != null) {
+                    log.info(line);
+                }
+            } catch (IOException e) {
+                log.error("newThreadLogInputStream error:{}",e.getMessage());
+            }
+        }).start();
+    }
+}

+ 47 - 4
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/utils/WsClientUtil.java

@@ -1,16 +1,59 @@
 package cn.vbdsm.hj212.modbus.utils;
+
+import lombok.extern.slf4j.Slf4j;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+import org.apache.cxf.transport.http.HTTPConduit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
+
+import java.util.ArrayList;
+import java.util.List;
 
+@Slf4j
 public class WsClientUtil {
-    public static String callWebSV(String wsdUrl, String operationName, String... params) throws Exception {
+    public static String callWebSV(String wsdUrl, String operationName, String... params){
         JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
         Client client = dcf.createClient(wsdUrl);
-        //client.getOutInterceptors().add(new ClientLoginInterceptor(USER_NAME, PASS_WORD));
+        HTTPConduit conduit = (HTTPConduit) client.getConduit();
+        HTTPClientPolicy policy = new HTTPClientPolicy();
+        long timeout =  10 * 1000;// 10s timeout
+        policy.setConnectionTimeout(timeout);
+        policy.setReceiveTimeout(timeout);
+        conduit.setClient(policy);
         Object[] objects;
+        try{
+            objects = client.invoke(operationName, params);
+            return objects[0].toString();
+        }catch (Exception e){
+             log.error("发送错误!请检查日志记录!{}", e.getMessage());
+        }
         // invoke("方法名",参数1,参数2,参数3....);
-        objects = client.invoke(operationName, params);
-        return objects[0].toString();
+        return "发送错误!请检查日志记录!";
     }
 
+
+//    public static void main(String[] args){
+//        initFlowRules();
+//        while (true) {
+//            // 1.5.0 版本开始可以直接利用 try-with-resources 特性
+//            try (Entry entry = SphU.entry("HelloWorld")) {
+//                // 被保护的逻辑
+//                System.out.println("hello world");
+//            } catch (BlockException ex) {
+//                // 处理被流控的逻辑
+//                System.out.println("blocked!");
+//            }
+//        }
+//    }
+//
+//    public static void initFlowRules(){
+//        List<FlowRule> rules = new ArrayList<>();
+//        FlowRule rule = new FlowRule();
+//        rule.setResource("HelloWorld");
+//        rule.setGrade(RuleConstant.FLOW_GRADE_QPS);
+//        rule.setCount(20);
+//        rules.add(rule);
+//        FlowRuleManager.loadRules(rules);
+//    }
+
 }

+ 24 - 10
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/MockUploadWsService.java

@@ -11,6 +11,7 @@ import cn.vbdsm.hj212.modbus.ws.data.RandomHarmonic;
 import cn.vbdsm.hj212.modbus.ws.data.RandomPower;
 import cn.vbdsm.hj212.modbus.ws.data.TerminalData;
 
+import com.alibaba.csp.sentinel.annotation.SentinelResource;
 import com.alibaba.fastjson2.JSON;
 import lombok.extern.slf4j.Slf4j;
 import lombok.var;
@@ -55,7 +56,8 @@ public class MockUploadWsService {
 //            }
 //        }
 //    }
-    public void loadTerminals() throws Exception {
+    @SentinelResource("uploadBlockHandler")
+    public void loadTerminals(){
         String terminals = mockMonitor.getTerminals();
         String[] coms = terminals.split("&");
         for(String c : coms){
@@ -65,11 +67,18 @@ public class MockUploadWsService {
                 TerminalData td = getTerminal(cts[0],t);
                 RandomPower power = new RandomPower();
                 setEngine(power,td);
-                uploadData(td,power);
+                try {
+                    uploadData(td,power);
+                }catch (Exception e){
+                    log.error("uploadData error:" + e.getMessage());
+                }
+
             }
         }
     }
 
+
+
     private TerminalData getTerminal(String companyId,String terminalId){
         String filePath = StrUtil.format("./mock/{}@{}.json",companyId,terminalId);
         //Resource fileResource =resourceLoader.getResource(filePath);
@@ -105,17 +114,22 @@ public class MockUploadWsService {
 
 
 
-    public void uploadData(TerminalData td,RandomPower power) throws Exception {
+    public void uploadData(TerminalData td,RandomPower power)  {
         String nowStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
         long now = Long.parseLong(nowStr);
-        now = now - (now - (now / 10000) * 10000) % 1500;
-        sendData("01",td,now,power);
-        sendData("02",td,now,power);
-        sendData("03",td,now,power);
-        sendData("04",td,now,power);
+        now = now - (now - (now / 10000) * 10000) % 500;
+        try {
+            sendData("01",td,now,power);
+            sendData("02",td,now,power);
+            sendData("03",td,now,power);
+            sendData("04",td,now,power);
+        }catch (Exception e){
+            log.error("uploadData error:" + e.getMessage());
+        }
+
     }
 
-    private void sendData(String type, TerminalData td ,Long date,RandomPower power) throws Exception {
+    private void sendData(String type, TerminalData td ,Long date,RandomPower power)  {
         OnlineData onlineData_power = new OnlineData();
         onlineData_power.setCompanyId(td.getCompanyId());
         onlineData_power.setDataType(type);
@@ -157,7 +171,7 @@ public class MockUploadWsService {
                 log.info("地址:{},企业编号:{},设备号信息:{},上传结果:{}",url,td.getCompanyId(),terminalId,result);
             }
         } catch (Exception e) {
-            throw new RuntimeException(e);
+            log.error("数据上报异常:" + e.getMessage() + "\nKEY:" + wsProperties.getKey() + "\nCONTENT:" + content);
         }
     }
 

+ 19 - 19
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/RandomHarmonic.java

@@ -11,25 +11,25 @@ import java.math.BigDecimal;
 @NoArgsConstructor
 @AllArgsConstructor
 public class RandomHarmonic {
-    public String type ;
-    public BigDecimal h3 ;
-    public BigDecimal h5 ;
-    public BigDecimal h7 ;
-    public BigDecimal h9 ;
-    public BigDecimal h11 ;
-    public BigDecimal h13 ;
-    public BigDecimal h15 ;
-    public BigDecimal h17 ;
-    public BigDecimal h19 ;
-    public BigDecimal h21 ;
-    public BigDecimal h23 ;
-    public BigDecimal h25 ;
-    public BigDecimal h27 ;
-    public BigDecimal h29 ;
-    public BigDecimal h31 ;
-    public BigDecimal hall;
-    public BigDecimal baseI ;
-    public BigDecimal baseU ;
+        public String type ;
+        public BigDecimal h3 ;
+        public BigDecimal h5 ;
+        public BigDecimal h7 ;
+        public BigDecimal h9 ;
+        public BigDecimal h11 ;
+        public BigDecimal h13 ;
+        public BigDecimal h15 ;
+        public BigDecimal h17 ;
+        public BigDecimal h19 ;
+        public BigDecimal h21 ;
+        public BigDecimal h23 ;
+        public BigDecimal h25 ;
+        public BigDecimal h27 ;
+        public BigDecimal h29 ;
+        public BigDecimal h31 ;
+        public BigDecimal hall;
+        public BigDecimal baseI ;
+        public BigDecimal baseU ;
 
     public RandomHarmonic(String type){
         this.type = type;

+ 27 - 17
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/java/cn/vbdsm/hj212/modbus/ws/data/TerminalData.java

@@ -53,17 +53,24 @@ public class TerminalData {
     private String key = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
 
     public BigDecimal getCurDayTotalP(){
-        return this.dayTotal_p.getOrDefault(this.key,new BigDecimal(0));
+        if(this.dayTotal_p.containsKey(this.key)){
+            return this.dayTotal_p.get(this.key);
+        }
+        return new BigDecimal(0);
     }
     public BigDecimal getCurDayTotalE(){
-        return this.dayTotal_e.getOrDefault(this.key,new BigDecimal(0));
+        if(this.dayTotal_e.containsKey(this.key)){
+            return this.dayTotal_e.get(this.key);
+        }
+        return new BigDecimal(0);
     }
 
     public TerminalData SetDayTotalP(BigDecimal d){
-        if(this.dayTotal_p.containsKey(key)){
-            dayTotal_p.remove(key);
-        }
-        dayTotal_p.put(key,d);
+//        if(this.dayTotal_p.containsKey(key)){
+//            dayTotal_p.remove(key);
+//        }
+//        dayTotal_p.put(key,d);
+        dayTotal_p.compute(key,(k,v)->d);
         return this;
     }
     public TerminalData SetTotalP(BigDecimal d)
@@ -72,10 +79,7 @@ public class TerminalData {
         return this;
     }
     public TerminalData SetDayTotalE(BigDecimal d){
-        if(this.dayTotal_e.containsKey(key)){
-            dayTotal_e.remove(key);
-        }
-        dayTotal_e.put(key,d);
+        dayTotal_e.compute(key, (k,v)-> d);
         return this;
     }
     public TerminalData SetTotalE(BigDecimal d)
@@ -86,26 +90,32 @@ public class TerminalData {
 
 
     public void saveFileInfo()  {
-
         String fileName = StrUtil.format("{}@{}.json",companyId,terminalId);
-        //ClassPathResource classPathResource = new ClassPathResource(StrUtil.format("mock"));
+        FileWriter fw = null;
         try {
             //String resourcePath = classPathResource.getURL().toString().substring(6);
             File saveDir = new File("./mock");
             if (!saveDir.exists()) {
-                saveDir.mkdir();
+                boolean mkdir = saveDir.mkdir();
             }
             File file = new File(saveDir.getAbsoluteFile()+ "/" + fileName);
             if(!file.exists()){
-                file.createNewFile();
+                boolean newFile = file.createNewFile();
             }
-            FileWriter fw = new FileWriter(file);
+            fw = new FileWriter(file);
             String content = JSON.toJSONString(this);
             fw.write(content);
-            fw.flush();
-            fw.close();
         } catch (IOException e) {
             log.error("{}@{}.json文件保存失败!",companyId,terminalId);
+        }finally {
+            if(fw != null){
+                try {
+                    fw.flush();
+                    fw.close();
+                } catch (IOException e) {
+                    log.error("{}@{}.json文件保存失败!error:{}",companyId,terminalId,e.getMessage());
+                }
         }
+      }
     }
 }

+ 6 - 2
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modbus/src/main/resources/application.yml

@@ -5,11 +5,15 @@ vbdsm:
         server:
             enable: true
             bindPort: 18888 #服务器端口,默认是19999
-            bindIp: 0.0.0.0 #服务器ip 默认0.0.0.0
+            bindIp: 0.0.0.0 #服务器ip 默认0.0.0.0./
             bossThreadNum: 1 #netty boss线程数 默认为1
             workThreadNum: 4 #netty work线程数,默认为4
+        client:
+            port: 19999
+            bindIp: 192.168.0.81
     ws:
-        url: http://192.168.0.104:7100/services/UploadData?wsdl;http://192.168.0.104:7100/services/UploadData?wsdl
+        #url: http://192.168.0.104:7100/services/UploadData?wsdl;http://192.168.0.104:7100/services/UploadData?wsdl
+        url: http://192.168.0.81:7101/services/UploadData?wsdl
         method: UploadAllData
         key: WOSHI123456MIYAO
     monitor:

+ 1 - 1
VB_DSM_V2.1/vbdsm-job/xxl-job-admin/src/main/resources/application.properties

@@ -18,7 +18,7 @@ spring.freemarker.settings.number_format=0.##########
 mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
 #mybatis.type-aliases-package=com.xxl.job.admin.core.model
 ### xxl-job, datasource
-spring.datasource.url=jdbc:mysql://47.112.30.247:4501/vbdsm_xxl_job?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+spring.datasource.url=jdbc:mysql://47.112.30.247:23306/vbdsm_xxl_job?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
 spring.datasource.username=root
 spring.datasource.password=123456
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

+ 10 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/local/db.properties

@@ -1,25 +1,25 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #gov database mysql config
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #curr database mysql config
-curr.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-curr.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+curr.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+curr.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 curr.mysql.jdbc.username=root
 curr.mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 10 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/product/db.properties

@@ -1,25 +1,25 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #gov database mysql config
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #curr database mysql config
-curr.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-curr.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+curr.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+curr.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 curr.mysql.jdbc.username=root
 curr.mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 16 - 16
VB_DSM_V2.1/vbdsm-statistics/vbdsm-analysis/src/main/resources/test/db.properties

@@ -1,38 +1,38 @@
-currW.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-currW.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+currW.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+currW.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 currW.mysql.jdbc.username=root
 currW.mysql.jdbc.password=123456
-db2023W.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023W.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023W.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023W.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023W.mysql.jdbc.username=root
 db2023W.mysql.jdbc.password=123456
-govW.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-govW.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+govW.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+govW.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 govW.mysql.jdbc.username=root
 govW.mysql.jdbc.password=123456
 #curr database mysql config
-curr.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-curr.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+curr.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+curr.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 curr.mysql.jdbc.username=root
 curr.mysql.jdbc.password=123456
 #gov database mysql config
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #db2023 database mysql config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
 #db2024 database mysql config
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/pom.xml

@@ -90,7 +90,7 @@
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.11</version>
+            <version>5.1.46</version>
         </dependency>
         <dependency>
             <groupId>org.mybatis</groupId>

+ 10 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-dev.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -13,8 +13,8 @@ dataSources:
     testWhileIdle: true
     poolPreparedStatements: true
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -27,8 +27,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -41,8 +41,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -55,8 +55,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat

+ 10 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-prod.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -13,8 +13,8 @@ dataSources:
     testWhileIdle: true
     poolPreparedStatements: true
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -27,8 +27,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -41,8 +41,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -55,8 +55,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat

+ 10 - 10
VB_DSM_V2.1/vbdsm-statistics/vbdsm-statistic/src/main/resources/config/sharding-test.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -13,8 +13,8 @@ dataSources:
     testWhileIdle: true
     poolPreparedStatements: true
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -27,8 +27,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -41,8 +41,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -55,8 +55,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat

+ 26 - 0
VB_DSM_V2.1/vbdsm-web/Dockerfile

@@ -0,0 +1,26 @@
+FROM iwbtomcat:1.0.0
+MAINTAINER Vber
+
+RUN rm -rf /usr/local/tomcat/webapps/
+
+RUN mkdir -p /vbdsm/logs
+
+ENV TZ=Asia/Shanghai
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+COPY ./vbdsm-charts/target/ROOT.war /usr/local/tomcat/webapps/charts.war
+COPY ./vbdsm-gov/target/ROOT.war /usr/local/tomcat/webapps/gov.war
+COPY ./vbdsm-explorer/target/ROOT.war /usr/local/tomcat/webapps/explorer.war
+COPY ./vbdsm-manage/target/ROOT.war /usr/local/tomcat/webapps/manage.war
+COPY ./vbdsm-passport/target/ROOT.war /usr/local/tomcat/webapps/passport.war
+COPY ./vbdsm-powerservice/target/ROOT.war /usr/local/tomcat/webapps/ps.war
+COPY ./vbdsm-gov-new/target/vbdsm-gov-new-2.1.0.war /usr/local/tomcat/webapps/govnew.war
+
+
+WORKDIR /vbdsm
+
+#端口
+EXPOSE 8080
+
+#设置启动命令
+ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

+ 5 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-charts/Dockerfile

@@ -1,19 +1,22 @@
-FROM tomcat:8.5.38
+FROM iwbtomcat:1.0.0
 MAINTAINER Vber
 
-RUN rm -rf webapps
+RUN rm -rf /usr/local/tomcat/webapps
 
 RUN mkdir -p /vbdsm/logs
 
 ENV TZ=Asia/Shanghai
 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 
+
 ADD ./target/ROOT.war /usr/local/tomcat/webapps/
 
 WORKDIR /vbdsm
 
 #端口
 EXPOSE 8080
+ENV JAVA_OPTS="-Dfile.encoding=UTF-8"
 
 #设置启动命令
 ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
+CMD ["JAVA_OPTS=$JAVA_OPTS"]

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-charts/src/main/resources/local/redis-host.properties

@@ -1 +1 @@
-redis_ref_hosts=47.112.30.247:6399
+redis_ref_hosts=47.112.30.247:6399:Iwb-2017

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-charts/src/main/resources/product/redis-host.properties

@@ -1 +1 @@
-redis_ref_hosts=47.112.30.247:6399
+redis_ref_hosts=127.0.0.1:6379:Iwb-2017

+ 3 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-charts/src/main/resources/test/log4j-cfg.xml

@@ -10,7 +10,7 @@
     </appender>
 
     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm-charts/logs/webapp.log"/>
+        <param name="file" value="/vbdsm/logs/charts/webapp.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -22,7 +22,7 @@
     </appender>
 
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/opt/NXDSM_2.0/nxdsm-charts/logs/warn.log"/>
+        <param name="file" value="/vbdsm/logs/charts/warn.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -36,7 +36,7 @@
     </appender>
 
     <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/opt/NXDSM_2.0/nxdsm-charts/logs/error.log"/>
+        <param name="file" value="/vbdsm/logs/charts/error.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">

+ 5 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/java/cn/vbdsm/explorer/service/impl/UFileService.java

@@ -1,6 +1,8 @@
 package cn.vbdsm.explorer.service.impl;
 
+import cn.vbdsm.common.config.CustomConfig;
 import cn.vbdsm.common.constants.ExplorerConstants;
+import cn.vbdsm.common.constants.SystemConstant;
 import cn.vbdsm.explorer.core.file.OFile;
 import cn.vbdsm.explorer.dao.ShortUrlDao;
 import cn.vbdsm.explorer.model.ShortUrl;
@@ -9,8 +11,6 @@ import cn.vbdsm.explorer.service.IAccessService;
 import cn.vbdsm.explorer.service.IUFileService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import cn.vbdsm.common.config.CustomConfig;
-import cn.vbdsm.common.constants.SystemConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -21,7 +21,9 @@ import javax.core.common.utils.FileUtils;
 import javax.core.common.utils.StringUtils;
 import javax.servlet.ServletException;
 import java.io.*;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -256,6 +258,7 @@ public class UFileService implements IUFileService {
             path = path.replaceAll("//", "/");
             for (String fileName : files.keySet()) {
                 File src = files.get(fileName);
+                fileName = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + "_" + fileName;
                 OFile f = new OFile(src.getPath());
 
                 //保存到用户FTP目录

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/local/db.properties

@@ -1,9 +1,9 @@
 #sysbase database mysql config
-netdisk.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+netdisk.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 netdisk.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_netdisk?serverTimezone=UTC&useSSL=false
 netdisk.mysql.jdbc.username=root
 netdisk.mysql.jdbc.password=123456
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?serverTimezone=UTC&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456

+ 4 - 4
VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/product/db.properties

@@ -1,10 +1,10 @@
 #sysbase database mysql config
-netdisk.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-netdisk.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_netdisk?serverTimezone=UTC&useSSL=false
+netdisk.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+netdisk.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_netdisk?serverTimezone=UTC&useSSL=false
 netdisk.mysql.jdbc.username=root
 netdisk.mysql.jdbc.password=123456
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?serverTimezone=UTC&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_sysbase?serverTimezone=UTC&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/product/redis-host.properties

@@ -1 +1 @@
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=127.0.0.1:6379:Iwb-2017

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/test/db.properties

@@ -1,9 +1,9 @@
 #sysbase database mysql config
-netdisk.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+netdisk.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 netdisk.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_netdisk?serverTimezone=UTC&useSSL=false
 netdisk.mysql.jdbc.username=root
 netdisk.mysql.jdbc.password=123456
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?serverTimezone=UTC&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456

+ 3 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-explorer/src/main/resources/test/log4j-cfg.xml

@@ -10,7 +10,7 @@
     </appender>
 
     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/webapp.log"/>
+        <param name="file" value="/vbdsm/logs/explorer/webapp.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -22,7 +22,7 @@
     </appender>
 
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/warn.log"/>
+        <param name="file" value="/vbdsm/logs/explorer/warn.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -36,7 +36,7 @@
     </appender>
 
     <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/error.log"/>
+        <param name="file" value="/vbdsm/logs/explorer/error.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">

+ 11 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/pom.xml

@@ -6,9 +6,10 @@
     <groupId>cn.vbdsm</groupId>
     <artifactId>vbdsm-gov-new</artifactId>
     <version>2.1.0</version>
-    <packaging>jar</packaging>
+<!--    <packaging>jar</packaging>-->
+    <packaging>war</packaging>
 
-    <name>${project.artifactId}</name>
+<!--    <name>${project.artifactId}</name>-->
 
     <parent>
         <groupId>org.springframework.boot</groupId>
@@ -78,6 +79,13 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
+            <!-- 移除嵌入式tomcat插件 -->
+<!--            <exclusions>-->
+<!--                <exclusion>-->
+<!--                    <groupId>org.springframework.boot</groupId>-->
+<!--                    <artifactId>spring-boot-starter-tomcat</artifactId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
         </dependency>
         <dependency>
             <groupId>org.mybatis.spring.boot</groupId>
@@ -87,7 +95,7 @@
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.11</version>
+            <version>5.1.46</version>
         </dependency>
         <dependency>
             <groupId>org.mybatis</groupId>

+ 17 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/java/cn/vbdsm/VbdsmGovNewApplication.java

@@ -3,13 +3,28 @@ package cn.vbdsm;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.support.SpringBootServletInitializer;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
+//@EnableScheduling
+//@MapperScan("cn.vbdsm.service.dao")
+//@SpringBootApplication
+//public class VbdsmGovNewApplication {
+//
+//    public static void main(String[] args) {
+//        SpringApplication.run(VbdsmGovNewApplication.class, args);
+//    }
+//
+//}
 @EnableScheduling
 @MapperScan("cn.vbdsm.service.dao")
 @SpringBootApplication
-public class VbdsmGovNewApplication {
-
+public class VbdsmGovNewApplication extends SpringBootServletInitializer {
+    @Override
+    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+        return application.sources(VbdsmGovNewApplication.class);
+    }
     public static void main(String[] args) {
         SpringApplication.run(VbdsmGovNewApplication.class, args);
     }

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/application-prod.yml

@@ -9,7 +9,7 @@ logging:
 spring:
   redis:
     host: 127.0.0.1
-    #password: Abcd1234!.com
+    password: Iwb-2017
     port: 6379
     database: 0
     pool:

+ 10 - 10
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/sharding-dev.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -14,8 +14,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -28,8 +28,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -42,8 +42,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -56,8 +56,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat

+ 10 - 10
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/sharding-prod.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -14,8 +14,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -28,8 +28,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -42,8 +42,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -56,8 +56,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://127.0.0.1:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat

+ 10 - 10
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/config/sharding-test.yml

@@ -1,7 +1,7 @@
 dataSources:
   vbdsm_2023: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -14,8 +14,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_2024: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -28,8 +28,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_sysbase: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -42,8 +42,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm_powergov: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat
@@ -56,8 +56,8 @@ dataSources:
     poolPreparedStatements: true
     maxOpenPreparedStatements: 100
   vbdsm: !!com.alibaba.druid.pool.DruidDataSource
-    driverClassName: com.mysql.cj.jdbc.Driver
-    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+    driverClassName: com.mysql.jdbc.Driver
+    url: jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
     username: root
     password: 123456
     filters: stat

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-gov-new/src/main/resources/logback.xml

@@ -12,7 +12,7 @@
 
     <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
-            <FileNamePattern>D:/logs/vbdsm/${appName}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <FileNamePattern>/vbdsm/logs/${appName}/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
             <maxFileSize>100MB</maxFileSize>
             <maxHistory>30</maxHistory>
             <totalSizeCap>2GB</totalSizeCap>
@@ -31,7 +31,7 @@
     <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
             <!--            <FileNamePattern>${catalina.home:-.}/logs/${appName}.%d{yyyy-MM-dd}.%i.error.log</FileNamePattern>-->
-            <FileNamePattern>D:/logs/vbdsm/${appName}/%d{yyyy-MM-dd}.%i.error.log</FileNamePattern>
+            <FileNamePattern>/vbdsm/logs/${appName}/%d{yyyy-MM-dd}.%i.error.log</FileNamePattern>
             <maxFileSize>100MB</maxFileSize>
             <maxHistory>30</maxHistory>
             <totalSizeCap>2GB</totalSizeCap>

+ 6 - 6
VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/local/db.properties

@@ -1,14 +1,14 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #alibaba druid config

+ 6 - 6
VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/product/db.properties

@@ -1,14 +1,14 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/product/redis-host.properties

@@ -2,7 +2,7 @@
 #222.92.214.198:6379
 #192.168.81.17:6379
 #static.chnmooc.com:6379
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=127.0.0.1:6379:Iwb-2017
 #redis.host=127.0.0.1
 #redis.port=6379
 #redis.expire=1800

+ 6 - 6
VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/test/db.properties

@@ -1,14 +1,14 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #alibaba druid config

+ 3 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-gov/src/main/resources/test/log4j-cfg.xml

@@ -10,7 +10,7 @@
     </appender>
 
     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/webapp.log"/>
+        <param name="file" value="/vbdsm/logs/gov/webapp.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -22,7 +22,7 @@
     </appender>
 
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/warn.log"/>
+        <param name="file" value="/vbdsm/logs/gov/warn.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -36,7 +36,7 @@
     </appender>
 
     <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/error.log"/>
+        <param name="file" value="/vbdsm/logs/gov/error.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">

+ 2 - 0
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/java/cn/vbdsm/manage/dao/RoleDao.java

@@ -47,6 +47,8 @@ public class RoleDao extends BaseDaoSupport<Role, Long> {
      */
     public Page<Role> selectAll(Role condition) {
         QueryRule queryRule = QueryRule.getInstance();
+        //过滤root角色
+        queryRule.andNotEqual("id", 1L);
         if (null != condition.getId()) {
             queryRule.andEqual("id", condition.getId());
         }

+ 132 - 112
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/java/cn/vbdsm/manage/mvc/action/web/BaseCodeAction.java

@@ -1,12 +1,10 @@
 package cn.vbdsm.manage.mvc.action.web;
 
-import java.util.List;
-import java.util.Map;
-
-import javax.core.common.ResultMsg;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
+import cn.vbdsm.core.mvc.action.BaseAction;
+import cn.vbdsm.manage.service.IBaseCodeService;
+import cn.vbdsm.manage.vo.BaseCodeTreeVo;
+import cn.vbdsm.model.BaseCode;
+import com.alibaba.fastjson.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.ModelAttribute;
@@ -15,115 +13,137 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.alibaba.fastjson.JSONObject;
-import cn.vbdsm.core.mvc.action.BaseAction;
-import cn.vbdsm.manage.service.IBaseCodeService;
-import cn.vbdsm.manage.vo.BaseCodeTreeVo;
-import cn.vbdsm.model.BaseCode;
+import javax.core.common.ResultMsg;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 @Controller
 @RequestMapping("/web/code")
 public class BaseCodeAction extends BaseAction {
-	
-	@Autowired IBaseCodeService baseCodeService;
-		
-	/**
-	 * 获取所有代码
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping(value="/getListAll.json")
-	public ModelAndView getListAll(@RequestParam(value="id",required=false) String soleCode, HttpServletRequest request,HttpServletResponse response) {
-		String local = super.getLocal(request);
-		ResultMsg<List<BaseCodeTreeVo>> result = baseCodeService.getTreeBaseCode(local);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
-	}
-	
-	/**
-	 * 根据上级唯一代码获取下级基础代码列表
-	 * @param soleCode	唯一代码
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping(value="/getList/{soleCode}.json")
-	public ModelAndView getListBySoleCode(@PathVariable(value="soleCode") String soleCode, HttpServletRequest request,HttpServletResponse response) {
-		String local = super.getLocal(request);
-		ResultMsg<List<BaseCode>> result = baseCodeService.getListBySoleCode(local,soleCode);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
-	}
-	
-	/**
-	 * 添加一个基础代码
-	 * @param baseCode
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping(value="/addOne.json")
-	public ModelAndView addOneBaseCode(@ModelAttribute BaseCode baseCode, HttpServletRequest request,HttpServletResponse response) {
-		String local = super.getLocal(request);
-		ResultMsg<BaseCode> result = baseCodeService.addOneBaseCode(local,baseCode);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
-	}
-	
-	/**
-	 * 修改一个基础代码
-	 * @param baseCode
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping(value="/modifyOne/{soleCode}.json")
-	public ModelAndView addOneBaseCode(@PathVariable(value="soleCode") String soleCode, @ModelAttribute BaseCode baseCode, HttpServletRequest request,HttpServletResponse response) {
-		String local = super.getLocal(request);
-		ResultMsg<BaseCode> result = baseCodeService.modifyOneBaseCode(local,soleCode, baseCode);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
-	}
-	
-	/**
-	 * 删除节点,如果是根节点则递归删除
-	 * @param soleCode
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping(value="/delete/{soleCode}.json")
-	public ModelAndView deleteOne(@PathVariable(value="soleCode") String soleCode, HttpServletRequest request,HttpServletResponse response) {
-		String local = super.getLocal(request);
-		ResultMsg<BaseCode> result = baseCodeService.delOneBaseCode(local,soleCode);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
-	}
-	
-	
-	
-	/**
-	 * 获取代码级联数据
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping("getComboxData.json")
-	public ModelAndView getComboxData(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="superCode",defaultValue="0",required=false) String superCode){
-		String local = super.getLocal(request);
-		List<Map<String, Object>> mapList = baseCodeService.getComboxData(local, superCode);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(mapList));
-	}
-	
-	
-	/**
-	 * 获取代码级联数据
-	 * @param request
-	 * @param response
-	 * @return
-	 */
-	@RequestMapping("getComboxDataByOrgId.json")
-	public ModelAndView getComboxDataByOrgId(HttpServletRequest request,HttpServletResponse response,@RequestParam(value="superCode",defaultValue="0",required=false) String superCode,@RequestParam("orgId") Long orgId){
-		String local = super.getLocal(request);
-		List<Map<String, Object>> mapList = baseCodeService.getComboxData(local, superCode,orgId);
-		return super.callBackForJsonp(request, response, JSONObject.toJSONString(mapList));
-	}
+
+    @Autowired
+    IBaseCodeService baseCodeService;
+
+    /**
+     * 获取所有代码
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/getListAll.json")
+    public ModelAndView getListAll(@RequestParam(value = "id", required = false) String soleCode, HttpServletRequest request, HttpServletResponse response) {
+        String local = super.getLocal(request);
+        ResultMsg<List<BaseCodeTreeVo>> result = baseCodeService.getTreeBaseCode(local);
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
+    }
+
+    /**
+     * 根据上级唯一代码获取下级基础代码列表
+     *
+     * @param soleCode 唯一代码
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/getList/{soleCode}.json")
+    public ModelAndView getListBySoleCode(@PathVariable(value = "soleCode") String soleCode, HttpServletRequest request, HttpServletResponse response) {
+        String local = super.getLocal(request);
+        ResultMsg<List<BaseCode>> result = baseCodeService.getListBySoleCode(local, soleCode);
+        if (soleCode.equals("01080000")) {
+            JSONObject userInfo = super.getUserInfo(request);
+            String userType = userInfo.getJSONObject("user").getString("userType");
+            if (userType.equals("01080004")) {
+                List<BaseCode> codeList = new ArrayList<BaseCode>();
+                for (BaseCode code : result.getData()) {
+                    if (code.getCodeSole().equals("01080005")) {
+                        codeList.add(code);
+                    }
+                }
+                result.setData(codeList);
+            }
+        }
+
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
+    }
+
+    /**
+     * 添加一个基础代码
+     *
+     * @param baseCode
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/addOne.json")
+    public ModelAndView addOneBaseCode(@ModelAttribute BaseCode baseCode, HttpServletRequest request, HttpServletResponse response) {
+        String local = super.getLocal(request);
+        ResultMsg<BaseCode> result = baseCodeService.addOneBaseCode(local, baseCode);
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
+    }
+
+    /**
+     * 修改一个基础代码
+     *
+     * @param baseCode
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/modifyOne/{soleCode}.json")
+    public ModelAndView addOneBaseCode(@PathVariable(value = "soleCode") String soleCode, @ModelAttribute BaseCode baseCode, HttpServletRequest request, HttpServletResponse response) {
+        String local = super.getLocal(request);
+        ResultMsg<BaseCode> result = baseCodeService.modifyOneBaseCode(local, soleCode, baseCode);
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
+    }
+
+    /**
+     * 删除节点,如果是根节点则递归删除
+     *
+     * @param soleCode
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/delete/{soleCode}.json")
+    public ModelAndView deleteOne(@PathVariable(value = "soleCode") String soleCode, HttpServletRequest request, HttpServletResponse response) {
+        String local = super.getLocal(request);
+        ResultMsg<BaseCode> result = baseCodeService.delOneBaseCode(local, soleCode);
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(result));
+    }
+
+
+    /**
+     * 获取代码级联数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping("getComboxData.json")
+    public ModelAndView getComboxData(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "superCode", defaultValue = "0", required = false) String superCode) {
+        String local = super.getLocal(request);
+        List<Map<String, Object>> mapList = baseCodeService.getComboxData(local, superCode);
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(mapList));
+    }
+
+
+    /**
+     * 获取代码级联数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping("getComboxDataByOrgId.json")
+    public ModelAndView getComboxDataByOrgId(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "superCode", defaultValue = "0", required = false) String superCode, @RequestParam("orgId") Long orgId) {
+        String local = super.getLocal(request);
+        List<Map<String, Object>> mapList = baseCodeService.getComboxData(local, superCode, orgId);
+        return super.callBackForJsonp(request, response, JSONObject.toJSONString(mapList));
+    }
 
 
 }

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/local/db.properties

@@ -1,6 +1,6 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/product/db.properties

@@ -1,6 +1,6 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/product/redis-host.properties

@@ -1 +1 @@
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=127.0.0.1:6379:Iwb-2017

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/test/db.properties

@@ -1,6 +1,6 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 3 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-manage/src/main/resources/test/log4j-cfg.xml

@@ -10,7 +10,7 @@
     </appender>
 
     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/webapp.log"/>
+        <param name="file" value="/vbdsm/logs/manage/webapp.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -22,7 +22,7 @@
     </appender>
 
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/warn.log"/>
+        <param name="file" value="/vbdsm/logs/manage/warn.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -36,7 +36,7 @@
     </appender>
 
     <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/error.log"/>
+        <param name="file" value="/vbdsm/logs/manage/error.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/local/db.properties

@@ -1,6 +1,6 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/product/db.properties

@@ -1,6 +1,6 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/product/redis-host.properties

@@ -2,7 +2,7 @@
 #222.92.214.198:6379
 #192.168.81.17:6379
 #static.chnmooc.com:6379
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=127.0.0.1:6379:Iwb-2017
 #redis.host=127.0.0.1
 #redis.port=6379
 #redis.expire=1800

+ 2 - 2
VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/test/db.properties

@@ -4,8 +4,8 @@
 #sysbase.oracle.jdbc.username=root
 #sysbase.oracle.jdbc.password=123456
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #alibaba druid config

+ 3 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-passport/src/main/resources/test/log4j-cfg.xml

@@ -10,7 +10,7 @@
     </appender>
 
     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/webapp.log"/>
+        <param name="file" value="/vbdsm/logs/passport/webapp.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -22,7 +22,7 @@
     </appender>
 
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/warn.log"/>
+        <param name="file" value="/vbdsm/logs/passport/warn.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -36,7 +36,7 @@
     </appender>
 
     <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/error.log"/>
+        <param name="file" value="/vbdsm/logs/passport/error.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">

+ 21 - 0
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/pom.xml

@@ -113,6 +113,27 @@
 
     <build>
         <finalName>ROOT</finalName>
+        <resources>
+            <resource>
+                <directory>${basedir}/src/main/resources</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>${basedir}/src/main/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                    <exclude>**/*.class</exclude>
+                </excludes>
+            </resource>
+            <resource>
+                <directory>${basedir}/src/main/imp_exp_templats</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
         <plugins>
             <plugin>
                 <groupId>org.mortbay.jetty</groupId>

BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/company_usepower_top.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_month_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_single_month_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_single_year_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/energy_year_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_day_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_month_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_power.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_power_price.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_date_time.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/fgp_anal_total_month_detail.xls


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/ydb_quality_detail.docx


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/ydb_test_report - 副本.docx


BIN
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/imp_exp_templats/ydb_test_report.docx


+ 5 - 5
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/jjrh/db.properties

@@ -1,23 +1,23 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 sysbase.mysql.jdbc.url=jdbc:mysql://10.50.10.3:3306/jjrh95598_sysbase?serverTimezone=UTC&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=jj890*()
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 gov.mysql.jdbc.url=jdbc:mysql://10.50.10.3:3306/jjrh95598_gov?serverTimezone=UTC&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=jj890*()
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 mysql.jdbc.url=jdbc:mysql://10.50.10.3:3306/jjrh95598?serverTimezone=UTC&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=jj890*()
 #business database config
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 db2024.mysql.jdbc.url=jdbc:mysql://10.50.10.3:3306/jjrh95598_2024?serverTimezone=UTC&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=jj890*()
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
 db2023.mysql.jdbc.url=jdbc:mysql://10.50.10.3:3306/jjrh95598_2024?serverTimezone=UTC&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=jj890*()

+ 10 - 10
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/local/db.properties

@@ -1,25 +1,25 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #powergov database mysql config
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:23306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 10 - 10
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/product/db.properties

@@ -1,25 +1,25 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #powergov database mysql config
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://47.112.30.247:13306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://127.0.0.1:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 1 - 1
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/product/redis-host.properties

@@ -2,7 +2,7 @@
 #222.92.214.198:6379
 #192.168.81.17:6379
 #static.chnmooc.com:6379
-redis_ref_hosts=47.112.30.247:6399:Iwb-2017
+redis_ref_hosts=127.0.0.1:6379:Iwb-2017
 #redis.host=127.0.0.1
 #redis.port=6379
 #redis.expire=1800

+ 10 - 10
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/test/db.properties

@@ -1,25 +1,25 @@
 #sysbase database mysql config
-sysbase.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+sysbase.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+sysbase.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_sysbase?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 sysbase.mysql.jdbc.username=root
 sysbase.mysql.jdbc.password=123456
 #powergov database mysql config
-gov.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-gov.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+gov.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+gov.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_powergov?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 gov.mysql.jdbc.username=root
 gov.mysql.jdbc.password=123456
 #curr database mysql config
-mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 mysql.jdbc.username=root
 mysql.jdbc.password=123456
 #business database config
-db2023.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2023.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2023.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2023.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2023?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2023.mysql.jdbc.username=root
 db2023.mysql.jdbc.password=123456
-db2024.mysql.jdbc.driverClassName=com.mysql.cj.jdbc.Driver
-db2024.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&useSSL=false
+db2024.mysql.jdbc.driverClassName=com.mysql.jdbc.Driver
+db2024.mysql.jdbc.url=jdbc:mysql://vbdsm-mysql:3306/vbdsm_2024?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
 db2024.mysql.jdbc.username=root
 db2024.mysql.jdbc.password=123456
 #alibaba druid config

+ 3 - 3
VB_DSM_V2.1/vbdsm-web/vbdsm-powerservice/src/main/resources/test/log4j-cfg.xml

@@ -10,7 +10,7 @@
     </appender>
 
     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/webapp.log"/>
+        <param name="file" value="/vbdsm/logs/powerservice/webapp.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -22,7 +22,7 @@
     </appender>
 
     <appender name="warn" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/warn.log"/>
+        <param name="file" value="/vbdsm/logs/powerservice/warn.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">
@@ -36,7 +36,7 @@
     </appender>
 
     <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
-        <param name="file" value="/vbdsm/logs/error.log"/>
+        <param name="file" value="/vbdsm/logs/powerservice/error.log"/>
         <param name="append" value="true"/>
         <param name="datePattern" value="'.'yyyy-MM-dd"/>
         <layout class="org.apache.log4j.PatternLayout">