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