admin
2019-08-14 112436917d4803faace2241bee0f8ef27e12f269
维权订单精简
3个文件已修改
1个文件已添加
132 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dto/taobao/TaoBaoOrderResultDTO.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/taobao/TaoBaoOrderResultDTO.java
New file
@@ -0,0 +1,51 @@
package com.yeshi.fanli.dto.taobao;
import java.util.List;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
public class TaoBaoOrderResultDTO {
    private boolean hasNext;
    private boolean hasPre;
    private String positionIndex;
    private List<TaoBaoOrder> orderList;
    public TaoBaoOrderResultDTO(boolean hasNext, boolean hasPre, String positionIndex, List<TaoBaoOrder> orderList) {
        this.hasNext = hasNext;
        this.hasPre = hasPre;
        this.positionIndex = positionIndex;
        this.orderList = orderList;
    }
    public boolean isHasNext() {
        return hasNext;
    }
    public void setHasNext(boolean hasNext) {
        this.hasNext = hasNext;
    }
    public boolean isHasPre() {
        return hasPre;
    }
    public void setHasPre(boolean hasPre) {
        this.hasPre = hasPre;
    }
    public String getPositionIndex() {
        return positionIndex;
    }
    public void setPositionIndex(String positionIndex) {
        this.positionIndex = positionIndex;
    }
    public List<TaoBaoOrder> getOrderList() {
        return orderList;
    }
    public void setOrderList(List<TaoBaoOrder> orderList) {
        this.orderList = orderList;
    }
}
fanli/src/main/java/com/yeshi/fanli/job/order/taobao/UpdateOrderJob.java
@@ -363,7 +363,6 @@
        if (!Constant.IS_TASK)
            return;
        long endTime = System.currentTimeMillis() - 1000 * 60;
        ;
        updateOrder(endTime - 1000 * 60 * 20L, endTime);
    }
@@ -372,8 +371,7 @@
    public void doJob2() {
        if (!Constant.IS_TASK)
            return;
        doTaoBaoWeiQuan();
        doTaoBaoWeiQuanOrder(2);
        orderProcessService.fanli();
    }
@@ -385,34 +383,57 @@
        orderProcessService.fanliInvaiteAndShare();
    }
    // 维权订单处理-处理最近60天的
    // 30分钟一次
    @Scheduled(cron = "0 0/30 * * * ? ")
    public void doTaoBaoWeiQuan() {
        if (!Constant.IS_TASK)
            return;
        // 新版维权订单处理
        for (int i = 0; i < 60; i++) {
    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, false);
                            "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")), 1, true);
                    "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")), 1, false);
                    "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")), 1, true);
                    "yyyy-MM-dd")), 3, 1, true);
            orderList.addAll(result.orderList);
            for (TaoBaoWeiQuanOrder order : orderList)
@@ -420,6 +441,16 @@
            // 处理维权订单
            orderProcessService.weiQuanOrder(orderList);
        }
    }
    // 维权订单处理-处理最近60天的
    // 30分钟一次
    @Scheduled(cron = "0 0/30 * * * ? ")
    public void doTaoBaoWeiQuan() {
        if (!Constant.IS_TASK)
            return;
        doTaoBaoWeiQuanOrder(5);
    }
    // 每6个小时执行一次
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -16,6 +16,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.yeshi.utils.NumberUtil;
import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
@@ -227,6 +228,7 @@
    @Override
    public void fanli() {
        LogHelper.test("处理返利到账");
        // 获取主红包
        List<HongBaoV2> hongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByType(HongBaoV2.TYPE_ZIGOU, 1000);
        //
@@ -973,7 +975,7 @@
            return;
        String uidStr = order.getExt1();
        Long uid = null;
        if (!StringUtil.isNullOrEmpty(uidStr))
        if (!StringUtil.isNullOrEmpty(uidStr) && NumberUtil.isNumeric(uidStr))
            uid = Long.parseLong(uidStr);
        Long positionId = order.getOrderItemList().get(0).getPositionId();
        if (positionId == JDApiUtil.POSITION_FANLI)// 返利订单
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -619,18 +619,20 @@
        return orderList;
    }
    public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int page, boolean third) {
    public static WeiQuanOrderResult getTaoBaoRelationWeiQuanOrderList(Date startTime, int searchType, int page,
            boolean third) {
        return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 1);
        return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 1);
    }
    public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int page, boolean third) {
    public static WeiQuanOrderResult getTaoBaoSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
            boolean third) {
        return getRelationAndSpecialWeiQuanOrderList(startTime, page, third, 2);
        return getRelationAndSpecialWeiQuanOrderList(startTime, searchType, page, third, 2);
    }
    private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int page, boolean third,
            int bizType) {
    private static WeiQuanOrderResult getRelationAndSpecialWeiQuanOrderList(Date startTime, int searchType, int page,
            boolean third, int bizType) {
        WeiQuanOrderResult finalResult = new WeiQuanOrderResult();
        List<TaoBaoWeiQuanOrder> list = new ArrayList<>();
@@ -639,7 +641,7 @@
        map.put("method", "taobao.tbk.relation.refund");
        JSONObject option = new JSONObject();
        option.put("search_type", 2);
        option.put("search_type", searchType);
        option.put("refund_type", third ? 2 : 1);
        option.put("start_time", TimeUtil.getGernalTime(startTime.getTime(), "yyyy-MM-dd HH:mm:ss"));
        option.put("page_no", page);