admin
2021-09-13 8ce7c720e4e7a604b0ff770349b5556f39d37759
fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -1317,6 +1317,30 @@
        return commonOrderList;
    }
    private boolean needUpdateCommonOrder(CommonOrder oldCommonOrder, CommonOrder newCommonOrder) {
        // 非京东已经结算,已经失效,状态未改变的订单不处理
        if ((oldCommonOrder.getState() == CommonOrder.STATE_JS
                && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD)
                || oldCommonOrder.getState() == CommonOrder.STATE_SX
                || oldCommonOrder.getState() == CommonOrder.STATE_WQ) {
            return false;
        }
        //状态相同且付款金额,结算金额一致时才不需要更新
        if (oldCommonOrder.getState().intValue() == newCommonOrder.getState()) {
            if (oldCommonOrder.getPayment().compareTo(newCommonOrder.getPayment()) == 0) {
                if (oldCommonOrder.getSettlement() == null && newCommonOrder.getSettlement() == null) {
                    return false;
                } else if (oldCommonOrder.getSettlement() != null && newCommonOrder.getSettlement() != null && oldCommonOrder.getSettlement().compareTo(newCommonOrder.getSettlement()) == 0) {
                    return false;
                }
            }
        }
        return true;
    }
    /**
     * 添加订单
     *
@@ -1378,12 +1402,8 @@
                    commonOrder.getTradeId(), new Date(), commonOrder.getSourceType()));
            return new CommonOrderAddResultDTO(commonOrder, CommonOrderAddResultDTO.TYPE_ADD);
        } else {// 修改
            // 非京东已经结算,已经失效,状态未改变的订单不处理
            if ((oldCommonOrder.getState() == CommonOrder.STATE_JS
                    && oldCommonOrder.getSourceType() != Constant.SOURCE_TYPE_JD)
                    || oldCommonOrder.getState() == CommonOrder.STATE_SX
                    || oldCommonOrder.getState() == CommonOrder.STATE_WQ
                    || (oldCommonOrder.getState().intValue() == commonOrder.getState()&&oldCommonOrder.getPayment().compareTo(commonOrder.getPayment())==0)) {
            if (!needUpdateCommonOrder(oldCommonOrder, commonOrder)) {
                return new CommonOrderAddResultDTO(oldCommonOrder, CommonOrderAddResultDTO.TYPE_NOUPDATE);
            }
            // 交易ID一致才修改