admin
2021-09-24 1e9d66afda722a8ace7c5a21c9c0bfa0f14989c4
热门搜索采用大淘客的搜索排行
1个文件已添加
10个文件已修改
148 ■■■■■ 已修改文件
facade-goods/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-goods/src/main/java/com/yeshi/goods/facade/utils/taobao/DaTaoKeApiUtil.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/pom.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/admin/HotSearchAdminController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/LijinHongBaoController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/goods/HotSearchKeyJob.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/lijin/manager/UserLijinSendManager.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/config/HotSearchService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/dubbo/consumer.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
facade-goods/pom.xml
@@ -24,6 +24,12 @@
            <artifactId>utils</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.dataoke</groupId>
            <artifactId>sdk</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
facade-goods/src/main/java/com/yeshi/goods/facade/utils/taobao/DaTaoKeApiUtil.java
@@ -1,17 +1,21 @@
package com.yeshi.goods.facade.utils.taobao;
import com.alipay.api.domain.ImageInfo;
import com.dtk.api.client.DtkApiClient;
import com.dtk.api.client.DtkApiRequest;
import com.dtk.api.request.search.DtkGetTop100Request;
import com.dtk.api.response.base.DtkApiResponse;
import com.dtk.api.response.search.DtkGetTop100Response;
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
import com.yeshi.common.entity.taobao.TaoKeAppInfo;
import com.yeshi.goods.facade.dto.taobao.TaoBaoGoodsImportantInfo;
import com.yeshi.goods.facade.dto.taobao.TaoBaoImg;
import com.yeshi.goods.facade.dto.taobao.TaoBaoShopDTO;
import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult;
import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeListTopOffDTO;
import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeResult;
import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.goods.facade.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.goods.facade.dto.taobao.dataoke.DaTaoKeGoodsResult;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.httpclient.HttpClient;
@@ -22,9 +26,14 @@
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.yeshi.utils.*;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.MoneyBigDecimalUtil;
import org.yeshi.utils.StringUtil;
import org.yeshi.utils.TimeUtil;
import java.io.*;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.net.URLEncoder;
@@ -678,6 +687,17 @@
        return daTaoKeGoodsResult;
    }
    public static List<String> getHotSearch() {
        String appKey = APP_KEY;
        String appSecret = APP_KEY_SECRET;
        TreeMap<String, String> paraMap = new TreeMap<>();
        paraMap.put("version", "v1.0.0");
        DtkGetTop100Request request = new DtkGetTop100Request();
        request.setType(2);
        DtkApiResponse<DtkGetTop100Response> response = DtkApiClient.getInstance(appKey, appSecret).execute(request);
        return response.getData().getHotWords();
    }
    private static List<DaTaoKeDetailV2> parseDaTaoKeDetailV2List(JSONArray array) {
        List<DaTaoKeDetailV2> detailList = new ArrayList<>();
        for (int i = 0; i < array.size(); i++) {
@@ -960,6 +980,6 @@
    public static void main(String[] args) {
        parseTaoBaoToken("8\uD83D\uDC48嘻etMgX8V2M30信 https://m.tb.cn/h.4CFFCNf?sm=fb01ec  大码女装法式初恋复古超仙rouje碎花吊带小雏菊石原里美连衣裙子");
        getHotSearch();
    }
}
fanli/pom.xml
@@ -33,6 +33,12 @@
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.dataoke</groupId>
            <artifactId>sdk</artifactId>
            <version>1.0.0</version>
        </dependency>
        <!-- JAR包依赖 -->
        <dependency>
fanli/src/main/java/com/yeshi/fanli/controller/admin/HotSearchAdminController.java
@@ -152,7 +152,7 @@
        
        try {
            Gson gson = new Gson();
            long[] hsids = gson.fromJson(idArray, new TypeToken<long[]>() {}.getType());
            Long[] hsids = gson.fromJson(idArray, new TypeToken<long[]>() {}.getType());
            
            if (hsids == null || hsids.length == 0) {
                JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("未检测到删除的数据"));
fanli/src/main/java/com/yeshi/fanli/controller/client/lijin/LijinHongBaoController.java
@@ -3,6 +3,7 @@
import com.google.gson.*;
import com.ks.vip.exception.LijinBalanceException;
import com.ks.vip.pojo.DO.UserLijinRecord;
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.lijin.dto.LijinSendInfo;
@@ -54,6 +55,12 @@
            lijinSendInfo = userLijinSendManager.getSendingLijinInfo(acceptData.getSystem(), acceptData.getDevice(), uid);
        }
        //是否需要显示弹框
        String value = configService.getValue(ConfigKeyEnum.lijinSendNotify, acceptData.getSystem());
        if (!"1".equalsIgnoreCase(value)) {
            lijinSendInfo = null;
        }
        if (lijinSendInfo == null) {
            out.print(JsonUtil.loadFalseResult("无红包"));
            return;
fanli/src/main/java/com/yeshi/fanli/entity/system/ConfigKeyEnum.java
@@ -183,6 +183,7 @@
    lijinRecievedSuccessLink("lijin_recieve_success_link", "礼金领取成功链接"),
    lijinRuleLink("lijin_rule_link", "礼金规则链接"),
    lijinCourseLink("lijin_course_link", "礼金教程链接"),
    lijinSendNotify("lijin_send_notify","礼金发放通知"),
    // 文案转链
fanli/src/main/java/com/yeshi/fanli/job/goods/HotSearchKeyJob.java
New file
@@ -0,0 +1,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) {
    }
}
fanli/src/main/java/com/yeshi/fanli/lijin/manager/UserLijinSendManager.java
@@ -7,6 +7,7 @@
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.push.DeviceActive;
import com.yeshi.fanli.lijin.dto.LijinSendInfo;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.RedisManager;
@@ -35,6 +36,9 @@
    @Resource
    private UserLijinMnager userLijinMnager;
    @Resource
    private ConfigService configService;
    private String getRedisKey(SystemEnum system, String deviceId, Long uid) {
        String key = "lijinsend-" + system.name() + "-";
fanli/src/main/java/com/yeshi/fanli/service/impl/config/HotSearchServiceImpl.java
@@ -36,8 +36,8 @@
        hotSearchMapper.insert(hotSearch);
    }
    public void deleteHotSearch(long[] hsids) {
        for (long hsid : hsids) {
    public void deleteHotSearch(Long[] hsids) {
        for (Long hsid : hsids) {
            
            // superHotSearchService.deleteSuper(id, systemId) 
            
fanli/src/main/java/com/yeshi/fanli/service/inter/config/HotSearchService.java
@@ -10,7 +10,7 @@
    void addHotSearch(HotSearch hotSearch);
    void deleteHotSearch(long[] hsids);
    void deleteHotSearch(Long[] hsids);
    void updateHotSearch(HotSearch hotSearch);
fanli/src/main/resource/dubbo/consumer.xml
@@ -11,8 +11,8 @@
    <dubbo:annotation package="com.yeshi.fanli"></dubbo:annotation>
    <!--<dubbo:registry  address="zookeeper://172.16.16.46:2181"/>-->
    <dubbo:registry  address="zookeeper://193.112.35.168:2182"/>
    <dubbo:registry  address="zookeeper://172.16.16.46:2181"/>
    <!--<dubbo:registry  address="zookeeper://193.112.35.168:2182"/>-->
    <!-- url=dubbo://192.168.3.122:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService -->