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/taobao/UpdateOrderJob.java | 1043 ++++++++++++++++++++++++++++-----------------------------
 1 files changed, 516 insertions(+), 527 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java b/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
index 3f773a8..c2c5c21 100644
--- a/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
+++ b/fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
@@ -1,527 +1,516 @@
-package com.yeshi.fanli.job.order.taobao;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-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.taobao.WeiQuanOrderResult;
-import com.yeshi.fanli.entity.bus.user.LostOrder;
-import com.yeshi.fanli.entity.bus.user.Order;
-import com.yeshi.fanli.entity.order.CommonOrder;
-import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
-import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.common.DataMonitorService;
-import com.yeshi.fanli.service.inter.order.CommonOrderService;
-import com.yeshi.fanli.service.inter.order.LostOrderService;
-import com.yeshi.fanli.service.inter.order.OrderMoneySettleService;
-import com.yeshi.fanli.service.inter.order.OrderProcessService;
-import com.yeshi.fanli.service.inter.order.OrderService;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
-import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
-import com.yeshi.fanli.util.CMQManager;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.RedisKeyEnum;
-import com.yeshi.fanli.util.RedisManager;
-import com.yeshi.fanli.util.StringUtil;
-import org.yeshi.utils.TimeUtil;
-import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
-import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
-import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
-
-//浠庢窐瀹濈埇鍘昏鍗曟洿鏂�
-@Component
-public class UpdateOrderJob {
-
-    public UpdateOrderJob() {
-        System.out.println("鍒濆鍖�:UpdateOrderJob");
-    }
-
-    @Resource
-    private OrderProcessService orderProcessService;
-    @Resource
-    private TaoBaoOrderService taoBaoOrderService;
-    @Resource
-    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
-
-    @Resource
-    private RedisManager redisManager;
-
-    @Resource
-    private LostOrderService lostOrderService;
-
-    @Resource
-    private OrderService orderService;
-
-    @Resource
-    private CommonOrderService commonOrderService;
-
-
-    /**
-     * 鏂扮増鑾峰彇鏅�氳鍗�
-     *
-     * @param startTime
-     * @param span
-     * @return
-     */
-    private static List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
-        List<TaoBaoOrder> totalList = new ArrayList<>();
-        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
-                1);
-        if (orderList != null && orderList.size() > 0)
-            totalList.addAll(orderList);
-
-        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L, 2);
-        if (orderList != null && orderList.size() > 0)
-            totalList.addAll(orderList);
-
-        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L, 3);
-        if (orderList != null && orderList.size() > 0)
-            totalList.addAll(orderList);
-        // 绉婚櫎閲嶅浜ゆ槗鍙风殑璁㈠崟
-
-        return totalList;
-    }
-
-    /**
-     * 鑾峰彇鏌愪釜鍖洪棿娈电殑璁㈠崟
-     *
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    public static List<TaoBaoOrder> getCommonOrder(long startTime, long endTime) {
-        List<TaoBaoOrder> totalList = new ArrayList<>();
-        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 1);
-        if (orderList != null && orderList.size() > 0)
-            totalList.addAll(orderList);
-
-        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 2);
-        if (orderList != null && orderList.size() > 0)
-            totalList.addAll(orderList);
-
-        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 3);
-        if (orderList != null && orderList.size() > 0)
-            totalList.addAll(orderList);
-        // 绉婚櫎閲嶅浜ゆ槗鍙风殑璁㈠崟
-
-        return totalList;
-    }
-
-    /**
-     * 鎸夊ぉ鑾峰彇鏅�氳鍗曪紙鏂扮増锛�
-     *
-     * @param date
-     * @return
-     */
-    public List<TaoBaoOrder> getCommonOrderByDay(Date date) {
-        List<TaoBaoOrder> orderList = new ArrayList<>();
-        // 灏嗕竴澶╁垎鎴�12娈�
-        for (int i = 0; i < 72; i++) {
-            List<TaoBaoOrder> tempOrderList = getCommonOrder(date.getTime() + 1000 * 60 * 20L * i, 1200);
-            if (tempOrderList != null && tempOrderList.size() > 0)
-                orderList.addAll(tempOrderList);
-        }
-        return orderList;
-    }
-
-    public void updateOrder(long startTime, long endTime) {
-        List<TaoBaoOrder> orderList = getCommonOrder(startTime, endTime);
-        LogHelper.orderInfo("甯歌璁㈠崟鍏辨湁璁㈠崟:" + orderList.size());
-        addOrder(orderList);
-        try {
-            Thread.sleep(10000);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-        }
-    }
-
-    public static List<TaoBaoOrder> mixTaoBaoOrder(List<TaoBaoOrder> commonOrderList, List<TaoBaoOrder> sorderList) {
-        Map<String, List<TaoBaoOrder>> commonMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(commonOrderList);
-        Map<String, List<TaoBaoOrder>> sMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(sorderList);
-        // 鑾峰彇璁㈠崟浜ら泦
-        Iterator<String> its = commonMap.keySet().iterator();
-        List<String> commonOrderIdList = new ArrayList<>();
-        List<String> sOrderIdList = new ArrayList<>();
-        while (its.hasNext()) {
-            String orderId = its.next();
-            commonOrderIdList.add(orderId);
-        }
-        its = sMap.keySet().iterator();
-        while (its.hasNext()) {
-            String orderId = its.next();
-            sOrderIdList.add(orderId);
-        }
-
-        // 姹備氦闆�
-        commonOrderIdList.retainAll(sOrderIdList);
-
-        List<TaoBaoOrder> orderList = new ArrayList<>();
-
-        for (String orderId : commonOrderIdList) {
-            List<TaoBaoOrder> list = commonMap.get(orderId);
-            String specialId = sMap.get(orderId).get(0).getSpecialId();
-            String relationId = sMap.get(orderId).get(0).getRelationId();
-            for (TaoBaoOrder to : list) {
-                to.setSpecialId(specialId);
-                to.setRelationId(relationId);
-                orderList.add(to);
-            }
-        }
-
-        return orderList;
-    }
-
-    public void addOrder(List<TaoBaoOrder> orderList) {
-
-        if (orderList != null)
-            for (int i = 0; i < orderList.size(); i++) {
-                LogHelper.orderInfo("甯歌璁㈠崟鐖彇:" + orderList.get(i).getOrderId());
-                // 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗�
-                if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")
-                        || orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) {
-                    if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")) {// 澶勭悊璁㈠崟鐢宠瘔
-                        Order order = orderService.findOrderByOrderIdAndType(orderList.get(i).getOrderId(),
-                                Order.ORDER_TYPE_TAOBAO);
-                        if (order != null && order.getBeizhu().contains("琛ュ崟")) {// 涓嶆帓闄よˉ鍗曠殑鎯呭喌
-
-                        } else {
-                            orderList.remove(i);
-                            i--;
-                            break;
-                        }
-                    } else {
-                        orderList.remove(i);
-                        i--;
-                    }
-                }
-            }
-
-        try {
-            taoBaoOrderService.addTaoBaoOrderList(orderList);
-        } catch (Exception e) {
-            LogHelper.errorDetailInfo(e);
-        }
-
-        try {
-            Map<String, List<TaoBaoOrder>> map = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList);
-            if (map != null) {
-                Iterator<String> its = map.keySet().iterator();
-                while (its.hasNext()) {
-                    String key = its.next();
-                    String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, key);
-                    // redis鍋氶鐜囬檺鍒�
-                    try {
-                        if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
-                            continue;
-                        }
-
-                    } catch (Exception e) {
-
-                    }
-
-                    CMQManager.getInstance().addTaoBaoOrderMsg(key);
-
-                    try {
-                        // 6灏忔椂鍐呬笉鍐嶅鐞�
-                        redisManager.cacheCommonString(redisKey, "1", 60 * 60 * 6);
-                    } catch (Exception e) {
-
-                    }
-                }
-            }
-        } catch (Exception e) {
-            LogHelper.errorDetailInfo(e);
-        }
-    }
-
-    private void doTaoBaoWeiQuanOrder(int day) {
-
-        for (int i = 0; i < day; i++) {
-            List<TaoBaoWeiQuanOrder> orderList = new ArrayList<>();
-
-            // 鎸夌収缁存潈鍙戣捣鏃堕棿鏌ヨ
-            WeiQuanOrderResult result = TaoKeOrderApiUtil
-                    .getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                            TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                            "yyyy-MM-dd")), 1, 1, false);
-            orderList.addAll(result.orderList);
-            // 绗笁鏂�
-            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 1, 1, true);
-            orderList.addAll(result.orderList);
-
-            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 1, 1, false);
-            orderList.addAll(result.orderList);
-
-            // 绗笁鏂�
-            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 1, 1, true);
-            orderList.addAll(result.orderList);
-
-            /**
-             * 鎸夌収缁存潈瀹屾垚鏃堕棿鏌ヨ
-             */
-
-            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 3, 1, false);
-            orderList.addAll(result.orderList);
-            // 绗笁鏂�
-            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 3, 1, true);
-            orderList.addAll(result.orderList);
-
-            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 3, 1, false);
-            orderList.addAll(result.orderList);
-
-            // 绗笁鏂�
-            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
-                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
-                    "yyyy-MM-dd")), 3, 1, true);
-            orderList.addAll(result.orderList);
-
-            for (TaoBaoWeiQuanOrder order : orderList)
-                taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱
-            // 澶勭悊缁存潈璁㈠崟
-            orderProcessService.weiQuanOrder(orderList);
-        }
-
-    }
-
-    public void updateLocalTaoBaoOrder(Long startTime, Long endTime, int page, int count) {
-        List<TaoBaoOrder> list = taoBaoOrderService.listBySettlementTime(startTime, endTime, page, count);
-        Set<String> orderIds = new HashSet<>();
-        for (TaoBaoOrder co : list) {
-            orderIds.add(co.getOrderId());
-        }
-        for (Iterator<String> its = orderIds.iterator(); its.hasNext(); ) {
-            String orderId = its.next();
-            // 鏌ヨ鏄惁鏈夊浜庤鍗曚粯娆剧姸鎬佺殑鍗�
-            List<CommonOrder> commonOrderList = commonOrderService
-                    .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, orderId);
-            boolean update = false;
-            if (commonOrderList != null)
-                for (CommonOrder co : commonOrderList) {
-                    if (co.getState() == CommonOrder.STATE_FK && co.getPayment().compareTo(new BigDecimal(0)) > 0) {
-                        update = true;
-                        break;
-                    }
-                }
-            if (update) {
-                List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
-                Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
-                orders.put(orderId, orderList);
-                orderProcessService.processOrder(orders);
-            }
-        }
-    }
-
-    @XxlJob("updateTaoBaoCommonOrderHandler")
-    public ReturnT<String> updateTaoBaoCommonOrder(String param) throws Exception {
-        if ("1".equalsIgnoreCase(param)) {// 鏇存柊杩�20鍒嗛挓鍐呯殑鍗�
-            pullLatestCommonOrder();
-        } else if ("1day".equalsIgnoreCase(param)) {// 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�)
-            pullLatestDayCommonOrder();
-        } else if ("3day".equalsIgnoreCase(param)) {
-            pullLatest3DayCommonOrder();
-        }
-        return ReturnT.SUCCESS;
-    }
-
-
-    /**
-     * 澶勭悊娣樺疂璁㈠崟
-     *
-     * @param param 璁㈠崟鍙�
-     * @return
-     * @throws Exception
-     */
-    @XxlJob("processTaoBaoOrder")
-    public ReturnT<String> processTaoBaoOrder(String param) throws Exception {
-        String[] orderIds = param.split(",");
-        if (orderIds == null || orderIds.length == 0)
-            throw new Exception("璁㈠崟涓嶅瓨鍦�");
-
-        for (String orderId : orderIds) {
-            List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
-            if (orderList == null || orderList.size() == 0)
-                continue;
-            orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList));
-        }
-        return ReturnT.SUCCESS;
-    }
-
-    // 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧1鍒嗘墽琛屼竴娆�
-    private void pullLatestCommonOrder() {
-        LogHelper.job("pullLatestCommonOrder");
-        Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
-        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
-        updateOrder(endTime - 1000 * 60 * 20L, endTime);
-    }
-
-    // 鐖彇鏈�杩戜竴澶╃殑甯歌璁㈠崟锛�30鍒嗛挓涓�娆★級
-    private void pullLatestDayCommonOrder() {
-        LogHelper.job("pullLatestCommonOrder");
-        Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
-        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
-        updateOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
-    }
-
-    // 鐖彇鏈�杩戜笁澶╃殑甯歌璁㈠崟锛�6涓皬鏃朵竴娆★級
-    private void pullLatest3DayCommonOrder() {
-        LogHelper.job("pullLatestCommonOrder");
-        Date systemDate = TaoKeApiUtil.getTaoBaoSystemTime();
-        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
-        updateOrder(endTime - 1000 * 60 * 60 * 24 * 3L, endTime);
-    }
-
-    // 5鍒嗛挓鎵ц涓�娆�
-    @XxlJob("ownBuyFanLiHandler")
-    public ReturnT<String> ownBuyFanLi(String param) throws Exception {
-        LogHelper.job("澶勭悊杩斿埄鍒拌处鍓嶇疆");
-        try {
-            doTaoBaoWeiQuanOrder(2);
-        } catch (Exception e) {
-            LogHelper.errorDetailInfo(e);
-        }
-        LogHelper.job("寮�濮嬪鐞嗚繑鍒�");
-        orderProcessService.fanli();
-        return ReturnT.SUCCESS;
-    }
-
-    @XxlJob("taoBaoWeiQuanOrderHandler")
-    public ReturnT<String> doTaoBaoWeiQuan(String param) throws Exception {
-        LogHelper.job("缁存潈璁㈠崟鐖彇");
-        doTaoBaoWeiQuanOrder(5);
-        return ReturnT.SUCCESS;
-    }
-
-    // 澶勭悊鎵惧洖璁㈠崟
-    @XxlJob("doLostOrderHandler")
-    public ReturnT<String> doLostOrder(String param) throws Exception {
-        if ("fail".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
-            doFailLostOrder();
-        } else if ("success".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
-            addLostOrder();
-        }
-        return ReturnT.SUCCESS;
-    }
-
-    // 澶勭悊璁㈠崟鎵惧洖澶辫触鐨勬儏鍐� 姣�6涓皬鏃舵墽琛屼竴娆�
-    private void doFailLostOrder() {
-        LogHelper.job("澶勭悊涓㈠け璁㈠崟鑷姩鎵惧洖澶辫触鐨勬儏鍐�");
-        lostOrderService.processFail();
-    }
-
-    // 姣�2鍒嗛挓鎵ц涓�娆�
-    private void addLostOrder() {
-        LogHelper.job("澶勭悊涓㈠け璁㈠崟");
-        List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS,
-                LostOrder.RESULT_CODE_VERFING, 1, 50);
-        if (list != null)
-            for (LostOrder lo : list) {
-                List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderService.getTaoBaoOrderByOrderId(lo.getOrderId());
-                // 娓呴櫎棰戠巼闄愬埗
-                if (taoBaoOrderList != null && taoBaoOrderList.size() > 0) {
-                    String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, lo.getOrderId());
-
-                    redisManager.removeCommonString(key);
-                    addOrder(taoBaoOrderList);
-                    LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId());
-                }
-            }
-    }
-
-    // 澶勭悊娣樺疂鏈湴璁㈠崟
-    @XxlJob("doLocalTaoBaoOrder")
-    public ReturnT<String> updatePDDOrder(String param) throws Exception {
-        if ("1".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
-            doLatestLocalTaoBaoOrder();
-        } else if ("5day".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
-            doLatest5DayLocalTaoBaoOrder();
-        }
-        return ReturnT.SUCCESS;
-    }
-
-
-    @XxlJob("order-updateTaoBaoOrderByOrderId")
-    public ReturnT<String> updateTaoBaoOrderByOrderId(String param) throws Exception {
-        List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(param);
-        Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
-        orders.put(param, orderList);
-        orderProcessService.processOrder(orders);
-        return ReturnT.SUCCESS;
-    }
-
-
-    /**
-     * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
-     */
-    private void doLatestLocalTaoBaoOrder() {
-        Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L;
-        Long startTime = endTime - 1000 * 60 * 60 * 12L;
-        updateLocalTaoBaoOrder(startTime, endTime, 1, 2000);
-    }
-
-    /**
-     * 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
-     */
-    private void doLatest5DayLocalTaoBaoOrder() {
-        LogHelper.job("doLatest5DayLocalTaoBaoOrder");
-        Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L;
-        Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L;
-        long count = taoBaoOrderService.countBySettlementTime(startTime, endTime);
-        int pageSize = 100;
-        long page = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
-        for (int i = 0; i < page; i++) {
-            updateLocalTaoBaoOrder(startTime, endTime, i + 1, pageSize);
-        }
-    }
-
-    // 娣樺疂鍟嗗璺戣矾璁㈠崟 姣忔湀25鍙�12鐐瑰鐞嗕笂鏈堢殑
-    @XxlJob("doTaoBaoSellerNotPayOrderHandler")
-    public ReturnT<String> doSellerNotPayOrder(String param) throws Exception {
-        LogHelper.job("doSellerNotPayOrder");
-        Calendar calender = Calendar.getInstance();
-        long endTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
-                "yyyy-MM");
-        calender.add(Calendar.MONTH, -1);
-        long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
-                "yyyy-MM");
-        // 鍟嗗鏈粯娆�
-        List<TaoBaoOrder> orderList = taoBaoOrderService.listByStateAndCreateTime("璁㈠崟鎴愬姛", new Date(startTime),
-                new Date(endTime));
-
-        if (orderList != null)
-            for (TaoBaoOrder order : orderList)
-                try {
-                    orderProcessService.doTaoBaoSellerNotPaid(order);
-                } catch (Exception e) {
-                    LogHelper.errorDetailInfo(e);
-                }
-        return ReturnT.SUCCESS;
-    }
-
-}
+package com.yeshi.fanli.job.order.taobao;
+
+import com.xxl.job.core.biz.model.ReturnT;
+import com.xxl.job.core.handler.annotation.XxlJob;
+import com.yeshi.fanli.dto.taobao.WeiQuanOrderResult;
+import com.yeshi.fanli.entity.bus.user.LostOrder;
+import com.yeshi.fanli.entity.bus.user.Order;
+import com.yeshi.fanli.entity.order.CommonOrder;
+import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
+import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
+import com.yeshi.fanli.service.inter.order.LostOrderService;
+import com.yeshi.fanli.service.inter.order.OrderProcessService;
+import com.yeshi.fanli.service.inter.order.OrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService;
+import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
+import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.util.RedisKeyEnum;
+import com.yeshi.fanli.util.RedisManager;
+import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager;
+import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
+import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
+import org.springframework.stereotype.Component;
+import org.yeshi.utils.TimeUtil;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.*;
+
+//浠庢窐瀹濈埇鍘昏鍗曟洿鏂�
+@Component
+public class UpdateOrderJob {
+
+    public UpdateOrderJob() {
+        System.out.println("鍒濆鍖�:UpdateOrderJob");
+    }
+
+    @Resource
+    private OrderProcessService orderProcessService;
+    @Resource
+    private TaoBaoOrderService taoBaoOrderService;
+    @Resource
+    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
+
+    @Resource
+    private RedisManager redisManager;
+
+    @Resource
+    private LostOrderService lostOrderService;
+
+    @Resource
+    private OrderService orderService;
+
+    @Resource
+    private CommonOrderService commonOrderService;
+
+    @Resource
+    private RabbitmqManager rabbitmqManager;
+
+
+    /**
+     * 鏂扮増鑾峰彇鏅�氳鍗�
+     *
+     * @param startTime
+     * @param span
+     * @return
+     */
+    private static List<TaoBaoOrder> getCommonOrder(long startTime, int span) {
+        List<TaoBaoOrder> totalList = new ArrayList<>();
+        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L,
+                1);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L, 2);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, startTime + span * 1000L, 3);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+        // 绉婚櫎閲嶅浜ゆ槗鍙风殑璁㈠崟
+
+        return totalList;
+    }
+
+    /**
+     * 鑾峰彇鏌愪釜鍖洪棿娈电殑璁㈠崟
+     *
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    public static List<TaoBaoOrder> getCommonOrder(long startTime, long endTime) {
+        List<TaoBaoOrder> totalList = new ArrayList<>();
+        List<TaoBaoOrder> orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 1);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 2);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+
+        orderList = TaoKeOrderApiUtil.getTaoBaoCommonOrderList(startTime, endTime, 3);
+        if (orderList != null && orderList.size() > 0)
+            totalList.addAll(orderList);
+        // 绉婚櫎閲嶅浜ゆ槗鍙风殑璁㈠崟
+
+        return totalList;
+    }
+
+    /**
+     * 鎸夊ぉ鑾峰彇鏅�氳鍗曪紙鏂扮増锛�
+     *
+     * @param date
+     * @return
+     */
+    public List<TaoBaoOrder> getCommonOrderByDay(Date date) {
+        List<TaoBaoOrder> orderList = new ArrayList<>();
+        // 灏嗕竴澶╁垎鎴�12娈�
+        for (int i = 0; i < 72; i++) {
+            List<TaoBaoOrder> tempOrderList = getCommonOrder(date.getTime() + 1000 * 60 * 20L * i, 1200);
+            if (tempOrderList != null && tempOrderList.size() > 0)
+                orderList.addAll(tempOrderList);
+        }
+        return orderList;
+    }
+
+    public void updateOrder(long startTime, long endTime) {
+        List<TaoBaoOrder> orderList = getCommonOrder(startTime, endTime);
+        LogHelper.orderInfo("甯歌璁㈠崟鍏辨湁璁㈠崟:" + orderList.size());
+        addOrder(orderList);
+        try {
+            Thread.sleep(10000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static List<TaoBaoOrder> mixTaoBaoOrder(List<TaoBaoOrder> commonOrderList, List<TaoBaoOrder> sorderList) {
+        Map<String, List<TaoBaoOrder>> commonMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(commonOrderList);
+        Map<String, List<TaoBaoOrder>> sMap = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(sorderList);
+        // 鑾峰彇璁㈠崟浜ら泦
+        Iterator<String> its = commonMap.keySet().iterator();
+        List<String> commonOrderIdList = new ArrayList<>();
+        List<String> sOrderIdList = new ArrayList<>();
+        while (its.hasNext()) {
+            String orderId = its.next();
+            commonOrderIdList.add(orderId);
+        }
+        its = sMap.keySet().iterator();
+        while (its.hasNext()) {
+            String orderId = its.next();
+            sOrderIdList.add(orderId);
+        }
+
+        // 姹備氦闆�
+        commonOrderIdList.retainAll(sOrderIdList);
+
+        List<TaoBaoOrder> orderList = new ArrayList<>();
+
+        for (String orderId : commonOrderIdList) {
+            List<TaoBaoOrder> list = commonMap.get(orderId);
+            String specialId = sMap.get(orderId).get(0).getSpecialId();
+            String relationId = sMap.get(orderId).get(0).getRelationId();
+            for (TaoBaoOrder to : list) {
+                to.setSpecialId(specialId);
+                to.setRelationId(relationId);
+                orderList.add(to);
+            }
+        }
+
+        return orderList;
+    }
+
+    public void addOrder(List<TaoBaoOrder> orderList) {
+
+        if (orderList != null)
+            for (int i = 0; i < orderList.size(); i++) {
+                LogHelper.orderInfo("甯歌璁㈠崟鐖彇:" + orderList.get(i).getOrderId());
+                // 绉婚櫎浼氬憳杩愯惀ID涓庢笭閬撲笓灞炶鍗�
+                if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")
+                        || orderList.get(i).getAdPositionName().contains("娓犻亾涓撳睘")) {
+                    if (orderList.get(i).getAdPositionName().contains("浼氬憳杩愯惀")) {// 澶勭悊璁㈠崟鐢宠瘔
+                        Order order = orderService.findOrderByOrderIdAndType(orderList.get(i).getOrderId(),
+                                Order.ORDER_TYPE_TAOBAO);
+                        if (order != null && order.getBeizhu().contains("琛ュ崟")) {// 涓嶆帓闄よˉ鍗曠殑鎯呭喌
+
+                        } else {
+                            orderList.remove(i);
+                            i--;
+                            break;
+                        }
+                    } else {
+                        orderList.remove(i);
+                        i--;
+                    }
+                }
+            }
+
+        try {
+            taoBaoOrderService.addTaoBaoOrderList(orderList);
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+
+        try {
+            Map<String, List<TaoBaoOrder>> map = TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList);
+            if (map != null) {
+                Iterator<String> its = map.keySet().iterator();
+                while (its.hasNext()) {
+                    String key = its.next();
+                    String redisKey = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, key);
+                    // redis鍋氶鐜囬檺鍒�
+                    try {
+                        if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(redisKey))) {
+                            continue;
+                        }
+
+                    } catch (Exception e) {
+
+                    }
+
+                    rabbitmqManager.addTaoBaoOrderMsg(key);
+
+                    try {
+                        // 6灏忔椂鍐呬笉鍐嶅鐞�
+                        redisManager.cacheCommonString(redisKey, "1", 60 * 60 * 6);
+                    } catch (Exception e) {
+
+                    }
+                }
+            }
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+    }
+
+    private void doTaoBaoWeiQuanOrder(int day) {
+
+        for (int i = 0; i < day; i++) {
+            List<TaoBaoWeiQuanOrder> orderList = new ArrayList<>();
+
+            // 鎸夌収缁存潈鍙戣捣鏃堕棿鏌ヨ
+            WeiQuanOrderResult result = TaoKeOrderApiUtil
+                    .getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                            TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                            "yyyy-MM-dd")), 1, 1, false);
+            orderList.addAll(result.orderList);
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 1, 1, true);
+            orderList.addAll(result.orderList);
+
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 1, 1, false);
+            orderList.addAll(result.orderList);
+
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 1, 1, true);
+            orderList.addAll(result.orderList);
+
+            /**
+             * 鎸夌収缁存潈瀹屾垚鏃堕棿鏌ヨ
+             */
+
+            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, false);
+            orderList.addAll(result.orderList);
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoSpecialWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, true);
+            orderList.addAll(result.orderList);
+
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, false);
+            orderList.addAll(result.orderList);
+
+            // 绗笁鏂�
+            result = TaoKeOrderApiUtil.getTaoBaoRelationWeiQuanOrderList(new Date(TimeUtil.convertToTimeTemp(
+                    TimeUtil.getGernalTime(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * i, "yyyy-MM-dd"),
+                    "yyyy-MM-dd")), 3, 1, true);
+            orderList.addAll(result.orderList);
+
+            for (TaoBaoWeiQuanOrder order : orderList)
+                taoBaoWeiQuanOrderService.addWeiQuanOrder(order);// 娣诲姞缁存潈璁㈠崟鍒版暟鎹簱
+            // 澶勭悊缁存潈璁㈠崟
+            orderProcessService.weiQuanOrder(orderList);
+        }
+
+    }
+
+    public void updateLocalTaoBaoOrder(Long startTime, Long endTime, int page, int count) {
+        List<TaoBaoOrder> list = taoBaoOrderService.listBySettlementTime(startTime, endTime, page, count);
+        Set<String> orderIds = new HashSet<>();
+        for (TaoBaoOrder co : list) {
+            orderIds.add(co.getOrderId());
+        }
+        for (Iterator<String> its = orderIds.iterator(); its.hasNext(); ) {
+            String orderId = its.next();
+            // 鏌ヨ鏄惁鏈夊浜庤鍗曚粯娆剧姸鎬佺殑鍗�
+            List<CommonOrder> commonOrderList = commonOrderService
+                    .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, orderId);
+            boolean update = false;
+            if (commonOrderList != null)
+                for (CommonOrder co : commonOrderList) {
+                    if (co.getState() == CommonOrder.STATE_FK && co.getPayment().compareTo(new BigDecimal(0)) > 0) {
+                        update = true;
+                        break;
+                    }
+                }
+            if (update) {
+                List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+                Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
+                orders.put(orderId, orderList);
+                orderProcessService.processOrder(orders);
+            }
+        }
+    }
+
+    @XxlJob("updateTaoBaoCommonOrderHandler")
+    public ReturnT<String> updateTaoBaoCommonOrder(String param) throws Exception {
+        if ("1".equalsIgnoreCase(param)) {// 鏇存柊杩�20鍒嗛挓鍐呯殑鍗�
+            pullLatestCommonOrder();
+        } else if ("1day".equalsIgnoreCase(param)) {// 鐖彇鏈�杩�1澶╃殑璁㈠崟(30鍒嗛挓涓�娆�)
+            pullLatestDayCommonOrder();
+        } else if ("3day".equalsIgnoreCase(param)) {
+            pullLatest3DayCommonOrder();
+        }
+        return ReturnT.SUCCESS;
+    }
+
+
+    /**
+     * 澶勭悊娣樺疂璁㈠崟
+     *
+     * @param param 璁㈠崟鍙�
+     * @return
+     * @throws Exception
+     */
+    @XxlJob("processTaoBaoOrder")
+    public ReturnT<String> processTaoBaoOrder(String param) throws Exception {
+        String[] orderIds = param.split(",");
+        if (orderIds == null || orderIds.length == 0)
+            throw new Exception("璁㈠崟涓嶅瓨鍦�");
+
+        for (String orderId : orderIds) {
+            List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(orderId);
+            if (orderList == null || orderList.size() == 0)
+                continue;
+            orderProcessService.processOrder(TaoBaoOrderUtil.classifyTaoBaoOrderByOrderId(orderList));
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    // 娣樺疂鎺ㄥ箍璁㈠崟 姣忛殧1鍒嗘墽琛屼竴娆�
+    private void pullLatestCommonOrder() {
+        LogHelper.job("pullLatestCommonOrder");
+        Date systemDate =new Date(); //TaoKeApiUtil.getTaoBaoSystemTime();
+        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
+        updateOrder(endTime - 1000 * 60 * 20L, endTime);
+    }
+
+    // 鐖彇鏈�杩戜竴澶╃殑甯歌璁㈠崟锛�30鍒嗛挓涓�娆★級
+    private void pullLatestDayCommonOrder() {
+        LogHelper.job("pullLatestCommonOrder");
+        Date systemDate = new Date();//TaoKeApiUtil.getTaoBaoSystemTime();
+        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
+        updateOrder(endTime - 1000 * 60 * 60 * 24L, endTime);
+    }
+
+    // 鐖彇鏈�杩戜笁澶╃殑甯歌璁㈠崟锛�6涓皬鏃朵竴娆★級
+    private void pullLatest3DayCommonOrder() {
+        LogHelper.job("pullLatestCommonOrder");
+        Date systemDate = new Date();//TaoKeApiUtil.getTaoBaoSystemTime();
+        long endTime = systemDate != null ? systemDate.getTime() : System.currentTimeMillis();
+        updateOrder(endTime - 1000 * 60 * 60 * 24 * 3L, endTime);
+    }
+
+    // 5鍒嗛挓鎵ц涓�娆�
+    @XxlJob("ownBuyFanLiHandler")
+    public ReturnT<String> ownBuyFanLi(String param) throws Exception {
+        LogHelper.job("澶勭悊杩斿埄鍒拌处鍓嶇疆");
+        try {
+            doTaoBaoWeiQuanOrder(2);
+        } catch (Exception e) {
+            LogHelper.errorDetailInfo(e);
+        }
+        LogHelper.job("寮�濮嬪鐞嗚繑鍒�");
+        orderProcessService.fanli();
+        return ReturnT.SUCCESS;
+    }
+
+    @XxlJob("taoBaoWeiQuanOrderHandler")
+    public ReturnT<String> doTaoBaoWeiQuan(String param) throws Exception {
+        LogHelper.job("缁存潈璁㈠崟鐖彇");
+        doTaoBaoWeiQuanOrder(5);
+        return ReturnT.SUCCESS;
+    }
+
+    // 澶勭悊鎵惧洖璁㈠崟
+    @XxlJob("doLostOrderHandler")
+    public ReturnT<String> doLostOrder(String param) throws Exception {
+        if ("fail".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+            doFailLostOrder();
+        } else if ("success".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
+            addLostOrder();
+        }
+        return ReturnT.SUCCESS;
+    }
+
+    // 澶勭悊璁㈠崟鎵惧洖澶辫触鐨勬儏鍐� 姣�6涓皬鏃舵墽琛屼竴娆�
+    private void doFailLostOrder() {
+        LogHelper.job("澶勭悊涓㈠け璁㈠崟鑷姩鎵惧洖澶辫触鐨勬儏鍐�");
+        lostOrderService.processFail();
+    }
+
+    // 姣�2鍒嗛挓鎵ц涓�娆�
+    private void addLostOrder() {
+        LogHelper.job("澶勭悊涓㈠け璁㈠崟");
+        List<LostOrder> list = lostOrderService.listByStateAndResultCode(LostOrder.STATE_PASS,
+                LostOrder.RESULT_CODE_VERFING, 1, 50);
+        if (list != null)
+            for (LostOrder lo : list) {
+                List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderService.getTaoBaoOrderByOrderId(lo.getOrderId());
+                // 娓呴櫎棰戠巼闄愬埗
+                if (taoBaoOrderList != null && taoBaoOrderList.size() > 0) {
+                    String key = RedisKeyEnum.getRedisKey(RedisKeyEnum.addOrderQueue, lo.getOrderId());
+
+                    redisManager.removeCommonString(key);
+                    addOrder(taoBaoOrderList);
+                    LogHelper.test("鑷姩澶勭悊娣樺疂璁㈠崟:" + lo.getOrderId());
+                }
+            }
+    }
+
+    // 澶勭悊娣樺疂鏈湴璁㈠崟
+    @XxlJob("doLocalTaoBaoOrder")
+    public ReturnT<String> updatePDDOrder(String param) throws Exception {
+        if ("1".equalsIgnoreCase(param)) {// 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+            doLatestLocalTaoBaoOrder();
+        } else if ("5day".equalsIgnoreCase(param)) {// 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
+            doLatest5DayLocalTaoBaoOrder();
+        }
+        return ReturnT.SUCCESS;
+    }
+
+
+    @XxlJob("order-updateTaoBaoOrderByOrderId")
+    public ReturnT<String> updateTaoBaoOrderByOrderId(String param) throws Exception {
+        List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(param);
+        Map<String, List<TaoBaoOrder>> orders = new HashMap<>();
+        orders.put(param, orderList);
+        orderProcessService.processOrder(orders);
+        return ReturnT.SUCCESS;
+    }
+
+
+    /**
+     * 鏇存柊鏈�杩戠殑鏈湴鍗�(30鍒嗛挓鏇存柊涓�娆�)
+     */
+    private void doLatestLocalTaoBaoOrder() {
+        Long endTime = System.currentTimeMillis() - 1000 * 60 * 10L;
+        Long startTime = endTime - 1000 * 60 * 60 * 12L;
+        updateLocalTaoBaoOrder(startTime, endTime, 1, 2000);
+    }
+
+    /**
+     * 澶勭悊鏈�杩�5澶╃殑鏈湴璁㈠崟
+     */
+    private void doLatest5DayLocalTaoBaoOrder() {
+        LogHelper.job("doLatest5DayLocalTaoBaoOrder");
+        Long endTime = System.currentTimeMillis() - 1000 * 60 * 60 * 12L;
+        Long startTime = endTime - 1000 * 60 * 60 * 24 * 5L;
+        long count = taoBaoOrderService.countBySettlementTime(startTime, endTime);
+        int pageSize = 100;
+        long page = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
+        for (int i = 0; i < page; i++) {
+            updateLocalTaoBaoOrder(startTime, endTime, i + 1, pageSize);
+        }
+    }
+
+    // 娣樺疂鍟嗗璺戣矾璁㈠崟 姣忔湀25鍙�12鐐瑰鐞嗕笂鏈堢殑
+    @XxlJob("doTaoBaoSellerNotPayOrderHandler")
+    public ReturnT<String> doSellerNotPayOrder(String param) throws Exception {
+        LogHelper.job("doSellerNotPayOrder");
+        Calendar calender = Calendar.getInstance();
+        long endTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
+                "yyyy-MM");
+        calender.add(Calendar.MONTH, -1);
+        long startTime = TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(calender.getTimeInMillis(), "yyyy-MM"),
+                "yyyy-MM");
+        // 鍟嗗鏈粯娆�
+        List<TaoBaoOrder> orderList = taoBaoOrderService.listByStateAndCreateTime("璁㈠崟鎴愬姛", new Date(startTime),
+                new Date(endTime));
+
+        if (orderList != null)
+            for (TaoBaoOrder order : orderList)
+                try {
+                    orderProcessService.doTaoBaoSellerNotPaid(order);
+                } catch (Exception e) {
+                    LogHelper.errorDetailInfo(e);
+                }
+        return ReturnT.SUCCESS;
+    }
+
+}

--
Gitblit v1.8.0