商品同步上传cos和刷新时间改为服务器刷新

This commit is contained in:
liyj 2025-06-12 11:07:58 +08:00
parent 9ca7555ad3
commit 24ba57be22
6 changed files with 47 additions and 9 deletions

View File

@ -1,5 +1,7 @@
package com.small.client.Schedule; 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.CommentModel;
import com.small.client.dto.DataBaseInfo; import com.small.client.dto.DataBaseInfo;
import com.small.client.service.SxDataService; import com.small.client.service.SxDataService;
@ -44,7 +46,12 @@ public class DynamicTaskScheduler {
} }
CommentModel commentModel =sxDataService.getCommentModel(); CommentModel commentModel =sxDataService.getCommentModel();
DataBaseInfo enabledTask = sxDataService.getDataBaseInfo(commentModel); DataBaseInfo enabledTask = sxDataService.getDataBaseInfo(commentModel);
if(enabledTask == null){
return;
}
if(ObjectUtil.isNotEmpty(enabledTask.getRefreshTime())){
commentModel.setSyncTime(DateUtil.formatDateTime(enabledTask.getRefreshTime()));
}
List<DataBaseInfo> enabledTasks=new ArrayList<>(); List<DataBaseInfo> enabledTasks=new ArrayList<>();
enabledTasks.add(enabledTask); enabledTasks.add(enabledTask);
// 移除已禁用或删除的任务 // 移除已禁用或删除的任务

View File

@ -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_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){ public static String postData(RestTemplate restTemplate, String url,Object modelObject){
// 创建表单参数 // 创建表单参数
// MultiValueMap<String, String> map = new LinkedMultiValueMap<>(); // MultiValueMap<String, String> map = new LinkedMultiValueMap<>();

View File

@ -1,8 +1,9 @@
package com.small.client.controller; 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.DataBaseInfo;
import com.small.client.dto.SyncGoodsSearchModel;
import com.small.client.service.SxDataService; import com.small.client.service.SxDataService;
import com.small.client.service.WebClientService; import com.small.client.service.WebClientService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -44,7 +45,16 @@ public class WebController {
public void syncGoods(){ public void syncGoods(){
log.info("syncGoods"); log.info("syncGoods");
//sxDataService.getAppSign(); //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") @RequestMapping("/synvip")

View File

@ -1,8 +1,11 @@
package com.small.client.dto; package com.small.client.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date;
@Data @Data
public class DataBaseInfo { public class DataBaseInfo {
@ApiModelProperty("数据库IP") @ApiModelProperty("数据库IP")
@ -30,4 +33,7 @@ public class DataBaseInfo {
@ApiModelProperty(value = "操作时间") @ApiModelProperty(value = "操作时间")
private String operDate; private String operDate;
@ApiModelProperty(value = "刷新时间")
private Date refreshTime;
} }

View File

@ -61,4 +61,8 @@ public class StoreDbConfig implements Serializable {
@ApiModelProperty(value = "备注信息") @ApiModelProperty(value = "备注信息")
private String remark; private String remark;
@ApiModelProperty(value = "刷新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date refreshTime;
} }

View File

@ -338,6 +338,13 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
folders.add(String.valueOf(i)); folders.add(String.valueOf(i));
syncCount+=sxSyncGoods.size(); 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(4));
//folders.add(String.valueOf(5)); //folders.add(String.valueOf(5));
log.info("商品分类总共有{}条数据,同步完成{}条",total,syncCount); log.info("商品分类总共有{}条数据,同步完成{}条",total,syncCount);
@ -474,11 +481,11 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
commentModel.setAppKey(result.get("appKey")); commentModel.setAppKey(result.get("appKey"));
commentModel.setStoreId(result.get("storeId")); commentModel.setStoreId(result.get("storeId"));
//获取上次同步的最大时间 //获取上次同步的最大时间
File[] lastDateJsonFile = folder.listFiles((dir, name) -> name.endsWith(FileUtils.REFLESHDATE)); // File[] lastDateJsonFile = folder.listFiles((dir, name) -> name.endsWith(FileUtils.REFLESHDATE));
if(lastDateJsonFile!=null&&lastDateJsonFile.length>0){ // if(lastDateJsonFile!=null&&lastDateJsonFile.length>0){
String lastDate = new String(Files.readAllBytes(lastDateJsonFile[0].toPath()), StandardCharsets.UTF_8).trim(); // String lastDate = new String(Files.readAllBytes(lastDateJsonFile[0].toPath()), StandardCharsets.UTF_8).trim();
commentModel.setSyncTime(lastDate); // commentModel.setSyncTime(lastDate);
} // }
return commentModel; return commentModel;
} catch (RuntimeException | IOException e) { } catch (RuntimeException | IOException e) {
throw new RuntimeException("密钥获取失败"); throw new RuntimeException("密钥获取失败");
@ -645,6 +652,7 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
dataBaseInfo.setSyncMode(storeDbConfig.getSyncMode()); dataBaseInfo.setSyncMode(storeDbConfig.getSyncMode());
dataBaseInfo.setCronExpression(storeDbConfig.getCronExpression()); dataBaseInfo.setCronExpression(storeDbConfig.getCronExpression());
dataBaseInfo.setCategoryName(storeDbConfig.getCategoryName()); dataBaseInfo.setCategoryName(storeDbConfig.getCategoryName());
dataBaseInfo.setRefreshTime(storeDbConfig.getRefreshTime());
return dataBaseInfo; return dataBaseInfo;
} }
return new DataBaseInfo(); return new DataBaseInfo();