From 8e5f7a751dfdffd718e1cf2c6758e2e39963c7a0 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 17 Jun 2024 13:16:02 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=92=8C=E5=AF=BC=E5=87=BA=E5=88=B0adapter?= =?UTF-8?q?=E6=9E=B6=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xydl/cac/adapter/BusiAdapter.java | 32 +++++++++++++++++++ .../java/com/xydl/cac/task/I2syncTask.java | 17 +++------- 2 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/xydl/cac/adapter/BusiAdapter.java diff --git a/src/main/java/com/xydl/cac/adapter/BusiAdapter.java b/src/main/java/com/xydl/cac/adapter/BusiAdapter.java new file mode 100644 index 0000000..af4a273 --- /dev/null +++ b/src/main/java/com/xydl/cac/adapter/BusiAdapter.java @@ -0,0 +1,32 @@ +package com.xydl.cac.adapter; + +import com.xydl.cac.entity.I2syncField; +import com.xydl.cac.entity.I2syncRecord; +import com.xydl.cac.entity.NSensor; +import com.xydl.cac.model.i2sync.Request; +import com.xydl.cac.transform.I2DataTransformer; +import com.xydl.cac.util.JSONUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Map; + +@Component +@Slf4j +public class BusiAdapter { + + @Resource + I2DataTransformer dataTransformer; + + public void uploadData(NSensor sensor, I2syncRecord record, + List fieldList, List> dataList) throws Exception { + // 格式转换 + Request request = dataTransformer.transform(sensor, record, fieldList, dataList); + + // 同步和导出 + String xml = JSONUtil.object2Xml(request); + + } +} diff --git a/src/main/java/com/xydl/cac/task/I2syncTask.java b/src/main/java/com/xydl/cac/task/I2syncTask.java index a419766..08d559e 100644 --- a/src/main/java/com/xydl/cac/task/I2syncTask.java +++ b/src/main/java/com/xydl/cac/task/I2syncTask.java @@ -1,15 +1,13 @@ package com.xydl.cac.task; +import com.xydl.cac.adapter.BusiAdapter; import com.xydl.cac.entity.*; -import com.xydl.cac.model.i2sync.*; import com.xydl.cac.repository.I2syncRecordRepository; import com.xydl.cac.repository.NSensorRepository; import com.xydl.cac.service.DataService; import com.xydl.cac.service.I2syncService; -import com.xydl.cac.transform.I2DataTransformer; import com.xydl.cac.util.DateUtil; import com.xydl.cac.util.DingTalkPushUtil; -import com.xydl.cac.util.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -32,7 +30,7 @@ public class I2syncTask { @Resource DataService dataService; @Resource - I2DataTransformer dataTransformer; + BusiAdapter busiAdapter; @Resource DingTalkPushUtil dingTalkPushUtil; @@ -90,21 +88,16 @@ public class I2syncTask { return; } - int count = dataList.size(); - // 格式转换 - Request request = dataTransformer.transform(sensor, record, fieldList, dataList); - - // 同步导出 - String xml = JSONUtil.object2Xml(request); + // 同步和导出 + busiAdapter.uploadData(sensor, record, fieldList, dataList); recordRepository.save(record); + int count = dataList.size(); log.info("I2syncTask.syncOneSensor 同步导出" + sensor.getEquipmentId() + count + "条数据,最后数据时间" + DateUtil.format(record.getLastDTime())); if (count >= 1000) { dataList.clear(); - request = null; - xml = null; this.syncOneSensor(sensor, fieldList, points); } }