yujian
2019-08-03 9a82179d24ec670ba1aefef6906b8acadf58da6e
Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div
8个文件已修改
101 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/pdd/PDDGoodsServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoApiUtil.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -261,7 +261,8 @@
            data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
        } else if (url != null && (url.contains("yangkeduo.com")) && !url.contains("yangkeduo.com/goods.html?")) {
        } else if (url != null && ((url.contains("yangkeduo.com") && !url.contains("yangkeduo.com/goods.html?"))
                || (url.startsWith("https://p.pinduoduo.com/")))) {
            data.put("baichuan", false);// 不需要采用阿里百川的方式加载webview
            data.put("goodsDetail", true);// 不需要拦截商品详情
        } else {
fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
@@ -13,12 +13,13 @@
import com.yeshi.fanli.entity.jd.JDOrder;
import com.yeshi.fanli.exception.jd.JDOrderException;
import com.yeshi.fanli.service.inter.jd.JDOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.cmq.JDOrderCMQManager;
import com.yeshi.fanli.util.jd.JDApiUtil;
//从淘宝爬去订单更新
//@Component
@Component
public class UpdateJDOrderJob {
    @Resource
@@ -57,8 +58,8 @@
     */
    @Scheduled(cron = "0 0/1 * * * ? ")
    public void updateSoonOrder() {
        // if (!Constant.IS_TASK)
        // return;
        if (!Constant.IS_TASK)
            return;
        long now = System.currentTimeMillis();
        JDOrderResult result = JDApiUtil.getOrderList(1, 200, new Date(now), JDApiUtil.ORDER_TYPE_CREATETIME);
@@ -75,8 +76,8 @@
     */
    @Scheduled(cron = "0 0/10 * * * ? ")
    public void updateUpdateOrder() {
        // if (!Constant.IS_TASK)
        // return;
        if (!Constant.IS_TASK)
            return;
        List<JDOrder> jdOrderList = new ArrayList<>();
        int pageSize = 200;
        int page = 1;
fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java
@@ -13,14 +13,13 @@
import com.yeshi.fanli.entity.pdd.PDDOrder;
import com.yeshi.fanli.exception.pdd.PDDOrderException;
import com.yeshi.fanli.service.inter.pdd.PDDOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.cmq.JDOrderCMQManager;
import com.yeshi.fanli.util.cmq.PDDOrderCMQManager;
import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil;
//从淘宝爬去订单更新
//@Component
@Component
public class UpdatePDDOrderJob {
    @Resource
@@ -43,8 +42,8 @@
                 */
                String key = "pdd-order-" + order.getOrderSn();
                String result = redisManager.getCommonString(key);
//                if (!StringUtil.isNullOrEmpty(result))
//                    continue;
                // if (!StringUtil.isNullOrEmpty(result))
                // continue;
                PDDOrderCMQManager.getInstance().addPDDOrder(order.getOrderSn() + "");
                redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新
            } catch (PDDOrderException e) {
@@ -57,8 +56,8 @@
     */
    @Scheduled(cron = "0 0/1 * * * ? ")
    public void updateSoonOrder() {
//        if (!Constant.IS_TASK)
//            return;
        if (!Constant.IS_TASK)
            return;
        Date now = null;
        now = PinDuoDuoApiUtil.getSystemTime();
        if (now == null)
@@ -75,8 +74,8 @@
     */
    @Scheduled(cron = "0 0/30 * * * ? ")
    public void updateUpdateOrder() {
//        if (!Constant.IS_TASK)
//            return;
        if (!Constant.IS_TASK)
            return;
        long endTime = System.currentTimeMillis() - 1000 * 60 * 60L;
        long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L;
        int page = 1;
fanli/src/main/java/com/yeshi/fanli/service/impl/homemodule/SpecialServiceImpl.java
@@ -372,7 +372,9 @@
        JSONObject arcMap = new JSONObject();
        String indexArc = "index_arc";
        if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion()))
        if (VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion()))
            indexArc = "index_arc_1.6.0";
        else if (VersionUtil.greaterThan_1_5_70(acceptData.getPlatform(), acceptData.getVersion()))
            indexArc = "index_arc_1.5.7";
        else if (VersionUtil.greaterThan_1_5_60(acceptData.getPlatform(), acceptData.getVersion()))
            indexArc = "index_arc_1.5.6";
fanli/src/main/java/com/yeshi/fanli/service/impl/pdd/PDDGoodsServiceImpl.java
@@ -1,10 +1,14 @@
package com.yeshi.fanli.service.impl.pdd;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -45,8 +49,7 @@
        cidMap.put(17L, "590");// 虚拟
        cidMap.put(18L, "3279");// 医药
    }
    @Cacheable(value = "pddCache", key = "'getDetailImageList'+#id")
    @Override
    public List<String> getDetailImageList(Long id) {
@@ -57,10 +60,30 @@
            list = PinDuoDuoUtil.getDetailImages(id);
            count++;
        }
        if (list == null || list.size() == 0) {
            try {
                Document doc = Jsoup
                        .connect("https://dk.gaoyong666.com/gylm/h5details/v1/details?classtype=1&goodsId=" + id)
                        .userAgent(
                                "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36")
                        .get();
                Elements els = doc.getElementsByTag("img");
                for (int i = 0; i < els.size(); i++) {
                    String src = els.get(i).attr("src");
                    if (src.contains("yangkeduo")) {
                        list.add(src);
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return list;
    }
    @Override
    public List<GoodsClass> getSpecialClass() {
        List<GoodsClass> list = new ArrayList<GoodsClass>();
@@ -82,25 +105,24 @@
        list.add(new GoodsClass(16L, "运动"));
        list.add(new GoodsClass(17L, "虚拟"));
        list.add(new GoodsClass(18L, "医药"));
        return list;
        return list;
    }
    @Override
    @Transactional
    @Cacheable(value = "pddSpecialCache", key = "'specialSearch-'+#page+'-'+#cid")
    public List<PDDGoodsDetail> specialSearch(Integer page, Long cid) throws PDDOrderException{
    public List<PDDGoodsDetail> specialSearch(Integer page, Long cid) throws PDDOrderException {
        if (cid == null) {
            throw new PDDOrderException(1, "分类id为空");
        }
        String pddcid = cidMap.get(cid);
        if (StringUtil.isNullOrEmpty(pddcid)) {
            throw new PDDOrderException(1, "分类id不存在");
        }
        PDDSearchFilter pddfilter = new PDDSearchFilter();
        // 精选
        if (cid == 1) {
            pddfilter.setPage(page);
@@ -111,8 +133,8 @@
            } else {
                return result.getGoodsList();
            }
        }
        }
        // 单个分类
        if (!pddcid.contains(",")) {
            pddfilter.setPage(page);
@@ -124,8 +146,8 @@
            } else {
                return result.getGoodsList();
            }
        }
        }
        // 多个分类id处理
        List<PDDGoodsDetail> list = new ArrayList<PDDGoodsDetail>();
        String[] arrayId = pddcid.split(",");
@@ -146,18 +168,18 @@
        }
        return list;
    }
    @Override
    @Cacheable(value = "pddSpecialCache", key = "'getTopGoodsList-' + #page + '-' + #sortType")
    public PDDGoodsResult getTopGoodsList(int page, Integer sortType) {
        return PinDuoDuoApiUtil.getTopList(PinDuoDuoApiUtil.PID_FANLI, page, Constant.PAGE_SIZE, sortType);
    }
    
    
    @Override
    @Cacheable(value = "pddSpecialCache", key = "'getTodaySaleGoodsList-'")
    public PDDGoodsResult getTodaySaleGoodsList() {
        return PinDuoDuoUtil.getTodaySaleGoods();
    }
    }
}
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -134,6 +134,7 @@
            doJDOrderJob();// 京东订单处理
            doPDDOrderJob();// 拼多多订单处理
        }
    }
    /**
fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoApiUtil.java
@@ -22,6 +22,7 @@
import com.yeshi.fanli.dto.pdd.PDDPromotionUrl;
import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
import com.yeshi.fanli.entity.pdd.PDDOrder;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@@ -280,14 +281,14 @@
        }
        JSONArray resultArray = json.optJSONArray("goods_promotion_url_list");
        if (resultArray != null && resultArray.size() > 0) {
            Type type = new TypeToken<PDDPromotionUrl>() {}.getType();
            Type type = new TypeToken<PDDPromotionUrl>() {
            }.getType();
            Gson gson = new GsonBuilder().disableHtmlEscaping().create();
            return gson.fromJson(resultArray.optJSONObject(0).toString(), type);
        }
        return null;
    }
    /**
     * 商品转链
     * 
@@ -303,7 +304,7 @@
        }
        return null;
    }
    public static void createPid() {
        Map<String, String> map = new HashMap<>();
        map.put("type", "pdd.ddk.goods.pid.generate");
fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
@@ -21,6 +21,7 @@
import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
import com.yeshi.fanli.dto.pdd.PDDGoodsResult;
import com.yeshi.fanli.dto.pdd.PDDSearchFilter;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
@@ -144,6 +145,7 @@
        try {
            client.executeMethod(pm);
            String result = pm.getResponseBodyAsString();
            LogHelper.test("拼多多猜你喜欢:"+result);
            JSONObject json = JSONObject.fromObject(result);
            JSONArray array = json.optJSONArray("data");
            if (array != null) {