From 3727469752a977dde6327e2c48d761b20b565d3d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 15 七月 2022 09:19:21 +0800
Subject: [PATCH] 商品ID字符串化

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java |  996 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 499 insertions(+), 497 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
index 8a3e114..da26d57 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/money/tb/TaoBaoWeiQuanDrawBackServiceImpl.java
@@ -46,575 +46,577 @@
 
 @Service
 public class TaoBaoWeiQuanDrawBackServiceImpl implements TaoBaoWeiQuanDrawBackService {
-	@Resource
-	private TaoBaoWeiQuanDrawBackMapper taoBaoWeiQuanDrawBackMapper;
+    @Resource
+    private TaoBaoWeiQuanDrawBackMapper taoBaoWeiQuanDrawBackMapper;
 
-	@Resource
-	private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
+    @Resource
+    private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
 
-	@Resource
-	private TaoBaoOrderMapper taoBaoOrderMapper;
+    @Resource
+    private TaoBaoOrderMapper taoBaoOrderMapper;
 
-	@Resource
-	private UserInfoMapper userInfoMapper;
+    @Resource
+    private UserInfoMapper userInfoMapper;
 
-	@Resource
-	private UserMoneyDetailMapper userMoneyDetailMapper;
+    @Resource
+    private UserMoneyDetailMapper userMoneyDetailMapper;
 
-	@Resource
-	private CommonOrderMapper commonOrderMapper;
+    @Resource
+    private CommonOrderMapper commonOrderMapper;
 
-	@Resource
-	private HongBaoV2Mapper hongBaoV2Mapper;
+    @Resource
+    private HongBaoV2Mapper hongBaoV2Mapper;
 
-	@Resource
-	private HongBaoOrderMapper hongBaoOrderMapper;
+    @Resource
+    private HongBaoOrderMapper hongBaoOrderMapper;
 
-	@Resource
-	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
+    @Resource
+    private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
 
-	@Resource
-	private UserMoneyDebtService userMoneyDebtService;
+    @Resource
+    private UserMoneyDebtService userMoneyDebtService;
 
-	@Resource
-	private UserMoneyService userMoneyService;
+    @Resource
+    private UserMoneyService userMoneyService;
 
 
-	@Resource
-	private UserMoneyDetailService userMoneyDetailService;
+    @Resource
+    private UserMoneyDetailService userMoneyDetailService;
 
-	@Override
-	public void addWeiQuanDrawBack(TaoBaoWeiQuanDrawBack taoBaoWeiQuanDrawBack) {
-		taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(taoBaoWeiQuanDrawBack.getOrderItemId(),
-				taoBaoWeiQuanDrawBack.getUser().getId());
-	}
+    @Override
+    public void addWeiQuanDrawBack(TaoBaoWeiQuanDrawBack taoBaoWeiQuanDrawBack) {
+        taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(taoBaoWeiQuanDrawBack.getOrderItemId(),
+                taoBaoWeiQuanDrawBack.getUser().getId());
+    }
 
-	@Transactional(rollbackFor = Exception.class)
-	private void addDebt(Long uid, Long hbId, BigDecimal money) throws UserMoneyDebtException {
-		UserMoneyDebt debt = new UserMoneyDebt();
-		debt.setBeiZhu(null);
-		debt.setCreateTime(new Date());
-		debt.setLeftMoney(money);
-		debt.setOriginMoney(money);
-		debt.setSourceId(hbId);
-		debt.setType(UserMoneyDebtTypeEnum.order);
-		debt.setUid(uid);
-		userMoneyDebtService.addUserMoneyDebt(debt);
-	}
+    @Transactional(rollbackFor = Exception.class)
+    private void addDebt(Long uid, Long hbId, BigDecimal money) throws UserMoneyDebtException {
+        UserMoneyDebt debt = new UserMoneyDebt();
+        debt.setBeiZhu(null);
+        debt.setCreateTime(new Date());
+        debt.setLeftMoney(money);
+        debt.setOriginMoney(money);
+        debt.setSourceId(hbId);
+        debt.setType(UserMoneyDebtTypeEnum.order);
+        debt.setUid(uid);
+        userMoneyDebtService.addUserMoneyDebt(debt);
+    }
 
-	/**
-	 * 璁$畻閫�娆鹃噾棰�
-	 * 
-	 * @param settlement
-	 * @param wqMoney
-	 * @param hongBaoMoney
-	 * @return
-	 */
-	private BigDecimal computeDrawBackMoney(BigDecimal settlement, BigDecimal wqMoney, BigDecimal hongBaoMoney) {
-		BigDecimal money = (hongBaoMoney.multiply(wqMoney)).divide(settlement, 2, BigDecimal.ROUND_UP);
-		if (money.compareTo(hongBaoMoney) > 0)
-			money = hongBaoMoney;
-		return money;
-	}
+    /**
+     * 璁$畻閫�娆鹃噾棰�
+     *
+     * @param settlement
+     * @param wqMoney
+     * @param hongBaoMoney
+     * @return
+     */
+    private BigDecimal computeDrawBackMoney(BigDecimal settlement, BigDecimal wqMoney, BigDecimal hongBaoMoney) {
+        BigDecimal money = (hongBaoMoney.multiply(wqMoney)).divide(settlement, 2, BigDecimal.ROUND_UP);
+        if (money.compareTo(hongBaoMoney) > 0)
+            money = hongBaoMoney;
+        return money;
+    }
 
-	@Transactional(rollbackFor = Exception.class)
-	@Override
-	public Map<Long, BigDecimal> doWeiQuanFanli(String orderId, boolean subMoneySync) throws TaoBaoWeiQuanException {
-		if (StringUtil.isNullOrEmpty(orderId))
-			throw new TaoBaoWeiQuanException(1, "璁㈠崟鍙蜂负绌哄��");
-		// 鏌ヨ鏄惁涓虹淮鏉冭鍗�
-		List<TaoBaoWeiQuanOrder> list = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderId);
-		if (list == null || list.size() == 0)
-			return null;
-		List<HongBaoV2> mainHongBaoList = getWeiQuanMainHongBao(list, orderId);
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public Map<Long, BigDecimal> doWeiQuanFanli(String orderId, boolean subMoneySync) throws TaoBaoWeiQuanException {
+        if (StringUtil.isNullOrEmpty(orderId))
+            throw new TaoBaoWeiQuanException(1, "璁㈠崟鍙蜂负绌哄��");
+        // 鏌ヨ鏄惁涓虹淮鏉冭鍗�
+        List<TaoBaoWeiQuanOrder> list = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderId);
+        if (list == null || list.size() == 0)
+            return null;
+        List<HongBaoV2> mainHongBaoList = getWeiQuanMainHongBao(list, orderId);
 
-		if (mainHongBaoList == null || mainHongBaoList.size() == 0)
-			return null;
-		for (int i = 0; i < mainHongBaoList.size(); i++) {
-			// 閿佽锛岄槻姝㈤噸澶� 鎿嶄綔
-			HongBaoV2 hb = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(mainHongBaoList.get(i).getId());
-			mainHongBaoList.set(i, hb);
-			// 鍙鐞嗚繑鍒╄鍗�
-			if (hb.getType() != HongBaoV2.TYPE_ZIGOU) {
-				mainHongBaoList.remove(i);
-				i--;
-			}
-		}
+        if (mainHongBaoList == null || mainHongBaoList.size() == 0)
+            return null;
+        for (int i = 0; i < mainHongBaoList.size(); i++) {
+            // 閿佽锛岄槻姝㈤噸澶� 鎿嶄綔
+            HongBaoV2 hb = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(mainHongBaoList.get(i).getId());
+            mainHongBaoList.set(i, hb);
+            // 鍙鐞嗚繑鍒╄鍗�
+            if (hb.getType() != HongBaoV2.TYPE_ZIGOU) {
+                mainHongBaoList.remove(i);
+                i--;
+            }
+        }
 
-		if (mainHongBaoList == null || mainHongBaoList.size() == 0)
-			return null;
+        if (mainHongBaoList == null || mainHongBaoList.size() == 0)
+            return null;
 
-		// 涓荤敤鎴稩D
-		Map<Long, BigDecimal> fanMoneyMap = new HashMap<>();
+        // 涓荤敤鎴稩D
+        Map<Long, BigDecimal> fanMoneyMap = new HashMap<>();
 
-		if (mainHongBaoList != null)
-			for (HongBaoV2 hongBao : mainHongBaoList) {
-				if (hongBao.getState() != HongBaoV2.STATE_YILINGQU)
-					continue;
-				// 绱涓荤孩鍖呯殑閲戦
-				if (fanMoneyMap.get(hongBao.getUserInfo().getId()) == null) {
-					fanMoneyMap.put(hongBao.getUserInfo().getId(), hongBao.getMoney());
-				} else
-					fanMoneyMap.put(hongBao.getUserInfo().getId(),
-							fanMoneyMap.get(hongBao.getUserInfo().getId()).add(hongBao.getMoney()));
-			}
+        if (mainHongBaoList != null)
+            for (HongBaoV2 hongBao : mainHongBaoList) {
+                if (hongBao.getState() != HongBaoV2.STATE_YILINGQU)
+                    continue;
+                // 绱涓荤孩鍖呯殑閲戦
+                if (fanMoneyMap.get(hongBao.getUserInfo().getId()) == null) {
+                    fanMoneyMap.put(hongBao.getUserInfo().getId(), hongBao.getMoney());
+                } else
+                    fanMoneyMap.put(hongBao.getUserInfo().getId(),
+                            fanMoneyMap.get(hongBao.getUserInfo().getId()).add(hongBao.getMoney()));
+            }
 
-		// 璁$畻姣忎釜鐢ㄦ埛鐨勮繑鍒╂瘮渚�
-		Iterator<Long> its = fanMoneyMap.keySet().iterator();
-		Map<Long, BigDecimal> userSubMoneyMap = new HashMap<>();
-		while (its.hasNext()) {
-			Long uid = its.next();
-			BigDecimal userGetMoney = fanMoneyMap.get(uid);
-			BigDecimal wqMoney = new BigDecimal("0");
-			// 缁熻鐢ㄦ埛鍦ㄨ繖涓崟涓渶瑕佹墸闄ょ殑璧勯噾
-			TaoBaoWeiQuanDrawBack weiQuanDrawBack = null;
-			List<TaoBaoWeiQuanDrawBack> newWeiQuanDrawBackList = new ArrayList<>();
-			BigDecimal settleMent = new BigDecimal(0);
-			for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
-				weiQuanDrawBack = taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(weiQuanOrder.getOrderItemId(),
-						uid);
-				if (weiQuanDrawBack != null)
-					continue;
-				// 璁$畻缁撶畻閲戦
-				TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(weiQuanOrder.getOrderItemId());
-				if (taoBaoOrder == null)
-					throw new TaoBaoWeiQuanException(101, "鏈壘鍒板瓙璁㈠崟鐩稿叧鏁版嵁");
+        // 璁$畻姣忎釜鐢ㄦ埛鐨勮繑鍒╂瘮渚�
+        Iterator<Long> its = fanMoneyMap.keySet().iterator();
+        Map<Long, BigDecimal> userSubMoneyMap = new HashMap<>();
+        while (its.hasNext()) {
+            Long uid = its.next();
+            BigDecimal userGetMoney = fanMoneyMap.get(uid);
+            BigDecimal wqMoney = new BigDecimal("0");
+            // 缁熻鐢ㄦ埛鍦ㄨ繖涓崟涓渶瑕佹墸闄ょ殑璧勯噾
+            TaoBaoWeiQuanDrawBack weiQuanDrawBack = null;
+            List<TaoBaoWeiQuanDrawBack> newWeiQuanDrawBackList = new ArrayList<>();
+            BigDecimal settleMent = new BigDecimal(0);
+            for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
+                weiQuanDrawBack = taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(weiQuanOrder.getOrderItemId(),
+                        uid);
+                if (weiQuanDrawBack != null) {
+                    weiQuanDrawBack = null;
+                    continue;
+                }
+                // 璁$畻缁撶畻閲戦
+                TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(weiQuanOrder.getOrderItemId());
+                if (taoBaoOrder == null)
+                    throw new TaoBaoWeiQuanException(101, "鏈壘鍒板瓙璁㈠崟鐩稿叧鏁版嵁");
 
-				if (taoBaoOrder.getSettlement() == null)
-					throw new TaoBaoWeiQuanException(102, "娣樺疂缁撶畻閲戦涓虹┖");
+                if (taoBaoOrder.getSettlement() == null)
+                    throw new TaoBaoWeiQuanException(102, "娣樺疂缁撶畻閲戦涓虹┖");
 
-				settleMent = settleMent.add(taoBaoOrder.getSettlement());
+                settleMent = settleMent.add(taoBaoOrder.getSettlement());
 
-				// 閫�娆剧殑璧勯噾
-				wqMoney = wqMoney.add(weiQuanOrder.getMoney());
-				weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
-				weiQuanDrawBack.setCreateTime(new Date());
+                // 閫�娆剧殑璧勯噾
+                wqMoney = wqMoney.add(weiQuanOrder.getMoney());
+                weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
+                weiQuanDrawBack.setCreateTime(new Date());
 
-				CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
-						weiQuanOrder.getOrderItemId());
-				HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
-				// 璁$畻閫�娆剧殑璧勯噾
-				BigDecimal drawBack = null;
-				if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null)
-					drawBack = computeDrawBackMoney(commonOrder.getSettlement(), weiQuanOrder.getMoney(),
-							hongBaoOrder.getHongBaoV2().getMoney());
+                CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+                        weiQuanOrder.getOrderItemId());
+                HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+                // 璁$畻閫�娆剧殑璧勯噾
+                BigDecimal drawBack = null;
+                if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null)
+                    drawBack = computeDrawBackMoney(commonOrder.getSettlement(), weiQuanOrder.getMoney(),
+                            hongBaoOrder.getHongBaoV2().getMoney());
 
-				weiQuanDrawBack.setDrawBackMoney(drawBack);
-				weiQuanDrawBack.setOrderId(weiQuanOrder.getOrderId());
-				weiQuanDrawBack.setOrderItemId(weiQuanOrder.getOrderItemId());
-				weiQuanDrawBack.setUser(new UserInfo(uid));
-				newWeiQuanDrawBackList.add(weiQuanDrawBack);
-			}
+                weiQuanDrawBack.setDrawBackMoney(drawBack);
+                weiQuanDrawBack.setOrderId(weiQuanOrder.getOrderId());
+                weiQuanDrawBack.setOrderItemId(weiQuanOrder.getOrderItemId());
+                weiQuanDrawBack.setUser(new UserInfo(uid));
+                newWeiQuanDrawBackList.add(weiQuanDrawBack);
+            }
 
-			if (wqMoney.compareTo(new BigDecimal("0")) <= 0)
-				continue;
+            if (wqMoney.compareTo(new BigDecimal("0")) <= 0)
+                continue;
 
-			// 鎻掑叆璁板綍
-			for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) {
-				taoBaoWeiQuanDrawBackMapper.insertSelective(drawBack);
-			}
+            // 鎻掑叆璁板綍
+            for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) {
+                taoBaoWeiQuanDrawBackMapper.insertSelective(drawBack);
+            }
 
-			// 閫�娆鹃噾棰�
-			BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, wqMoney, userGetMoney);
-			userSubMoneyMap.put(uid, drawBackMoney);
-			if (subMoneySync) {//鍚屾鍑忓幓璧勯噾
-				// 璁$畻璧勯噾鏄惁鍏呰冻
-				UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
-				if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
-				{
-					// 娣诲姞鍊哄姟
-					for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) {
-						TaoBaoOrder taoBaoOrder = taoBaoOrderMapper
-								.selectTaoBaoOrderByTradeId(drawBack.getOrderItemId());
-						if (taoBaoOrder != null) {
-							TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService
-									.selectByTradeId(drawBack.getOrderItemId());
-							CommonOrder co = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
-									drawBack.getOrderItemId());
-							if (co != null) {
-								HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(co.getId());
-								if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) {
-									BigDecimal drawback = computeDrawBackMoney(taoBaoOrder.getSettlement(),
-											weiQuanOrder.getMoney(), hongBaoOrder.getHongBaoV2().getMoney());
-									try {
-										addDebt(uid, hongBaoOrder.getHongBaoV2().getId(), drawback);
-									} catch (UserMoneyDebtException e) {
-										throw new TaoBaoWeiQuanException(101, "璧勯噾鍊熻捶寮傚父");
-									}
-								}
-							}
-						}
-					}
-					continue;
-				}
+            // 閫�娆鹃噾棰�
+            BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, wqMoney, userGetMoney);
+            userSubMoneyMap.put(uid, drawBackMoney);
+            if (subMoneySync) {//鍚屾鍑忓幓璧勯噾
+                // 璁$畻璧勯噾鏄惁鍏呰冻
+                UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
+                if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
+                {
+                    // 娣诲姞鍊哄姟
+                    for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) {
+                        TaoBaoOrder taoBaoOrder = taoBaoOrderMapper
+                                .selectTaoBaoOrderByTradeId(drawBack.getOrderItemId());
+                        if (taoBaoOrder != null) {
+                            TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService
+                                    .selectByTradeId(drawBack.getOrderItemId());
+                            CommonOrder co = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+                                    drawBack.getOrderItemId());
+                            if (co != null) {
+                                HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(co.getId());
+                                if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null) {
+                                    BigDecimal drawback = computeDrawBackMoney(taoBaoOrder.getSettlement(),
+                                            weiQuanOrder.getMoney(), hongBaoOrder.getHongBaoV2().getMoney());
+                                    try {
+                                        addDebt(uid, hongBaoOrder.getHongBaoV2().getId(), drawback);
+                                    } catch (UserMoneyDebtException e) {
+                                        throw new TaoBaoWeiQuanException(101, "璧勯噾鍊熻捶寮傚父");
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    continue;
+                }
 
-				UserMoneyDetail userMoneyDetail = null;
-				// 鏂扮増璧勯噾璁板綍
-				try {
-					userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, weiQuanDrawBack, drawBackMoney);
-				} catch (UserMoneyDetailException e) {
-					try {
-						LogHelper.errorDetailInfo(e);
-					} catch (Exception e1) {
-						e1.printStackTrace();
-					}
-				}
-				if (userMoneyDetail == null)
-					throw new TaoBaoWeiQuanException(110, "璧勯噾璁板綍鐢熸垚澶辫触");
-				userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
+                UserMoneyDetail userMoneyDetail = null;
+                // 鏂扮増璧勯噾璁板綍
+                try {
+                    userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, orderId, newWeiQuanDrawBackList, drawBackMoney);
+                } catch (UserMoneyDetailException e) {
+                    try {
+                        LogHelper.errorDetailInfo(e);
+                    } catch (Exception e1) {
+                        e1.printStackTrace();
+                    }
+                }
+                if (userMoneyDetail == null)
+                    throw new TaoBaoWeiQuanException(110, "璧勯噾璁板綍鐢熸垚澶辫触");
+                userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
 
-				// 鏂扮増閫氱煡
-				List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndOrderNo(Constant.SOURCE_TYPE_TAOBAO,
-						orderId);
-				int goodsCount = 0;
-				for (CommonOrder co : orderList) {
-					if (co.getState() != CommonOrder.STATE_SX)
-						goodsCount += co.getCount();
-				}
+                // 鏂扮増閫氱煡
+                List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndOrderNo(Constant.SOURCE_TYPE_TAOBAO,
+                        orderId);
+                int goodsCount = 0;
+                for (CommonOrder co : orderList) {
+                    if (co.getState() != CommonOrder.STATE_SX)
+                        goodsCount += co.getCount();
+                }
 
-				BigDecimal fanliMoney = new BigDecimal(0);
-				List<HongBaoOrder> hongBaoOrderList = hongBaoOrderMapper.listDetailByOrderIdAndSourceType(orderId,
-						Constant.SOURCE_TYPE_TAOBAO);
-				for (HongBaoOrder hb : hongBaoOrderList) {
-					fanliMoney = fanliMoney.add(hb.getHongBaoV2().getMoney());
-				}
+                BigDecimal fanliMoney = new BigDecimal(0);
+                List<HongBaoOrder> hongBaoOrderList = hongBaoOrderMapper.listDetailByOrderIdAndSourceType(orderId,
+                        Constant.SOURCE_TYPE_TAOBAO);
+                for (HongBaoOrder hb : hongBaoOrderList) {
+                    fanliMoney = fanliMoney.add(hb.getHongBaoV2().getMoney());
+                }
 
-				userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, orderId, Constant.SOURCE_TYPE_TAOBAO,
-						drawBackMoney, fanliMoney, goodsCount, orderList.get(0).getThirdCreateTime());
+                userMoneyMsgNotificationService.fanliOrderWeiQuan(uid, orderId, Constant.SOURCE_TYPE_TAOBAO,
+                        drawBackMoney, fanliMoney, goodsCount, orderList.get(0).getThirdCreateTime());
 
-			} else {// 璁板綍璧勯噾璁板綍锛屼絾鏄笉鏄剧ず缁欑敤鎴�
+            } else {// 璁板綍璧勯噾璁板綍锛屼絾鏄笉鏄剧ず缁欑敤鎴�
 
-				UserMoneyDetail userMoneyDetail = null;
-				// 鏂扮増璧勯噾璁板綍
-				try {
-					userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, weiQuanDrawBack, drawBackMoney);
-				} catch (UserMoneyDetailException e) {
-					try {
-						LogHelper.errorDetailInfo(e);
-					} catch (Exception e1) {
-						e1.printStackTrace();
-					}
-				}
-				if (userMoneyDetail == null)
-					throw new TaoBaoWeiQuanException(110, "璧勯噾璁板綍鐢熸垚澶辫触");
-				userMoneyDetail.setShow(false);
-				try {
-					userMoneyDetailService.addUserMoneyDetail(userMoneyDetail);
-				} catch (UserMoneyDetailException e) {
-					throw new TaoBaoWeiQuanException(111, "鎻掑叆璁板綍鐢熸垚澶辫触");
-				}
-			}
-		}
-		return userSubMoneyMap;
-	}
+                UserMoneyDetail userMoneyDetail = null;
+                // 鏂扮増璧勯噾璁板綍
+                try {
+                    userMoneyDetail = UserMoneyDetailFactory.createFanLiWeiQuan(uid, orderId, newWeiQuanDrawBackList, drawBackMoney);
+                } catch (UserMoneyDetailException e) {
+                    try {
+                        LogHelper.errorDetailInfo(e);
+                    } catch (Exception e1) {
+                        e1.printStackTrace();
+                    }
+                }
+                if (userMoneyDetail == null)
+                    throw new TaoBaoWeiQuanException(110, "璧勯噾璁板綍鐢熸垚澶辫触");
+                userMoneyDetail.setShow(false);
+                try {
+                    userMoneyDetailService.addUserMoneyDetail(userMoneyDetail);
+                } catch (UserMoneyDetailException e) {
+                    throw new TaoBaoWeiQuanException(111, "鎻掑叆璁板綍鐢熸垚澶辫触");
+                }
+            }
+        }
+        return userSubMoneyMap;
+    }
 
-	private List<HongBaoV2> getWeiQuanMainHongBao(List<TaoBaoWeiQuanOrder> list, String orderId) {
-		// 鏌ヨ鏄惁涓虹淮鏉冭鍗�
-		if (list == null || list.size() == 0)
-			return null;
-		// 鑾峰彇鍜岃璁㈠崟鍙锋湁鍏宠仈鐨勭敤鎴�
-		// 鏌ヨ杩樻湭鎵f鐨勪富绾㈠寘
-		List<HongBaoV2> mainHongBaoList = new ArrayList<>();
-		for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
-			List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
-					weiQuanOrder.getOrderItemId());
-			if (orderList != null && orderList.size() > 0)
-				for (CommonOrder commonOrder : orderList) {
-					// 淇敼璁㈠崟鐘舵�佷负缁存潈
-					CommonOrder co = new CommonOrder(commonOrder.getId());
-					co.setState(CommonOrder.STATE_WQ);
-					co.setUpdateTime(new Date());
-					commonOrderMapper.updateByPrimaryKeySelective(co);
+    private List<HongBaoV2> getWeiQuanMainHongBao(List<TaoBaoWeiQuanOrder> list, String orderId) {
+        // 鏌ヨ鏄惁涓虹淮鏉冭鍗�
+        if (list == null || list.size() == 0)
+            return null;
+        // 鑾峰彇鍜岃璁㈠崟鍙锋湁鍏宠仈鐨勭敤鎴�
+        // 鏌ヨ杩樻湭鎵f鐨勪富绾㈠寘
+        List<HongBaoV2> mainHongBaoList = new ArrayList<>();
+        for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
+            List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+                    weiQuanOrder.getOrderItemId());
+            if (orderList != null && orderList.size() > 0)
+                for (CommonOrder commonOrder : orderList) {
+                    // 淇敼璁㈠崟鐘舵�佷负缁存潈
+                    CommonOrder co = new CommonOrder(commonOrder.getId());
+                    co.setState(CommonOrder.STATE_WQ);
+                    co.setUpdateTime(new Date());
+                    commonOrderMapper.updateByPrimaryKeySelective(co);
 
-					HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
-					if (hongBaoOrder.getCommonOrder() != null
-							&& !StringUtil.isNullOrEmpty(hongBaoOrder.getCommonOrder().getTradeId()))
-					// 鏌ヨ鏄惁宸茬粡缁存潈
-					{
-						TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(
-								hongBaoOrder.getCommonOrder().getTradeId(),
-								hongBaoOrder.getHongBaoV2().getUserInfo().getId());
-						if (drawBack == null)// 娣诲姞杩樻湭鎵f鐨勫瓙璁㈠崟
-							mainHongBaoList.add(hongBaoOrder.getHongBaoV2());
-					}
-				}
-		}
-		return mainHongBaoList;
-	}
+                    HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+                    if (hongBaoOrder.getCommonOrder() != null
+                            && !StringUtil.isNullOrEmpty(hongBaoOrder.getCommonOrder().getTradeId()))
+                    // 鏌ヨ鏄惁宸茬粡缁存潈
+                    {
+                        TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(
+                                hongBaoOrder.getCommonOrder().getTradeId(),
+                                hongBaoOrder.getHongBaoV2().getUserInfo().getId());
+                        if (drawBack == null)// 娣诲姞杩樻湭鎵f鐨勫瓙璁㈠崟
+                            mainHongBaoList.add(hongBaoOrder.getHongBaoV2());
+                    }
+                }
+        }
+        return mainHongBaoList;
+    }
 
-	@Transactional(rollbackFor = Exception.class)
-	@Override
-	public void doWeiQuanShare(String orderId) throws TaoBaoWeiQuanException {
-		if (StringUtil.isNullOrEmpty(orderId))
-			throw new TaoBaoWeiQuanException(1, "璁㈠崟鍙蜂负绌哄��");
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void doWeiQuanShare(String orderId) throws TaoBaoWeiQuanException {
+        if (StringUtil.isNullOrEmpty(orderId))
+            throw new TaoBaoWeiQuanException(1, "璁㈠崟鍙蜂负绌哄��");
 
-		List<TaoBaoWeiQuanOrder> list = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderId);
-		if (list == null || list.size() == 0)
-			return;
-		List<HongBaoV2> mainHongBaoList = getWeiQuanMainHongBao(list, orderId);
+        List<TaoBaoWeiQuanOrder> list = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderId);
+        if (list == null || list.size() == 0)
+            return;
+        List<HongBaoV2> mainHongBaoList = getWeiQuanMainHongBao(list, orderId);
 
-		if (mainHongBaoList == null || mainHongBaoList.size() == 0)
-			return;
+        if (mainHongBaoList == null || mainHongBaoList.size() == 0)
+            return;
 
-		// 涓荤敤鎴稩D
-		Map<Long, BigDecimal> fanMoneyMap = new HashMap<>();
+        // 涓荤敤鎴稩D
+        Map<Long, BigDecimal> fanMoneyMap = new HashMap<>();
 
-		if (mainHongBaoList != null)
-			for (HongBaoV2 hongBao : mainHongBaoList) {// 缁熻璁㈠崟涓嬬殑鎵�鏈変富绾㈠寘
-				hongBao = hongBaoV2Mapper.selectByPrimaryKey(hongBao.getId());
-				if (hongBao.getState() != HongBaoV2.STATE_YILINGQU)
-					continue;
+        if (mainHongBaoList != null)
+            for (HongBaoV2 hongBao : mainHongBaoList) {// 缁熻璁㈠崟涓嬬殑鎵�鏈変富绾㈠寘
+                hongBao = hongBaoV2Mapper.selectByPrimaryKey(hongBao.getId());
+                if (hongBao.getState() != HongBaoV2.STATE_YILINGQU)
+                    continue;
 
-				// 鍙鍏ュ垎浜禋鐨勭孩鍖�
-				if (hongBao.getType() == HongBaoV2.TYPE_SHARE_GOODS) {
-					// 绱涓荤孩鍖呯殑閲戦
-					if (fanMoneyMap.get(hongBao.getUserInfo().getId()) == null) {
-						fanMoneyMap.put(hongBao.getUserInfo().getId(), hongBao.getMoney());
-					} else
-						fanMoneyMap.put(hongBao.getUserInfo().getId(),
-								fanMoneyMap.get(hongBao.getUserInfo().getId()).add(hongBao.getMoney()));
-				}
-			}
+                // 鍙鍏ュ垎浜禋鐨勭孩鍖�
+                if (hongBao.getType() == HongBaoV2.TYPE_SHARE_GOODS) {
+                    // 绱涓荤孩鍖呯殑閲戦
+                    if (fanMoneyMap.get(hongBao.getUserInfo().getId()) == null) {
+                        fanMoneyMap.put(hongBao.getUserInfo().getId(), hongBao.getMoney());
+                    } else
+                        fanMoneyMap.put(hongBao.getUserInfo().getId(),
+                                fanMoneyMap.get(hongBao.getUserInfo().getId()).add(hongBao.getMoney()));
+                }
+            }
 
-		Iterator<Long> its = fanMoneyMap.keySet().iterator();
-		// 鏌ヨ鍜岃繖涓鍗曟湁鍏崇殑鐢ㄦ埛锛堜富璁㈠崟锛�
-		while (its.hasNext()) {
-			Long uid = its.next();
-			BigDecimal userGetMoney = fanMoneyMap.get(uid);
-			BigDecimal wqMoney = new BigDecimal("0");
-			BigDecimal settleMent = new BigDecimal("0");
-			// 缁熻鐢ㄦ埛鍦ㄨ繖涓崟涓渶瑕佹墸闄ょ殑璧勯噾
-			TaoBaoWeiQuanDrawBack weiQuanDrawBack = null;
+        Iterator<Long> its = fanMoneyMap.keySet().iterator();
+        // 鏌ヨ鍜岃繖涓鍗曟湁鍏崇殑鐢ㄦ埛锛堜富璁㈠崟锛�
+        while (its.hasNext()) {
+            Long uid = its.next();
+            BigDecimal userGetMoney = fanMoneyMap.get(uid);
+            BigDecimal wqMoney = new BigDecimal("0");
+            BigDecimal settleMent = new BigDecimal("0");
+            // 缁熻鐢ㄦ埛鍦ㄨ繖涓崟涓渶瑕佹墸闄ょ殑璧勯噾
+            TaoBaoWeiQuanDrawBack weiQuanDrawBack = null;
 
-			List<TaoBaoWeiQuanDrawBack> newWeiQuanDrawBackList = new ArrayList<>();
-			for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
-				weiQuanDrawBack = taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(weiQuanOrder.getOrderItemId(),
-						uid);
-				if (weiQuanDrawBack != null)
-					continue;
-				// 璁$畻缁撶畻閲戦
-				TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(weiQuanOrder.getOrderItemId());
-				if (taoBaoOrder == null)
-					throw new TaoBaoWeiQuanException(101, "鏈壘鍒板瓙璁㈠崟鐩稿叧鏁版嵁");
+            List<TaoBaoWeiQuanDrawBack> newWeiQuanDrawBackList = new ArrayList<>();
+            for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
+                weiQuanDrawBack = taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(weiQuanOrder.getOrderItemId(),
+                        uid);
+                if (weiQuanDrawBack != null)
+                    continue;
+                // 璁$畻缁撶畻閲戦
+                TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(weiQuanOrder.getOrderItemId());
+                if (taoBaoOrder == null)
+                    throw new TaoBaoWeiQuanException(101, "鏈壘鍒板瓙璁㈠崟鐩稿叧鏁版嵁");
 
-				if (taoBaoOrder.getSettlement() == null)
-					throw new TaoBaoWeiQuanException(102, "娣樺疂缁撶畻閲戦涓虹┖");
+                if (taoBaoOrder.getSettlement() == null)
+                    throw new TaoBaoWeiQuanException(102, "娣樺疂缁撶畻閲戦涓虹┖");
 
-				settleMent = settleMent.add(taoBaoOrder.getSettlement());
+                settleMent = settleMent.add(taoBaoOrder.getSettlement());
 
-				// 閫�娆剧殑璧勯噾
-				wqMoney = wqMoney.add(weiQuanOrder.getMoney());
-				// 鎻掑叆璁板綍
-				weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
-				weiQuanDrawBack.setCreateTime(new Date());
-				// 璁$畻閫�娆捐祫閲�
-				CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
-						weiQuanOrder.getOrderItemId());
-				HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
-				// 璁$畻閫�娆剧殑璧勯噾
-				BigDecimal drawBack = null;
-				if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null)
-					drawBack = computeDrawBackMoney(commonOrder.getSettlement(), weiQuanOrder.getMoney(),
-							hongBaoOrder.getHongBaoV2().getMoney());
+                // 閫�娆剧殑璧勯噾
+                wqMoney = wqMoney.add(weiQuanOrder.getMoney());
+                // 鎻掑叆璁板綍
+                weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
+                weiQuanDrawBack.setCreateTime(new Date());
+                // 璁$畻閫�娆捐祫閲�
+                CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+                        weiQuanOrder.getOrderItemId());
+                HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+                // 璁$畻閫�娆剧殑璧勯噾
+                BigDecimal drawBack = null;
+                if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null)
+                    drawBack = computeDrawBackMoney(commonOrder.getSettlement(), weiQuanOrder.getMoney(),
+                            hongBaoOrder.getHongBaoV2().getMoney());
 
-				weiQuanDrawBack.setDrawBackMoney(drawBack);
+                weiQuanDrawBack.setDrawBackMoney(drawBack);
 
-				weiQuanDrawBack.setOrderId(weiQuanOrder.getOrderId());
-				weiQuanDrawBack.setOrderItemId(weiQuanOrder.getOrderItemId());
-				weiQuanDrawBack.setUser(new UserInfo(uid));
-				newWeiQuanDrawBackList.add(weiQuanDrawBack);
-			}
+                weiQuanDrawBack.setOrderId(weiQuanOrder.getOrderId());
+                weiQuanDrawBack.setOrderItemId(weiQuanOrder.getOrderItemId());
+                weiQuanDrawBack.setUser(new UserInfo(uid));
+                newWeiQuanDrawBackList.add(weiQuanDrawBack);
+            }
 
-			if (wqMoney.compareTo(new BigDecimal("0")) <= 0)
-				continue;
+            if (wqMoney.compareTo(new BigDecimal("0")) <= 0)
+                continue;
 
-			// 閫�娆鹃噾棰�
-			BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, wqMoney, userGetMoney);
-			if (drawBackMoney.compareTo(userGetMoney) > 0)
-				drawBackMoney = userGetMoney;
+            // 閫�娆鹃噾棰�
+            BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, wqMoney, userGetMoney);
+            if (drawBackMoney.compareTo(userGetMoney) > 0)
+                drawBackMoney = userGetMoney;
 
-			for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList)
-				taoBaoWeiQuanDrawBackMapper.insertSelective(drawBack);
-			// 璁$畻璧勯噾鏄惁鍏呰冻
-			UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
-			if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
-			{
-				// 娣诲姞鍊哄姟
-				for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) {
-					TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(drawBack.getOrderItemId());
-					if (taoBaoOrder != null) {
-						TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService
-								.selectByTradeId(drawBack.getOrderItemId());
-						BigDecimal settleMentMoney = taoBaoOrder.getSettlement();
-						CommonOrder co = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
-								weiQuanOrder.getOrderItemId());
-						if (co != null) {
-							HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(co.getId());
-							BigDecimal drawback = computeDrawBackMoney(settleMentMoney, weiQuanOrder.getMoney(),
-									hongBaoOrder.getHongBaoV2().getMoney());
-							try {
-								addDebt(uid, hongBaoOrder.getHongBaoV2().getId(), drawback);
-							} catch (UserMoneyDebtException e) {
-								throw new TaoBaoWeiQuanException(101, "璧勯噾鍊熻捶寮傚父");
-							}
-						}
-					}
-				}
-				continue;
-			}
+            for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList)
+                taoBaoWeiQuanDrawBackMapper.insertSelective(drawBack);
+            // 璁$畻璧勯噾鏄惁鍏呰冻
+            UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
+            if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
+            {
+                // 娣诲姞鍊哄姟
+                for (TaoBaoWeiQuanDrawBack drawBack : newWeiQuanDrawBackList) {
+                    TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(drawBack.getOrderItemId());
+                    if (taoBaoOrder != null) {
+                        TaoBaoWeiQuanOrder weiQuanOrder = taoBaoWeiQuanOrderService
+                                .selectByTradeId(drawBack.getOrderItemId());
+                        BigDecimal settleMentMoney = taoBaoOrder.getSettlement();
+                        CommonOrder co = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+                                weiQuanOrder.getOrderItemId());
+                        if (co != null) {
+                            HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(co.getId());
+                            BigDecimal drawback = computeDrawBackMoney(settleMentMoney, weiQuanOrder.getMoney(),
+                                    hongBaoOrder.getHongBaoV2().getMoney());
+                            try {
+                                addDebt(uid, hongBaoOrder.getHongBaoV2().getId(), drawback);
+                            } catch (UserMoneyDebtException e) {
+                                throw new TaoBaoWeiQuanException(101, "璧勯噾鍊熻捶寮傚父");
+                            }
+                        }
+                    }
+                }
+                continue;
+            }
 
-			UserMoneyDetail userMoneyDetail = null;
-			// 鏂扮増璧勯噾璁板綍
-			try {
-				userMoneyDetail = UserMoneyDetailFactory.createShareWeiQuan(uid, weiQuanDrawBack, drawBackMoney);
-			} catch (UserMoneyDetailException e) {
-				try {
-					LogHelper.errorDetailInfo(e);
-				} catch (Exception e1) {
-					e1.printStackTrace();
-				}
-			}
-			userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
+            UserMoneyDetail userMoneyDetail = null;
+            // 鏂扮増璧勯噾璁板綍
+            try {
+                userMoneyDetail = UserMoneyDetailFactory.createShareWeiQuan(uid, weiQuanDrawBack, drawBackMoney);
+            } catch (UserMoneyDetailException e) {
+                try {
+                    LogHelper.errorDetailInfo(e);
+                } catch (Exception e1) {
+                    e1.printStackTrace();
+                }
+            }
+            userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
 
-			// 鏂扮増閫氱煡
-			List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndOrderNo(Constant.SOURCE_TYPE_TAOBAO,
-					orderId);
-			int goodsCount = 0;
-			for (CommonOrder co : orderList) {
-				if (co.getState() != CommonOrder.STATE_SX)
-					goodsCount += co.getCount();
-			}
+            // 鏂扮増閫氱煡
+            List<CommonOrder> orderList = commonOrderMapper.listBySourceTypeAndOrderNo(Constant.SOURCE_TYPE_TAOBAO,
+                    orderId);
+            int goodsCount = 0;
+            for (CommonOrder co : orderList) {
+                if (co.getState() != CommonOrder.STATE_SX)
+                    goodsCount += co.getCount();
+            }
 
-			BigDecimal fanliMoney = new BigDecimal(0);
-			List<HongBaoOrder> hongBaoOrderList = hongBaoOrderMapper.listDetailByOrderIdAndSourceType(orderId,
-					Constant.SOURCE_TYPE_TAOBAO);
-			for (HongBaoOrder hb : hongBaoOrderList) {
-				fanliMoney = fanliMoney.add(hb.getHongBaoV2().getMoney());
-			}
+            BigDecimal fanliMoney = new BigDecimal(0);
+            List<HongBaoOrder> hongBaoOrderList = hongBaoOrderMapper.listDetailByOrderIdAndSourceType(orderId,
+                    Constant.SOURCE_TYPE_TAOBAO);
+            for (HongBaoOrder hb : hongBaoOrderList) {
+                fanliMoney = fanliMoney.add(hb.getHongBaoV2().getMoney());
+            }
 
-			userMoneyMsgNotificationService.shareOrderWeiQuan(uid, orderId, Constant.SOURCE_TYPE_TAOBAO, drawBackMoney,
-					fanliMoney, goodsCount, orderList.get(0).getThirdCreateTime());
-		}
-	}
+            userMoneyMsgNotificationService.shareOrderWeiQuan(uid, orderId, Constant.SOURCE_TYPE_TAOBAO, drawBackMoney,
+                    fanliMoney, goodsCount, orderList.get(0).getThirdCreateTime());
+        }
+    }
 
-	@Transactional(rollbackFor = Exception.class)
-	@Override
-	public void doWeiQuanInvite(String orderId) throws TaoBaoWeiQuanException {
-		if (StringUtil.isNullOrEmpty(orderId))
-			throw new TaoBaoWeiQuanException(1, "璁㈠崟鍙蜂负绌哄��");
-		// 鏌ヨ鏄惁涓虹淮鏉冭鍗�
-		List<TaoBaoWeiQuanOrder> list = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderId);
-		if (list == null || list.size() == 0)
-			return;
-		// 鏌ヨ璁㈠崟搴�
-		for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
-			TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(weiQuanOrder.getOrderItemId());
-			BigDecimal wqMoney = weiQuanOrder.getMoney();
-			if (taoBaoOrder == null)
-				throw new TaoBaoWeiQuanException(1, "鏉ユ簮浜ゆ槗ID鏈夎");
-			BigDecimal settleMent = new BigDecimal("0");
-			if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻")) {
-				settleMent = settleMent.add(taoBaoOrder.getSettlement());
-			}
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void doWeiQuanInvite(String orderId) throws TaoBaoWeiQuanException {
+        if (StringUtil.isNullOrEmpty(orderId))
+            throw new TaoBaoWeiQuanException(1, "璁㈠崟鍙蜂负绌哄��");
+        // 鏌ヨ鏄惁涓虹淮鏉冭鍗�
+        List<TaoBaoWeiQuanOrder> list = taoBaoWeiQuanOrderService.getWeiQuanSuccessOrders(orderId);
+        if (list == null || list.size() == 0)
+            return;
+        // 鏌ヨ璁㈠崟搴�
+        for (TaoBaoWeiQuanOrder weiQuanOrder : list) {
+            TaoBaoOrder taoBaoOrder = taoBaoOrderMapper.selectTaoBaoOrderByTradeId(weiQuanOrder.getOrderItemId());
+            BigDecimal wqMoney = weiQuanOrder.getMoney();
+            if (taoBaoOrder == null)
+                throw new TaoBaoWeiQuanException(1, "鏉ユ簮浜ゆ槗ID鏈夎");
+            BigDecimal settleMent = new BigDecimal("0");
+            if (taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟缁撶畻")) {
+                settleMent = settleMent.add(taoBaoOrder.getSettlement());
+            }
 
 
-			CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
-					weiQuanOrder.getOrderItemId());
-			if (commonOrder == null)
-				throw new TaoBaoWeiQuanException(2, "璁㈠崟鏈夎");
+            CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
+                    weiQuanOrder.getOrderItemId());
+            if (commonOrder == null)
+                throw new TaoBaoWeiQuanException(2, "璁㈠崟鏈夎");
 
-			HongBaoOrder hongbaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
+            HongBaoOrder hongbaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
 
-			if (hongbaoOrder == null || hongbaoOrder.getHongBaoV2() == null)
-				throw new TaoBaoWeiQuanException(3, "绾㈠寘鏈夎");
+            if (hongbaoOrder == null || hongbaoOrder.getHongBaoV2() == null)
+                throw new TaoBaoWeiQuanException(3, "绾㈠寘鏈夎");
 
-			// 鏌ヨ涓嬬骇瀛愮敤鎴�
-			List<HongBaoV2> childList = hongBaoV2Mapper.listChildrenById(hongbaoOrder.getHongBaoV2().getId());
+            // 鏌ヨ涓嬬骇瀛愮敤鎴�
+            List<HongBaoV2> childList = hongBaoV2Mapper.listChildrenById(hongbaoOrder.getHongBaoV2().getId());
 
-			if (childList != null)
-				for (HongBaoV2 child : childList) {
-					Long uid = child.getUserInfo().getId();
-					if (child.getState() != HongBaoV2.STATE_YILINGQU)
-						continue;
-					TaoBaoWeiQuanDrawBack weiQuanDrawBack = taoBaoWeiQuanDrawBackMapper
-							.selectByOrderItemIdAndUid(weiQuanOrder.getOrderItemId(), child.getUserInfo().getId());
-					if (weiQuanDrawBack != null)
-						continue;
-					BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, wqMoney, child.getMoney());
-					weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
-					weiQuanDrawBack.setCreateTime(new Date());
-					weiQuanDrawBack.setDrawBackMoney(drawBackMoney);
-					weiQuanDrawBack.setOrderId(weiQuanOrder.getOrderId());
-					weiQuanDrawBack.setOrderItemId(weiQuanOrder.getOrderItemId());
-					weiQuanDrawBack.setUser(child.getUserInfo());
-					taoBaoWeiQuanDrawBackMapper.insertSelective(weiQuanDrawBack);// 鍔犲叆杩旇繕璁板綍
-					// 濡傛灉璧勯噾澶т簬0鎵嶆墸闄�
+            if (childList != null)
+                for (HongBaoV2 child : childList) {
+                    Long uid = child.getUserInfo().getId();
+                    if (child.getState() != HongBaoV2.STATE_YILINGQU)
+                        continue;
+                    TaoBaoWeiQuanDrawBack weiQuanDrawBack = taoBaoWeiQuanDrawBackMapper
+                            .selectByOrderItemIdAndUid(weiQuanOrder.getOrderItemId(), child.getUserInfo().getId());
+                    if (weiQuanDrawBack != null)
+                        continue;
+                    BigDecimal drawBackMoney = computeDrawBackMoney(settleMent, wqMoney, child.getMoney());
+                    weiQuanDrawBack = new TaoBaoWeiQuanDrawBack();
+                    weiQuanDrawBack.setCreateTime(new Date());
+                    weiQuanDrawBack.setDrawBackMoney(drawBackMoney);
+                    weiQuanDrawBack.setOrderId(weiQuanOrder.getOrderId());
+                    weiQuanDrawBack.setOrderItemId(weiQuanOrder.getOrderItemId());
+                    weiQuanDrawBack.setUser(child.getUserInfo());
+                    taoBaoWeiQuanDrawBackMapper.insertSelective(weiQuanDrawBack);// 鍔犲叆杩旇繕璁板綍
+                    // 濡傛灉璧勯噾澶т簬0鎵嶆墸闄�
 
-					if (drawBackMoney != null && drawBackMoney.compareTo(new BigDecimal(0)) > 0) {
+                    if (drawBackMoney != null && drawBackMoney.compareTo(new BigDecimal(0)) > 0) {
 
-						// 鍒ゆ柇璧勯噾鏄惁瓒冲鎵f
-						UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
-						if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
-						{
-							try {
-								addDebt(uid, child.getId(), drawBackMoney);
-							} catch (UserMoneyDebtException e) {
-								throw new TaoBaoWeiQuanException(101, "璧勯噾鍊熻捶寮傚父");
-							}
-							continue;
-						}
+                        // 鍒ゆ柇璧勯噾鏄惁瓒冲鎵f
+                        UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
+                        if (user != null && user.getMyHongBao().compareTo(drawBackMoney) < 0)// 璧勯噾涓嶈冻
+                        {
+                            try {
+                                addDebt(uid, child.getId(), drawBackMoney);
+                            } catch (UserMoneyDebtException e) {
+                                throw new TaoBaoWeiQuanException(101, "璧勯噾鍊熻捶寮傚父");
+                            }
+                            continue;
+                        }
 
-						UserMoneyDetail userMoneyDetail = null;
-						// 鏂扮増璧勯噾璁板綍
-						try {
-							userMoneyDetail = UserMoneyDetailFactory.createInviteWeiQuan(uid, weiQuanDrawBack,
-									drawBackMoney);
-						} catch (UserMoneyDetailException e) {
-							try {
-								LogHelper.errorDetailInfo(e);
-							} catch (Exception e1) {
-								e1.printStackTrace();
-							}
-						}
+                        UserMoneyDetail userMoneyDetail = null;
+                        // 鏂扮増璧勯噾璁板綍
+                        try {
+                            userMoneyDetail = UserMoneyDetailFactory.createInviteWeiQuan(uid, weiQuanDrawBack,
+                                    drawBackMoney);
+                        } catch (UserMoneyDetailException e) {
+                            try {
+                                LogHelper.errorDetailInfo(e);
+                            } catch (Exception e1) {
+                                e1.printStackTrace();
+                            }
+                        }
 
-						userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
+                        userMoneyService.subUserMoney(uid, drawBackMoney, userMoneyDetail);
 
-					}
-				}
-		}
-	}
+                    }
+                }
+        }
+    }
 
-	@Override
-	public TaoBaoWeiQuanDrawBack selectByOrderItemId(String orderItemId) {
-		List<TaoBaoWeiQuanDrawBack> list = taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId);
-		if (list != null && list.size() > 0)
-			return list.get(0);
-		else
-			return null;
-	}
+    @Override
+    public TaoBaoWeiQuanDrawBack selectByOrderItemId(String orderItemId) {
+        List<TaoBaoWeiQuanDrawBack> list = taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId);
+        if (list != null && list.size() > 0)
+            return list.get(0);
+        else
+            return null;
+    }
 
-	@Override
-	public List<TaoBaoWeiQuanDrawBack> getByOrderItemId(String orderItemId) {
-		return taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId);
-	}
+    @Override
+    public List<TaoBaoWeiQuanDrawBack> getByOrderItemId(String orderItemId) {
+        return taoBaoWeiQuanDrawBackMapper.selectByOrderItemId(orderItemId);
+    }
 
-	@Override
-	public TaoBaoWeiQuanDrawBack selectByOrderItemIdAndUid(String orderItemId, Long uid) {
-		return taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(orderItemId, uid);
-	}
+    @Override
+    public TaoBaoWeiQuanDrawBack selectByOrderItemIdAndUid(String orderItemId, Long uid) {
+        return taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(orderItemId, uid);
+    }
 
-	@Override
-	public TaoBaoWeiQuanDrawBack selectByHongBaoId(Long hbId) {
-		Long uid = null;
-		HongBaoV2 hb = hongBaoV2Mapper.selectByPrimaryKey(hbId);
-		uid = hb.getUserInfo().getId();
-		if (hb.getParent() != null)
-			hb = hb.getParent();
-		HongBaoOrder hbo = hongBaoOrderMapper.selectByHongBaoId(hb.getId());
-		if (hbo != null && hbo.getCommonOrder() != null) {
-			return taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(hbo.getCommonOrder().getTradeId(), uid);
-		}
-		return null;
-	}
+    @Override
+    public TaoBaoWeiQuanDrawBack selectByHongBaoId(Long hbId) {
+        Long uid = null;
+        HongBaoV2 hb = hongBaoV2Mapper.selectByPrimaryKey(hbId);
+        uid = hb.getUserInfo().getId();
+        if (hb.getParent() != null)
+            hb = hb.getParent();
+        HongBaoOrder hbo = hongBaoOrderMapper.selectByHongBaoId(hb.getId());
+        if (hbo != null && hbo.getCommonOrder() != null) {
+            return taoBaoWeiQuanDrawBackMapper.selectByOrderItemIdAndUid(hbo.getCommonOrder().getTradeId(), uid);
+        }
+        return null;
+    }
 
 }

--
Gitblit v1.8.0