From 9c5853f93a72be040c56ae921cdcb7e93adf3bfe Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 31 Mar 2022 20:59:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9redis=E5=9C=B0=E5=9D=80=E4=B8=BA?= =?UTF-8?q?=E8=87=AA=E5=BB=BAredis=20192.168.10.150?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-admin/epmet-admin-server/pom.xml | 2 +- epmet-auth/pom.xml | 2 +- epmet-gateway/pom.xml | 2 +- epmet-module/data-aggregator/data-aggregator-server/pom.xml | 2 +- epmet-module/data-report/data-report-server/pom.xml | 2 +- epmet-module/data-statistical/data-statistical-server/pom.xml | 2 +- epmet-module/epmet-activiti/epmet-activiti-server/pom.xml | 2 +- epmet-module/epmet-common-service/common-service-server/pom.xml | 2 +- epmet-module/epmet-demo/epmet-demo-server/pom.xml | 2 +- epmet-module/epmet-ext/epmet-ext-server/pom.xml | 2 +- epmet-module/epmet-heart/epmet-heart-server/pom.xml | 2 +- epmet-module/epmet-job/epmet-job-server/pom.xml | 2 +- epmet-module/epmet-message/epmet-message-server/pom.xml | 2 +- epmet-module/epmet-oss/epmet-oss-server/pom.xml | 2 +- epmet-module/epmet-point/epmet-point-server/pom.xml | 2 +- epmet-module/epmet-third/epmet-third-server/pom.xml | 2 +- epmet-module/gov-access/gov-access-server/pom.xml | 2 +- epmet-module/gov-grid/gov-grid-server/pom.xml | 2 +- epmet-module/gov-issue/gov-issue-server/pom.xml | 2 +- epmet-module/gov-mine/gov-mine-server/pom.xml | 2 +- epmet-module/gov-org/gov-org-server/pom.xml | 2 +- epmet-module/gov-project/gov-project-server/pom.xml | 2 +- epmet-module/gov-voice/gov-voice-server/pom.xml | 2 +- epmet-module/open-data-worker/open-data-worker-server/pom.xml | 2 +- epmet-module/oper-access/oper-access-server/pom.xml | 2 +- epmet-module/oper-crm/oper-crm-server/pom.xml | 2 +- epmet-module/oper-customize/oper-customize-server/pom.xml | 2 +- epmet-module/resi-group/resi-group-server/pom.xml | 2 +- epmet-module/resi-guide/resi-guide-server/pom.xml | 2 +- epmet-module/resi-hall/resi-hall-server/pom.xml | 2 +- epmet-module/resi-home/resi-home-server/pom.xml | 2 +- epmet-module/resi-mine/resi-mine-server/pom.xml | 2 +- epmet-module/resi-partymember/resi-partymember-server/pom.xml | 2 +- epmet-module/resi-voice/resi-voice-server/pom.xml | 2 +- epmet-openapi/epmet-openapi-scan/pom.xml | 2 +- epmet-user/epmet-user-server/pom.xml | 2 +- 36 files changed, 36 insertions(+), 36 deletions(-) diff --git a/epmet-admin/epmet-admin-server/pom.xml b/epmet-admin/epmet-admin-server/pom.xml index 0b37977879..e73766c59b 100644 --- a/epmet-admin/epmet-admin-server/pom.xml +++ b/epmet-admin/epmet-admin-server/pom.xml @@ -215,7 +215,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-auth/pom.xml b/epmet-auth/pom.xml index b4c31f05cc..e6c3b6823a 100644 --- a/epmet-auth/pom.xml +++ b/epmet-auth/pom.xml @@ -301,7 +301,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-gateway/pom.xml b/epmet-gateway/pom.xml index abf223c749..1283594191 100644 --- a/epmet-gateway/pom.xml +++ b/epmet-gateway/pom.xml @@ -391,7 +391,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index 51d95b3aa9..188c3041b2 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -494,7 +494,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/data-report/data-report-server/pom.xml b/epmet-module/data-report/data-report-server/pom.xml index 472525e5e7..55bdbb8843 100644 --- a/epmet-module/data-report/data-report-server/pom.xml +++ b/epmet-module/data-report/data-report-server/pom.xml @@ -297,7 +297,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index de703b486f..8fc21d0333 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -550,7 +550,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml index 3788524034..e83d67b9d0 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/pom.xml @@ -253,7 +253,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-common-service/common-service-server/pom.xml b/epmet-module/epmet-common-service/common-service-server/pom.xml index 036a6c13bc..094f37f75f 100644 --- a/epmet-module/epmet-common-service/common-service-server/pom.xml +++ b/epmet-module/epmet-common-service/common-service-server/pom.xml @@ -224,7 +224,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-demo/epmet-demo-server/pom.xml b/epmet-module/epmet-demo/epmet-demo-server/pom.xml index 03635124a5..8a38624e35 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/pom.xml +++ b/epmet-module/epmet-demo/epmet-demo-server/pom.xml @@ -172,7 +172,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-ext/epmet-ext-server/pom.xml b/epmet-module/epmet-ext/epmet-ext-server/pom.xml index c7c3165af0..5ec9f40759 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/pom.xml +++ b/epmet-module/epmet-ext/epmet-ext-server/pom.xml @@ -304,7 +304,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-heart/epmet-heart-server/pom.xml b/epmet-module/epmet-heart/epmet-heart-server/pom.xml index 7496a794ee..df0ffeccc2 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/pom.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/pom.xml @@ -268,7 +268,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-job/epmet-job-server/pom.xml b/epmet-module/epmet-job/epmet-job-server/pom.xml index 80377c1fba..b0d9fe2d24 100644 --- a/epmet-module/epmet-job/epmet-job-server/pom.xml +++ b/epmet-module/epmet-job/epmet-job-server/pom.xml @@ -222,7 +222,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-message/epmet-message-server/pom.xml b/epmet-module/epmet-message/epmet-message-server/pom.xml index 2bef421caa..5d2c5e7c91 100644 --- a/epmet-module/epmet-message/epmet-message-server/pom.xml +++ b/epmet-module/epmet-message/epmet-message-server/pom.xml @@ -279,7 +279,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-oss/epmet-oss-server/pom.xml b/epmet-module/epmet-oss/epmet-oss-server/pom.xml index e1aa4893b4..8c870a56ad 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/pom.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/pom.xml @@ -229,7 +229,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-point/epmet-point-server/pom.xml b/epmet-module/epmet-point/epmet-point-server/pom.xml index 2dcda97101..8ab4d1e406 100644 --- a/epmet-module/epmet-point/epmet-point-server/pom.xml +++ b/epmet-module/epmet-point/epmet-point-server/pom.xml @@ -245,7 +245,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/epmet-third/epmet-third-server/pom.xml b/epmet-module/epmet-third/epmet-third-server/pom.xml index a319b011d2..28d6945bca 100644 --- a/epmet-module/epmet-third/epmet-third-server/pom.xml +++ b/epmet-module/epmet-third/epmet-third-server/pom.xml @@ -317,7 +317,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-access/gov-access-server/pom.xml b/epmet-module/gov-access/gov-access-server/pom.xml index b99aea3799..44da511bc2 100644 --- a/epmet-module/gov-access/gov-access-server/pom.xml +++ b/epmet-module/gov-access/gov-access-server/pom.xml @@ -209,7 +209,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-grid/gov-grid-server/pom.xml b/epmet-module/gov-grid/gov-grid-server/pom.xml index 5a7686b00c..807fe76f1e 100644 --- a/epmet-module/gov-grid/gov-grid-server/pom.xml +++ b/epmet-module/gov-grid/gov-grid-server/pom.xml @@ -191,7 +191,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-issue/gov-issue-server/pom.xml b/epmet-module/gov-issue/gov-issue-server/pom.xml index 0132b21cca..400e0f087b 100644 --- a/epmet-module/gov-issue/gov-issue-server/pom.xml +++ b/epmet-module/gov-issue/gov-issue-server/pom.xml @@ -259,7 +259,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index 22c67633ee..4334370537 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -209,7 +209,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 0331f95ce7..1da1672170 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -303,7 +303,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-project/gov-project-server/pom.xml b/epmet-module/gov-project/gov-project-server/pom.xml index 8604647c05..2d2d1421a8 100644 --- a/epmet-module/gov-project/gov-project-server/pom.xml +++ b/epmet-module/gov-project/gov-project-server/pom.xml @@ -286,7 +286,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/gov-voice/gov-voice-server/pom.xml b/epmet-module/gov-voice/gov-voice-server/pom.xml index acee6a8306..318b871d46 100644 --- a/epmet-module/gov-voice/gov-voice-server/pom.xml +++ b/epmet-module/gov-voice/gov-voice-server/pom.xml @@ -218,7 +218,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/open-data-worker/open-data-worker-server/pom.xml b/epmet-module/open-data-worker/open-data-worker-server/pom.xml index f5e8264f49..8bf8638612 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/pom.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/pom.xml @@ -230,7 +230,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/oper-access/oper-access-server/pom.xml b/epmet-module/oper-access/oper-access-server/pom.xml index 0089943bf7..10fdb24f44 100644 --- a/epmet-module/oper-access/oper-access-server/pom.xml +++ b/epmet-module/oper-access/oper-access-server/pom.xml @@ -204,7 +204,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index f91fbdafc0..71708770c8 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -249,7 +249,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/oper-customize/oper-customize-server/pom.xml b/epmet-module/oper-customize/oper-customize-server/pom.xml index 8ab9300ff5..baa7055c83 100644 --- a/epmet-module/oper-customize/oper-customize-server/pom.xml +++ b/epmet-module/oper-customize/oper-customize-server/pom.xml @@ -231,7 +231,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml index bd232b3aac..6e8cf77670 100644 --- a/epmet-module/resi-group/resi-group-server/pom.xml +++ b/epmet-module/resi-group/resi-group-server/pom.xml @@ -292,7 +292,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-guide/resi-guide-server/pom.xml b/epmet-module/resi-guide/resi-guide-server/pom.xml index f1ca66e4fe..ac06b9b79e 100644 --- a/epmet-module/resi-guide/resi-guide-server/pom.xml +++ b/epmet-module/resi-guide/resi-guide-server/pom.xml @@ -225,7 +225,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-hall/resi-hall-server/pom.xml b/epmet-module/resi-hall/resi-hall-server/pom.xml index bffb6788ab..e623bac09a 100644 --- a/epmet-module/resi-hall/resi-hall-server/pom.xml +++ b/epmet-module/resi-hall/resi-hall-server/pom.xml @@ -177,7 +177,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-home/resi-home-server/pom.xml b/epmet-module/resi-home/resi-home-server/pom.xml index 08c3603b30..00c3df0cb8 100644 --- a/epmet-module/resi-home/resi-home-server/pom.xml +++ b/epmet-module/resi-home/resi-home-server/pom.xml @@ -199,7 +199,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-mine/resi-mine-server/pom.xml b/epmet-module/resi-mine/resi-mine-server/pom.xml index b2ebcfe1b7..7d10c7432c 100644 --- a/epmet-module/resi-mine/resi-mine-server/pom.xml +++ b/epmet-module/resi-mine/resi-mine-server/pom.xml @@ -216,7 +216,7 @@ test 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-partymember/resi-partymember-server/pom.xml b/epmet-module/resi-partymember/resi-partymember-server/pom.xml index a15e120b72..f06ec8541e 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/pom.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/pom.xml @@ -254,7 +254,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-module/resi-voice/resi-voice-server/pom.xml b/epmet-module/resi-voice/resi-voice-server/pom.xml index ae4858bceb..a368f57d83 100644 --- a/epmet-module/resi-voice/resi-voice-server/pom.xml +++ b/epmet-module/resi-voice/resi-voice-server/pom.xml @@ -175,7 +175,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-openapi/epmet-openapi-scan/pom.xml b/epmet-openapi/epmet-openapi-scan/pom.xml index df86510504..a4db888ed9 100644 --- a/epmet-openapi/epmet-openapi-scan/pom.xml +++ b/epmet-openapi/epmet-openapi-scan/pom.xml @@ -176,7 +176,7 @@ 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w diff --git a/epmet-user/epmet-user-server/pom.xml b/epmet-user/epmet-user-server/pom.xml index 0189ee8ce0..a4b0672a7d 100644 --- a/epmet-user/epmet-user-server/pom.xml +++ b/epmet-user/epmet-user-server/pom.xml @@ -318,7 +318,7 @@ elink@833066 0 - r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com + 192.168.10.150 6379 EpmEtrEdIs!q@w From a13573d76b0ccce13b94c729dda31cccc0bd281b Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 1 Apr 2022 10:31:02 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E8=80=97=E6=97=B6log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/DataReportingServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java index 3bc6b5969d..8b33031420 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/DataReportingServiceImpl.java @@ -139,7 +139,7 @@ public class DataReportingServiceImpl implements DataReportingService { //根据入参,获取项目 long start = System.currentTimeMillis(); List projectList = screenProjectDataService.getProjectList(formDTO.getCustomerId(), formDTO.getProjectId(), formDTO.getPageNo(), formDTO.getPageSize()); - log.error("事件上报-查询项目列表耗时:{}ms",System.currentTimeMillis()-start); + log.info("事件上报-查询项目列表耗时:{}ms",System.currentTimeMillis()-start); //项目列表为空,返回空数组 if(CollectionUtils.isEmpty(projectList)) { return Collections.emptyList(); @@ -197,7 +197,7 @@ public class DataReportingServiceImpl implements DataReportingService { return dto; }).collect(Collectors.toList()); } - log.error("事件上报-组装数据耗时:{}ms",System.currentTimeMillis()-start); + log.info("事件上报-组装数据耗时:{}ms",System.currentTimeMillis()-start); return list.stream().collect(collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(EventInfoResultDTO::getId))), ArrayList::new)); } From 6cbd70cc26b303865529149fd98b98e7eee995cb Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 1 Apr 2022 15:49:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=A0=B8=E9=85=B8?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=EF=BC=9A=E9=92=88=E5=AF=B9=E6=96=B0=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/entity/IcNatRelationEntity.java | 3 + .../handler/IcNatExcelImportListener.java | 4 +- .../epmet/service/impl/IcNatServiceImpl.java | 182 ++++++++++++++++-- .../src/main/resources/excel/ic_nat.xlsx | Bin 9157 -> 9220 bytes 4 files changed, 177 insertions(+), 12 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java index 7da911ee59..ce74babe94 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatRelationEntity.java @@ -1,5 +1,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; @@ -24,6 +26,7 @@ public class IcNatRelationEntity extends BaseEpmetEntity { /** * 客户Id */ + @TableField(fill = FieldFill.INSERT) private String customerId; /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index dccc8d106a..32bb100b3b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -9,6 +9,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.entity.IcNatEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.service.impl.IcNatServiceImpl; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -18,6 +19,7 @@ import java.util.List; /** * 核酸检测excel导入监听器 */ +@Data @Slf4j public class IcNatExcelImportListener implements ReadListener { @@ -110,7 +112,7 @@ public class IcNatExcelImportListener implements ReadListener 0) { - icNatService.batchPersist(datas); + icNatService.batchPersist(datas, this); } } finally { datas.clear(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index a71f480f26..51e22193de 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.utils.*; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcNatDao; import com.epmet.dao.IcNatRelationDao; +import com.epmet.dao.IcResiUserDao; import com.epmet.dao.UserBaseInfoDao; import com.epmet.dto.IcNatDTO; import com.epmet.dto.IcNoticeDTO; @@ -29,6 +30,7 @@ import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IcNatEntity; import com.epmet.entity.IcNatRelationEntity; +import com.epmet.entity.IcResiUserEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.excel.handler.IcNatExcelImportListener; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -54,10 +56,7 @@ import java.io.IOException; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; /** @@ -82,6 +81,8 @@ public class IcNatServiceImpl extends BaseServiceImpl imp private UserBaseInfoDao userBaseInfoDao; @Autowired private IcNatRelationDao icNatRelationDao; + @Autowired + private IcResiUserDao icResiUserDao; /** * @Author sun @@ -313,7 +314,9 @@ public class IcNatServiceImpl extends BaseServiceImpl imp LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(ludf), ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "调用user出错", ""); - IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, loginUserDetails.getAgencyId(), loginUserDetails.getOrgIdPath(), this); + String agencyId = loginUserDetails.getAgencyId(); + + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this); EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); @@ -425,14 +428,171 @@ public class IcNatServiceImpl extends BaseServiceImpl imp * 批量持久化 * @param entities */ - public void batchPersist(List entities) { - //insertBatch(entities); + public void batchPersist(List entities, IcNatExcelImportListener listener) { + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID); String currentUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID); + entities.forEach(e -> { - String id = IdWorker.getIdStr(e); - e.setId(id); - e.setUpdatedBy(currentUserId); - baseDao.insertOrUpdate(e); + try { + persisNat(e, customerId, currentUserId, listener); + } catch (Exception exception) { + String errorMsg = ExceptionUtils.getErrorStackTrace(exception); + log.error(errorMsg); + + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(e.getName()); + errorRow.setMobile(e.getMobile()); + errorRow.setIdCard(e.getIdCard()); + errorRow.setErrorInfo("未知系统错误c "); + listener.getErrorRows().add(errorRow); + } }); } + + /** + * 单条持久化 + * @param e + * @param customerId + * @param currentUserId + * @param listener + */ + @Transactional(rollbackFor = Exception.class) + public void persisNat(IcNatEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) { + List errorRows = listener.getErrorRows(); + + Date natTime = e.getNatTime(); + String idCard = e.getIdCard(); + String name = e.getName(); + String mobile = e.getMobile(); + String natResult = e.getNatResult(); + String natAddress = e.getNatAddress(); + + //1.先看客户下有没有这个人 + IcNatEntity resiNat = getResiNat(customerId, idCard, natTime); + if (resiNat != null && !"import".equals(resiNat.getUserType())) { + // 有这个人,并且不是导入的 + String message = "已存在该次核酸检测录入记录,请到系统中修改"; + + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + errorRows.add(errorRow); + return; + } + + if (resiNat != null) { + boolean needUpdate = false; + // 有这个人,也是导入的,那就要更新le + ArrayList changedFieldNames = new ArrayList<>(); + if (!name.equals(resiNat.getName())) { + changedFieldNames.add("姓名"); + resiNat.setName(name); + needUpdate = true; + } + + if (!natResult.equals(resiNat.getNatResult())) { + changedFieldNames.add("检测结果"); + resiNat.setNatResult(natResult); + needUpdate = true; + } + + // 检测地点和手机号先不提示,说需要提示再提示 + if (!natAddress.equals(resiNat.getNatAddress())) { + changedFieldNames.add("检测地点"); + resiNat.setNatResult(natAddress); + needUpdate = true; + } + + if (!mobile.equals(resiNat.getMobile())) { + changedFieldNames.add("手机号"); + resiNat.setMobile(mobile); + needUpdate = true; + } + + if (changedFieldNames.size() > 0) { + String fieldsStr = String.join(",", changedFieldNames); + String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; + IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + errorRow.setName(name); + errorRow.setMobile(mobile); + errorRow.setIdCard(idCard); + errorRow.setErrorInfo(message); + errorRows.add(errorRow); + } + + if (needUpdate) { + resiNat.setUpdatedBy(currentUserId); + resiNat.setUpdatedTime(new Date()); + baseDao.updateById(resiNat); + } + + // 还要创建关系 + createNatRelation(resiNat.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + + return; + } + + // 执行新增操作 + e.setIsResiUser(isResi(customerId, idCard)); + e.setUserType("import"); + + baseDao.insert(e); + + // 还要创建关系 + createNatRelation(e.getId(), listener.getCurrentAgencyId(), listener.getCurrentAgencyPids()); + } + + /** + * 是否是客户下的居民; + * 0:否 + * 1:是 + * @param customerId + * @param idCard + * @return + */ + public String isResi(String customerId, String idCard) { + LambdaQueryWrapper query = new LambdaQueryWrapper(); + query.eq(IcResiUserEntity::getCustomerId, customerId); + query.eq(IcResiUserEntity::getIdCard, idCard); + return icResiUserDao.selectCount(query) > 0 ? "1" : "0"; + } + + /** + * + * @param customerId + * @param idCard + * @return + */ + public IcNatEntity getResiNat(String customerId, String idCard, Date natTime) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcNatEntity::getCustomerId, customerId); + query.eq(IcNatEntity::getIdCard, idCard); + query.eq(IcNatEntity::getNatTime, natTime); + return baseDao.selectOne(query); + } + + /** + * 创建nat关系 + * @param natId + * @param currentUserAgencyId + */ + private void createNatRelation(String natId, String currentUserAgencyId, String agencyPids) { + + // 没有关系创建关系,有关系就跳过 + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcNatRelationEntity::getIcNatId, natId); + query.eq(IcNatRelationEntity::getAgencyId, currentUserAgencyId); + if (icNatRelationDao.selectCount(query) > 0) { + return; + } + + IcNatRelationEntity relation = new IcNatRelationEntity(); + relation.setAgencyId(currentUserAgencyId); + relation.setPids(String.join(":", Arrays.asList(agencyPids, currentUserAgencyId))); + relation.setIcNatId(natId); + relation.setUserType("import"); + icNatRelationDao.insert(relation); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_nat.xlsx index d74d726f950651308593eff7a73765535b44aff8..d9038bfdc4faa94007e45287efb4b4b9e34a099b 100644 GIT binary patch delta 4517 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 DE51rN delta 4469 zcmZ8lWmMGdw`GQumhPIN8M+&WlpMNKN1B3B=GZK`cOzK_45{-~rbkGLj3L z1^xQ8MmhJuss4Tjloa?ebDbgBUFt5>qwN!eLNIpc!R^XL@IYwo!VY#7I$scxOHLL2 zJwLUTcha~cA)Cjqz@ukDAD%$EHqqMJ&eL4nUVrEyhdry~i(vE6Y~h_84}*&YhT|u; zK&Ac3oAOP^;($tTjN=VTB1%lPrVjiW=Y*K7doC|wC!XpiN&KLZ8T8EAT_yUQ^o@36 zR|iX#A3&2dI`+0y>80?r$bKH|5?Zhv#{GG)^8l^L>WsYMjcn-(W70&GvHVHIen;5D z+teNIR$1`FRVe4rQY<{$?SU_=#)M*|6bo*+}2Rl z4u3Y~ck$k7Q7>WBv3bgEnAisK>+h1l@CI`@|QD zjfJ&|4#g1!I44=Jj6bS44Y@~^6XZ(Ticxq|7OTaU{%Wpdfk^Fu7R0EBVX~!)byW=* z+H&#mlgsaYb==%!_ktu%__(IX9lvUl>Ot<;`%{#u`eKE^~-DR z^%_-I-b$1$fS#Mgx>pBCp375Ld#Gmci{|!@8x11?_ux!^1DEvlIa$u7-OI=|PGnhy z1Kmew>3+Wv4p~}6!GsAdG~KU6rOT>b*VK#b2oYWfwT}NVRnPsz?$?*_=C4!P7%f81 ztObzJR6rm3HuuA|@2SjDtPGqP!J<<@dNzj8Kb7Cjju5 z*Poi~DOQZ=22pc

|%#)#WzwVs5@Pw9dRQmUSo{6^TkZ`eNY?D4+0Pe9HgyFVf{w zJTYU}ZKBJbFLsP{msS!NI45Qqek-BU)?PGX0mr#D^z6mYU5MAG6!C<#>h-syb|mg^ zd#iONSTx*MLAm1)_Oz2%)GhRWi3Ug?1-;s>Cv+r?i936fkZW48jU;&$AHpc|h+}+_ zAbjGUum;(;jqP5lb(;F>oi^lXX8yC$1hs7JQ`m%d@V7?58fiVUc6HuSS>_~=f})OW9K~qdiV!@#elxTRMBap7pI#DW^@<-o8teD``Hbj`xUwO=do$E;fQ?N* zJC$sexf_!8u6y}f2^ zmLD(9QUk1*yJ!cD0#3cU(HDHm z8aST_-n9yz@7wTR#^Bka|A?h=D4p5wv|OZTUl?U`}h)NUNy zyww>WGISyPzO`mJeedk1b8|0Xi*;4>>%x0+LRjtNmQJ^zEl3#De)ZkaOt{+59ddw^w@d(lh2s}$oS_zdd3;9-tIC5 z?Jeu5xbMPD+6ut0SZ2WTO*ZuS6WMQHL^fw{_3njA=HgTkpm^T*we$Bevb}}R_G%@Q zf3&q^Da(#B{CfJsz$&Gn=ho`k?#q#j$2xwn*%Z_A0y8eo+jkihK@vtyY=A_J(rlt= zisF-8p;>F46V3(?ZYQp%_Uc>-U1KICH0nW5o!7#&QzdXql4<}ipQM%aeG9=g1Niv< zRSl~adpAKzmD7ba{MC|(%HXf;OrK;pUEZ$7}ChHUC)`Z!?ccYde(zA@GE!22lnp7C9-$0gSD&}E;j-omg~7r}`a^OOI>~cBX?S>G z$rNRA5mVRB;(lZDq1Bkkk*?8UG@^?c$^3-E<|p3k7F!2Ac|(ES9V}UDGKPm#%M2xB z9brP4WD}CUV!EE;pnSzCr`nI_niEuUq(5^q1D3#h8uoH_tBMW9-aZ>2B{cR*_*}Kb zDH33P!V8b;mwgyRZDD$f(jix_l9Xb*4z87x?ouZ3X;W<6kgH?sgqzIfoU~P}YgFi> z`y+C1TxTFK;am)^*JPbsORtsf=_!sBv*4GSt*e!wwEK41TE}NI)R?<$7W9V6I%mVi z#|B~pYva%q?3h%p^|P@`r?WUujGM_c0l0L`U;rm|8hwPBlM=dxzpk)nHE}C@YD*Y< z^}*Ofyg!-U#Gfs*=5*9Iv0}=pQE>iu<^E%<^MGj9vW~|4)=$h&f864Js9cnI@G2#* zo@31erdt|xTSUgFYt+#6y2J(W^M2a*0iPX1lGhP&s&q=0O0GnF%ijJ&ZnogSQn0;x zfa(ZPyC-Lixi^#67tx-emStM?WJhxmPr~20U*W>83fqkR!pu-?R`kNoNw*W`@Oqd? z)4jc zVrc`}>B_K9h%&6`@ru2x($lwujqEbn3dD7dYNS^_h&!HDw2%7NR2rB7)=J?9tC8HiKqwHy)GDb-g z_)0aGvS%tKxJ2Lf_M2CFO{#oLZB2)>TNsV75G+|uA~l8*)x|iKcfkh79TR?xb|!94 z)H6TzX(n2Zhtv3^4!{_}!!5svAt<4JO|fo`F7H;soT&{vQoypvZuw(tn5^r;O zw5Ch=_F9Gy@q@WA*%h7*)JQnaDoSsIg=xOYHf`8h)p%y=omZXHWaXRswnxCY_LKZM2YL;qC6qY040qJ7rw)kMH@S0cS-j zRD8|#xi&Vd&x5Cv@0*piAvT6{l%@_X%0(}fi5{eA&^<4ZXJlgaOGqkI0Hj+03LUi> z@#3hFbmfwQGO2g~68d^XxwkCYpopfizz^j1-e#Ec!ej65I{5fByUwP8C2e@Xps93# za7i7vpKh46={8~VdGJc27N`jvWt_7XRkTIdT$Ds^8b8$c)WHy zavL_C(pl61$Y&IJ&`gvt1m4JSt~+8c5NegPG8abNaPvOFCS#hDCnx{J0{8{q?4RyC z^ZcGByHmkEe(6CFFouJrrx?D)^@RV*HoL(Z(&3T3wl|H8mygKf%3bHXqWtD&;>;q~ z8}%?Ngpct+i2J?ct?63*NKBYefkISn$azm#-KA_Zkgx3}vg}qkuHPje=KuRRCdl=! z4LCo%I=$e|0HyFarc)Ro2w61WVGP}Jb)9ik*2QVx=O|n)Zjl`v)4hFj$cf|P>QV-$ zN+PZbx6P}*yOQh9uo}iD*0^m!7gJ1DDS80R~L<_pCGP! zF9uajU>t;3?Is*gndMINR=1|emf^XH1zky1sj!OmePR-(QSwXqX|tcA{)wrMuZiZ> z-t(%RQcd+Y3hvlCZmpLR*7F;OSRqubvq-kuyYZpb+wTwIaX4q0%p)B_(kM=8u~)1|8szHQc2qi;Jbgx?mGFGs(tN-(z-(yC7)5@Q zJs3Tmwz@L^h<;J7ym8j7altcm*{6ygRlWD&`O5ObiX@4;acfspl1f)_(4OJUcI27Q z&M6q!BI`Y4k?-9i!_)sXtD45Y0f(SN~) zszB`s9eYQT{9_iW{t8fnfAwkGp_(lp2n%ZiO-IiMKzmppr0<7=BcdjfyxDS)V?3>% zv4YS`Z0dJ(YClSdXaf)*^mrn2#!5qoAhz-FgZ+X7rtw(MMnSN>%#g^LsuQR>I_jCW zoWH_UUH8aQS||b4DAR^)q!tEOPy`ni7Bp0v!5ffeNaRodBA0wBkQSfR8+o5gLWX3s z+wlxw2x3Dy{c3J_Awm>h0cjw^9)c))#JM47I%F|=Kj*pX2X@;T#s-?X712&-T)&Me zMHi7>{+nxP_O7lp(YX+Q*Vc388cCh+CUwWX=?s)cD+dD2zQd2w zN2}WP5`U?fp|DQ@@%ds1^V?xV61~Z!@YqZ3U4BNuskM>`ec){RCK8bpJg1i~sr92?q_}FrfD#