From bf5c02aaecb3f7a42daa4fa356c62a2e6bca0db5 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期一, 28 十月 2019 09:55:59 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java index 25d557f..e81ca91 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java @@ -13,6 +13,7 @@ import javax.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -107,6 +108,7 @@ @Resource private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + @Lazy @Resource private UserSystemCouponService userSystemCouponService; @@ -145,7 +147,7 @@ @Transactional @Override - public void addHongBao(List<CommonOrder> commonOrderList, int type) throws HongBaoException { + public int addHongBao(List<CommonOrder> commonOrderList, int type) throws HongBaoException { Set<Integer> stateSet = new HashSet<>();// 璁㈠崟鐘舵�丼et if (commonOrderList != null && commonOrderList.size() > 0) { int orderType = commonOrderList.get(0).getSourceType(); @@ -153,6 +155,7 @@ Map<Integer, HongBaoOrder> notificationMap = new HashMap<>(); int goodsCount = 0; boolean hasAdd = false; + boolean hasUpdate = false; for (CommonOrder commonOrder : commonOrderList) { stateSet.add(commonOrder.getState()); goodsCount += commonOrder.getCount(); @@ -163,7 +166,9 @@ saveHongBao(commonOrder, type, notificationMap); hasAdd = true; } else { - updateHongBao(hongBaoOrder, commonOrder, type, notificationMap); + boolean update = updateHongBao(hongBaoOrder, commonOrder, type, notificationMap); + if (update) + hasUpdate = true; } } /** @@ -242,8 +247,17 @@ } } } - } + int resultCode = 0; + if (hasAdd && hasUpdate) + return 12; + else if (hasAdd) + return 1; + else if (hasUpdate) + return 2; + return resultCode; + } + return 0; } private int getOrderState(Set<Integer> states) { @@ -261,7 +275,7 @@ } @Transactional - private void updateHongBao(HongBaoOrder hongBaoOrder, CommonOrder commonOrder, int type, + private boolean updateHongBao(HongBaoOrder hongBaoOrder, CommonOrder commonOrder, int type, Map<Integer, HongBaoOrder> notificationMap) throws HongBaoException { System.out.println(commonOrder.getOrderNo()); // 閿佽 @@ -270,7 +284,7 @@ throw new HongBaoException(10, "绾㈠寘瀵硅薄涓嶅瓨鍦�"); // 宸茬粡澶辨晥锛屽凡缁忛鍙栵紝鏂拌�佺姸鎬佷竴鑷寸殑绾㈠寘涓嶅仛澶勭悊 if (oldHongBao.getState() == HongBaoV2.STATE_SHIXIAO || oldHongBao.getState() == HongBaoV2.STATE_YILINGQU) - return; + return false; if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚� BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime()); @@ -317,7 +331,7 @@ // 鏂拌�佺孩鍖呯姸鎬佷竴鑷翠笉澶勭悊 if (oldHongBao.getState().intValue() == hongBao.getState()) - return; + return false; if (hongBao.getState() == HongBaoV2.STATE_SHIXIAO) { if (mianDan) { @@ -411,7 +425,7 @@ BigDecimal firstRate = hongBaoManageService .getFirstInviteRate(boss.getRank() == null ? 0 : boss.getRank()); if (firstRate.compareTo(new BigDecimal(0)) <= 0) - return; + return true; HongBaoV2 firstHongbao = new HongBaoV2(); firstHongbao.setUserInfo(boss); firstHongbao.setUrank(boss.getRank()); @@ -420,6 +434,7 @@ firstHongbao.setType(HongBaoV2.TYPE_YIJI); firstHongbao.setVersion(2); firstHongbao.setState(hongBao.getState()); + firstHongbao.setOrderType(commonOrder.getSourceType()); if (hongBao.getState() == HongBaoV2.STATE_KELINGQU) { firstHongbao.setMoney( @@ -459,7 +474,7 @@ BigDecimal secondRate = hongBaoManageService .getSecondInviteRate(boss.getRank() == null ? 0 : boss.getRank()); if (secondRate.compareTo(new BigDecimal(0)) <= 0) - return; + return true; HongBaoV2 secondHongbao = new HongBaoV2(); secondHongbao.setUserInfo(boss); secondHongbao.setUrank(boss.getRank()); @@ -468,6 +483,7 @@ secondHongbao.setType(HongBaoV2.TYPE_ERJI); secondHongbao.setVersion(2); secondHongbao.setState(hongBao.getState()); + secondHongbao.setOrderType(commonOrder.getSourceType()); if (hongBao.getState() == HongBaoV2.STATE_KELINGQU) { secondHongbao.setMoney(MoneyBigDecimalUtil.mul(hongBao.getMoney(), secondRate.divide(new BigDecimal(100)))); @@ -622,6 +638,8 @@ } } else throw new HongBaoException(2, "type閿欒"); + + return true; } @Transactional @@ -642,7 +660,6 @@ CommonOrderGoods goods = commonOrderGoodsMapper .selectByPrimaryKey(commonOrder.getCommonOrderGoods().getId()); if (goods != null) { - try { if (userSystemCouponService.updateCouponRecordUsed(commonOrder.getUserInfo().getId(), commonOrder.getOrderNo(), payMent, Long.parseLong(goods.getGoodsId()))) @@ -694,6 +711,7 @@ UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId()); hongBao.setUrank(user.getRank()); + hongBao.setOrderType(commonOrder.getSourceType()); hongBaoV2Mapper.insertSelective(hongBao); // 娣诲姞绾㈠寘涓庤鍗曠殑鏄犲皠 HongBaoOrder hongBaoOrder = new HongBaoOrder(); @@ -735,6 +753,7 @@ firstHongbao.setType(HongBaoV2.TYPE_YIJI); firstHongbao.setVersion(2); firstHongbao.setState(hongBao.getState()); + firstHongbao.setOrderType(commonOrder.getSourceType()); if (hongBao.getState() == HongBaoV2.STATE_KELINGQU) { firstHongbao.setMoney( @@ -787,6 +806,7 @@ secondHongbao.setType(HongBaoV2.TYPE_ERJI); secondHongbao.setVersion(2); secondHongbao.setState(hongBao.getState()); + secondHongbao.setOrderType(commonOrder.getSourceType()); if (hongBao.getState() == HongBaoV2.STATE_KELINGQU) { secondHongbao.setMoney( MoneyBigDecimalUtil.mul(hongBao.getMoney(), secondRate.divide(new BigDecimal(100)))); @@ -890,6 +910,7 @@ UserInfo user = userInfoService.getUserById(commonOrder.getUserInfo().getId()); hongBao.setUrank(user.getRank()); hongBao.setUserInfo(user); + hongBao.setOrderType(commonOrder.getSourceType()); hongBaoV2Mapper.insertSelective(hongBao); // 鎻掑叆绾㈠寘涓庤鍗曟槧灏� HongBaoOrder hongBaoOrder = new HongBaoOrder(); @@ -943,6 +964,7 @@ child.setUrank(boss.getRank()); child.setVersion(2); child.setCreateTime(new Date()); + child.setOrderType(commonOrder.getSourceType()); if (child.getMoney().compareTo(new BigDecimal(0)) > 0) { hongBaoV2Mapper.insertSelective(child); // 娣诲姞閫氱煡 @@ -1067,6 +1089,13 @@ } @Override + public List<HongBaoV2> listChildrenByIds(List<Long> idList) { + if (idList == null || idList.size() == 0) + return null; + return hongBaoV2Mapper.listChildrenByIds(idList); + } + + @Override public List<Long> getUidByNear30DayShareSucceed() { return hongBaoV2Mapper.getUidByNear30DayShareSucceed(); } @@ -1115,4 +1144,10 @@ return hongBaoV2List.get(0); return null; } + + @Override + public List<HongBaoV2> listByIds(List<Long> idList) { + return hongBaoV2Mapper.listByIds(idList); + } + } -- Gitblit v1.8.0