From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 13 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java index 8a3466f..af55571 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java @@ -13,6 +13,9 @@ import javax.annotation.Resource; +import com.yeshi.fanli.util.mq.rabbit.RabbitmqManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -64,6 +67,8 @@ @Service public class OrderMoneySettleServiceImpl implements OrderMoneySettleService { + Logger logger = LoggerFactory.getLogger(OrderMoneySettleService.class); + @Resource private HongBaoV2Mapper hongBaoV2Mapper; @@ -111,13 +116,16 @@ @Resource private RocketMQManager rocketMQManager; + @Resource + private HongBaoRecieveCMQManager hongBaoRecieveCMQManager; + // 涓嬬骇琚皝绂侊紝绾㈠寘澶辨晥 private void invalidHongBaoForbidden(HongBaoV2 hongBaoV2) throws TeamRewardDebtException { if (hongBaoV2.getState() == HongBaoV2.STATE_SHIXIAO || hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU || hongBaoV2.getState() == HongBaoV2.STATE_LINGQUING) return; //濡傛灉鍦ㄥ伩杩橀噷闈㈠氨鍏堝伩杩橈紝鐒跺悗鍐嶅け鏁� TeamRewardDebt debt = teamRewardDebtService.selectBySourceId(hongBaoV2.getId()); - if (debt != null && debt.getLeftMoney().compareTo(hongBaoV2.getMoney()) <= 0) { + if (debt != null &&debt.getLeftMoney().compareTo(new BigDecimal(0))>0 && debt.getLeftMoney().compareTo(hongBaoV2.getMoney()) <= 0) { teamRewardDebtService.repayDebt(debt.getId(), hongBaoV2.getMoney(), "灏佺澶辨晥锛屽厛鍋胯繕鍐嶅け鏁�"); } @@ -157,6 +165,13 @@ public void inviteSettleVipShop(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_VIP; + inviteSettle(uid, sourceType, maxPregetTime); + } + + @Override + public void inviteSettleDY(Long uid, Date maxPregetTime) throws OrderMoneySettleException { + // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 + int sourceType = Constant.SOURCE_TYPE_DY; inviteSettle(uid, sourceType, maxPregetTime); } @@ -201,6 +216,7 @@ try { invalidHongBaoForbidden(item); } catch (TeamRewardDebtException e) { + e.printStackTrace(); throw new OrderMoneySettleException(10, "鍋胯繕鍑洪敊"); } hongBaoList.remove(i); @@ -272,7 +288,7 @@ @Override public TransactionStatus execute(Message arg0, Object arg1) { try { - fanLiShareTB(hongBaoList, uid, taskKey); + fanLiShareTB(hongBaoList, uid, taskKey,maxPregetTime); } catch (TaoBaoWeiQuanException e) { return TransactionStatus.RollbackTransaction; } @@ -316,7 +332,7 @@ orderTransactionProducer.send(msg, new LocalTransactionExecuter() { @Override public TransactionStatus execute(Message arg0, Object arg1) { - fanLiShareOther(hongBaoList, uid, sourceType, taskKey); + fanLiShareOther(hongBaoList, uid, sourceType, taskKey,maxPregetTime); return TransactionStatus.CommitTransaction; } }, null); @@ -341,6 +357,11 @@ @Override public void shareSettleSuning(Long uid, Date maxPregetTime) throws OrderMoneySettleException { shareSettle(Constant.SOURCE_TYPE_SUNING, uid, maxPregetTime); + } + + @Override + public void shareSettleDY(Long uid, Date maxPregetTime) throws OrderMoneySettleException { + shareSettle(Constant.SOURCE_TYPE_DY, uid, maxPregetTime); } private void shareSettle(int sourceType, Long uid, Date maxPregetTime) throws OrderMoneySettleException { @@ -372,7 +393,7 @@ orderTransactionProducer.send(msg, new LocalTransactionExecuter() { @Override public TransactionStatus execute(Message arg0, Object arg1) { - fanLiShareOther(hongBaoList, uid, sourceType, taskKey); + fanLiShareOther(hongBaoList, uid, sourceType, taskKey,maxPregetTime); return TransactionStatus.CommitTransaction; } }, null); @@ -392,6 +413,9 @@ Map<Long, Integer> userGoodsCount = new HashMap<>(); for (CommonOrder co : orderList) { HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(co.getId()); + if (hongBaoOrder == null) { + continue; + } hongBaoList.add(hongBaoOrder.getHongBaoV2()); Long uid = co.getUserInfo().getId(); if (userGoodsCount.get(uid) == null) @@ -477,7 +501,7 @@ hbIdList.add(v2.getId()); accountDetailsHongBaoMapService.saveAccountDetailsHongBaoMap(v2.getId(), userMoneyDetail.getId()); try { - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(v2.getId()); + hongBaoRecieveCMQManager.addHongBaoRecieveMsg(v2.getId()); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -530,6 +554,7 @@ private void fanliInvite(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key, Date maxPreGetTime) throws TeamEincomeRecordException, ParamsException, TeamRewardDebtException { + logger.info("閭�璇峰閲戦鍒拌处锛歶id-{} sourceType-{} key-{}", new Object[]{uid, sourceType, key}); List<Long> hbIdList = new ArrayList<>(); BigDecimal invitemoney = new BigDecimal(0); Set<String> inviteOrders = new HashSet<>(); @@ -541,6 +566,7 @@ continue; hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBao.getId()); if (hongBao.getState() == HongBaoV2.STATE_BUKELINGQU || hongBao.getState() == HongBaoV2.STATE_KELINGQU) { + logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-鍒拌处寮�濮嬶細hongbaoid-{}", hongBao.getId()); TeamRewardDebt debt = teamRewardDebtService.selectBySourceId(hongBao.getId()); BigDecimal money = hongBao.getMoney(); if (debt != null && debt.getLeftMoney().compareTo(new BigDecimal(0)) > 0 @@ -548,8 +574,9 @@ money = money.subtract(debt.getLeftMoney()); // 杩橀挶 teamRewardDebtService.repayDebt(debt.getId(), debt.getLeftMoney(), null); + logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-杩樻锛歨ongbaoid-{} debtId-{} debtMoney-{}", new Object[]{hongBao.getId(), debt.getId(), debt.getLeftMoney()}); } - + logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘锛歨ongbaoid-{} money-{}", new Object[]{hongBao.getId(), money}); invitemoney = invitemoney.add(money); HongBaoV2 updateHongBao = new HongBaoV2(); updateHongBao.setId(hongBao.getId()); @@ -561,6 +588,7 @@ hbIdList.add(hongBao.getId()); HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getParent().getId()); inviteOrders.add(hongBaoOrder.getCommonOrder().getOrderNo()); + logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-鍒拌处鎴愬姛锛歨ongbaoid-{}", hongBao.getId()); } } @@ -568,6 +596,7 @@ if (invitemoney.compareTo(new BigDecimal(0)) > 0) { // 鑾峰彇褰撳墠鐨勬湀浠� teamRewardManager.addToEincome(uid, maxPreGetTime, invitemoney, sourceType); + logger.info("閭�璇峰閲戦鍒拌处-娣诲姞鍒板洟闃熸敹鐩婃垚鍔燂細uid-{} day-{} money-{} sourceType-{}", new Object[]{uid, maxPreGetTime, invitemoney, sourceType}); } hongBaoV2SettleTempService.addTemp(hbIdList, key); @@ -576,7 +605,7 @@ for (Long hongBaoId : hbIdList) { try { if (Constant.ENABLE_MQ) - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); + hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -590,7 +619,7 @@ * @param uid * @throws TaoBaoWeiQuanException */ - private void fanLiShareTB(List<HongBaoV2> hongBaoList, Long uid, String key) throws TaoBaoWeiQuanException { + private void fanLiShareTB(List<HongBaoV2> hongBaoList, Long uid, String key,Date recieveMonth) throws TaoBaoWeiQuanException { BigDecimal sharemoney = new BigDecimal(0); List<Long> hbIdList = new ArrayList<>(); Set<String> drawBackOrders = new HashSet<String>(); @@ -635,7 +664,7 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO, - sharemoney, new Date()); + sharemoney,recieveMonth); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -665,7 +694,7 @@ for (Long hongBaoId : recieveHongBaoIds) { try { if (Constant.ENABLE_MQ) - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); + hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -680,7 +709,7 @@ * @param uid * @param sourceType */ - private void fanLiShareOther(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key) { + private void fanLiShareOther(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key,Date recieveMonth) { BigDecimal sharemoney = new BigDecimal(0); List<Long> hbIdList = new ArrayList<>(); List<Long> recieveHongBaoIds = new ArrayList<>(); @@ -716,7 +745,7 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, sharemoney, - new Date()); + recieveMonth); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -742,7 +771,7 @@ for (Long hongBaoId : recieveHongBaoIds) { try { if (Constant.ENABLE_MQ) - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); + hongBaoRecieveCMQManager.addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } -- Gitblit v1.8.0