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); } }