admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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) {
    }
 
}