From 24ba57be229977ce9e8600c563707576f1cf6ffe Mon Sep 17 00:00:00 2001 From: liyj <1617420630@qq.com> Date: Thu, 12 Jun 2025 11:07:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=90=8C=E6=AD=A5=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0cos=E5=92=8C=E5=88=B7=E6=96=B0=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/Schedule/DynamicTaskScheduler.java | 9 ++++++++- .../java/com/small/client/Utils/HttpUtils.java | 3 +++ .../small/client/controller/WebController.java | 16 +++++++++++++--- .../com/small/client/dto/DataBaseInfo.java | 6 ++++++ .../com/small/client/dto/StoreDbConfig.java | 4 ++++ .../client/service/imp/SxDataServiceImp.java | 18 +++++++++++++----- 6 files changed, 47 insertions(+), 9 deletions(-) diff --git a/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java b/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java index 85839a68..a0d65a11 100644 --- a/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java +++ b/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java @@ -1,5 +1,7 @@ package com.small.client.Schedule; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.small.client.dto.CommentModel; import com.small.client.dto.DataBaseInfo; import com.small.client.service.SxDataService; @@ -44,7 +46,12 @@ public class DynamicTaskScheduler { } CommentModel commentModel =sxDataService.getCommentModel(); DataBaseInfo enabledTask = sxDataService.getDataBaseInfo(commentModel); - + if(enabledTask == null){ + return; + } + if(ObjectUtil.isNotEmpty(enabledTask.getRefreshTime())){ + commentModel.setSyncTime(DateUtil.formatDateTime(enabledTask.getRefreshTime())); + } List enabledTasks=new ArrayList<>(); enabledTasks.add(enabledTask); // 移除已禁用或删除的任务 diff --git a/client/src/main/java/com/small/client/Utils/HttpUtils.java b/client/src/main/java/com/small/client/Utils/HttpUtils.java index 593e6be2..ef272821 100644 --- a/client/src/main/java/com/small/client/Utils/HttpUtils.java +++ b/client/src/main/java/com/small/client/Utils/HttpUtils.java @@ -40,6 +40,9 @@ public class HttpUtils { public static final String URL_SYNC_GET_STOR_DATA_RELEASE="/shop/sync/third/syncStoreDataRelease";//库存同步 + + public static final String URL_SYNC_GOODS_NOTICE_UPLOAD_TO_OSS="/shop/sync/third/uploudToCos";//通知上传文件到cos + public static String postData(RestTemplate restTemplate, String url,Object modelObject){ // 创建表单参数 // MultiValueMap map = new LinkedMultiValueMap<>(); diff --git a/client/src/main/java/com/small/client/controller/WebController.java b/client/src/main/java/com/small/client/controller/WebController.java index a4fe2395..aede90eb 100644 --- a/client/src/main/java/com/small/client/controller/WebController.java +++ b/client/src/main/java/com/small/client/controller/WebController.java @@ -1,8 +1,9 @@ package com.small.client.controller; -import com.small.client.Utils.HttpUtils; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import com.small.client.dto.CommentModel; import com.small.client.dto.DataBaseInfo; -import com.small.client.dto.SyncGoodsSearchModel; import com.small.client.service.SxDataService; import com.small.client.service.WebClientService; import lombok.extern.slf4j.Slf4j; @@ -44,7 +45,16 @@ public class WebController { public void syncGoods(){ log.info("syncGoods"); //sxDataService.getAppSign(); - sxDataService.SyncGoods(new DataBaseInfo(),sxDataService.getCommentModel()); + CommentModel commentModel= sxDataService.getCommentModel(); + DataBaseInfo dataBaseInfo=sxDataService.getDataBaseInfo(commentModel); + if(dataBaseInfo==null){ + log.error("syncGoods dataBaseInfo is null"); + return; + } + if(ObjectUtil.isNotEmpty(dataBaseInfo.getRefreshTime())){ + commentModel.setSyncTime(DateUtil.formatDateTime(dataBaseInfo.getRefreshTime())); + } + sxDataService.SyncGoods(dataBaseInfo,commentModel); } @RequestMapping("/synvip") diff --git a/client/src/main/java/com/small/client/dto/DataBaseInfo.java b/client/src/main/java/com/small/client/dto/DataBaseInfo.java index 422ff5de..9ac5ed19 100644 --- a/client/src/main/java/com/small/client/dto/DataBaseInfo.java +++ b/client/src/main/java/com/small/client/dto/DataBaseInfo.java @@ -1,8 +1,11 @@ package com.small.client.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + @Data public class DataBaseInfo { @ApiModelProperty("数据库IP") @@ -30,4 +33,7 @@ public class DataBaseInfo { @ApiModelProperty(value = "操作时间") private String operDate; + + @ApiModelProperty(value = "刷新时间") + private Date refreshTime; } diff --git a/client/src/main/java/com/small/client/dto/StoreDbConfig.java b/client/src/main/java/com/small/client/dto/StoreDbConfig.java index 1678039a..d60fa1b4 100644 --- a/client/src/main/java/com/small/client/dto/StoreDbConfig.java +++ b/client/src/main/java/com/small/client/dto/StoreDbConfig.java @@ -61,4 +61,8 @@ public class StoreDbConfig implements Serializable { @ApiModelProperty(value = "备注信息") private String remark; + + @ApiModelProperty(value = "刷新时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date refreshTime; } diff --git a/client/src/main/java/com/small/client/service/imp/SxDataServiceImp.java b/client/src/main/java/com/small/client/service/imp/SxDataServiceImp.java index 5953a001..95288d93 100644 --- a/client/src/main/java/com/small/client/service/imp/SxDataServiceImp.java +++ b/client/src/main/java/com/small/client/service/imp/SxDataServiceImp.java @@ -338,6 +338,13 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService folders.add(String.valueOf(i)); syncCount+=sxSyncGoods.size(); } + //通知服务器上传cos + HttpUtils.postData(restTemplate,remoteIp+HttpUtils.URL_SYNC_GOODS_NOTICE_UPLOAD_TO_OSS + +"?appKey="+commentModel.getAppKey() + +"&sign="+commentModel.getSign() + +"&syncType="+DicEnum.MUAL_1.getCode(), + JSONUtil.parseArray(folders)); + //folders.add(String.valueOf(4)); //folders.add(String.valueOf(5)); log.info("商品分类总共有{}条数据,同步完成{}条",total,syncCount); @@ -474,11 +481,11 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService commentModel.setAppKey(result.get("appKey")); commentModel.setStoreId(result.get("storeId")); //获取上次同步的最大时间 - File[] lastDateJsonFile = folder.listFiles((dir, name) -> name.endsWith(FileUtils.REFLESHDATE)); - if(lastDateJsonFile!=null&&lastDateJsonFile.length>0){ - String lastDate = new String(Files.readAllBytes(lastDateJsonFile[0].toPath()), StandardCharsets.UTF_8).trim(); - commentModel.setSyncTime(lastDate); - } +// File[] lastDateJsonFile = folder.listFiles((dir, name) -> name.endsWith(FileUtils.REFLESHDATE)); +// if(lastDateJsonFile!=null&&lastDateJsonFile.length>0){ +// String lastDate = new String(Files.readAllBytes(lastDateJsonFile[0].toPath()), StandardCharsets.UTF_8).trim(); +// commentModel.setSyncTime(lastDate); +// } return commentModel; } catch (RuntimeException | IOException e) { throw new RuntimeException("密钥获取失败"); @@ -645,6 +652,7 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService dataBaseInfo.setSyncMode(storeDbConfig.getSyncMode()); dataBaseInfo.setCronExpression(storeDbConfig.getCronExpression()); dataBaseInfo.setCategoryName(storeDbConfig.getCategoryName()); + dataBaseInfo.setRefreshTime(storeDbConfig.getRefreshTime()); return dataBaseInfo; } return new DataBaseInfo();