From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/util/factory/order/dividents/TeamDividentsSourceOrderFactory.java | 49 ++++++++++++++++++++++++++----------------------- 1 files changed, 26 insertions(+), 23 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/factory/order/dividents/TeamDividentsSourceOrderFactory.java b/fanli/src/main/java/com/yeshi/fanli/util/factory/order/dividents/TeamDividentsSourceOrderFactory.java index 2fe05ad..c8a739a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/factory/order/dividents/TeamDividentsSourceOrderFactory.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/factory/order/dividents/TeamDividentsSourceOrderFactory.java @@ -5,45 +5,48 @@ import java.util.Date; import java.util.List; -import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.dividents.TeamDividentsSourceOrder; -import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.TimeUtil; +import com.yeshi.fanli.util.order.CommonOrderUtil; public class TeamDividentsSourceOrderFactory { - public static TeamDividentsSourceOrder create(List<CommonOrder> commonOrderList, - BigDecimal rate) { - BigDecimal money = new BigDecimal(0); - int invalidCount = 0; - for (CommonOrder commonOrder : commonOrderList) { - if (commonOrder.geteIncome() != null) - money = money.add(commonOrder.geteIncome()); + public static TeamDividentsSourceOrder create(List<CommonOrder> commonOrderList) { + BigDecimal money = null; + int orderState = CommonOrderUtil.getState(commonOrderList); + if (orderState == CommonOrder.STATE_SX) + return null; - if (commonOrder.getState() == CommonOrder.STATE_SX) - invalidCount++; + if (orderState == CommonOrder.STATE_FK) { + money = CommonOrderUtil.computeEstimate(commonOrderList); + } else { + money = CommonOrderUtil.computeIncome(commonOrderList); } if (money.compareTo(new BigDecimal(0)) <= 0) return null; - if (invalidCount >= commonOrderList.size()) - return null; - - BigDecimal dividents = MoneyBigDecimalUtil.div(money.multiply(rate), new BigDecimal(100)); TeamDividentsSourceOrder sourceOrder = new TeamDividentsSourceOrder(); - sourceOrder.setMoney(dividents); + sourceOrder.setMoney(money); sourceOrder.setOrderNo(commonOrderList.get(0).getOrderNo()); sourceOrder.setSourceType(commonOrderList.get(0).getSourceType()); - sourceOrder.setState(TeamDividentsSourceOrder.STATE_CAN_SEND); - sourceOrder.setUid(commonOrderList.get(0).getUserInfo().getId()); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(commonOrderList.get(0).getSettleTime()); - calendar.add(Calendar.MONTH, 1); - sourceOrder.setPreSendTime(new Date(TimeUtil.convertToTimeTemp( - calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd"))); + if (orderState == CommonOrder.STATE_JS || orderState == CommonOrder.STATE_WQ) { + sourceOrder.setState(TeamDividentsSourceOrder.STATE_CAN_SEND); + Date settlementTime = CommonOrderUtil.getSettlementTime(commonOrderList); + if (settlementTime == null) + return null; + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(settlementTime); + calendar.add(Calendar.MONTH, 1); + sourceOrder.setPreSendTime(new Date(TimeUtil.convertToTimeTemp( + calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd"))); + } else { + sourceOrder.setState(TeamDividentsSourceOrder.STATE_UNKOWN); + } + sourceOrder.setUid(commonOrderList.get(0).getUserInfo().getId()); return sourceOrder; } -- Gitblit v1.8.0