From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 25 二月 2025 16:41:22 +0800
Subject: [PATCH] 淘宝转链接口更新

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java |  410 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 211 insertions(+), 199 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java
index 19ea228..92c28ca 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java
@@ -1,199 +1,211 @@
-package com.yeshi.fanli.service.manger.order;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Transactional;
-
-import com.yeshi.fanli.dto.order.UserTeamLevel;
-import com.yeshi.fanli.dto.order.UserTeamRate;
-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.entity.order.dividents.TeamDividentsSourceOrderUserMap;
-import com.yeshi.fanli.exception.ParamsException;
-import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException;
-import com.yeshi.fanli.service.inter.order.CommonOrderService;
-import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
-import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
-import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderUserMapService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.MoneyBigDecimalUtil;
-import com.yeshi.fanli.util.factory.order.dividents.TeamDividentsSourceOrderFactory;
-import com.yeshi.fanli.util.factory.order.dividents.TeamDividentsSourceOrderUserMapFactory;
-import com.yeshi.fanli.util.order.CommonOrderUtil;
-import com.yeshi.fanli.util.user.UserLevelUtil;
-
-/**
- * 鍥㈤槦鍒嗙孩鏉ユ簮绠$悊
- * @author Administrator
- *
- */
-@Component
-public class TeamDividentsSourceManager {
-
-	@Resource
-	private TeamDividentsSourceOrderService teamDividentsSourceOrderService;
-
-	@Resource
-	private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService;
-
-	@Resource
-	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
-
-	@Resource
-	private CommonOrderService commonOrderService;
-
-	/**
-	 * @throws ParamsException 
-	 * 娣诲姞鍒嗙孩婧�
-	 * @Title: addSource
-	 * @Description: 
-	 * @param commonOrderList
-	 * @param bossList 
-	 * void 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	@Transactional(rollbackFor = Exception.class)
-	public void addSource(List<CommonOrder> commonOrderList, List<UserTeamLevel> bossList)
-			throws TeamDividentsSourceOrderException, ParamsException {
-		if (commonOrderList.get(0).getThirdCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME)
-			return;
-
-		UserLevelEnum level = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank());
-		if (level == null)
-			level = UserLevelEnum.daRen;
-		TeamDividentsSourceOrder order = TeamDividentsSourceOrderFactory.create(commonOrderList);
-		if (order == null)
-			return;
-		try {
-			order = teamDividentsSourceOrderService.addTeamDividentsSourceOrder(order);
-		} catch (ParamsException e) {
-			throw new TeamDividentsSourceOrderException(101, "鍙傛暟涓嶅畬鏁�");
-		}
-
-		if (order == null || order.getId() == null) {
-			throw new TeamDividentsSourceOrderException(2, "娣诲姞婧愯鍗曞け璐�");
-		}
-
-		// 鑾峰彇婧愯鍗曞垎閰嶇殑鍒嗙孩鐢ㄦ埛ID鏁伴噺
-		long count = teamDividentsSourceOrderUserMapService.countBySourceOrderId(order.getId());
-		if (count > 0)// 宸插瓨鍦�
-			return;
-
-		// 璁$畻鍥㈤槦鍒嗙孩姣斾緥
-		List<UserTeamRate> rateList = orderHongBaoMoneyComputeService.getTeamDividentsRates(level, bossList);
-		if (rateList != null)
-			for (UserTeamRate rate : rateList) {
-				BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()),
-						new BigDecimal(100), 4);
-
-				TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order,
-						rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_TEAM_DIVIDENTS);
-				try {
-					teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map);
-				} catch (ParamsException e) {
-					throw new TeamDividentsSourceOrderException(201, "鍙傛暟涓嶅畬鏁�");
-				}
-			}
-		// 璁$畻浜岀骇澶栧垎绾㈡瘮渚�
-		rateList = orderHongBaoMoneyComputeService.getTeamRewardMoreThan2LevelRates(level, bossList);
-		if (rateList != null)
-			for (UserTeamRate rate : rateList) {
-				BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()),
-						new BigDecimal(100), 4);
-
-				TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order,
-						rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_MORE_THAN_2);
-				try {
-					teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map);
-				} catch (ParamsException e) {
-					throw new TeamDividentsSourceOrderException(301, "鍙傛暟涓嶅畬鏁�");
-				}
-			}
-	}
-
-	/**
-	 * 璁㈠崟澶辨晥
-	 * @Title: invalidBySourceOrderId
-	 * @Description: 
-	 * @param sourceOrderId 
-	 * void 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	@Transactional(rollbackFor = Exception.class)
-	public void invalidByOrder(String orderNo, int sourceType, String beiZhu) {
-		teamDividentsSourceOrderService.invalidOrder(orderNo, sourceType, beiZhu);
-		TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
-		if (order != null) {
-			teamDividentsSourceOrderUserMapService.invalidBySourceOrderId(order.getId());
-		}
-	}
-
-	/**
-	 * 璁㈠崟缁撶畻
-	 * @Title: orderSettle
-	 * @Description: 
-	 * @param sourceOrderId
-	 * @param income 
-	 * void 杩斿洖绫诲瀷
-	 * @throws
-	 */
-	@Transactional(rollbackFor = Exception.class)
-	public void orderSettle(String orderNo, int sourceType) {
-		TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
-		if (order != null) {
-			List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo);
-			if (commonOrderList == null)
-				return;
-
-			TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList);
-
-			if (newOrder == null || newOrder.getPreSendTime() == null)
-				return;
-
-			BigDecimal money = CommonOrderUtil.computeIncome(commonOrderList);
-			teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money);
-			teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money);
-		}
-	}
-
-	@Transactional(rollbackFor = Exception.class)
-	public void updateOrderMoney(String orderNo, int sourceType) {
-		TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
-		if (order != null) {
-			List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo);
-			if (commonOrderList == null)
-				return;
-
-			Integer state = CommonOrderUtil.getState(commonOrderList);
-			BigDecimal money = null;
-			switch (state) {
-			case CommonOrder.STATE_FK:
-				money = CommonOrderUtil.computeEstimate(commonOrderList);
-				teamDividentsSourceOrderService.updateMoney(orderNo, sourceType, money);
-				teamDividentsSourceOrderUserMapService.updateMoney(order.getId(), money);
-				break;
-			case CommonOrder.STATE_WQ:
-			case CommonOrder.STATE_JS:
-				TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList);
-
-				if (newOrder == null || newOrder.getPreSendTime() == null)
-					return;
-
-				money = CommonOrderUtil.computeIncome(commonOrderList);
-				teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money);
-				teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money);
-				break;
-			case CommonOrder.STATE_SX:
-				invalidByOrder(orderNo, sourceType, "璁㈠崟澶辨晥");
-				break;
-			}
-
-		}
-	}
-
-}
+package com.yeshi.fanli.service.manger.order;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.yeshi.fanli.dto.order.UserTeamLevel;
+import com.yeshi.fanli.dto.order.UserTeamRate;
+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.entity.order.dividents.TeamDividentsSourceOrderUserMap;
+import com.yeshi.fanli.exception.ParamsException;
+import com.yeshi.fanli.exception.order.dividents.TeamDividentsSourceOrderException;
+import com.yeshi.fanli.service.inter.order.CommonOrderService;
+import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
+import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderService;
+import com.yeshi.fanli.service.inter.order.dividents.TeamDividentsSourceOrderUserMapService;
+import com.yeshi.fanli.util.Constant;
+import org.yeshi.utils.MoneyBigDecimalUtil;
+import com.yeshi.fanli.util.factory.order.dividents.TeamDividentsSourceOrderFactory;
+import com.yeshi.fanli.util.factory.order.dividents.TeamDividentsSourceOrderUserMapFactory;
+import com.yeshi.fanli.util.order.CommonOrderUtil;
+import com.yeshi.fanli.util.user.UserLevelUtil;
+
+/**
+ * 鍥㈤槦鍒嗙孩鏉ユ簮绠$悊
+ *
+ * @author Administrator
+ */
+@Component
+public class TeamDividentsSourceManager {
+
+    @Resource
+    private TeamDividentsSourceOrderService teamDividentsSourceOrderService;
+
+    @Resource
+    private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService;
+
+    @Resource
+    private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+
+    @Resource
+    private CommonOrderService commonOrderService;
+
+    @Resource
+    private UserInfoService userInfoService;
+
+    /**
+     * @param commonOrderList
+     * @param bossList        void 杩斿洖绫诲瀷
+     * @throws ParamsException 娣诲姞鍒嗙孩婧�
+     * @throws
+     * @Title: addSource
+     * @Description:
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void addSource(List<CommonOrder> commonOrderList, List<UserTeamLevel> bossList)
+            throws TeamDividentsSourceOrderException, ParamsException {
+        if (commonOrderList.get(0).getThirdCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME)
+            return;
+
+        Date placeOrderTime = commonOrderList.get(0).getThirdCreateTime();
+
+        UserLevelEnum level = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank());
+        if (level == null)
+            level = UserLevelEnum.daRen;
+        TeamDividentsSourceOrder order = TeamDividentsSourceOrderFactory.create(commonOrderList);
+        if (order == null)
+            return;
+        try {
+            order = teamDividentsSourceOrderService.addTeamDividentsSourceOrder(order);
+        } catch (ParamsException e) {
+            throw new TeamDividentsSourceOrderException(101, "鍙傛暟涓嶅畬鏁�");
+        }
+
+        if (order == null || order.getId() == null) {
+            throw new TeamDividentsSourceOrderException(2, "娣诲姞婧愯鍗曞け璐�");
+        }
+
+        // 鑾峰彇婧愯鍗曞垎閰嶇殑鍒嗙孩鐢ㄦ埛ID鏁伴噺
+        long count = teamDividentsSourceOrderUserMapService.countBySourceOrderId(order.getId());
+        if (count > 0)// 宸插瓨鍦�
+            return;
+
+        SystemEnum system = userInfoService.getUserSystem(order.getUid());
+
+        // 璁$畻鍥㈤槦鍒嗙孩姣斾緥
+        List<UserTeamRate> rateList = orderHongBaoMoneyComputeService.getTeamDividentsRates(level, bossList,
+                placeOrderTime, system);
+        if (rateList != null)
+            for (UserTeamRate rate : rateList) {
+                BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()),
+                        new BigDecimal(100), 4);
+
+                TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order,
+                        rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_TEAM_DIVIDENTS);
+                try {
+                    teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map);
+                } catch (ParamsException e) {
+                    throw new TeamDividentsSourceOrderException(201, "鍙傛暟涓嶅畬鏁�");
+                }
+            }
+        // 璁$畻浜岀骇澶栧垎绾㈡瘮渚�
+        rateList = orderHongBaoMoneyComputeService.getTeamRewardMoreThan2LevelRates(level, bossList, placeOrderTime, system);
+        if (rateList != null)
+            for (UserTeamRate rate : rateList) {
+                BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()),
+                        new BigDecimal(100), 4);
+
+                TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order,
+                        rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_MORE_THAN_2);
+                try {
+                    teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map);
+                } catch (ParamsException e) {
+                    throw new TeamDividentsSourceOrderException(301, "鍙傛暟涓嶅畬鏁�");
+                }
+            }
+    }
+
+    /**
+     * 璁㈠崟澶辨晥
+     *
+     * @throws
+     * @Title: invalidBySourceOrderId
+     * @Description: void 杩斿洖绫诲瀷
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void invalidByOrder(String orderNo, int sourceType, String beiZhu) {
+        teamDividentsSourceOrderService.invalidOrder(orderNo, sourceType, beiZhu);
+        TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
+        if (order != null) {
+            teamDividentsSourceOrderUserMapService.invalidBySourceOrderId(order.getId());
+        }
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void invalidBySourceUid(Long sourceUid, String beiZhu) {
+        // teamDividentsSourceOrderService.invalidOrderByUid(sourceUid, beiZhu);
+        teamDividentsSourceOrderUserMapService.invalidOrderBySourceUid(sourceUid, beiZhu);
+    }
+
+    /**
+     * 璁㈠崟缁撶畻
+     *
+     * @throws
+     * @Title: orderSettle
+     * @Description: void 杩斿洖绫诲瀷
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public void orderSettle(String orderNo, int sourceType) {
+        TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
+        if (order != null) {
+            List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo);
+            if (commonOrderList == null)
+                return;
+
+            TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList);
+
+            if (newOrder == null || newOrder.getPreSendTime() == null)
+                return;
+
+            BigDecimal money = CommonOrderUtil.computeIncome(commonOrderList);
+            teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money);
+            teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money);
+        }
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void updateOrderMoney(String orderNo, int sourceType) {
+        TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType);
+        if (order != null) {
+            List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo);
+            if (commonOrderList == null)
+                return;
+
+            Integer state = CommonOrderUtil.getState(commonOrderList);
+            BigDecimal money = null;
+            switch (state) {
+                case CommonOrder.STATE_FK:
+                    money = CommonOrderUtil.computeEstimate(commonOrderList);
+                    teamDividentsSourceOrderService.updateMoney(orderNo, sourceType, money);
+                    teamDividentsSourceOrderUserMapService.updateMoney(order.getId(), money);
+                    break;
+                case CommonOrder.STATE_WQ:
+                case CommonOrder.STATE_JS:
+                    TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList);
+
+                    if (newOrder == null || newOrder.getPreSendTime() == null)
+                        return;
+
+                    money = CommonOrderUtil.computeIncome(commonOrderList);
+                    teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money);
+                    teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money);
+                    break;
+                case CommonOrder.STATE_SX:
+                    invalidByOrder(orderNo, sourceType, "璁㈠崟澶辨晥");
+                    break;
+            }
+
+        }
+    }
+
+}

--
Gitblit v1.8.0