From c9cbad5f5d18c6b2ac5a063e41007933d7028329 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 07 七月 2020 15:24:17 +0800
Subject: [PATCH] 返利配置文件加入系统区分

---
 fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java | 1588 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 791 insertions(+), 797 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
index d3b6cda..65288f8 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
@@ -13,6 +13,7 @@
 
 import javax.annotation.Resource;
 
+import com.yeshi.fanli.entity.SystemEnum;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -53,911 +54,904 @@
 @Component
 public class HongBaoV2AddManager {
 
-	@Resource
-	private UserInfoService userInfoService;
+    @Resource
+    private UserInfoService userInfoService;
 
-	@Resource
-	private ThreeSaleSerivce threeSaleSerivce;
+    @Resource
+    private ThreeSaleSerivce threeSaleSerivce;
 
-	@Resource
-	private HongBaoOrderMapper hongBaoOrderMapper;
+    @Resource
+    private HongBaoOrderMapper hongBaoOrderMapper;
 
-	@Resource
-	private HongBaoV2Mapper hongBaoV2Mapper;
+    @Resource
+    private HongBaoV2Mapper hongBaoV2Mapper;
 
-	@Resource
-	private UserOrderMsgNotificationService userOrderMsgNotificationService;
+    @Resource
+    private UserOrderMsgNotificationService userOrderMsgNotificationService;
 
-	@Resource
-	private HongBaoManageService hongBaoManageService;
+    @Resource
+    private HongBaoManageService hongBaoManageService;
 
-	@Resource
-	private CommonOrderService commonOrderService;
+    @Resource
+    private CommonOrderService commonOrderService;
 
-	@Resource
-	private UserSystemCouponRecordService userSystemCouponRecordService;
+    @Resource
+    private UserSystemCouponRecordService userSystemCouponRecordService;
 
-	@Resource
-	private UserSystemCouponService userSystemCouponService;
+    @Resource
+    private UserSystemCouponService userSystemCouponService;
 
-	@Resource
-	private CommonOrderGoodsMapper commonOrderGoodsMapper;
+    @Resource
+    private CommonOrderGoodsMapper commonOrderGoodsMapper;
 
-	@Resource
-	private UserVIPInfoService userVIPInfoService;
+    @Resource
+    private UserVIPInfoService userVIPInfoService;
 
-	@Resource
-	private UserLevelManager userLevelManager;
+    @Resource
+    private UserLevelManager userLevelManager;
 
-	@Resource
-	private InviteOrderSubsidyService inviteOrderSubsidyService;
+    @Resource
+    private InviteOrderSubsidyService inviteOrderSubsidyService;
 
-	@Resource
-	private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
+    @Resource
+    private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService;
 
-	/**
-	 * 娣诲姞绾㈠寘淇℃伅
-	 * 
-	 * @param commonOrderList
-	 * @param type
-	 * @return
-	 * @throws HongBaoException
-	 * @throws UserAccountException
-	 * @throws CommonOrderException 
-	 * @throws OrderTeamRewardException 
-	 * @throws InviteOrderSubsidyException 
-	 */
-	public HongBaoAddResult addHongBao(List<CommonOrder> commonOrderList, int type)
-			throws HongBaoException, UserAccountException {
+    /**
+     * 娣诲姞绾㈠寘淇℃伅
+     *
+     * @param commonOrderList
+     * @param type
+     * @return
+     * @throws HongBaoException
+     * @throws UserAccountException
+     * @throws CommonOrderException
+     * @throws OrderTeamRewardException
+     * @throws InviteOrderSubsidyException
+     */
+    public HongBaoAddResult addHongBao(List<CommonOrder> commonOrderList, int type)
+            throws HongBaoException, UserAccountException {
 
-		if (commonOrderList != null && commonOrderList.size() > 0) {
-			int orderType = commonOrderList.get(0).getSourceType();
-			String orderId = commonOrderList.get(0).getOrderNo();
+        if (commonOrderList != null && commonOrderList.size() > 0) {
+            int orderType = commonOrderList.get(0).getSourceType();
+            String orderId = commonOrderList.get(0).getOrderNo();
 
-			Map<Integer, HongBaoOrder> notificationMap = new HashMap<>();
-			int goodsCount = 0;
-			boolean hasAdd = false;
-			boolean hasUpdate = false;
-			Set<Integer> stateSet = new HashSet<>();// 璁㈠崟鐘舵�丼et
+            Map<Integer, HongBaoOrder> notificationMap = new HashMap<>();
+            int goodsCount = 0;
+            boolean hasAdd = false;
+            boolean hasUpdate = false;
+            Set<Integer> stateSet = new HashSet<>();// 璁㈠崟鐘舵�丼et
 
-			UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank());
+            UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank());
 
-			if (userLevel == null)
-				userLevel = UserLevelEnum.daRen;
+            if (userLevel == null)
+                userLevel = UserLevelEnum.daRen;
 
-			Date placeOrderDate = commonOrderList.get(0).getThirdCreateTime();
+            Date placeOrderDate = commonOrderList.get(0).getThirdCreateTime();
 
-			boolean miandan = false;
+            boolean miandan = false;
 
-			for (CommonOrder commonOrder : commonOrderList) {
-				stateSet.add(commonOrder.getState());
-				goodsCount += commonOrder.getCount();
-				if (commonOrder == null || commonOrder.getId() == null || commonOrder.getUserInfo() == null)
-					throw new HongBaoException(1, "璁㈠崟淇℃伅涓嶅畬鏁�");
-				HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
-				if (hongBaoOrder == null) {
-					HongBaoSaveResult result = saveHongBao(commonOrder, type, notificationMap, userLevel,
-							placeOrderDate);
-					miandan = result.isMiandan();
-					hasAdd = result.isAdd();
-				} else {
-					boolean update = updateHongBao(hongBaoOrder, commonOrder, type, notificationMap, placeOrderDate);
-					if (update) {
-						hasUpdate = true;
-					}
-				}
-			}
+            for (CommonOrder commonOrder : commonOrderList) {
+                stateSet.add(commonOrder.getState());
+                goodsCount += commonOrder.getCount();
+                if (commonOrder == null || commonOrder.getId() == null || commonOrder.getUserInfo() == null)
+                    throw new HongBaoException(1, "璁㈠崟淇℃伅涓嶅畬鏁�");
+                HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+                if (hongBaoOrder == null) {
+                    HongBaoSaveResult result = saveHongBao(commonOrder, type, notificationMap, userLevel,
+                            placeOrderDate);
+                    miandan = result.isMiandan();
+                    hasAdd = result.isAdd();
+                } else {
+                    boolean update = updateHongBao(hongBaoOrder, commonOrder, type, notificationMap, placeOrderDate);
+                    if (update) {
+                        hasUpdate = true;
+                    }
+                }
+            }
 
-			int state = getOrderState(stateSet);
+            int state = getOrderState(stateSet);
 
-			/**
-			 * 閫氱煡鐢ㄦ埛鐨勮繑鍒╂儏鍐�
-			 */
+            /**
+             * 閫氱煡鐢ㄦ埛鐨勮繑鍒╂儏鍐�
+             */
 
-			// if (!Constant.IS_TEST) {
-			if (hasAdd) {
-				// 鑾峰彇璁㈠崟琛ヨ创
+            // if (!Constant.IS_TEST) {
+            if (hasAdd) {
+                // 鑾峰彇璁㈠崟琛ヨ创
 
-				Iterator<Integer> its = notificationMap.keySet().iterator();
-				while (its.hasNext()) {
-					Integer t = its.next();
-					HongBaoV2 notify = notificationMap.get(t).getHongBaoV2();
-					CommonOrder commonOrder = notificationMap.get(t).getCommonOrder();
-					Long uid = notify.getUserInfo().getId();
+                Iterator<Integer> its = notificationMap.keySet().iterator();
+                while (its.hasNext()) {
+                    Integer t = its.next();
+                    HongBaoV2 notify = notificationMap.get(t).getHongBaoV2();
+                    CommonOrder commonOrder = notificationMap.get(t).getCommonOrder();
+                    Long uid = notify.getUserInfo().getId();
 
-					BigDecimal money = notify.getMoney();
-					switch (t) {
-					case HongBaoV2.TYPE_ZIGOU:
-						userOrderMsgNotificationService.orderFanLiStatistic(uid, orderId, orderType,
-								commonOrder.getPayment(), money, goodsCount, state, commonOrder.getThirdCreateTime());
+                    BigDecimal money = notify.getMoney();
+                    switch (t) {
+                        case HongBaoV2.TYPE_ZIGOU:
+                            userOrderMsgNotificationService.orderFanLiStatistic(uid, orderId, orderType,
+                                    commonOrder.getPayment(), money, goodsCount, state, commonOrder.getThirdCreateTime());
 
-						break;
-					case HongBaoV2.TYPE_SHARE_GOODS:
+                            break;
+                        case HongBaoV2.TYPE_SHARE_GOODS:
 
-						userOrderMsgNotificationService.orderShareStatistic(uid, orderId, orderType,
-								commonOrder.getPayment(), money, goodsCount, state, commonOrder.getThirdCreateTime());
+                            userOrderMsgNotificationService.orderShareStatistic(uid, orderId, orderType,
+                                    commonOrder.getPayment(), money, goodsCount, state, commonOrder.getThirdCreateTime());
 
-						break;
-					case HongBaoV2.TYPE_YIJI:
-						userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
-								commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
-								commonOrder.getThirdCreateTime());
+                            break;
+                        case HongBaoV2.TYPE_YIJI:
+                            userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
+                                    commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
+                                    commonOrder.getThirdCreateTime());
 
-						break;
-					case HongBaoV2.TYPE_ERJI:
+                            break;
+                        case HongBaoV2.TYPE_ERJI:
 
-						userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
-								commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
-								commonOrder.getThirdCreateTime());
+                            userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
+                                    commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
+                                    commonOrder.getThirdCreateTime());
 
-						break;
+                            break;
 
-					case HongBaoV2.TYPE_SHARE_YIJI:
-						userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
-								commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
-								commonOrder.getThirdCreateTime());
-						break;
-					case HongBaoV2.TYPE_SHARE_ERJI:
+                        case HongBaoV2.TYPE_SHARE_YIJI:
+                            userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
+                                    commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
+                                    commonOrder.getThirdCreateTime());
+                            break;
+                        case HongBaoV2.TYPE_SHARE_ERJI:
 
-						userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
-								commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
-								commonOrder.getThirdCreateTime());
+                            userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
+                                    commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, state,
+                                    commonOrder.getThirdCreateTime());
 
-						break;
+                            break;
 
-					}
-				}
-				// }
-			}
+                    }
+                }
+                // }
+            }
 
-			int resultCode = 0;
-			if (hasAdd && hasUpdate)
-				return new HongBaoAddResult(HongBaoAddResult.CODE_ADD_AND_UPDATE, miandan);
-			else if (hasAdd)
-				return new HongBaoAddResult(HongBaoAddResult.CODE_ADD, miandan);
-			else if (hasUpdate)
-				return new HongBaoAddResult(HongBaoAddResult.CODE_UPDATE, miandan);
-			return new HongBaoAddResult(resultCode, miandan);
-		}
-		return new HongBaoAddResult(0, false);
-	}
+            int resultCode = 0;
+            if (hasAdd && hasUpdate)
+                return new HongBaoAddResult(HongBaoAddResult.CODE_ADD_AND_UPDATE, miandan);
+            else if (hasAdd)
+                return new HongBaoAddResult(HongBaoAddResult.CODE_ADD, miandan);
+            else if (hasUpdate)
+                return new HongBaoAddResult(HongBaoAddResult.CODE_UPDATE, miandan);
+            return new HongBaoAddResult(resultCode, miandan);
+        }
+        return new HongBaoAddResult(0, false);
+    }
 
-	private int getOrderState(Set<Integer> states) {
-		if (states.size() == 1)
-			return states.iterator().next();
-		Iterator<Integer> its = states.iterator();
-		while (its.hasNext()) {
-			int tempState = its.next();
-			if (tempState == CommonOrder.STATE_FK)
-				return CommonOrder.STATE_FK;
-			else if (tempState == CommonOrder.STATE_JS)
-				return CommonOrder.STATE_JS;
-		}
-		return CommonOrder.STATE_SX;
-	}
+    private int getOrderState(Set<Integer> states) {
+        if (states.size() == 1)
+            return states.iterator().next();
+        Iterator<Integer> its = states.iterator();
+        while (its.hasNext()) {
+            int tempState = its.next();
+            if (tempState == CommonOrder.STATE_FK)
+                return CommonOrder.STATE_FK;
+            else if (tempState == CommonOrder.STATE_JS)
+                return CommonOrder.STATE_JS;
+        }
+        return CommonOrder.STATE_SX;
+    }
 
-	private List<UserTeamLevel> getBossList(Long uid, int deep) {
-		List<UserTeamLevel> resultList = new ArrayList<>();
-		List<ThreeSale> threeSales = threeSaleSerivce.getMyBossDeepList(uid, deep);
+    private List<UserTeamLevel> getBossList(Long uid, int deep) {
+        List<UserTeamLevel> resultList = new ArrayList<>();
+        List<ThreeSale> threeSales = threeSaleSerivce.getMyBossDeepList(uid, deep);
 
-		if (threeSales != null) {
-			List<Long> uidList = new ArrayList<Long>();
-			for (ThreeSale ts : threeSales)
-				uidList.add(ts.getBoss().getId());
+        if (threeSales != null) {
+            List<Long> uidList = new ArrayList<Long>();
+            for (ThreeSale ts : threeSales)
+                uidList.add(ts.getBoss().getId());
 
-			for (Long bossUid : uidList) {
-				UserLevelEnum level = userLevelManager.getUserLevel(bossUid);
-				resultList.add(new UserTeamLevel(bossUid, level));
-			}
+            for (Long bossUid : uidList) {
+                UserLevelEnum level = userLevelManager.getUserLevel(bossUid);
+                resultList.add(new UserTeamLevel(bossUid, level));
+            }
 
-		}
+        }
 
-		return resultList;
-	}
+        return resultList;
+    }
 
-	private List<UserTeamLevel> getBossList(List<HongBaoV2> children) {
-		List<UserTeamLevel> resultList = new ArrayList<>();
-		for (HongBaoV2 v2 : children) {
+    private List<UserTeamLevel> getBossList(List<HongBaoV2> children) {
+        List<UserTeamLevel> resultList = new ArrayList<>();
+        for (HongBaoV2 v2 : children) {
 
-			UserLevelEnum level = UserLevelUtil.getByOrderRank(v2.getUrank());
-			if (level == null)
-				level = UserLevelEnum.daRen;
-			UserTeamLevel teamLevel = new UserTeamLevel(v2.getUserInfo().getId(), level);
+            UserLevelEnum level = UserLevelUtil.getByOrderRank(v2.getUrank());
+            if (level == null)
+                level = UserLevelEnum.daRen;
+            UserTeamLevel teamLevel = new UserTeamLevel(v2.getUserInfo().getId(), level);
 
-			if (v2.getType() == HongBaoV2.TYPE_YIJI || v2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
-				resultList.add(0, teamLevel);
-			} else {
-				resultList.add(teamLevel);
-			}
-		}
-		return resultList;
-	}
+            if (v2.getType() == HongBaoV2.TYPE_YIJI || v2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
+                resultList.add(0, teamLevel);
+            } else {
+                resultList.add(teamLevel);
+            }
+        }
+        return resultList;
+    }
 
-	private boolean updateHongBao(HongBaoOrder hongBaoOrder, CommonOrder commonOrder, int type,
-			Map<Integer, HongBaoOrder> notificationMap, Date placeOrderTime)
-			throws HongBaoException, UserAccountException {
-		System.out.println(commonOrder.getOrderNo());
-		// 閿佽
-		HongBaoV2 oldHongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBaoOrder.getHongBaoV2().getId());
-		if (oldHongBao == null)
-			throw new HongBaoException(10, "绾㈠寘瀵硅薄涓嶅瓨鍦�");
-		UserLevelEnum buyerLevel = UserLevelUtil.getByOrderRank(oldHongBao.getUrank());
-		if (buyerLevel == null)
-			throw new HongBaoException(201, "鐢ㄦ埛绛夌骇涓虹┖");
+    private boolean updateHongBao(HongBaoOrder hongBaoOrder, CommonOrder commonOrder, int type,
+                                  Map<Integer, HongBaoOrder> notificationMap, Date placeOrderTime)
+            throws HongBaoException, UserAccountException {
+        System.out.println(commonOrder.getOrderNo());
+        // 閿佽
+        HongBaoV2 oldHongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBaoOrder.getHongBaoV2().getId());
+        if (oldHongBao == null)
+            throw new HongBaoException(10, "绾㈠寘瀵硅薄涓嶅瓨鍦�");
+        UserLevelEnum buyerLevel = UserLevelUtil.getByOrderRank(oldHongBao.getUrank());
+        if (buyerLevel == null)
+            throw new HongBaoException(201, "鐢ㄦ埛绛夌骇涓虹┖");
 
-		// 宸茬粡澶辨晥锛屽凡缁忛鍙栵紝鏂拌�佺姸鎬佷竴鑷寸殑绾㈠寘涓嶅仛澶勭悊
-		if (oldHongBao.getState() == HongBaoV2.STATE_SHIXIAO || oldHongBao.getState() == HongBaoV2.STATE_YILINGQU)
-			return false;
+        // 宸茬粡澶辨晥锛屽凡缁忛鍙栵紝鏂拌�佺姸鎬佷竴鑷寸殑绾㈠寘涓嶅仛澶勭悊
+        if (oldHongBao.getState() == HongBaoV2.STATE_SHIXIAO || oldHongBao.getState() == HongBaoV2.STATE_YILINGQU)
+            return false;
 
-		if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚�
-			BigDecimal money = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, buyerLevel);
-			// 鍏嶅崟澶勭悊
-			boolean mianDan = false;
-			List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(commonOrder.getSourceType(),
-					commonOrder.getOrderNo());
-			if (orderList != null && orderList.size() == 1) {// 鍙湁1涓鍗曟墠鍙備笌鍏嶅崟
-				BigDecimal payMent = commonOrder.getPayment();
-				if (commonOrder.getState() == CommonOrder.STATE_JS)
-					payMent = commonOrder.getSettlement();
+        if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚�
+            BigDecimal money = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, buyerLevel);
+            // 鍏嶅崟澶勭悊
+            boolean mianDan = false;
+            List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(commonOrder.getSourceType(),
+                    commonOrder.getOrderNo());
+            if (orderList != null && orderList.size() == 1) {// 鍙湁1涓鍗曟墠鍙備笌鍏嶅崟
+                BigDecimal payMent = commonOrder.getPayment();
+                if (commonOrder.getState() == CommonOrder.STATE_JS)
+                    payMent = commonOrder.getSettlement();
 
-				if (payMent.compareTo(new BigDecimal(10)) < 0) {
-					mianDan = userSystemCouponRecordService.isSuccessMianDan(commonOrder.getSourceType(),
-							commonOrder.getOrderNo());
-				}
-			}
+                if (payMent.compareTo(new BigDecimal(10)) < 0) {
+                    mianDan = userSystemCouponRecordService.isSuccessMianDan(commonOrder.getSourceType(),
+                            commonOrder.getOrderNo());
+                }
+            }
 
-			HongBaoV2 hongBao = createFanLiUpdateHongBao(commonOrder, money, hongBaoOrder.getHongBaoV2().getId(),
-					mianDan);
+            HongBaoV2 hongBao = createFanLiUpdateHongBao(commonOrder, money, hongBaoOrder.getHongBaoV2().getId(),
+                    mianDan);
 
-			// 鏂拌�佺孩鍖呯姸鎬佷竴鑷翠笉澶勭悊
-			if (oldHongBao.getState().intValue() == hongBao.getState())
-				return false;
+            // 鏂拌�佺孩鍖呯姸鎬佷竴鑷翠笉澶勭悊
+            if (oldHongBao.getState().intValue() == hongBao.getState())
+                return false;
 
-			if (hongBao.getState() == HongBaoV2.STATE_SHIXIAO) {
-				if (mianDan) {
-					try {
-						userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(),commonOrder.getSourceType());
-					} catch (Exception e) {
-						e.printStackTrace();
-						throw new HongBaoException(12, "鍏嶅崟鍒搁��娆惧嚭閿�");
-					}
-				}
-			}
+            if (hongBao.getState() == HongBaoV2.STATE_SHIXIAO) {
+                if (mianDan) {
+                    try {
+                        userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(), commonOrder.getSourceType());
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        throw new HongBaoException(12, "鍏嶅崟鍒搁��娆惧嚭閿�");
+                    }
+                }
+            }
 
-			hongBaoV2Mapper.updateByPrimaryKeySelective(hongBao);
+            hongBaoV2Mapper.updateByPrimaryKeySelective(hongBao);
 
-			// 鍔犲叆閫氱煡
-			if (notificationMap.get(type) == null) {
-				HongBaoV2 tempHongBao = new HongBaoV2(oldHongBao.getId());
-				tempHongBao.setUserInfo(oldHongBao.getUserInfo());
-				tempHongBao.setMoney(hongBao.getMoney());
-				CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
-				tempCommonOrder.setPayment(commonOrder.getPayment());
-				tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
-				notificationMap.put(type, new HongBaoOrder(tempCommonOrder, tempHongBao));
-			} else {
-				// 澧炲姞浠樻閲戦涓庤祫閲�
-				HongBaoOrder tempHongBaoOrder = notificationMap.get(type);
-				tempHongBaoOrder.getCommonOrder()
-						.setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
+            // 鍔犲叆閫氱煡
+            if (notificationMap.get(type) == null) {
+                HongBaoV2 tempHongBao = new HongBaoV2(oldHongBao.getId());
+                tempHongBao.setUserInfo(oldHongBao.getUserInfo());
+                tempHongBao.setMoney(hongBao.getMoney());
+                CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
+                tempCommonOrder.setPayment(commonOrder.getPayment());
+                tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
+                notificationMap.put(type, new HongBaoOrder(tempCommonOrder, tempHongBao));
+            } else {
+                // 澧炲姞浠樻閲戦涓庤祫閲�
+                HongBaoOrder tempHongBaoOrder = notificationMap.get(type);
+                tempHongBaoOrder.getCommonOrder()
+                        .setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
 
-				tempHongBaoOrder.getHongBaoV2()
-						.setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
-				notificationMap.put(type, tempHongBaoOrder);
-			}
+                tempHongBaoOrder.getHongBaoV2()
+                        .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
+                notificationMap.put(type, tempHongBaoOrder);
+            }
 
-			// 鑾峰彇瀛愮孩鍖�
-			List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(hongBao.getId());
-			if (children != null && children.size() > 0) {
-				List<UserTeamLevel> bossList = getBossList(children);
+            // 鑾峰彇瀛愮孩鍖�
+            List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(hongBao.getId());
+            if (children != null && children.size() > 0) {
+                List<UserTeamLevel> bossList = getBossList(children);
 
-				for (HongBaoV2 child : children) {
-					if (child.getState() == HongBaoV2.STATE_YILINGQU)
-						continue;
+                for (HongBaoV2 child : children) {
+                    if (child.getState() == HongBaoV2.STATE_YILINGQU)
+                        continue;
 
-					if (child.getType() == HongBaoV2.TYPE_YIJI) {
-						money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
-								bossList);
-					} else if (child.getType() == HongBaoV2.TYPE_ERJI) {
-						money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel,
-								bossList);
-					}
+                    if (child.getType() == HongBaoV2.TYPE_YIJI) {
+                        money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
+                                bossList);
+                    } else if (child.getType() == HongBaoV2.TYPE_ERJI) {
+                        money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel,
+                                bossList);
+                    }
 
-					HongBaoV2 childUpdate = createInviteUpdateHongBao(child, hongBao.getState(), money, commonOrder);
-					hongBaoV2Mapper.updateByPrimaryKeySelective(childUpdate);
+                    HongBaoV2 childUpdate = createInviteUpdateHongBao(child, hongBao.getState(), money, commonOrder);
+                    hongBaoV2Mapper.updateByPrimaryKeySelective(childUpdate);
 
-					// 鍔犲叆閫氱煡
-					if (notificationMap.get(child.getType()) == null) {
-						HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
-						tempHongBao.setUserInfo(child.getUserInfo());
-						tempHongBao.setMoney(child.getMoney());
-						CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
-						tempCommonOrder.setPayment(commonOrder.getPayment());
-						tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
-						notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
-					} else {
-						// 澧炲姞浠樻閲戦涓庤祫閲�
-						HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
-						tempHongBaoOrder.getCommonOrder().setPayment(
-								tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
-						tempHongBaoOrder.getHongBaoV2()
-								.setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(child.getMoney()));
-						notificationMap.put(child.getType(), tempHongBaoOrder);
-					}
-				}
-			} else {// 淇涔嬪墠浜岀骇,涓夌骇璁㈠崟鏈粺璁″埌鐨勬儏鍐�
-				if (!mianDan) {
-					ThreeSale threeSale = threeSaleSerivce.selectByWorkerId(commonOrder.getUserInfo().getId());
-					if (threeSale != null && threeSale.getSucceedTime() != null
-							&& threeSale.getSucceedTime() <= placeOrderTime.getTime()) {
-						UserInfo boss = threeSaleSerivce.getBoss(commonOrder.getUserInfo().getId());
-						if (boss != null) {
-							boss = userInfoService.selectAvailableByPrimaryKey(boss.getId());
-						}
+                    // 鍔犲叆閫氱煡
+                    if (notificationMap.get(child.getType()) == null) {
+                        HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
+                        tempHongBao.setUserInfo(child.getUserInfo());
+                        tempHongBao.setMoney(child.getMoney());
+                        CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
+                        tempCommonOrder.setPayment(commonOrder.getPayment());
+                        tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
+                        notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
+                    } else {
+                        // 澧炲姞浠樻閲戦涓庤祫閲�
+                        HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
+                        tempHongBaoOrder.getCommonOrder().setPayment(
+                                tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
+                        tempHongBaoOrder.getHongBaoV2()
+                                .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(child.getMoney()));
+                        notificationMap.put(child.getType(), tempHongBaoOrder);
+                    }
+                }
+            } else {// 淇涔嬪墠浜岀骇,涓夌骇璁㈠崟鏈粺璁″埌鐨勬儏鍐�
+                if (!mianDan) {
+                    ThreeSale threeSale = threeSaleSerivce.selectByWorkerId(commonOrder.getUserInfo().getId());
+                    if (threeSale != null && threeSale.getSucceedTime() != null
+                            && threeSale.getSucceedTime() <= placeOrderTime.getTime()) {
+                        UserInfo boss = threeSaleSerivce.getBoss(commonOrder.getUserInfo().getId());
+                        if (boss != null) {
+                            boss = userInfoService.selectAvailableByPrimaryKey(boss.getId());
+                        }
 
-						if (boss != null) {
-							List<UserTeamLevel> bossList = getBossList(oldHongBao.getUserInfo().getId(), 2);
+                        if (boss != null) {
+                            List<UserTeamLevel> bossList = getBossList(oldHongBao.getUserInfo().getId(), 2);
 
-							// 鎻掑叆涓�绾у瓙绾㈠寘
-							money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
-									bossList);
-							UserLevelEnum bossUserLevel = userLevelManager.getUserLevel(boss.getId());
-							if (money != null) {
-								HongBaoV2 firstHongbao = createInviteHongBao(boss.getId(), oldHongBao, commonOrder,
-										HongBaoV2.TYPE_YIJI, money, bossUserLevel);
-								if (firstHongbao != null)
-									addInviteHongBao(firstHongbao, null, notificationMap, commonOrder);
-							}
-							boss = threeSaleSerivce.getBoss(boss.getId());
-							if (boss != null) {
-								boss = userInfoService.selectAvailableByPrimaryKey(boss.getId());
-							}
-							if (boss != null) {
-								money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder,
-										buyerLevel, bossList);
-								bossUserLevel = userLevelManager.getUserLevel(boss.getId());
-								if (money != null) {
-									HongBaoV2 secondHongbao = createInviteHongBao(boss.getId(), oldHongBao, commonOrder,
-											HongBaoV2.TYPE_ERJI, money, bossUserLevel);
-									if (secondHongbao != null)
-										addInviteHongBao(secondHongbao, null, notificationMap, commonOrder);
-								}
-							}
-						}
-					}
-				}
-			}
-		} else if (type == HongBaoV2.TYPE_SHARE_GOODS) {
+                            // 鎻掑叆涓�绾у瓙绾㈠寘
+                            money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
+                                    bossList);
+                            UserLevelEnum bossUserLevel = userLevelManager.getUserLevel(boss.getId());
+                            if (money != null) {
+                                HongBaoV2 firstHongbao = createInviteHongBao(boss.getId(), oldHongBao, commonOrder,
+                                        HongBaoV2.TYPE_YIJI, money, bossUserLevel);
+                                if (firstHongbao != null)
+                                    addInviteHongBao(firstHongbao, null, notificationMap, commonOrder);
+                            }
+                            boss = threeSaleSerivce.getBoss(boss.getId());
+                            if (boss != null) {
+                                boss = userInfoService.selectAvailableByPrimaryKey(boss.getId());
+                            }
+                            if (boss != null) {
+                                money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder,
+                                        buyerLevel, bossList);
+                                bossUserLevel = userLevelManager.getUserLevel(boss.getId());
+                                if (money != null) {
+                                    HongBaoV2 secondHongbao = createInviteHongBao(boss.getId(), oldHongBao, commonOrder,
+                                            HongBaoV2.TYPE_ERJI, money, bossUserLevel);
+                                    if (secondHongbao != null)
+                                        addInviteHongBao(secondHongbao, null, notificationMap, commonOrder);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        } else if (type == HongBaoV2.TYPE_SHARE_GOODS) {
 
-			BigDecimal money = orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, buyerLevel);
+            BigDecimal money = orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, buyerLevel);
 
-			HongBaoV2 hongBao = createShareUpdateHongBao(commonOrder, money, oldHongBao.getId());
-			hongBaoV2Mapper.updateByPrimaryKeySelective(hongBao);
-			// 閫氱煡
-			if (notificationMap.get(type) == null) {
-				HongBaoV2 tempHongBao = new HongBaoV2(hongBao.getId());
-				tempHongBao.setUserInfo(hongBaoOrder.getHongBaoV2().getUserInfo());
-				tempHongBao.setMoney(hongBao.getMoney());
-				CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
-				tempCommonOrder.setPayment(commonOrder.getPayment());
-				tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
-				notificationMap.put(type, new HongBaoOrder(tempCommonOrder, tempHongBao));
-			} else {
-				// 澧炲姞浠樻閲戦涓庤祫閲�
-				HongBaoOrder tempHongBaoOrder = notificationMap.get(type);
-				tempHongBaoOrder.getCommonOrder()
-						.setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
-				tempHongBaoOrder.getHongBaoV2()
-						.setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
-				notificationMap.put(type, tempHongBaoOrder);
-			}
+            HongBaoV2 hongBao = createShareUpdateHongBao(commonOrder, money, oldHongBao.getId());
+            hongBaoV2Mapper.updateByPrimaryKeySelective(hongBao);
+            // 閫氱煡
+            if (notificationMap.get(type) == null) {
+                HongBaoV2 tempHongBao = new HongBaoV2(hongBao.getId());
+                tempHongBao.setUserInfo(hongBaoOrder.getHongBaoV2().getUserInfo());
+                tempHongBao.setMoney(hongBao.getMoney());
+                CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
+                tempCommonOrder.setPayment(commonOrder.getPayment());
+                tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
+                notificationMap.put(type, new HongBaoOrder(tempCommonOrder, tempHongBao));
+            } else {
+                // 澧炲姞浠樻閲戦涓庤祫閲�
+                HongBaoOrder tempHongBaoOrder = notificationMap.get(type);
+                tempHongBaoOrder.getCommonOrder()
+                        .setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
+                tempHongBaoOrder.getHongBaoV2()
+                        .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
+                notificationMap.put(type, tempHongBaoOrder);
+            }
 
-			// 鑾峰彇瀛愮孩鍖�
-			List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(hongBao.getId());
-			if (children != null && children.size() > 0) {
-				List<UserTeamLevel> bossList = getBossList(children);
-				for (HongBaoV2 child : children) {
-					if (child.getState() == HongBaoV2.STATE_YILINGQU)
-						continue;
+            // 鑾峰彇瀛愮孩鍖�
+            List<HongBaoV2> children = hongBaoV2Mapper.listChildrenById(hongBao.getId());
+            if (children != null && children.size() > 0) {
+                List<UserTeamLevel> bossList = getBossList(children);
+                for (HongBaoV2 child : children) {
+                    if (child.getState() == HongBaoV2.STATE_YILINGQU)
+                        continue;
 
-					if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
-						money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
-								bossList);
-					} else if (child.getType() == HongBaoV2.TYPE_SHARE_ERJI) {
-						money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel,
-								bossList);
-					}
-					HongBaoV2 childUpdate = createInviteUpdateHongBao(child, hongBao.getState(), money, commonOrder);
-					hongBaoV2Mapper.updateByPrimaryKeySelective(childUpdate);
-					// 娣诲姞閫氱煡
-					if (notificationMap.get(child.getType()) == null) {
-						HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
-						tempHongBao.setUserInfo(child.getUserInfo());
-						tempHongBao
-								.setMoney(childUpdate.getMoney() == null ? new BigDecimal(0) : childUpdate.getMoney());
-						CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
-						tempCommonOrder.setPayment(commonOrder.getPayment());
-						tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
-						notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
-					} else {
-						// 澧炲姞浠樻閲戦涓庤祫閲�
-						HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
-						if (commonOrder.getPayment() != null)
-							tempHongBaoOrder.getCommonOrder().setPayment(
-									tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
-						if (childUpdate.getMoney() != null)
-							tempHongBaoOrder.getHongBaoV2()
-									.setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(childUpdate.getMoney()));
-						notificationMap.put(child.getType(), tempHongBaoOrder);
-					}
+                    if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
+                        money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
+                                bossList);
+                    } else if (child.getType() == HongBaoV2.TYPE_SHARE_ERJI) {
+                        money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel,
+                                bossList);
+                    }
+                    HongBaoV2 childUpdate = createInviteUpdateHongBao(child, hongBao.getState(), money, commonOrder);
+                    hongBaoV2Mapper.updateByPrimaryKeySelective(childUpdate);
+                    // 娣诲姞閫氱煡
+                    if (notificationMap.get(child.getType()) == null) {
+                        HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
+                        tempHongBao.setUserInfo(child.getUserInfo());
+                        tempHongBao
+                                .setMoney(childUpdate.getMoney() == null ? new BigDecimal(0) : childUpdate.getMoney());
+                        CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
+                        tempCommonOrder.setPayment(commonOrder.getPayment());
+                        tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
+                        notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
+                    } else {
+                        // 澧炲姞浠樻閲戦涓庤祫閲�
+                        HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
+                        if (commonOrder.getPayment() != null)
+                            tempHongBaoOrder.getCommonOrder().setPayment(
+                                    tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
+                        if (childUpdate.getMoney() != null)
+                            tempHongBaoOrder.getHongBaoV2()
+                                    .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(childUpdate.getMoney()));
+                        notificationMap.put(child.getType(), tempHongBaoOrder);
+                    }
 
-				}
-			}
-		} else
-			throw new HongBaoException(2, "type閿欒");
+                }
+            }
+        } else
+            throw new HongBaoException(2, "type閿欒");
 
-		return true;
-	}
+        return true;
+    }
 
-	@Transactional(rollbackFor = Exception.class)
-	private HongBaoSaveResult saveHongBao(CommonOrder commonOrder, int type, Map<Integer, HongBaoOrder> notificationMap,
-			UserLevelEnum buyerLevel, Date placeOrderDate) throws HongBaoException, UserAccountException {
+    private HongBaoSaveResult saveHongBao(CommonOrder commonOrder, int type, Map<Integer, HongBaoOrder> notificationMap,
+                                          UserLevelEnum buyerLevel, Date placeOrderDate) throws HongBaoException, UserAccountException {
+        SystemEnum system = userInfoService.getUserSystem(commonOrder.getUserInfo().getId());
+        if (type == HongBaoV2.TYPE_ZIGOU) {
+            // 鏌ヨ鏄惁鏈夊厤鍗曡鍒�
+            BigDecimal mianDanMoney = null;
+            if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_FK) {
+                List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(commonOrder.getSourceType(),
+                        commonOrder.getOrderNo());
+                if (orderList != null && orderList.size() == 1) {// 鍙湁1涓鍗曟墠鍙備笌鍏嶅崟
+                    BigDecimal payMent = commonOrder.getPayment();
+                    if (commonOrder.getState() == CommonOrder.STATE_JS)
+                        payMent = commonOrder.getSettlement();
+                    CommonOrderGoods goods = commonOrderGoodsMapper
+                            .selectByPrimaryKey(commonOrder.getCommonOrderGoods().getId());
+                    if (goods != null) {
+                        try {
+                            if (userSystemCouponService.updateCouponRecordUsed(commonOrder.getUserInfo().getId(),
+                                    commonOrder.getOrderNo(), payMent, Long.parseLong(goods.getGoodsId()), commonOrder.getSourceType()))
+                                mianDanMoney = payMent;
+                        } catch (NumberFormatException e) {
+                            throw new HongBaoException(10, "鍏嶅崟鍟嗗搧澶勭悊鍑洪敊");
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                            throw new HongBaoException(11, "鍏嶅崟鍟嗗搧澶勭悊鍑洪敊");
+                        }
+                    }
+                }
+            } else if (commonOrder.getState() == CommonOrder.STATE_SX) {// 璁剧疆鍏嶅崟鍒稿け鏁�
+                commonOrder.setPayment(new BigDecimal(0));// 璁㈠崟澶辨晥鍚庣殑浠樻閲戦璁剧疆涓�0
+                try {
+                    userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(), commonOrder.getSourceType());
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
 
-		if (type == HongBaoV2.TYPE_ZIGOU) {
-			// 鏌ヨ鏄惁鏈夊厤鍗曡鍒�
-			BigDecimal mianDanMoney = null;
-			if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_FK) {
-				List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(commonOrder.getSourceType(),
-						commonOrder.getOrderNo());
-				if (orderList != null && orderList.size() == 1) {// 鍙湁1涓鍗曟墠鍙備笌鍏嶅崟
-					BigDecimal payMent = commonOrder.getPayment();
-					if (commonOrder.getState() == CommonOrder.STATE_JS)
-						payMent = commonOrder.getSettlement();
-					CommonOrderGoods goods = commonOrderGoodsMapper
-							.selectByPrimaryKey(commonOrder.getCommonOrderGoods().getId());
-					if (goods != null) {
-						try {
-							if (userSystemCouponService.updateCouponRecordUsed(commonOrder.getUserInfo().getId(),
-									commonOrder.getOrderNo(), payMent, Long.parseLong(goods.getGoodsId()),commonOrder.getSourceType()))
-								mianDanMoney = payMent;
-						} catch (NumberFormatException e) {
-							throw new HongBaoException(10, "鍏嶅崟鍟嗗搧澶勭悊鍑洪敊");
-						} catch (Exception e) {
-							e.printStackTrace();
-							throw new HongBaoException(11, "鍏嶅崟鍟嗗搧澶勭悊鍑洪敊");
-						}
-					}
-				}
-			} else if (commonOrder.getState() == CommonOrder.STATE_SX) {// 璁剧疆鍏嶅崟鍒稿け鏁�
-				commonOrder.setPayment(new BigDecimal(0));// 璁㈠崟澶辨晥鍚庣殑浠樻閲戦璁剧疆涓�0
-				try {
-					userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(),commonOrder.getSourceType());
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-
-			HongBaoV2 hongBao = createFanLiHongBao(commonOrder,
-					orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, buyerLevel), mianDanMoney,
-					buyerLevel);
-			if (hongBao == null)
-				return new HongBaoSaveResult(false, mianDanMoney != null);
-			addFanLiOrShareHongBao(hongBao, commonOrder, notificationMap);
-			UserInfo boss = threeSaleSerivce.getBoss(hongBao.getUserInfo().getId());
-			if (boss != null && hongBao.getState() != HongBaoV2.STATE_SHIXIAO && mianDanMoney == null) {// 1绾OSS瀛樺湪涓旂孩鍖呮湭澶辨晥,鍏嶅崟涓嶆敮鎸佸绾у垎閿�
+            HongBaoV2 hongBao = createFanLiHongBao(commonOrder,
+                    orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, buyerLevel), mianDanMoney,
+                    buyerLevel);
+            if (hongBao == null)
+                return new HongBaoSaveResult(false, mianDanMoney != null);
+            addFanLiOrShareHongBao(hongBao, commonOrder, notificationMap);
+            UserInfo boss = threeSaleSerivce.getBoss(hongBao.getUserInfo().getId());
+            if (boss != null && hongBao.getState() != HongBaoV2.STATE_SHIXIAO && mianDanMoney == null) {// 1绾OSS瀛樺湪涓旂孩鍖呮湭澶辨晥,鍏嶅崟涓嶆敮鎸佸绾у垎閿�
 
-				List<UserTeamLevel> bossList = getBossList(hongBao.getUserInfo().getId(), 2);
+                List<UserTeamLevel> bossList = getBossList(hongBao.getUserInfo().getId(), 2);
 
-				BigDecimal money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
-						bossList);
-				if (money == null)// 杩斿埄璧勯噾涓虹┖涓嶅弬涓庡垎鎴�
-					return new HongBaoSaveResult(true, mianDanMoney != null);
+                BigDecimal money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel,
+                        bossList);
+                if (money == null)// 杩斿埄璧勯噾涓虹┖涓嶅弬涓庡垎鎴�
+                    return new HongBaoSaveResult(true, mianDanMoney != null);
 
-				UserLevelEnum bossLevel = userLevelManager.getUserLevel(boss.getId());
+                UserLevelEnum bossLevel = userLevelManager.getUserLevel(boss.getId());
 
-				HongBaoV2 firstHongbao = createInviteHongBao(boss.getId(), hongBao, commonOrder, HongBaoV2.TYPE_YIJI,
-						money, bossLevel);
+                HongBaoV2 firstHongbao = createInviteHongBao(boss.getId(), hongBao, commonOrder, HongBaoV2.TYPE_YIJI,
+                        money, bossLevel);
 
-				addInviteHongBao(firstHongbao, null, notificationMap, commonOrder);
+                addInviteHongBao(firstHongbao, null, notificationMap, commonOrder);
 
-				// 鎻掑叆浜岀骇瀛愮孩鍖�
-				boss = threeSaleSerivce.getBoss(boss.getId());
-				if (boss != null) {// 浜岀骇BOSS瀛樺湪涓旀槸闈炰細鍛樿鍗�
-					money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel, bossList);
-					bossLevel = userLevelManager.getUserLevel(boss.getId());
-					if (money == null)
-						return new HongBaoSaveResult(true, mianDanMoney != null);
-					HongBaoV2 secondHongbao = createInviteHongBao(boss.getId(), hongBao, commonOrder,
-							HongBaoV2.TYPE_ERJI, money, bossLevel);
-					addInviteHongBao(secondHongbao, null, notificationMap, commonOrder);
-				}
-			}
+                // 鎻掑叆浜岀骇瀛愮孩鍖�
+                boss = threeSaleSerivce.getBoss(boss.getId());
+                if (boss != null) {// 浜岀骇BOSS瀛樺湪涓旀槸闈炰細鍛樿鍗�
+                    money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel, bossList);
+                    bossLevel = userLevelManager.getUserLevel(boss.getId());
+                    if (money == null)
+                        return new HongBaoSaveResult(true, mianDanMoney != null);
+                    HongBaoV2 secondHongbao = createInviteHongBao(boss.getId(), hongBao, commonOrder,
+                            HongBaoV2.TYPE_ERJI, money, bossLevel);
+                    addInviteHongBao(secondHongbao, null, notificationMap, commonOrder);
+                }
+            }
 
-		} else if (type == HongBaoV2.TYPE_SHARE_GOODS) {
-			// 鍒嗕韩璧氫笉鍔犲叆澶辨晥鐨勮鍗�
-			if (commonOrder.getState() == CommonOrder.STATE_SX || commonOrder.getState() == CommonOrder.STATE_WQ)
-				return new HongBaoSaveResult(false, false);
-			// 鍒嗕韩璧�
-			BigDecimal money = null;
-			if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_TAOBAO
-					&& commonOrder.getSourcePosition().equalsIgnoreCase(TaoBaoConstant.TAOBAO_TLJ_RELATION_PID_DEFAULT))// 鏉ヨ嚜浜庢窐绀奸噾鐨勫垎浜�
-			{
-				BigDecimal shareRate = hongBaoManageService.getTLJShareRate(commonOrder.getCreateTime().getTime());
-				if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ)
-					money = MoneyBigDecimalUtil.mul(commonOrder.geteIncome(),
-							MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
-				else
-					money = MoneyBigDecimalUtil.mul(commonOrder.getEstimate(),
-							MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
-			} else
-				money = orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, buyerLevel);
+        } else if (type == HongBaoV2.TYPE_SHARE_GOODS) {
+            // 鍒嗕韩璧氫笉鍔犲叆澶辨晥鐨勮鍗�
+            if (commonOrder.getState() == CommonOrder.STATE_SX || commonOrder.getState() == CommonOrder.STATE_WQ)
+                return new HongBaoSaveResult(false, false);
+            // 鍒嗕韩璧�
+            BigDecimal money = null;
+            if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_TAOBAO
+                    && commonOrder.getSourcePosition().equalsIgnoreCase(TaoBaoConstant.TAOBAO_TLJ_RELATION_PID_DEFAULT))// 鏉ヨ嚜浜庢窐绀奸噾鐨勫垎浜�
+            {
+                BigDecimal shareRate = hongBaoManageService.getTLJShareRate(commonOrder.getCreateTime().getTime(), system);
+                if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ)
+                    money = MoneyBigDecimalUtil.mul(commonOrder.geteIncome(),
+                            MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
+                else
+                    money = MoneyBigDecimalUtil.mul(commonOrder.getEstimate(),
+                            MoneyBigDecimalUtil.div(shareRate, new BigDecimal(100)));
+            } else
+                money = orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, buyerLevel);
 
-			if (money == null || money.compareTo(new BigDecimal(0)) <= 0)
-				return new HongBaoSaveResult(false, false);
-			HongBaoV2 hongBao = createShareHongBao(commonOrder, money, buyerLevel);
-			if (hongBao == null)
-				return new HongBaoSaveResult(false, false);
-			addFanLiOrShareHongBao(hongBao, commonOrder, notificationMap);
-			// 4鏈�17鏃ュ悗鎵嶆湁涓�绾у垎浜禋
-			if (placeOrderDate.getTime() > TimeUtil.convertToTimeTemp("2019-04-17", "yyyy-MM-dd")) {
-				UserInfo boss = threeSaleSerivce.getBoss(hongBao.getUserInfo().getId());
-				if (boss != null) {
+            if (money == null || money.compareTo(new BigDecimal(0)) <= 0)
+                return new HongBaoSaveResult(false, false);
+            HongBaoV2 hongBao = createShareHongBao(commonOrder, money, buyerLevel);
+            if (hongBao == null)
+                return new HongBaoSaveResult(false, false);
+            addFanLiOrShareHongBao(hongBao, commonOrder, notificationMap);
+            // 4鏈�17鏃ュ悗鎵嶆湁涓�绾у垎浜禋
+            if (placeOrderDate.getTime() > TimeUtil.convertToTimeTemp("2019-04-17", "yyyy-MM-dd")) {
+                UserInfo boss = threeSaleSerivce.getBoss(hongBao.getUserInfo().getId());
+                if (boss != null) {
 
-					List<UserTeamLevel> bossList = getBossList(hongBao.getUserInfo().getId(), 2);
+                    List<UserTeamLevel> bossList = getBossList(hongBao.getUserInfo().getId(), 2);
 
-					money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel, bossList);
-					if (money == null)
-						return new HongBaoSaveResult(true, false);
-					UserLevelEnum bossLevel = userLevelManager.getUserLevel(boss.getId());
-					HongBaoV2 firstHongbao = createInviteHongBao(boss.getId(), hongBao, commonOrder,
-							HongBaoV2.TYPE_SHARE_YIJI, money, bossLevel);
+                    money = orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder, buyerLevel, bossList);
+                    if (money == null)
+                        return new HongBaoSaveResult(true, false);
+                    UserLevelEnum bossLevel = userLevelManager.getUserLevel(boss.getId());
+                    HongBaoV2 firstHongbao = createInviteHongBao(boss.getId(), hongBao, commonOrder,
+                            HongBaoV2.TYPE_SHARE_YIJI, money, bossLevel);
 
-					addInviteHongBao(firstHongbao, hongBao.getUserInfo().getNickName(), notificationMap, commonOrder);
+                    addInviteHongBao(firstHongbao, hongBao.getUserInfo().getNickName(), notificationMap, commonOrder);
 
-					// 浜岀骇鍒嗕韩璧�
-					boss = threeSaleSerivce.getBoss(boss.getId());
-					if (boss != null) {
-						money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel,
-								bossList);
-						if (money == null)// 杩斿埄姣斾緥涓�0灏变笉缁熻
-							return new HongBaoSaveResult(true, false);
-						bossLevel = userLevelManager.getUserLevel(boss.getId());
-						HongBaoV2 secondChild = createInviteHongBao(boss.getId(), hongBao, commonOrder,
-								HongBaoV2.TYPE_SHARE_ERJI, money, bossLevel);
-						addInviteHongBao(secondChild, null, notificationMap, commonOrder);
-					}
-				}
-			}
+                    // 浜岀骇鍒嗕韩璧�
+                    boss = threeSaleSerivce.getBoss(boss.getId());
+                    if (boss != null) {
+                        money = orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder, buyerLevel,
+                                bossList);
+                        if (money == null)// 杩斿埄姣斾緥涓�0灏变笉缁熻
+                            return new HongBaoSaveResult(true, false);
+                        bossLevel = userLevelManager.getUserLevel(boss.getId());
+                        HongBaoV2 secondChild = createInviteHongBao(boss.getId(), hongBao, commonOrder,
+                                HongBaoV2.TYPE_SHARE_ERJI, money, bossLevel);
+                        addInviteHongBao(secondChild, null, notificationMap, commonOrder);
+                    }
+                }
+            }
 
-			// 淇敼缁熻鏁版嵁
-			Long goodsId = commonOrder.getCommonOrderGoods().getId();
-			// 鏌ヨ鍟嗗搧
-			CommonOrderGoods goods = commonOrderGoodsMapper.selectByPrimaryKey(goodsId);
+            // 淇敼缁熻鏁版嵁
+            Long goodsId = commonOrder.getCommonOrderGoods().getId();
+            // 鏌ヨ鍟嗗搧
+            CommonOrderGoods goods = commonOrderGoodsMapper.selectByPrimaryKey(goodsId);
 
-			HongBao hb = new HongBao();
-			if (goods != null)
-				hb.setAuctionId(Long.parseLong(goods.getGoodsId()));
-			hb.setUserInfo(hongBao.getUserInfo());
-			hb.setMoney(hongBao.getMoney());
+            HongBao hb = new HongBao();
+            if (goods != null)
+                hb.setAuctionId(Long.parseLong(goods.getGoodsId()));
+            hb.setUserInfo(hongBao.getUserInfo());
+            hb.setMoney(hongBao.getMoney());
 
-			// TODO 鏇存柊鍒嗕韩璁板綍鏁版嵁
-			// try {
-			// userShareGoodsGroupService.updateOrderRecord(hb,
-			// commonOrder.getSourceType());
-			// } catch (UserShareGoodsRecordException e) {
-			// try {
-			// LogHelper.errorDetailInfo(e);
-			// } catch (Exception e1) {
-			// e1.printStackTrace();
-			// }
-			// }
-		} else
-			throw new HongBaoException(2, "type閿欒");
+            // TODO 鏇存柊鍒嗕韩璁板綍鏁版嵁
+            // try {
+            // userShareGoodsGroupService.updateOrderRecord(hb,
+            // commonOrder.getSourceType());
+            // } catch (UserShareGoodsRecordException e) {
+            // try {
+            // LogHelper.errorDetailInfo(e);
+            // } catch (Exception e1) {
+            // e1.printStackTrace();
+            // }
+            // }
+        } else
+            throw new HongBaoException(2, "type閿欒");
 
-		return new HongBaoSaveResult(true, false);
-	}
+        return new HongBaoSaveResult(true, false);
+    }
 
-	/**
-	 * 娣诲姞閭�璇疯禋绾㈠寘
-	 * 
-	 * @param child
-	 * @param notificationMap
-	 * @param commonOrder
-	 */
-	private void addInviteHongBao(HongBaoV2 child, String parentHongBaoUserName,
-			Map<Integer, HongBaoOrder> notificationMap, CommonOrder commonOrder) {
-		if (child != null) {
-			// 鑰佺増鏈祫閲戜负0鐨勭孩鍖呬笉鍔犲叆閭�璇疯鍗�
-			if (child.getMoney() == null || (child.getMoney().compareTo(new BigDecimal(0)) == 0
-					&& commonOrder.getThirdCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME))
-				return;
+    /**
+     * 娣诲姞閭�璇疯禋绾㈠寘
+     *
+     * @param child
+     * @param notificationMap
+     * @param commonOrder
+     */
+    private void addInviteHongBao(HongBaoV2 child, String parentHongBaoUserName,
+                                  Map<Integer, HongBaoOrder> notificationMap, CommonOrder commonOrder) {
+        if (child != null) {
+            // 鑰佺増鏈祫閲戜负0鐨勭孩鍖呬笉鍔犲叆閭�璇疯鍗�
+            if (child.getMoney() == null || (child.getMoney().compareTo(new BigDecimal(0)) == 0
+                    && commonOrder.getThirdCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME))
+                return;
 
-			hongBaoV2Mapper.insertSelective(child);
-			// 鐢ㄦ埛閫氱煡
-			if (notificationMap.get(child.getType()) == null) {
-				HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
-				tempHongBao.setUserInfo(child.getUserInfo());
-				tempHongBao.setMoney(child.getMoney());
-				if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI)
-					tempHongBao.setBeizhu(parentHongBaoUserName);
+            hongBaoV2Mapper.insertSelective(child);
+            // 鐢ㄦ埛閫氱煡
+            if (notificationMap.get(child.getType()) == null) {
+                HongBaoV2 tempHongBao = new HongBaoV2(child.getId());
+                tempHongBao.setUserInfo(child.getUserInfo());
+                tempHongBao.setMoney(child.getMoney());
+                if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI)
+                    tempHongBao.setBeizhu(parentHongBaoUserName);
 
-				CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
-				tempCommonOrder.setPayment(commonOrder.getPayment());
-				tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
-				notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
-			} else {
-				// 澧炲姞浠樻閲戦涓庤祫閲�
-				HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
-				tempHongBaoOrder.getCommonOrder()
-						.setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
-				tempHongBaoOrder.getHongBaoV2()
-						.setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(child.getMoney()));
-				notificationMap.put(child.getType(), tempHongBaoOrder);
-			}
-		}
-	}
+                CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
+                tempCommonOrder.setPayment(commonOrder.getPayment());
+                tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
+                notificationMap.put(child.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
+            } else {
+                // 澧炲姞浠樻閲戦涓庤祫閲�
+                HongBaoOrder tempHongBaoOrder = notificationMap.get(child.getType());
+                tempHongBaoOrder.getCommonOrder()
+                        .setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
+                tempHongBaoOrder.getHongBaoV2()
+                        .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(child.getMoney()));
+                notificationMap.put(child.getType(), tempHongBaoOrder);
+            }
+        }
+    }
 
-	/**
-	 * 鍒涘缓閭�璇风孩鍖�
-	 * 
-	 * @param uid
-	 * @param parent
-	 * @param commonOrder
-	 * @param hongBaoType
-	 * @param money
-	 * @return
-	 */
-	private HongBaoV2 createInviteHongBao(Long uid, HongBaoV2 parent, CommonOrder commonOrder, int hongBaoType,
-			BigDecimal money, UserLevelEnum userLevel) {
-		if (parent == null)
-			return null;
-		if (parent.getState() == HongBaoV2.STATE_SHIXIAO)
-			return null;
-		UserInfo user = userInfoService.selectAvailableByPrimaryKey(uid);
-		if (user == null)
-			return null;
+    /**
+     * 鍒涘缓閭�璇风孩鍖�
+     *
+     * @param uid
+     * @param parent
+     * @param commonOrder
+     * @param hongBaoType
+     * @param money
+     * @return
+     */
+    private HongBaoV2 createInviteHongBao(Long uid, HongBaoV2 parent, CommonOrder commonOrder, int hongBaoType,
+                                          BigDecimal money, UserLevelEnum userLevel) {
+        if (parent == null)
+            return null;
+        if (parent.getState() == HongBaoV2.STATE_SHIXIAO)
+            return null;
+        UserInfo user = userInfoService.selectAvailableByPrimaryKey(uid);
+        if (user == null)
+            return null;
 
-		HongBaoV2 child = new HongBaoV2();
-		child.setParent(parent);
-		child.setType(hongBaoType);
-		child.setMoney(money);
+        HongBaoV2 child = new HongBaoV2();
+        child.setParent(parent);
+        child.setType(hongBaoType);
+        child.setMoney(money);
 
-		if (commonOrder.getState() == CommonOrder.STATE_FK) {
-			child.setState(HongBaoV2.STATE_BUKELINGQU);
-		} else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
-			child.setState(HongBaoV2.STATE_KELINGQU);
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTime(commonOrder.getSettleTime());
-			calendar.add(Calendar.MONTH, 1);
-			child.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
-					calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
-		}
+        if (commonOrder.getState() == CommonOrder.STATE_FK) {
+            child.setState(HongBaoV2.STATE_BUKELINGQU);
+        } else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
+            child.setState(HongBaoV2.STATE_KELINGQU);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(commonOrder.getSettleTime());
+            calendar.add(Calendar.MONTH, 1);
+            child.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
+                    calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
+        }
 
-		child.setUserInfo(user);
-		child.setUrank(userLevel.getOrderRank());
-		child.setVersion(2);
-		child.setCreateTime(new Date());
-		child.setOrderType(commonOrder.getSourceType());
-		if (child.getMoney() == null)
-			return null;
-		return child;
-	}
+        child.setUserInfo(user);
+        child.setUrank(userLevel.getOrderRank());
+        child.setVersion(2);
+        child.setCreateTime(new Date());
+        child.setOrderType(commonOrder.getSourceType());
+        if (child.getMoney() == null)
+            return null;
+        return child;
+    }
 
-	/**
-	 * 
-	 * @param commonOrder
-	 *            - 璁㈠崟淇℃伅
-	 * @param fanliRate
-	 *            -杩斿埄姣斾緥
-	 * @param mianDanMoney
-	 *            鍏嶅崟閲戦
-	 * @param isVIP-鏄惁涓篤IP璁㈠崟
-	 * @return
-	 * @throws HongBaoException
-	 * @throws UserAccountException
-	 */
-	private HongBaoV2 createFanLiHongBao(CommonOrder commonOrder, BigDecimal money, BigDecimal mianDanMoney,
-			UserLevelEnum userLevel) throws HongBaoException, UserAccountException {
-		HongBaoV2 hongBao = new HongBaoV2();
-		hongBao.setUserInfo(commonOrder.getUserInfo());
-		hongBao.setCreateTime(new Date());
-		hongBao.setType(HongBaoV2.TYPE_ZIGOU);
-		hongBao.setVersion(2);
-		hongBao.setMoney(money);
-		if (commonOrder.getState() == CommonOrder.STATE_FK) {
-			hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
+    /**
+     * @param commonOrder
+     * @param money
+     * @param mianDanMoney
+     * @param userLevel
+     * @return
+     * @throws HongBaoException
+     * @throws UserAccountException
+     */
+    private HongBaoV2 createFanLiHongBao(CommonOrder commonOrder, BigDecimal money, BigDecimal mianDanMoney,
+                                         UserLevelEnum userLevel) throws HongBaoException, UserAccountException {
+        HongBaoV2 hongBao = new HongBaoV2();
+        hongBao.setUserInfo(commonOrder.getUserInfo());
+        hongBao.setCreateTime(new Date());
+        hongBao.setType(HongBaoV2.TYPE_ZIGOU);
+        hongBao.setVersion(2);
+        hongBao.setMoney(money);
+        if (commonOrder.getState() == CommonOrder.STATE_FK) {
+            hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
 
-		} else if (commonOrder.getState() == CommonOrder.STATE_JS || CommonOrder.STATE_WQ == commonOrder.getState()) {
-			hongBao.setState(HongBaoV2.STATE_KELINGQU);
-			if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_PDD)// 鎷煎澶�15澶╁崐鍒拌处
-				hongBao.setPreGetTime(new Date(
-						commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L + 1000 * 60 * 60 * 12L));
-			else
-				hongBao.setPreGetTime(new Date(commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L));
-		} else if (commonOrder.getState() == CommonOrder.STATE_SX) {
-			hongBao.setState(HongBaoV2.STATE_SHIXIAO);
-			hongBao.setMoney(new BigDecimal(0));
-		} else {
-			throw new HongBaoException(3, "缁存潈璁㈠崟涓嶈兘鍒涘缓绾㈠寘");
-		}
+        } else if (commonOrder.getState() == CommonOrder.STATE_JS || CommonOrder.STATE_WQ == commonOrder.getState()) {
+            hongBao.setState(HongBaoV2.STATE_KELINGQU);
+            if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_PDD)// 鎷煎澶�15澶╁崐鍒拌处
+                hongBao.setPreGetTime(new Date(
+                        commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L + 1000 * 60 * 60 * 12L));
+            else
+                hongBao.setPreGetTime(new Date(commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L));
+        } else if (commonOrder.getState() == CommonOrder.STATE_SX) {
+            hongBao.setState(HongBaoV2.STATE_SHIXIAO);
+            hongBao.setMoney(new BigDecimal(0));
+        } else {
+            throw new HongBaoException(3, "缁存潈璁㈠崟涓嶈兘鍒涘缓绾㈠寘");
+        }
 
-		if (mianDanMoney != null)
-			hongBao.setMoney(mianDanMoney);
+        if (mianDanMoney != null)
+            hongBao.setMoney(mianDanMoney);
 
-		UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId());
-		if (user == null)
-			throw new UserAccountException(1001, "鐢ㄦ埛涓嶅瓨鍦�/琚皝绂�");
-		hongBao.setUrank(userLevel.getOrderRank());
-		hongBao.setOrderType(commonOrder.getSourceType());
-		return hongBao;
-	}
+        UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId());
+        if (user == null)
+            throw new UserAccountException(1001, "鐢ㄦ埛涓嶅瓨鍦�/琚皝绂�");
+        hongBao.setUrank(userLevel.getOrderRank());
+        hongBao.setOrderType(commonOrder.getSourceType());
+        return hongBao;
+    }
 
-	private HongBaoV2 createFanLiUpdateHongBao(CommonOrder commonOrder, BigDecimal money, Long hongBaoId,
-			boolean mianDan) throws HongBaoException, UserAccountException {
-		HongBaoV2 hongBao = new HongBaoV2(hongBaoId);
-		hongBao.setUpdateTime(new Date());
-		hongBao.setMoney(money);
-		// 鏇存敼鐘舵�佷笌璧勯噾
-		if (commonOrder.getState() == CommonOrder.STATE_FK) {
-			hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
+    private HongBaoV2 createFanLiUpdateHongBao(CommonOrder commonOrder, BigDecimal money, Long hongBaoId,
+                                               boolean mianDan) throws HongBaoException, UserAccountException {
+        HongBaoV2 hongBao = new HongBaoV2(hongBaoId);
+        hongBao.setUpdateTime(new Date());
+        hongBao.setMoney(money);
+        // 鏇存敼鐘舵�佷笌璧勯噾
+        if (commonOrder.getState() == CommonOrder.STATE_FK) {
+            hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
 
-			if (mianDan)
-				hongBao.setMoney(commonOrder.getPayment());
-		} else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
-			hongBao.setState(HongBaoV2.STATE_KELINGQU);
-			if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_PDD)// 鎷煎澶�15澶╄繃1涓皬鏃跺埌璐�
-				hongBao.setPreGetTime(new Date(
-						commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L + 1000 * 60 * 60 * 1L));
-			else
-				hongBao.setPreGetTime(new Date(commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L));
-			if (mianDan)
-				hongBao.setMoney(commonOrder.getSettlement().compareTo(commonOrder.getPayment()) <= 0
-						? commonOrder.getSettlement() : commonOrder.getPayment());// 杩斿埄缁撶畻涓庝粯娆捐緝灏忕殑閲戦
-		} else if (commonOrder.getState() == CommonOrder.STATE_SX) {
-			hongBao.setState(HongBaoV2.STATE_SHIXIAO);
-			hongBao.setMoney(new BigDecimal(0));
-		}
-		return hongBao;
-	}
+            if (mianDan)
+                hongBao.setMoney(commonOrder.getPayment());
+        } else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
+            hongBao.setState(HongBaoV2.STATE_KELINGQU);
+            if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_PDD)// 鎷煎澶�15澶╄繃1涓皬鏃跺埌璐�
+                hongBao.setPreGetTime(new Date(
+                        commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L + 1000 * 60 * 60 * 1L));
+            else
+                hongBao.setPreGetTime(new Date(commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L));
+            if (mianDan)
+                hongBao.setMoney(commonOrder.getSettlement().compareTo(commonOrder.getPayment()) <= 0
+                        ? commonOrder.getSettlement() : commonOrder.getPayment());// 杩斿埄缁撶畻涓庝粯娆捐緝灏忕殑閲戦
+        } else if (commonOrder.getState() == CommonOrder.STATE_SX) {
+            hongBao.setState(HongBaoV2.STATE_SHIXIAO);
+            hongBao.setMoney(new BigDecimal(0));
+        }
+        return hongBao;
+    }
 
-	/**
-	 * 鍒嗕韩璧氭洿鏂�
-	 * 
-	 * @param commonOrder
-	 * @param fanliRate
-	 * @param hongBaoId
-	 * @param mianDan
-	 * @return
-	 * @throws HongBaoException
-	 * @throws UserAccountException
-	 */
-	private HongBaoV2 createShareUpdateHongBao(CommonOrder commonOrder, BigDecimal money, Long hongBaoId)
-			throws HongBaoException, UserAccountException {
-		HongBaoV2 hongBao = new HongBaoV2(hongBaoId);
-		hongBao.setUpdateTime(new Date());
-		hongBao.setMoney(money);
-		// 鏇存敼鐘舵�佷笌璧勯噾
-		if (commonOrder.getState() == CommonOrder.STATE_FK) {
-			hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
-		} else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
-			hongBao.setState(HongBaoV2.STATE_KELINGQU);
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTime(commonOrder.getSettleTime());
-			calendar.add(Calendar.MONTH, 1);
-			hongBao.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
-					calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
-		} else if (commonOrder.getState() == CommonOrder.STATE_SX) {
-			hongBao.setState(HongBaoV2.STATE_SHIXIAO);
-			hongBao.setMoney(new BigDecimal(0));
-		}
-		return hongBao;
-	}
+    /**
+     * 鍒嗕韩璧氭洿鏂�
+     *
+     * @param commonOrder
+     * @param hongBaoId
+     * @return
+     * @throws HongBaoException
+     * @throws UserAccountException
+     */
+    private HongBaoV2 createShareUpdateHongBao(CommonOrder commonOrder, BigDecimal money, Long hongBaoId)
+            throws HongBaoException, UserAccountException {
+        HongBaoV2 hongBao = new HongBaoV2(hongBaoId);
+        hongBao.setUpdateTime(new Date());
+        hongBao.setMoney(money);
+        // 鏇存敼鐘舵�佷笌璧勯噾
+        if (commonOrder.getState() == CommonOrder.STATE_FK) {
+            hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
+        } else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
+            hongBao.setState(HongBaoV2.STATE_KELINGQU);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(commonOrder.getSettleTime());
+            calendar.add(Calendar.MONTH, 1);
+            hongBao.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
+                    calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
+        } else if (commonOrder.getState() == CommonOrder.STATE_SX) {
+            hongBao.setState(HongBaoV2.STATE_SHIXIAO);
+            hongBao.setMoney(new BigDecimal(0));
+        }
+        return hongBao;
+    }
 
-	private HongBaoV2 createInviteUpdateHongBao(HongBaoV2 oldChild, int mainHongBaoState, BigDecimal money,
-			CommonOrder commonOrder) {
-		HongBaoV2 childUpdate = new HongBaoV2(oldChild.getId());
-		childUpdate.setState(mainHongBaoState);
-		childUpdate.setUpdateTime(new Date());
-		childUpdate.setMoney(money);
-		// 浠ュ疄闄呮敹鍏ヤ负鍑嗚绠楅浼版敹鐩�
-		if (mainHongBaoState == HongBaoV2.STATE_KELINGQU) {
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTime(commonOrder.getSettleTime());
-			calendar.add(Calendar.MONTH, 1);
-			childUpdate.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
-					calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
-		}
-		return childUpdate;
-	}
+    private HongBaoV2 createInviteUpdateHongBao(HongBaoV2 oldChild, int mainHongBaoState, BigDecimal money,
+                                                CommonOrder commonOrder) {
+        HongBaoV2 childUpdate = new HongBaoV2(oldChild.getId());
+        childUpdate.setState(mainHongBaoState);
+        childUpdate.setUpdateTime(new Date());
+        childUpdate.setMoney(money);
+        // 浠ュ疄闄呮敹鍏ヤ负鍑嗚绠楅浼版敹鐩�
+        if (mainHongBaoState == HongBaoV2.STATE_KELINGQU) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(commonOrder.getSettleTime());
+            calendar.add(Calendar.MONTH, 1);
+            childUpdate.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
+                    calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
+        }
+        return childUpdate;
+    }
 
-	private void addFanLiOrShareHongBao(HongBaoV2 hongBao, CommonOrder commonOrder,
-			Map<Integer, HongBaoOrder> notificationMap) {
-		hongBaoV2Mapper.insertSelective(hongBao);
-		// 娣诲姞绾㈠寘涓庤鍗曠殑鏄犲皠
-		HongBaoOrder hongBaoOrder = new HongBaoOrder();
-		hongBaoOrder.setCommonOrder(commonOrder);
-		hongBaoOrder.setCreateTime(new Date());
-		hongBaoOrder.setHongBaoV2(hongBao);
-		hongBaoOrderMapper.insertSelective(hongBaoOrder);
-		// 鍔犲叆閫氱煡
-		if (notificationMap.get(hongBao.getType()) == null) {
-			HongBaoV2 tempHongBao = new HongBaoV2(hongBao.getId());
-			tempHongBao.setUserInfo(hongBao.getUserInfo());
-			tempHongBao.setMoney(hongBao.getMoney());
-			CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
-			tempCommonOrder.setPayment(commonOrder.getPayment());
-			tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
-			notificationMap.put(hongBao.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
-		} else {
-			// 澧炲姞浠樻閲戦涓庤祫閲�
-			HongBaoOrder tempHongBaoOrder = notificationMap.get(hongBao.getType());
-			tempHongBaoOrder.getCommonOrder()
-					.setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
-			tempHongBaoOrder.getHongBaoV2()
-					.setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
-			notificationMap.put(hongBao.getType(), tempHongBaoOrder);
-		}
-	}
+    private void addFanLiOrShareHongBao(HongBaoV2 hongBao, CommonOrder commonOrder,
+                                        Map<Integer, HongBaoOrder> notificationMap) {
+        hongBaoV2Mapper.insertSelective(hongBao);
+        // 娣诲姞绾㈠寘涓庤鍗曠殑鏄犲皠
+        HongBaoOrder hongBaoOrder = new HongBaoOrder();
+        hongBaoOrder.setCommonOrder(commonOrder);
+        hongBaoOrder.setCreateTime(new Date());
+        hongBaoOrder.setHongBaoV2(hongBao);
+        hongBaoOrderMapper.insertSelective(hongBaoOrder);
+        // 鍔犲叆閫氱煡
+        if (notificationMap.get(hongBao.getType()) == null) {
+            HongBaoV2 tempHongBao = new HongBaoV2(hongBao.getId());
+            tempHongBao.setUserInfo(hongBao.getUserInfo());
+            tempHongBao.setMoney(hongBao.getMoney());
+            CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId());
+            tempCommonOrder.setPayment(commonOrder.getPayment());
+            tempCommonOrder.setThirdCreateTime(commonOrder.getThirdCreateTime());
+            notificationMap.put(hongBao.getType(), new HongBaoOrder(tempCommonOrder, tempHongBao));
+        } else {
+            // 澧炲姞浠樻閲戦涓庤祫閲�
+            HongBaoOrder tempHongBaoOrder = notificationMap.get(hongBao.getType());
+            tempHongBaoOrder.getCommonOrder()
+                    .setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment()));
+            tempHongBaoOrder.getHongBaoV2()
+                    .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(hongBao.getMoney()));
+            notificationMap.put(hongBao.getType(), tempHongBaoOrder);
+        }
+    }
 
-	/**
-	 * 鍒涘缓鍒嗕韩璧氱孩鍖�
-	 * 
-	 * @param commonOrder
-	 * @param shareRate
-	 * @return
-	 * @throws HongBaoException
-	 * @throws UserAccountException
-	 */
-	private HongBaoV2 createShareHongBao(CommonOrder commonOrder, BigDecimal money, UserLevelEnum userLevel)
-			throws HongBaoException, UserAccountException {
-		HongBaoV2 hongBao = new HongBaoV2();
-		hongBao.setCreateTime(new Date());
-		hongBao.setType(HongBaoV2.TYPE_SHARE_GOODS);
-		hongBao.setVersion(2);
-		hongBao.setMoney(money);
-		if (commonOrder.getState() == CommonOrder.STATE_FK) {
-			hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
-		} else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
-			hongBao.setState(HongBaoV2.STATE_KELINGQU);
-			Calendar calendar = Calendar.getInstance();
-			calendar.setTime(commonOrder.getSettleTime());
-			calendar.add(Calendar.MONTH, 1);
-			hongBao.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
-					calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
-		}
-		UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId());
-		if (user == null)
-			throw new UserAccountException(1001, "鐢ㄦ埛涓嶅瓨鍦�/琚皝绂�");
-		hongBao.setUrank(userLevel.getOrderRank());
-		hongBao.setUserInfo(user);
-		hongBao.setOrderType(commonOrder.getSourceType());
-		return hongBao;
-	}
+    /**
+     * 鍒涘缓鍒嗕韩璧氱孩鍖�
+     *
+     * @param commonOrder
+     * @param shareRate
+     * @return
+     * @throws HongBaoException
+     * @throws UserAccountException
+     */
+    private HongBaoV2 createShareHongBao(CommonOrder commonOrder, BigDecimal money, UserLevelEnum userLevel)
+            throws HongBaoException, UserAccountException {
+        HongBaoV2 hongBao = new HongBaoV2();
+        hongBao.setCreateTime(new Date());
+        hongBao.setType(HongBaoV2.TYPE_SHARE_GOODS);
+        hongBao.setVersion(2);
+        hongBao.setMoney(money);
+        if (commonOrder.getState() == CommonOrder.STATE_FK) {
+            hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
+        } else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
+            hongBao.setState(HongBaoV2.STATE_KELINGQU);
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(commonOrder.getSettleTime());
+            calendar.add(Calendar.MONTH, 1);
+            hongBao.setPreGetTime(new Date(TimeUtil.convertToTimeTemp(
+                    calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")));
+        }
+        UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId());
+        if (user == null)
+            throw new UserAccountException(1001, "鐢ㄦ埛涓嶅瓨鍦�/琚皝绂�");
+        hongBao.setUrank(userLevel.getOrderRank());
+        hongBao.setUserInfo(user);
+        hongBao.setOrderType(commonOrder.getSourceType());
+        return hongBao;
+    }
 
-	class HongBaoSaveResult {
-		boolean add;
-		boolean miandan;
+    class HongBaoSaveResult {
+        boolean add;
+        boolean miandan;
 
-		public void setMiandan(boolean miandan) {
-			this.miandan = miandan;
-		}
+        public void setMiandan(boolean miandan) {
+            this.miandan = miandan;
+        }
 
-		public HongBaoSaveResult(boolean add, boolean miandan) {
-			super();
-			this.add = add;
-			this.miandan = miandan;
-		}
+        public HongBaoSaveResult(boolean add, boolean miandan) {
+            super();
+            this.add = add;
+            this.miandan = miandan;
+        }
 
-		public boolean isAdd() {
-			return add;
-		}
+        public boolean isAdd() {
+            return add;
+        }
 
-		public void setAdd(boolean add) {
-			this.add = add;
-		}
+        public void setAdd(boolean add) {
+            this.add = add;
+        }
 
-		public boolean isMiandan() {
-			return miandan;
-		}
-	}
+        public boolean isMiandan() {
+            return miandan;
+        }
+    }
 }

--
Gitblit v1.8.0