package com.yeshi.fanli.job.goods;
|
|
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
import com.yeshi.fanli.entity.SystemEnum;
|
import com.yeshi.fanli.entity.bus.search.HotSearch;
|
import com.yeshi.fanli.service.inter.config.HotSearchService;
|
import com.yeshi.fanli.service.inter.goods.PullNewGoodsService;
|
import com.yeshi.fanli.util.Constant;
|
import com.yeshi.goods.facade.dto.taobao.haodanku.HDKGoodsListResultDTO;
|
import com.yeshi.goods.facade.entity.taobao.haodanku.HDKGoodsDetail;
|
import com.yeshi.goods.facade.service.HDKGoodsDetailService;
|
import com.yeshi.goods.facade.utils.taobao.DaTaoKeApiUtil;
|
import com.yeshi.goods.facade.utils.taobao.HaoDanKuApiUtil;
|
import org.springframework.core.task.TaskExecutor;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.Calendar;
|
import java.util.Collections;
|
import java.util.List;
|
|
//热门搜索关键字搜索
|
@Component
|
public class HotSearchKeyJob {
|
|
@Resource
|
private HotSearchService hotSearchService;
|
|
|
/**
|
* 同步大淘客的热门搜索
|
*
|
* @param param
|
* @return
|
* @throws Exception ReturnT<String> 返回类型
|
* @throws
|
* @Title: syncAll
|
* @Description:
|
*/
|
@XxlJob("hotsearch-dataoke")
|
public ReturnT<String> syncDataoKeSearch(String param) throws Exception {
|
List<String> keyList = DaTaoKeApiUtil.getHotSearch();
|
//获取前10的搜索
|
List<String> sub1 = keyList.subList(0, 10);
|
//获取10到30的搜索
|
List<String> sub2 = keyList.subList(10, 30);
|
|
List<String> list = null;
|
for (SystemEnum system : SystemEnum.values()) {
|
list = new ArrayList<>();
|
list.addAll(sub1);
|
Collections.shuffle(sub2);
|
list.addAll(sub2.subList(0, 10));
|
//删除原来的热门搜索
|
List<HotSearch> hotSearchList = hotSearchService.getHotSearchCache(Constant.SOURCE_TYPE_TAOBAO, system);
|
List<Long> idList = new ArrayList<>();
|
for (HotSearch hs : hotSearchList) {
|
idList.add(hs.getId());
|
}
|
Long[] ids = new Long[idList.size()];
|
idList.toArray(ids);
|
hotSearchService.deleteHotSearch(ids);
|
//添加热门搜索
|
int orderby = list.size();
|
for (String s : list) {
|
HotSearch hs = new HotSearch();
|
hs.setSystem(system);
|
hs.setUseType(Constant.SOURCE_TYPE_TAOBAO);
|
hs.setName(s);
|
hs.setOrderby(orderby--);
|
hotSearchService.addHotSearch(hs);
|
}
|
}
|
return ReturnT.SUCCESS;
|
}
|
|
public static void main(String[] args) {
|
}
|
|
}
|