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 | 44 ++++++++++++++++++++++++++++++++------------ 1 files changed, 32 insertions(+), 12 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 c2e3091..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,7 @@ 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; @@ -115,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(), "灏佺澶辨晥锛屽厛鍋胯繕鍐嶅け鏁�"); } @@ -161,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); } @@ -205,6 +216,7 @@ try { invalidHongBaoForbidden(item); } catch (TeamRewardDebtException e) { + e.printStackTrace(); throw new OrderMoneySettleException(10, "鍋胯繕鍑洪敊"); } hongBaoList.remove(i); @@ -276,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; } @@ -320,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); @@ -345,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 { @@ -376,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); @@ -396,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) @@ -481,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); } @@ -585,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); } @@ -599,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>(); @@ -644,7 +664,7 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO, - sharemoney, new Date()); + sharemoney,recieveMonth); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -674,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); } @@ -689,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<>(); @@ -725,7 +745,7 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, sharemoney, - new Date()); + recieveMonth); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -751,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