From 4d2ec8c8340fcd3553d59fef1c8ed8cef672e195 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 19 Aug 2024 11:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A9=BA=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=86=99?= =?UTF-8?q?=E5=85=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/constant/BasicExportTypeEnum.java | 5 ++ .../sale/admin/thread/DlAllDataService.java | 61 ++++++++------ .../thread/didl/AsyncCompanyDlService.java | 79 ++++++++----------- 3 files changed, 77 insertions(+), 68 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/constant/BasicExportTypeEnum.java b/api-admin/src/main/java/com/glxp/sale/admin/constant/BasicExportTypeEnum.java index 3322e62..2e456b5 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/constant/BasicExportTypeEnum.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/constant/BasicExportTypeEnum.java @@ -63,6 +63,11 @@ public enum BasicExportTypeEnum { DEVICE_REPAIR_DATA("device_repair_apply", "报修管理数据"), DEVICE_UPKEEP_DATA("device__upkeep", "设备保养数据"), + /** + * 设备任务同步 + */ + DEVICE_TASK("device_task", "设备任务"), + ; private String key; diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/DlAllDataService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/DlAllDataService.java index c680535..65fff30 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/DlAllDataService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/DlAllDataService.java @@ -290,30 +290,43 @@ public class DlAllDataService { idcService.batchDownloadFile(spGetHttp.getSpmsUrl(), list.toArray(new String[list.size()])); } if (StrUtil.isNotBlank(bean.getTaskId())) { - // 将数据写入文件 -// try { - FileUtils.makeDirectory(filePath + "sync/"); - String fileName = filePath + "sync/" + exportType.getRemark() + "-" + bean.getTaskId() + ".udi"; - FileUtils.SaveFileAs(bean.getFileContent(), fileName); -// } catch (IOException e) { -// log.error("从UDI自助平台拉取基础数据 文件[{}]写入异常----{}",bean.getFilePath(), e.getMessage()); -// throw new RuntimeException(e); -// } - BasicExportStatusEntity exportStatusEntity = BasicExportStatusEntity.builder() - .id(bean.getTaskId()) - .taskId(bean.getTaskId()) - .status(BasicExportStatusEnum.WAIT_SYNC.getCode()) - .type(exportType.getRemark()) - .transportType(1) - .scheduleType(1) - .fromType(1).remark(remark) - .startTime(DateUtil.getDateTime()) - .updateTime(new Date()) - .cacheFilePath(fileName) - .build(); - basicExportService.insertExportStatus(exportStatusEntity); - //通知自助平台任务已完成 - spGetHttp.finishTask(bean.getTaskId()); + if (StrUtil.isNotBlank(bean.getFileContent()) && !bean.getFileContent().contains("系统繁忙")) { + FileUtils.makeDirectory(filePath + "sync/"); + String fileName = filePath + "sync/" + exportType.getRemark() + "-" + bean.getTaskId() + ".udi"; + FileUtils.SaveFileAs(bean.getFileContent(), fileName); + BasicExportStatusEntity exportStatusEntity = BasicExportStatusEntity.builder() + .id(bean.getTaskId()) + .taskId(bean.getTaskId()) + .status(BasicExportStatusEnum.WAIT_SYNC.getCode()) + .type(exportType.getRemark()) + .transportType(1) + .scheduleType(1) + .fromType(1).remark(remark) + .startTime(DateUtil.getDateTime()) + .updateTime(new Date()) + .cacheFilePath(fileName) + .build(); + basicExportService.insertExportStatus(exportStatusEntity); + //通知自助平台任务已完成 + spGetHttp.finishTask(bean.getTaskId()); + } else { + BasicExportStatusEntity exportStatusEntity = BasicExportStatusEntity.builder() + .id(bean.getTaskId()) + .taskId(bean.getTaskId()) + .status(BasicExportStatusEnum.WAIT_SYNC.getCode()) + .type(exportType.getRemark()) + .transportType(1) + .scheduleType(1) + .fromType(1).remark("异常数据,空数据") + .startTime(DateUtil.getDateTime()) + .updateTime(new Date()) + .cacheFilePath("") + .build(); + basicExportService.insertExportStatus(exportStatusEntity); + spGetHttp.finishTask(bean.getTaskId()); + } + + } } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/didl/AsyncCompanyDlService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/didl/AsyncCompanyDlService.java index e06c799..f30116a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/didl/AsyncCompanyDlService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/didl/AsyncCompanyDlService.java @@ -1,24 +1,15 @@ package com.glxp.sale.admin.thread.didl; -import com.alibaba.fastjson.JSON; -import com.glxp.sale.admin.constant.FileConstant; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; -import com.glxp.sale.admin.entity.sync.BasicExportStatusEntity; -import com.glxp.sale.admin.entity.sync.UdiCompanyEntity; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.sync.BasicExportService; -import com.glxp.sale.admin.util.FileUtils; import com.glxp.sale.admin.util.RedisUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; @Service public class AsyncCompanyDlService { @@ -41,41 +32,41 @@ public class AsyncCompanyDlService { @Async public void asyncDiByTime(String updateTime) { - SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("sync_upstream_enable"); - if (systemParamConfigEntity.getParamValue().equals("1")) { - List mUdiCompanyEntities = new ArrayList<>(); - int page = 1; - int limit = 300; - while (true) { - logger.info("更新时间:" + updateTime + "----" + page + "----" + limit); - List udiCompanyEntities = asyncDiDlHelper.dlCompanyByTime(page, limit, updateTime); - if (udiCompanyEntities != null && udiCompanyEntities.size() > 0) { - mUdiCompanyEntities.addAll(udiCompanyEntities); - if (udiCompanyEntities.size() < limit) { - break; - } else { - page++; - } - } else { - break; - } - } - logger.info("更新时间:" + updateTime + "----" + "下载结束"); - - SystemParamConfigEntity downstream = systemParamConfigService.selectByParamKey("sync_downstream_enable"); - String key = "UdiCompanys" + System.currentTimeMillis(); - String datas = JSON.toJSON(mUdiCompanyEntities).toString(); - if (downstream.getParamValue().equals("1")) { - redisUtil.set(key, datas); - BasicExportStatusEntity myEntity = new BasicExportStatusEntity(); - myEntity.setId(key); - basicExportService.insertExportStatus(myEntity); - } else { - String path = getPath(); - String fileName = path + FileConstant.upWaitCopy_products + "UdiCompanys_" + key + ".LowerIn"; - FileUtils.SaveFileAs(datas, fileName); - } - } +// SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("sync_upstream_enable"); +// if (systemParamConfigEntity.getParamValue().equals("1")) { +// List mUdiCompanyEntities = new ArrayList<>(); +// int page = 1; +// int limit = 300; +// while (true) { +// logger.info("更新时间:" + updateTime + "----" + page + "----" + limit); +// List udiCompanyEntities = asyncDiDlHelper.dlCompanyByTime(page, limit, updateTime); +// if (udiCompanyEntities != null && udiCompanyEntities.size() > 0) { +// mUdiCompanyEntities.addAll(udiCompanyEntities); +// if (udiCompanyEntities.size() < limit) { +// break; +// } else { +// page++; +// } +// } else { +// break; +// } +// } +// logger.info("更新时间:" + updateTime + "----" + "下载结束"); +// +// SystemParamConfigEntity downstream = systemParamConfigService.selectByParamKey("sync_downstream_enable"); +// String key = "UdiCompanys" + System.currentTimeMillis(); +// String datas = JSON.toJSON(mUdiCompanyEntities).toString(); +// if (downstream.getParamValue().equals("1")) { +// redisUtil.set(key, datas); +// BasicExportStatusEntity myEntity = new BasicExportStatusEntity(); +// myEntity.setId(key); +// basicExportService.insertExportStatus(myEntity); +// } else { +// String path = getPath(); +// String fileName = path + FileConstant.upWaitCopy_products + "UdiCompanys_" + key + ".LowerIn"; +// FileUtils.SaveFileAs(datas, fileName); +// } +// } }