admin
2021-01-27 e1a62ec62e7331d97af9302e90e1ce44af8235eb
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/SearchControllerV2.java
@@ -9,6 +9,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import com.yeshi.fanli.service.inter.pdd.PDDAuthService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Controller;
@@ -140,6 +141,10 @@
    @Resource
    private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
    @Resource
    private PDDAuthService pddAuthService;
    /**
     * 粘贴板信息推荐
     *
@@ -259,7 +264,7 @@
                                    TaoBaoGoodsBrief goodsBrief = null;
                                    String specialId = userExtraTaoBaoInfoService.getSpecialIdByUid(uid);
                                    try {
                                        goodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getGoodsId(),specialId,null);
                                        goodsBrief = TaoKeApiUtil.searchGoodsDetail(goods.getGoodsId(), specialId, null);
                                    } catch (TaobaoGoodsDownException e) {
                                        e.printStackTrace();
                                    }
@@ -563,7 +568,7 @@
        /*-------- 拼多多商品  -------*/
        if (goodsType.intValue() == Constant.SOURCE_TYPE_PDD) {
            searchPDDGoods(acceptData, searchkey, page, filter, order, ap, out);
            searchPDDGoods(acceptData, uid, searchkey, page, filter, order, ap, out);
            return;
        }
@@ -650,15 +655,19 @@
        }
        // 淘宝api搜索商品
        TaoBaoSearchResult result = TaoBaoUtil.search(sf, specialId, null);
        TaoBaoSearchResult result = taoBaoGoodsCacheUtil.getSearchResult(sf); // TaoBaoUtil.search(sf, specialId, null);
        if (result == null) {
            result = TaoBaoUtil.search(sf, specialId, null);
            taoBaoGoodsCacheUtil.saveSearchResult(sf, result);
        }
        TaoBaoSearchResult finalResult = result;
        // 搜索结果缓存到redis
        if (result != null && result.getTaoBaoGoodsBriefs() != null && result.getTaoBaoGoodsBriefs().size() > 0) {
            ThreadUtil.run(new Runnable() {
                @Override
                public void run() {
                    // 更新到緩存
                    for (TaoBaoGoodsBrief goods : result.getTaoBaoGoodsBriefs())
                    for (TaoBaoGoodsBrief goods : finalResult.getTaoBaoGoodsBriefs())
                        taoBaoGoodsCacheUtil.saveCommonTaoBaoGoodsInfo(goods);
                }
            });
@@ -929,7 +938,7 @@
     * @param ap
     * @param out
     */
    private void searchPDDGoods(AcceptData acceptData, String key, Integer page, String filter, Integer order,
    private void searchPDDGoods(AcceptData acceptData, Long uid, String key, Integer page, String filter, Integer order,
                                AppPageNotification ap, PrintWriter out) {
        PDDSearchFilter pddfilter = new PDDSearchFilter();
        pddfilter.setKw(SearchFilterUtil.filterSearchContent(key));
@@ -973,8 +982,16 @@
        int count = 0;
        JSONObject data = new JSONObject();
        JSONArray array = new JSONArray();
        String customParams = Constant.PDD_SEARCH_CUSTOMER_PARAMS;
        PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter);
        if (uid != null) {
            String cp = pddAuthService.getFanliCustomParams(uid);
            if (PinDuoDuoApiUtil.isAuth(PinDuoDuoApiUtil.PID_FANLI, cp)) {
                customParams = cp;
            }
        }
        PDDGoodsResult result = PinDuoDuoApiUtil.searchGoods(pddfilter, customParams);
        if (result != null) {
            count = result.getTotalCount();
            Gson gson = JsonUtil.getApiCommonGson();