From 856d99bb5adf7f8670206b01750bc0260b8666d2 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 01 二月 2023 15:36:55 +0800 Subject: [PATCH] 修复客户端特价首页商品列表无数据的问题 --- fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java | 76 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 72 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java index 7eacee7..3e6a5a4 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/order/jd/UpdateJDOrderJob.java @@ -1,12 +1,18 @@ package com.yeshi.fanli.job.order.jd; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import javax.annotation.Resource; +import com.yeshi.fanli.dao.jd.JDOrderBackUpDao; +import com.yeshi.fanli.dto.jd.JDOrderForBackUpResult; +import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; +import com.yeshi.fanli.entity.jd.JDBackUpOrder; +import com.yeshi.fanli.entity.order.CommonOrder; +import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.annotation.JobMonitor; +import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; import org.springframework.stereotype.Component; import com.xxl.job.core.biz.model.ReturnT; @@ -32,6 +38,13 @@ @Resource private RedisManager redisManager; + + @Resource + private JDOrderBackUpDao jdOrderBackUpDao; + + @Resource + private CommonOrderService commonOrderService; + /** * 淇濆瓨璁㈠崟 @@ -65,7 +78,7 @@ String result = redisManager.getCommonString(key); // 鍒ゆ柇 if (StringUtil.isNullOrEmpty(result)) { - JDOrderCMQManager.getInstance().addJDOrder(order.getOrderId() + ""); + OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrderId() + "", Constant.SOURCE_TYPE_JD)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2灏忔椂鍐呬笉鍐嶆洿鏂� } } catch (JDOrderException e) { @@ -195,4 +208,59 @@ } } + + @JobMonitor(key = "", maxSpaceTime = 60 * 60 * 25) + @XxlJob("order-jd-backup") + public ReturnT<String> backUpOrder(String param) throws Exception { + //鏇存柊90澶╀互鍓嶇殑杩�3澶╃殑鏁版嵁 + long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 90; + + for (int i = 0; i < 24 * 3; i++) { + List<JDBackUpOrder> orderList = getBackUpOrders(new Date(startTime + i * 1000 * 60 * 60L)); + if (orderList != null && orderList.size() > 0) { + for (JDBackUpOrder order : orderList) { + order.setUpdateTime(new Date()); + jdOrderBackUpDao.save(order); + } + } + } + return ReturnT.SUCCESS; + } + + + //澶勭悊寰堜箙娌″鐞嗙殑鏁版嵁 + @JobMonitor(key = "", maxSpaceTime = 60 * 60 * 25) + @XxlJob("order-jd-process-outdate") + public ReturnT<String> processoutOfDate(String param) throws Exception { + //鏌ヨ 1涓湀鍒�5涓湀澶勪簬宸蹭粯娆剧姸鎬佺殑鏁版嵁 + long maxTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 30; + long minTime = maxTime - 1000 * 60 * 60 * 24L * 120; + List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndStateAndThirdCrateTime(Constant.SOURCE_TYPE_JD, CommonOrder.STATE_FK, minTime, maxTime, 1, 200); + Set<String> orderIds = new HashSet<>(); + for (CommonOrder co : orderList) { + orderIds.add(co.getOrderNo()); + } + for (String orderId : orderIds) { + OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(orderId, Constant.SOURCE_TYPE_JD)); + } + return ReturnT.SUCCESS; + } + + private List<JDBackUpOrder> getBackUpOrders(Date hourDate) { + List<JDBackUpOrder> jdOrderList = new ArrayList<>(); + int pageSize = 200; + int page = 1; + JDOrderForBackUpResult result = JDApiUtil.getOrderListForBackUp(page++, pageSize, hourDate, JDApiUtil.ORDER_TYPE_UPDATETIME); + if (result != null) { + jdOrderList.addAll(result.getOrderList()); + while (result != null && result.isHasMore()) { + result = JDApiUtil.getOrderListForBackUp(page++, pageSize, hourDate, JDApiUtil.ORDER_TYPE_UPDATETIME); + if (result != null) + jdOrderList.addAll(result.getOrderList()); + } + } + return jdOrderList; + } + + } -- Gitblit v1.8.0