admin
2019-08-01 f82846c1a94cae9ae21524a857414caee1511fb3
订单爬取修改
6个文件已修改
42 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/cmq/JDOrderCMQManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/cmq/PDDOrderCMQManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/ConfigControllerV2.java
@@ -252,7 +252,10 @@
            // 不能包含详情页
            String skuId = JDUtil.parseJDSkuIdByUrl(url);
            if (StringUtil.isNullOrEmpty(skuId))// 不能拦截详情页面,防止前端进入死循环
                data.put("goodsDetail", true);
                if (url.startsWith("https://union-click.jd.com/jdc?"))
                    data.put("goodsDetail", false);
                else
                    data.put("goodsDetail", true);
            else
                data.put("goodsDetail", false);
fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java
@@ -13,6 +13,7 @@
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.StringUtil;
import com.yeshi.fanli.util.cmq.JDOrderCMQManager;
@@ -42,8 +43,7 @@
                 */
                String key = "jd-order-" + order.getOrderId();
                String result = redisManager.getCommonString(key);
                if (!StringUtil.isNullOrEmpty(result))
                    continue;
                JDOrderCMQManager.getInstance().addJDOrder(order.getOrderId() + "");
                redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2小时内不再更新
            } catch (JDOrderException e) {
@@ -56,6 +56,9 @@
     */
    @Scheduled(cron = "0 0/1 * * * ? ")
    public void updateSoonOrder() {
        if (!Constant.IS_TASK)
            return;
        JDOrderResult result = JDApiUtil.getOrderList(1, 200, new Date(), JDApiUtil.ORDER_TYPE_CREATETIME);
        if (result != null && result.getOrderList() != null)
            saveJDOrders(result.getOrderList());
@@ -66,14 +69,19 @@
     */
    @Scheduled(cron = "0 0/10 * * * ? ")
    public void updateUpdateOrder() {
        if (!Constant.IS_TASK)
            return;
        List<JDOrder> jdOrderList = new ArrayList<>();
        int pageSize = 200;
        int page = 1;
        JDOrderResult result = JDApiUtil.getOrderList(page++, pageSize, new Date(), JDApiUtil.ORDER_TYPE_UPDATETIME);
        jdOrderList.addAll(result.getOrderList());
        while (result.isHasMore()) {
            result = JDApiUtil.getOrderList(page++, pageSize, new Date(), JDApiUtil.ORDER_TYPE_UPDATETIME);
        if (result != null) {
            jdOrderList.addAll(result.getOrderList());
            while (result != null && result.isHasMore()) {
                result = JDApiUtil.getOrderList(page++, pageSize, new Date(), JDApiUtil.ORDER_TYPE_UPDATETIME);
                if (result != null)
                    jdOrderList.addAll(result.getOrderList());
            }
        }
        saveJDOrders(jdOrderList);
    }
fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java
@@ -13,6 +13,7 @@
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;
@@ -56,6 +57,8 @@
     */
    @Scheduled(cron = "0 0/1 * * * ? ")
    public void updateSoonOrder() {
        if (!Constant.IS_TASK)
            return;
        Date now = null;
        now = PinDuoDuoApiUtil.getSystemTime();
        if (now == null)
@@ -72,6 +75,8 @@
     */
    @Scheduled(cron = "0 0/30 * * * ? ")
    public void updateUpdateOrder() {
        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/util/cmq/JDOrderCMQManager.java
@@ -21,8 +21,8 @@
    static {
        cmqUtil = CMQUtil.getInstance(secretId, secretKey);
        cmqUtil.createQueue(JD_ORDER);
        JD_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
        cmqUtil.createQueue(JD_ORDER);
    }
    public static JDOrderCMQManager getInstance() {
fanli/src/main/java/com/yeshi/fanli/util/cmq/PDDOrderCMQManager.java
@@ -21,8 +21,8 @@
    static {
        cmqUtil = CMQUtil.getInstance(secretId, secretKey);
        cmqUtil.createQueue(PDD_ORDER);
        PDD_ORDER += "-" + Constant.systemCommonConfig.getProjectName();
        cmqUtil.createQueue(PDD_ORDER);
    }
    public static PDDOrderCMQManager getInstance() {
fanli/src/main/java/com/yeshi/fanli/util/jd/JDApiUtil.java
@@ -645,18 +645,12 @@
        json.put("orderReq", orderReq);
        String result = baseRequest2("jd.union.open.order.query", null, json);
        try {
            System.out.println(new String(result.getBytes("GBK"), "UTF-8"));
            System.out.println(new String(result.getBytes("ISO-8859-1"), "UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        JSONObject root = JSONObject.fromObject(result).optJSONObject("jd_union_open_order_query_response");
        if (root.optInt("code") == 0) {
            boolean hasMore = root.optBoolean("hasMore");
            root = JSONObject.fromObject(root.optString("result"));
            if (root.optInt("code") == 200) {
            if (root.optInt("code") == 200&&root.optJSONArray("data")!=null) {
                String date = root.optJSONArray("data").toString();
                Type typeToken = new TypeToken<List<JDOrder>>() {
                }.getType();