From 651f2856e9ae10aacbfb8327d967aacbb6d58333 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 12 四月 2023 18:13:58 +0800 Subject: [PATCH] 大淘客API修复/唯品会订单爬取策略修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java | 40 ++++++++++++++++++++++++++++++++-------- 1 files changed, 32 insertions(+), 8 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..c707697 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,8 @@ import javax.annotation.Resource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -63,6 +65,8 @@ @Service public class OrderMoneySettleServiceImpl implements OrderMoneySettleService { + + Logger logger = LoggerFactory.getLogger(OrderMoneySettleService.class); @Resource private HongBaoV2Mapper hongBaoV2Mapper; @@ -157,6 +161,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); } @@ -272,7 +283,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 +327,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 +352,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 +388,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 +408,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) @@ -530,6 +549,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 +561,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 +569,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 +583,7 @@ hbIdList.add(hongBao.getId()); HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getParent().getId()); inviteOrders.add(hongBaoOrder.getCommonOrder().getOrderNo()); + logger.info("閭�璇峰閲戦鍒拌处-姣忎釜绾㈠寘-鍒拌处鎴愬姛锛歨ongbaoid-{}", hongBao.getId()); } } @@ -568,6 +591,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); @@ -590,7 +614,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 +659,7 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO, - sharemoney, new Date()); + sharemoney,recieveMonth); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -680,7 +704,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 +740,7 @@ // 娣诲姞鏂扮増璇︽儏璁板綍 try { UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, sharemoney, - new Date()); + recieveMonth); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); -- Gitblit v1.8.0