admin
2019-05-14 a9b86cb38188d689875c8973256f10ce6566405e
大淘客商品推荐
3个文件已修改
63 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/DynamicRecommendController.java
@@ -2,6 +2,7 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -18,9 +19,11 @@
import com.yeshi.fanli.entity.taobao.SearchFilter;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoSearchResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.Utils;
@@ -43,6 +46,9 @@
    @Resource
    private TaoBaoUnionConfigService taoBaoUnionConfigService;
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    /**
     * 获取商品信息
@@ -168,6 +174,18 @@
                        return;
                    }
                }
            // 查询大淘客标题
            List<DaTaoKeDetail> list = daTaoKeGoodsDetailService.listByDtitle(text);
            if (list != null && list.size() > 0) {
                root.put("type", 2);
                JSONObject data = new JSONObject();
                data.put("title", list.get(0).getdTitle());
                root.put("data", data);
                out.print(JsonUtil.loadTrueResult(root));
                return;
            }
            out.print(JsonUtil.loadFalseResult("暂不支持该类型!"));
            return;
        }
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailServiceImpl.java
@@ -33,7 +33,7 @@
    @Override
    public void startSyncGoods() {
        // 判断是否有正在进行的更新
        String key1 = "dataoke-updating";
        // if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1)))
@@ -44,14 +44,17 @@
        long firstTime = System.currentTimeMillis() - 1000 * 60 * 5L;
        int totalCount = 0;
        for (int p = 1; p <= 2000; p++) {// 10W数据
            DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p);
            if (result.getDetailList().size() < 50)// 更新完成
            {
                redisManager.removeCommonString(key1);
                break;
            try {
                DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p);
                if (result.getDetailList().size() < 50)// 更新完成
                {
                    redisManager.removeCommonString(key1);
                    break;
                }
                addGoodsList(result.getDetailList());
                totalCount += result.getDetailList().size();
            } catch (Exception e) {
            }
            addGoodsList(result.getDetailList());
            totalCount += result.getDetailList().size();
        }
        LogHelper.test("大淘客总共更新数据数量:" + totalCount);
@@ -121,8 +124,7 @@
    public List<DaTaoKeDetail> listByIds(List<Long> idList) {
        return daTaoKeDetailMapper.listByIds(idList);
    }
    @Override
    public List<DaTaoKeDetail> listByDtitle(String dtitle) {
@@ -140,10 +142,9 @@
        return daTaoKeDetailMapper.countSearchByTitleWithCid(title, (cid == null || cid == 0 ? null : cid));
    }
    @Override
    public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId,int count) {
        return daTaoKeDetailMapper.getGoodsNotInList(cid, listId,count);
    public List<DaTaoKeDetail> getGoodsNotInList(Long cid, List<Long> listId, int count) {
        return daTaoKeDetailMapper.getGoodsNotInList(cid, listId, count);
    }
}
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
@@ -37,13 +37,18 @@
        for (int i = 0; i < array.size(); i++) {
            list.add(gson.fromJson(array.optJSONObject(i).toString(), DaTaoKeDetail.class));
        }
        for (DaTaoKeDetail dt : list)
            if (!dt.getPic().startsWith("http"))
                dt.setPic("https:" + dt.getPic());
        return new DaTaoKeApiResult(resultJson.optJSONObject("data").optInt("total_num"),
                resultJson.optJSONObject("data").optString("update_time"), list);
    }
    /**
     * 获取大淘客品牌优选 品牌id
     *
     * @return
     */
    public static List<String> getBrandIdList() {
@@ -67,7 +72,6 @@
        return listId;
    }
    public static List<String> convertList(JSONObject data) {
        List<String> listId = new ArrayList<String>();
@@ -100,9 +104,9 @@
        return listId;
    }
    /**
     * 获取店铺下前4个商品、店铺介绍
     *
     * @param brandId
     * @return
     */
@@ -166,16 +170,16 @@
            taoBaoGoods.setTkRate(new BigDecimal(itemGoods.optString("yongjin")));
            taoBaoGoods.setTkCommFee(new BigDecimal("0"));
            taoBaoGoods.setState(0);
            listGoods.add(taoBaoGoods);
            userType = itemGoods.optInt("istmall");
        }
        taoBaoShopDTO.setListGoods(listGoods);
        taoBaoShopDTO.setUserType(userType);
        return taoBaoShopDTO;
    }
    class DaTaoKeResult {
        Date updateTime;
        List<DaTaoKeDetail> dataList;