package com.yeshi.fanli.util.factory.goods;
|
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.util.Date;
|
|
import com.yeshi.fanli.entity.dy.DYOrder;
|
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 org.yeshi.utils.MoneyBigDecimalUtil;
|
import com.yeshi.fanli.util.StringUtil;
|
import org.yeshi.utils.TimeUtil;
|
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
|
|
public class CommonOrderFactory {
|
|
public static CommonOrder create(PDDOrder order) {
|
CommonOrder commonOrder = new CommonOrder();
|
commonOrder.setCount(order.getGoodsQuantity());
|
commonOrder.setCreateTime(new Date());
|
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());
|
commonOrder.setPayment(MoneyBigDecimalUtil.div(new BigDecimal(order.getOrderAmount()), new BigDecimal(100)));
|
commonOrder.setSourcePosition(order.getpId());
|
commonOrder.setSourceType(Constant.SOURCE_TYPE_PDD);
|
int state = 0;
|
|
if (-1 == order.getOrderStatus()) {
|
state = CommonOrder.STATE_SX;
|
} else if (0 == order.getOrderStatus()) {
|
state = CommonOrder.STATE_FK;
|
} else if (1 == 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()) {
|
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()) {
|
state = CommonOrder.STATE_SX;
|
}
|
commonOrder.setOrderBy(1);
|
commonOrder.setState(state);
|
commonOrder.setThirdCreateTime(new Date(order.getOrderCreateTime() * 1000));
|
commonOrder.setUpdateTime(new Date());
|
commonOrder.setTradeId(order.getOrderId());
|
commonOrder.setChildSourceType("拼多多");
|
return commonOrder;
|
}
|
|
public static CommonOrder create(JDOrderItem order) {
|
if (order.getOrder() == null)
|
return null;
|
CommonOrder commonOrder = new CommonOrder();
|
commonOrder.setCount(Integer.parseInt(order.getSkuNum() + ""));
|
commonOrder.setCreateTime(new Date());
|
if (order.getValidCode() == 17) {
|
commonOrder.seteIncome(order.getActualFee());
|
commonOrder.setSettlement(order.getActualCosPrice());
|
commonOrder.setSettleTime(new Date(order.getOrder().getFinishTime()));
|
} else {
|
commonOrder.seteIncome(order.getActualFee());
|
commonOrder.setSettlement(order.getActualCosPrice());
|
}
|
commonOrder.setOrderNo(order.getOrderId() + "");
|
commonOrder.setPayment(order.getEstimateCosPrice());
|
commonOrder.setSourcePosition(order.getPositionId() + "");
|
commonOrder.setSourceType(Constant.SOURCE_TYPE_JD);
|
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) {
|
state = CommonOrder.STATE_JS;
|
}
|
commonOrder.setOrderBy(order.getOrderBy());
|
commonOrder.setState(state);
|
commonOrder.setThirdCreateTime(new Date(order.getOrder().getOrderTime()));
|
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;
|
}
|
|
public static CommonOrder create(DYOrder order) {
|
CommonOrder commonOrder = new CommonOrder();
|
commonOrder.setCount(1);
|
commonOrder.setCreateTime(new Date());
|
if (order.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_SETTLE)) {
|
commonOrder.seteIncome(new BigDecimal(order.getEstimated_commission()).add(new BigDecimal(order.getEstimated_tech_service_fee())).divide(new BigDecimal(100), 2, RoundingMode.DOWN));
|
commonOrder.setSettlement(new BigDecimal(order.getPay_goods_amount()).divide(new BigDecimal(100), 2, RoundingMode.FLOOR));
|
commonOrder.setSettleTime(
|
new Date(TimeUtil.convertToTimeTemp(order.getSettle_time(), "yyyy-MM-dd HH:mm:ss")));
|
}
|
commonOrder.setOrderNo(order.getOrder_id());
|
commonOrder.setPayment(new BigDecimal(order.getTotal_pay_amount()).divide(new BigDecimal(100), 2, RoundingMode.FLOOR));
|
commonOrder.setSourcePosition(order.getApp_id());
|
commonOrder.setSourceType(Constant.SOURCE_TYPE_DY);
|
int state = 0;
|
|
//正常状态
|
if (order.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_SETTLE)) {
|
// 结算
|
state = CommonOrder.STATE_JS;
|
} else if (order.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_CONFIRM)) {
|
// 确认收货
|
state = CommonOrder.STATE_FK;
|
} else if (order.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_PAY_SUCCESS)) {
|
//支付成功
|
state = CommonOrder.STATE_FK;
|
} else if (order.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_REFUND)) {
|
//退款
|
state = CommonOrder.STATE_SX;
|
}
|
|
commonOrder.setOrderBy(1);
|
commonOrder.setState(state);
|
commonOrder.setThirdCreateTime(
|
new Date(TimeUtil.convertToTimeTemp(order.getPay_success_time(), "yyyy-MM-dd HH:mm:ss")));
|
commonOrder.setUpdateTime(new Date());
|
commonOrder.setTradeId(order.getOrder_id());
|
commonOrder.setEstimate(new BigDecimal(order.getEstimated_commission()).add(new BigDecimal(order.getEstimated_tech_service_fee())).divide(new BigDecimal(100), 2, RoundingMode.DOWN));
|
commonOrder.setChildSourceType("抖音");
|
return commonOrder;
|
}
|
|
}
|