admin
2022-01-11 d1d0b4b9f4452fb6e9b6e39168f503d5b302c999
fanli/src/main/java/com/yeshi/fanli/job/order/vipshop/UpdateVipShopOrderJob.java
@@ -1,12 +1,12 @@
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.entity.order.CommonOrder;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.vipshop.DingDanXiaApiUtil;
import org.springframework.stereotype.Component;
@@ -97,15 +97,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 +121,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, null, new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24L * 10));
        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;
    }