From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 六月 2020 19:26:26 +0800 Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复 --- fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 161 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java index 5144686..5553bbf 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/goods/CommonOrderFactory.java @@ -6,8 +6,14 @@ import com.yeshi.fanli.entity.jd.JDOrderItem; import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.pdd.PDDOrder; +import com.yeshi.fanli.entity.suning.SuningOrderInfo; +import com.yeshi.fanli.entity.taobao.TaoBaoOrder; +import com.yeshi.fanli.entity.vipshop.VipShopOrderDetail; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.taobao.TaoBaoUtil; public class CommonOrderFactory { @@ -15,16 +21,23 @@ CommonOrder commonOrder = new CommonOrder(); commonOrder.setCount(order.getGoodsQuantity()); commonOrder.setCreateTime(new Date()); - if (order.getOrderStatus() == 3) { + if (order.getOrderStatus() == 3) {// 瀹℃牳閫氳繃 commonOrder.seteIncome( MoneyBigDecimalUtil.div(new BigDecimal(order.getPromotionAmount()), new BigDecimal(100))); commonOrder.setSettlement( MoneyBigDecimalUtil.div(new BigDecimal(order.getOrderAmount()), new BigDecimal(100)));// 缁撶畻閲戦 commonOrder.setSettleTime(new Date(order.getOrderVerifyTime() * 1000)); + } else if (order.getOrderStatus() == 2) {// 纭鏀惰揣褰掍负瀹℃牳閫氳繃 + commonOrder.seteIncome( + MoneyBigDecimalUtil.div(new BigDecimal(order.getPromotionAmount()), new BigDecimal(100))); + commonOrder.setSettlement( + MoneyBigDecimalUtil.div(new BigDecimal(order.getOrderAmount()), new BigDecimal(100)));// 缁撶畻閲戦 + commonOrder.setSettleTime(new Date(order.getOrderReceiveTime() * 1000)); } else { commonOrder.seteIncome(new BigDecimal(0)); commonOrder.setSettlement(new BigDecimal(0)); } + commonOrder .setEstimate(MoneyBigDecimalUtil.div(new BigDecimal(order.getPromotionAmount()), new BigDecimal(100))); commonOrder.setOrderNo(order.getOrderSn()); @@ -39,12 +52,15 @@ state = CommonOrder.STATE_FK; } else if (1 == order.getOrderStatus()) { state = CommonOrder.STATE_FK; - } else if (2 == order.getOrderStatus()) { - state = CommonOrder.STATE_FK; + } else if (2 == order.getOrderStatus()) {// 纭鏀惰揣 + state = CommonOrder.STATE_JS; } else if (3 == order.getOrderStatus()) { state = CommonOrder.STATE_FK; } else if (4 == order.getOrderStatus()) { - state = CommonOrder.STATE_WQ; + if (order.getOrderReceiveTime() == null || order.getOrderReceiveTime() == 0) + state = CommonOrder.STATE_SX; + else + state = CommonOrder.STATE_WQ; } else if (5 == order.getOrderStatus()) { state = CommonOrder.STATE_JS; } else if (8 == order.getOrderStatus()) { @@ -55,6 +71,7 @@ commonOrder.setThirdCreateTime(new Date(order.getOrderCreateTime() * 1000)); commonOrder.setUpdateTime(new Date()); commonOrder.setTradeId(order.getOrderId()); + commonOrder.setChildSourceType("鎷煎澶�"); return commonOrder; } @@ -79,6 +96,26 @@ int state = 0; if (order.getValidCode() < 16) { state = CommonOrder.STATE_SX; + String stateDesc = null; + if (order.getValidCode() == 4) + stateDesc = "浜笢甯富璁㈠崟"; + else if (order.getValidCode() == 5) + stateDesc = "璐﹀彿寮傚父"; + else if (order.getValidCode() == 6) + stateDesc = "璧犲搧绫荤洰"; + else if (order.getValidCode() == 7) + stateDesc = "鏍″洯璁㈠崟"; + else if (order.getValidCode() == 8) + stateDesc = "浼佷笟璁㈠崟"; + else if (order.getValidCode() == 9) + stateDesc = "鍥㈣喘璁㈠崟"; + else if (order.getValidCode() == 10) + stateDesc = "涓撶敤鍙戠エ"; + else if (order.getValidCode() == 11) + stateDesc = "涔℃潙鎺ㄥ箍鍛�"; + else if (order.getValidCode() == 13) + stateDesc = "杩濊璁㈠崟"; + commonOrder.setStateDesc(stateDesc); } else if (order.getValidCode() == 16) { state = CommonOrder.STATE_FK; } else if (order.getValidCode() == 17) { @@ -90,7 +127,127 @@ commonOrder.setUpdateTime(new Date()); commonOrder.setTradeId(order.getTradeId()); commonOrder.setEstimate(order.getEstimateFee()); + commonOrder.setChildSourceType("浜笢"); return commonOrder; } + public static CommonOrder create(TaoBaoOrder taoBaoOrder) { + CommonOrder commonOrder = new CommonOrder(); + commonOrder.setCount(taoBaoOrder.getCount()); + commonOrder.setCreateTime(new Date()); + + // 濡傛灉relationId涓嶄负绌� + + if (taoBaoOrder.geteIncome() != null && taoBaoOrder.getSubsidy() != null) + commonOrder.seteIncome(taoBaoOrder.geteIncome().add(taoBaoOrder.getSubsidy())); + else + commonOrder.seteIncome(taoBaoOrder.geteIncome()); + commonOrder.setEstimate(taoBaoOrder.getEstimate()); + + commonOrder.setOrderNo(taoBaoOrder.getOrderId()); + commonOrder.setPayment(taoBaoOrder.getPayment()); + commonOrder.setSettlement(taoBaoOrder.getSettlement()); + if (!StringUtil.isNullOrEmpty(taoBaoOrder.getSettlementTime())) + commonOrder.setSettleTime( + new Date(TimeUtil.convertToTimeTemp(taoBaoOrder.getSettlementTime(), "yyyy-MM-dd HH:mm:ss"))); + commonOrder.setSourcePosition(String.format("mm_%s_%s_%s", "124933865", taoBaoOrder.getSourceMediaId(), + taoBaoOrder.getAdPositionId())); + commonOrder.setSourceType(Constant.SOURCE_TYPE_TAOBAO); + int state = 0; + if ("璁㈠崟浠樻".equalsIgnoreCase(taoBaoOrder.getOrderState())) { + state = CommonOrder.STATE_FK; + } else if ("璁㈠崟鎴愬姛".equalsIgnoreCase(taoBaoOrder.getOrderState())) { + state = CommonOrder.STATE_FK; + } else if ("璁㈠崟澶辨晥".equalsIgnoreCase(taoBaoOrder.getOrderState())) { + state = CommonOrder.STATE_SX; + } else if ("璁㈠崟缁撶畻".equalsIgnoreCase(taoBaoOrder.getOrderState())) { + state = CommonOrder.STATE_JS; + } + commonOrder.setOrderBy(taoBaoOrder.getOrderBy()); + commonOrder.setState(state); + commonOrder.setThirdCreateTime( + new Date(TimeUtil.convertToTimeTemp(taoBaoOrder.getCreateTime(), "yyyy-MM-dd HH:mm:ss"))); + commonOrder.setUpdateTime(new Date()); + commonOrder.setTradeId(taoBaoOrder.getTradeId()); + commonOrder.setChildSourceType(taoBaoOrder.getOrderType()); + + if (!StringUtil.isNullOrEmpty(taoBaoOrder.getRelationId())) { + commonOrder.setEstimate( + TaoBaoUtil.getCanShareMoney(commonOrder.getThirdCreateTime(), commonOrder.getEstimate())); + commonOrder.seteIncome( + TaoBaoUtil.getCanShareMoney(commonOrder.getThirdCreateTime(), commonOrder.geteIncome())); + } + + return commonOrder; + } + + public static CommonOrder create(VipShopOrderDetail order) { + if (order.getOrder() == null) + return null; + CommonOrder commonOrder = new CommonOrder(); + commonOrder.setCount(order.getGoodsCount()); + commonOrder.setCreateTime(new Date()); + if (order.getStatus() == VipShopOrderDetail.STATUS_FINISH) { + commonOrder.seteIncome(order.getCommission()); + commonOrder.setSettlement(order.getCommissionTotalCost()); + commonOrder.setSettleTime(new Date(order.getOrder().getCommissionEnterTime())); + } + commonOrder.setOrderNo(order.getOrderSn() + ""); + commonOrder.setPayment(order.getCommissionTotalCost()); + commonOrder.setSourcePosition(order.getOrder().getChannelTag()); + commonOrder.setSourceType(Constant.SOURCE_TYPE_VIP); + int state = 0; + if (order.getStatus() == VipShopOrderDetail.STATUS_FINISH) + state = CommonOrder.STATE_JS; + else if (order.getStatus() == VipShopOrderDetail.STATUS_INVALID) + state = CommonOrder.STATE_SX; + else if (order.getStatus() == VipShopOrderDetail.STATUS_UNKOWN) + state = CommonOrder.STATE_FK; + + commonOrder.setOrderBy(1); + commonOrder.setState(state); + commonOrder.setThirdCreateTime(new Date(order.getOrder().getOrderTime())); + commonOrder.setUpdateTime(new Date()); + commonOrder.setTradeId(order.getIdentifyCode()); + commonOrder.setEstimate(order.getCommission()); + commonOrder.setChildSourceType("鍞搧浼�"); + return commonOrder; + } + + public static CommonOrder create(SuningOrderInfo order) { + CommonOrder commonOrder = new CommonOrder(); + commonOrder.setCount(Integer.parseInt(order.getSaleNum())); + commonOrder.setCreateTime(new Date()); + if ("纭鏀惰揣".equalsIgnoreCase(order.getOrderLineStatusDesc())) { + commonOrder.seteIncome(new BigDecimal(order.getPrePayCommission())); + commonOrder.setSettlement(new BigDecimal(order.getPayAmount())); + commonOrder.setSettleTime( + new Date(TimeUtil.convertToTimeTemp(order.getOrderLineStatusChangeTime(), "yyyy-MM-dd HH:mm:ss"))); + } + commonOrder.setOrderNo(order.getOrderCode() + ""); + commonOrder.setPayment(new BigDecimal(order.getPayAmount())); + commonOrder.setSourcePosition(order.getPositionId()); + commonOrder.setSourceType(Constant.SOURCE_TYPE_SUNING); + int state = 0; + if ("绛夊緟浠樻".equalsIgnoreCase(order.getOrderLineStatusDesc())) + state = CommonOrder.STATE_FK; + else if ("鏀粯瀹屾垚".equalsIgnoreCase(order.getOrderLineStatusDesc())) + state = CommonOrder.STATE_FK; + else if ("閫�娆�".equalsIgnoreCase(order.getOrderLineStatusDesc())) + state = CommonOrder.STATE_SX; + else if ("璁㈠崟宸插彇娑�".equalsIgnoreCase(order.getOrderLineStatusDesc())) + state = CommonOrder.STATE_SX; + else if ("纭鏀惰揣".equalsIgnoreCase(order.getOrderLineStatusDesc())) + state = CommonOrder.STATE_JS; + + commonOrder.setOrderBy(1); + commonOrder.setState(state); + commonOrder.setThirdCreateTime( + new Date(TimeUtil.convertToTimeTemp(order.getOrderSubmitTime(), "yyyy-MM-dd HH:mm:ss"))); + commonOrder.setUpdateTime(new Date()); + commonOrder.setTradeId(order.getOrderLineNumber()); + commonOrder.setEstimate(new BigDecimal(order.getPrePayCommission())); + commonOrder.setChildSourceType("鑻忓畞"); + return commonOrder; + } } -- Gitblit v1.8.0