From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java | 231 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 123 insertions(+), 108 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java index 536eea0..9e0d068 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/order/pdd/UpdatePDDOrderJob.java @@ -1,108 +1,123 @@ -package com.yeshi.fanli.job.order.pdd; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Component; - -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.handler.annotation.XxlJob; -import com.yeshi.fanli.dto.pdd.PDDOrderResult; -import com.yeshi.fanli.entity.pdd.PDDOrder; -import com.yeshi.fanli.exception.pdd.PDDOrderException; -import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; -import com.yeshi.fanli.util.RedisKeyEnum; -import com.yeshi.fanli.util.RedisManager; -import com.yeshi.fanli.util.mq.cmq.order.PDDOrderCMQManager; -import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; - -//浠庢窐瀹濈埇鍘昏鍗曟洿鏂� -@Component -public class UpdatePDDOrderJob { - - @Resource - private PDDOrderService pddOrderService; - - @Resource - private RedisManager redisManager; - - /** - * 淇濆瓨璁㈠崟 - * - * @param jdOrderList - */ - public void savePDDOrders(List<PDDOrder> orderList) { - for (PDDOrder order : orderList) { - if (order.getOrderStatus() == 2) { - System.out.println(order); - } - - try { - pddOrderService.addOrder(order); - /** - * 鍋氶鐜囬檺鍒� - */ - String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.PDDOrder, order.getOrderSn() + ""); - String result = redisManager.getCommonString(key); - // if (!StringUtil.isNullOrEmpty(result)) - // continue; - PDDOrderCMQManager.getInstance().addPDDOrder(order.getOrderSn() + ""); - redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2灏忔椂鍐呬笉鍐嶆洿鏂� - } catch (PDDOrderException e) { - e.printStackTrace(); - } - } - } - - /** - * 鎷煎澶氳鍗曠埇鍙� - */ - @XxlJob("updatePDDOrderHandler") - public ReturnT<String> updatePDDOrder(String param) throws Exception { - if ("1".equalsIgnoreCase(param)) {// 鏇存柊鏈皬鏃跺唴鐨勫崟 - updateSoonOrder(); - } else if ("1day".equalsIgnoreCase(param)) {// 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�) - updateUpdateOrder(); - } - return ReturnT.SUCCESS; - } - - /** - * 蹇�熻鍗曟洿鏂帮紙鐖彇鏈皬鏃跺唴鐨勫崟,姣忓垎閽熶竴娆★級 - */ - // @Scheduled(cron = "0 0/1 * * * ? ") - public void updateSoonOrder() { - Date now = null; - now = PinDuoDuoApiUtil.getSystemTime(); - if (now == null) - now = new Date(); - long endTime = now.getTime(); - long startTime = endTime - 1000 * 60 * 60;// 鏈�杩戜竴涓皬鏃� - PDDOrderResult result = PinDuoDuoApiUtil.getOrdersList(1, 50, startTime, endTime); - if (result != null && result.getOrderList() != null) - savePDDOrders(result.getOrderList()); - } - - /** - * 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�) - */ - // @Scheduled(cron = "0 0/30 * * * ? ") - public void updateUpdateOrder() { - long endTime = System.currentTimeMillis() - 1000 * 60 * 60L; - long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L; - int page = 1; - List<PDDOrder> pddOrderList = new ArrayList<>(); - PDDOrderResult result = PinDuoDuoApiUtil.getOrdersList(page++, 50, startTime, endTime); - pddOrderList.addAll(result.getOrderList()); - while (result != null && pddOrderList.size() < result.getTotalCount()) { - result = PinDuoDuoApiUtil.getOrdersList(page++, 50, startTime, endTime); - if (result != null) - pddOrderList.addAll(result.getOrderList()); - } - savePDDOrders(pddOrderList); - } - -} +package com.yeshi.fanli.job.order.pdd; + +import com.xxl.job.core.biz.model.ReturnT; +import com.xxl.job.core.handler.annotation.XxlJob; +import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; +import com.yeshi.fanli.dto.pdd.PDDOrderResult; +import com.yeshi.fanli.entity.pdd.PDDOrder; +import com.yeshi.fanli.exception.pdd.PDDOrderException; +import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.RedisKeyEnum; +import com.yeshi.fanli.util.RedisManager; +import com.yeshi.fanli.util.mq.cmq.order.OrdersCMQManager; +import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +//浠庢窐瀹濈埇鍘昏鍗曟洿鏂� +@Component +public class UpdatePDDOrderJob { + + @Resource + private PDDOrderService pddOrderService; + + @Resource + private RedisManager redisManager; + + @Resource + private OrdersCMQManager ordersCMQManager; + + /** + * 淇濆瓨璁㈠崟 + * + * @param orderList + */ + public void savePDDOrders(List<PDDOrder> orderList) { + //5鍒嗛挓涓嶆洿鏂板氨鎶ヨ + try { + redisManager.cacheCommonString(RedisKeyEnum.monitor.getKey() + Constant.SOURCE_TYPE_PDD, "1", 60 * 5); + } catch (Exception e) { + } + for (PDDOrder order : orderList) { + if (order.getOrderStatus() == 2) { + System.out.println(order); + } + + try { + pddOrderService.addOrder(order); + /** + * 鍋氶鐜囬檺鍒� + */ + String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.PDDOrder, order.getOrderSn() + ""); + String result = redisManager.getCommonString(key); + // if (!StringUtil.isNullOrEmpty(result)) + // continue; + ordersCMQManager.addOrder(new CommonOrderMQMsg(order.getOrderSn() + "",Constant.SOURCE_TYPE_PDD)); + + redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2灏忔椂鍐呬笉鍐嶆洿鏂� + } catch (PDDOrderException e) { + e.printStackTrace(); + } + } + } + + /** + * 鎷煎澶氳鍗曠埇鍙� + */ + @XxlJob("updatePDDOrderHandler") + public ReturnT<String> updatePDDOrder(String param) throws Exception { + if ("1".equalsIgnoreCase(param)) {// 鏇存柊鏈皬鏃跺唴鐨勫崟 + updateSoonOrder(); + } else if ("1day".equalsIgnoreCase(param)) {// 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�) + updateUpdateOrder(); + } + return ReturnT.SUCCESS; + } + + /** + * 蹇�熻鍗曟洿鏂帮紙鐖彇鏈皬鏃跺唴鐨勫崟,姣忓垎閽熶竴娆★級 + */ + // @Scheduled(cron = "0 0/1 * * * ? ") + public void updateSoonOrder() { + Date now = null; + now = PinDuoDuoApiUtil.getSystemTime(); + if (now == null) + now = new Date(); + long endTime = now.getTime(); + long startTime = endTime - 1000 * 60 * 60;// 鏈�杩戜竴涓皬鏃� + PDDOrderResult result = PinDuoDuoApiUtil.getOrdersList(1, 50, startTime, endTime); + if (result != null && result.getOrderList() != null) + savePDDOrders(result.getOrderList()); + } + + /** + * 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�) + */ + // @Scheduled(cron = "0 0/30 * * * ? ") + public void updateUpdateOrder() { + + long endTime = System.currentTimeMillis() - 1000 * 60 * 60L; + long startTime = System.currentTimeMillis() - 1000 * 60 * 60 * 24L ; + + updateUpdateOrder(startTime,endTime); + } + + public void updateUpdateOrder(long startTime,long endTime) { + int page = 1; + List<PDDOrder> pddOrderList = new ArrayList<>(); + PDDOrderResult result = PinDuoDuoApiUtil.getOrdersList(page++, 50, startTime, endTime); + pddOrderList.addAll(result.getOrderList()); + while (result != null && pddOrderList.size() < result.getTotalCount()) { + result = PinDuoDuoApiUtil.getOrdersList(page++, 50, startTime, endTime); + if (result != null) + pddOrderList.addAll(result.getOrderList()); + } + savePDDOrders(pddOrderList); + } + +} -- Gitblit v1.8.0