From 24587fd1b4af52469d1e122d2a495eea79d6865e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 24 七月 2023 14:39:30 +0800 Subject: [PATCH] 淘客返利场景修复 --- fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java | 79 +++++++++++++++++++++++---------------- 1 files changed, 46 insertions(+), 33 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java index 5230708..343e89f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java +++ b/fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java @@ -1,13 +1,15 @@ package com.yeshi.fanli.job.order.vipshop; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import javax.annotation.Resource; import com.yeshi.fanli.dao.mybatis.vipshop.VipShopOrderMapper; +import com.yeshi.fanli.dto.mq.order.body.CommonOrderMQMsg; +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.mq.cmq.order.OrdersCMQManager; import com.yeshi.fanli.util.vipshop.DingDanXiaApiUtil; import org.springframework.stereotype.Component; @@ -58,7 +60,7 @@ String result = redisManager.getCommonString(key); // 鍒ゆ柇 // if (StringUtil.isNullOrEmpty(result)) { - VipShopOrderCMQManager.getInstance().addVipShopOrder(order.getOrderSn() + ""); + OrdersCMQManager.getInstance().addOrder(new CommonOrderMQMsg(order.getOrderSn() + "", Constant.SOURCE_TYPE_VIP)); redisManager.cacheCommonString(key, "1", 60 * 60 * 2);// 2灏忔椂鍐呬笉鍐嶆洿鏂� LogHelper.test("鍞搧浼氳鍗曟秷鎭彂閫佹垚鍔�"); // }else{ @@ -82,8 +84,19 @@ updateByOrderTime(endTime - 1000 * 60 * 60 * 1L, endTime); updateByUpdateTime(endTime - 1000 * 60 * 60 * 1L, endTime); } else if ("1day".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�1澶╂洿鏂扮殑鏁版嵁 - updateByOrderTime(endTime - 1000 * 60 * 60 * 24L, endTime); - updateByUpdateTime(endTime - 1000 * 60 * 60 * 24L, endTime); + Long startT = endTime - 1000 * 60 * 60 * 24L; + for(long start= startT;start<startT +1000 * 60 * 60 * 24L;start+=1000 * 60 * 60 ) { + updateByOrderTime(start, start + 1000 * 60 * 60 ); + updateByUpdateTime(start, start + 1000 * 60 * 60 ); + } + } else if ("1month".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�1涓湀鐨勬暟鎹� + for (int i = 0; i < 30; i++) { + Long startT = endTime - 1000 * 60 * 60 * 24L*(i+1); + for(long start= startT;start<startT +1000 * 60 * 60 * 24L;start+=1000 * 60 * 60 ) { + updateByOrderTime(start, start + 1000 * 60 * 60 ); + updateByUpdateTime(start, start + 1000 * 60 * 60 ); + } + } } /* * else if ("3day".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩�3澶╂洿鏂扮殑鏁版嵁 @@ -97,15 +110,18 @@ //鏍规嵁璁㈠崟鍙锋洿鏂� @XxlJob("order-vip-updateByOrderSn") public ReturnT<String> updateByOrderSn(String param) throws Exception { - List<VipShopOrder> orders = vipShopOrderService.listByOrderSn(param); - if (orders == null || orders.size() == 0) - throw new Exception("璁㈠崟涓嶅瓨鍦�"); - - VipShopOrder vipShopOrder = DingDanXiaApiUtil.getOrderDetail(param); - if (vipShopOrder != null) { - List<VipShopOrder> vipShopOrderList = new ArrayList<>(); - vipShopOrderList.add(vipShopOrder); - saveVipShopOrders(vipShopOrderList); + String[] ps = param.split(","); + for (String p : ps) { + List<VipShopOrder> orders = vipShopOrderService.listByOrderSn(p); + if (orders == null || orders.size() == 0) + throw new Exception("璁㈠崟涓嶅瓨鍦�"); + Thread.sleep(1000); + VipShopOrder vipShopOrder = DingDanXiaApiUtil.getOrderDetail(p); + if (vipShopOrder != null) { + List<VipShopOrder> vipShopOrderList = new ArrayList<>(); + vipShopOrderList.add(vipShopOrder); + saveVipShopOrders(vipShopOrderList); + } } return ReturnT.SUCCESS; } @@ -118,27 +134,24 @@ * @return * @throws Exception */ + @Resource + private CommonOrderService commonOrderService; + @XxlJob("order-vip-updateByLongTimeNoUpdate") public ReturnT<String> updateByLongTimeNoUpdate(String param) throws Exception { - Date maxCreateTime = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 30); - Date minCreateTime = new Date(maxCreateTime.getTime() - 1000 * 60 * 60 * 24L * 60L); - VipShopOrderMapper.DaoQuery daoQuery = new VipShopOrderMapper.DaoQuery(); - daoQuery.orderSubStatusName = "宸蹭粯娆�"; - daoQuery.minCreateTime = minCreateTime; - daoQuery.maxCreateTime = maxCreateTime; - long count = vipShopOrderMapper.count(daoQuery); - if (count > 0) { - daoQuery.start = 0; - daoQuery.count = (int) count; - List<VipShopOrder> orderList = vipShopOrderMapper.list(daoQuery); - for (VipShopOrder order : orderList) { - try { - updateByOrderSn(order.getOrderSn()); - } catch (Exception e) { - e.printStackTrace(); - } - } + + List<CommonOrder> commonOrders = commonOrderService.listPayStateOrder(Constant.SOURCE_TYPE_VIP, new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 60), new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 10), 1, 200); + if (commonOrders == null || commonOrders.size() == 0) { + throw new Exception("娌℃湁闇�瑕佹洿鏂扮殑璁㈠崟"); } + Set<String> orderIds = new HashSet<>(); + for (CommonOrder commonOrder : commonOrders) { + orderIds.add(commonOrder.getOrderNo()); + } + for (String orderId : orderIds) { + updateByOrderSn(orderId); + } + return ReturnT.SUCCESS; } -- Gitblit v1.8.0