思迅查询去除淘汰商品

This commit is contained in:
liyj 2025-07-18 16:15:59 +08:00
parent ce974276a8
commit 80607c8642
4 changed files with 17 additions and 46 deletions

View File

@ -2,7 +2,6 @@ package com.small.client.Schedule;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.small.client.Utils.CommonUtil;
import com.small.client.dto.CommentModel;
import com.small.client.dto.DataBaseInfo;
import com.small.client.service.SxDataService;
@ -36,11 +35,6 @@ public class DynamicTaskScheduler {
@PostConstruct
public void initTasks() {
//初始化 start
CommentModel commentModel =sxDataService.getCommentModel();
DataBaseInfo enabledTask = sxDataService.getDataBaseInfo(commentModel);
executeTask(enabledTask.getDataBaseName(),commentModel);
//初始化 end
refreshTasks();
// 每5分钟检查一次数据库更新
taskScheduler.scheduleAtFixedRate(this::refreshTasks, Duration.ofHours(1));
@ -96,48 +90,15 @@ public class DynamicTaskScheduler {
commentModel =sxDataService.getCommentModel();
}
DataBaseInfo dataBaseInfo=sxDataService.getDataBaseInfo(commentModel);
if(dataBaseInfo==null||StringUtils.isEmpty(dataBaseInfo.getUserName())){
return;
}
String refreshTime="";
if(ObjectUtil.isNotEmpty(dataBaseInfo.getRefreshTime())){
refreshTime=DateUtil.formatDateTime(dataBaseInfo.getRefreshTime());
commentModel.setSyncTime(refreshTime);
commentModel.setSyncTime(DateUtil.formatDateTime(dataBaseInfo.getRefreshTime()));
}
sxDataService.syncStoreData(dataBaseInfo,commentModel);
if(StringUtils.isNotEmpty(refreshTime)){//有刷新时间证明不是全量需要判断是否有新商品有新商品才同步品牌和分类
if(sxDataService.isNewShop(dataBaseInfo,refreshTime)){
sxDataService.SyncBranchList(dataBaseInfo,commentModel);
sxDataService.SyncCategory(dataBaseInfo,commentModel);
}
}else {
log.info("首次同步,无刷新时间");
sxDataService.SyncBranchList(dataBaseInfo,commentModel);
sxDataService.SyncCategory(dataBaseInfo,commentModel);
}
sxDataService.SyncBranchList(dataBaseInfo,commentModel);
sxDataService.SyncCategory(dataBaseInfo,commentModel);
sxDataService.SyncGoods(dataBaseInfo,commentModel);//todo 暂时同步全部的商品如果后期修改需要增加服务器的字段
try {
if(ObjectUtil.isNotEmpty(dataBaseInfo.getShopGapTime())){
long sleepTime= CommonUtil.convertExpressionToLong(dataBaseInfo.getShopGapTime());
Thread.sleep(sleepTime);//两分钟之后执行
}else {
Thread.sleep(1000*30);
}
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
if(ObjectUtil.isNotEmpty(dataBaseInfo.getRefreshTime())){
commentModel.setSyncTime(refreshTime);
}
sxDataService.SyncVipList(dataBaseInfo,commentModel);
boolean isNewActives=sxDataService.syncAtive(dataBaseInfo,commentModel);
if(isNewActives){
log.info("---有新增的活动,同步活动商品开始--");
sxDataService.syncAtiveShops(dataBaseInfo,commentModel);
}else {
log.info("---无新增的活动,无需同步活动商品--");
}
sxDataService.syncAtiveShops(dataBaseInfo,commentModel);
isRuning=false;
}

View File

@ -38,7 +38,16 @@ public class WebController {
public void syncCategory(){
log.info("syncCategory");
//sxDataService.getAppSign();
sxDataService.SyncCategory(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.SyncCategory(dataBaseInfo,sxDataService.getCommentModel());
}
@RequestMapping("/syncGoods")

View File

@ -24,7 +24,7 @@ import java.util.*;
public class SxDataDao extends BaseDao{
private final static String T_BD_ITEM_CLS="t_bd_item_cls";//商品分类
private final static String T_BD_ITEM_INFO="t_bd_item_info";//商品表
private final static String T_BD_ITEM_INFO="t_bd_item_info b";//商品表
private final static String T_RM_VIP_INFO="t_rm_vip_info";//会员表
private final static String ITEM_CLSNO="item_clsno";//商品分类排序字段

View File

@ -295,7 +295,8 @@ public class SxDataServiceImp extends SxDataAbstService implements SxDataService
* @param commentModel
*/
private void syncAllGoods(DataBaseInfo dataBaseInfo, CommentModel commentModel){
String where="where 1=1";
//String where="where 1=1";
String where="where b.status='1'";
Integer total =0;
String parentId=getAndCacheTree(dataBaseInfo,dataBaseInfo.getCategoryName());//加载缓存用的
if(DicEnum.SYNCTYPE_02.getCode().equals(dataBaseInfo.getSyncType())){