From 271ae63c20fcbe28d29c47f1881138ff6551a2a1 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 六月 2020 19:26:26 +0800 Subject: [PATCH] 唯品会订单bug修复,APP端佣金比例展示错误bug修复 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneySettleServiceImpl.java | 242 +++++++++++++++++++++++++++--------------------- 1 files changed, 137 insertions(+), 105 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 6d7a272..f9fe5fb 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 @@ -2,7 +2,6 @@ import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -29,6 +28,7 @@ import com.yeshi.fanli.dto.HongBao; import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; import com.yeshi.fanli.dto.mq.order.body.OrderMoneyRecievedMQMsg; +import com.yeshi.fanli.dto.mq.order.body.TeamRewardPreRecieveMQMsg; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.money.TeamRewardDebt; @@ -52,9 +52,7 @@ import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.order.OrderMoneySettleService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; -import com.yeshi.fanli.service.manger.money.TeamEincomeManager; import com.yeshi.fanli.service.manger.order.TeamRewardManager; -import com.yeshi.fanli.service.manger.order.TeamSubsidyManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.cmq.HongBaoRecieveCMQManager; @@ -109,9 +107,6 @@ @Resource private TeamRewardManager teamRewardManager; - @Resource - private TeamSubsidyManager teamSubsidyManager; - // 涓嬬骇琚皝绂侊紝绾㈠寘澶辨晥 private void invalidHongBaoForbidden(Long id) { HongBaoV2 updateHongBaoV2 = new HongBaoV2(id); @@ -123,7 +118,7 @@ @Transactional(rollbackFor = Exception.class) @Override - public void inviteSettleTB(Long uid) throws OrderMoneySettleException { + public void inviteSettleTB(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_TAOBAO; List<Integer> types = new ArrayList<>(); @@ -131,13 +126,13 @@ types.add(HongBaoV2.TYPE_ERJI); types.add(HongBaoV2.TYPE_SHARE_YIJI); types.add(HongBaoV2.TYPE_SHARE_ERJI); - long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); List<HongBaoV2> hongBaoList = new ArrayList<>(); // 1000鏉℃暟鎹负1椤� int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); for (int i = 0; i < page; i++) { List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, - i * 1000, 1000); + maxPregetTime, i * 1000, 1000); if (tempHongBaoList != null && tempHongBaoList.size() > 0) hongBaoList.addAll(tempHongBaoList); } @@ -160,13 +155,17 @@ } } } + + if(hongBaoList.size()==0) + return; - // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 - OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid, - sourceType, null, null, new Date(), 0); + String taskKey = getTaskKey(uid); + + TeamRewardPreRecieveMQMsg mqMsg = new TeamRewardPreRecieveMQMsg(taskKey, uid, sourceType, maxPregetTime, + new Date()); Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg); - String taskKey = getTaskKey(uid); + msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 try { @@ -174,14 +173,16 @@ @Override public TransactionStatus execute(Message arg0, Object arg1) { try { - fanliInvite(hongBaoList, uid, Constant.SOURCE_TYPE_TAOBAO, taskKey); + fanliInvite(hongBaoList, uid, Constant.SOURCE_TYPE_TAOBAO, taskKey, maxPregetTime); } catch (Exception e) { + e.printStackTrace(); return TransactionStatus.RollbackTransaction; } return TransactionStatus.CommitTransaction; } }, null); } catch (Exception e) { + e.printStackTrace(); LogHelper.mqError(e.getMessage(), msg.getTopic(), msg.getTag(), new Gson().toJson(mqMsg)); } System.out.println(new Gson().toJson(mqMsg)); @@ -189,7 +190,7 @@ @Transactional(rollbackFor = Exception.class) @Override - public void inviteSettleJD(Long uid) throws OrderMoneySettleException { + public void inviteSettleJD(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_JD; List<Integer> types = new ArrayList<>(); @@ -197,13 +198,13 @@ types.add(HongBaoV2.TYPE_ERJI); types.add(HongBaoV2.TYPE_SHARE_YIJI); types.add(HongBaoV2.TYPE_SHARE_ERJI); - long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); List<HongBaoV2> hongBaoList = new ArrayList<>(); // 1000鏉℃暟鎹负1椤� int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); for (int i = 0; i < page; i++) { List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, - i * 1000, 1000); + maxPregetTime, i * 1000, 1000); if (tempHongBaoList != null && tempHongBaoList.size() > 0) hongBaoList.addAll(tempHongBaoList); } @@ -226,12 +227,16 @@ } } } + + if(hongBaoList.size()==0) + return; // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 - OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid, - sourceType, null, null, new Date(), 0); - Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg); + String taskKey = getTaskKey(uid); + TeamRewardPreRecieveMQMsg mqMsg = new TeamRewardPreRecieveMQMsg(taskKey, uid, sourceType, maxPregetTime, + new Date()); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 try { @@ -239,7 +244,7 @@ @Override public TransactionStatus execute(Message arg0, Object arg1) { try { - fanliInvite(hongBaoList, uid, sourceType, taskKey); + fanliInvite(hongBaoList, uid, sourceType, taskKey, maxPregetTime); } catch (Exception e) { e.printStackTrace(); return TransactionStatus.RollbackTransaction; @@ -254,7 +259,7 @@ @Transactional(rollbackFor = Exception.class) @Override - public void inviteSettlePDD(Long uid) throws OrderMoneySettleException { + public void inviteSettlePDD(Long uid, Date maxPregetTime) throws OrderMoneySettleException { // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 int sourceType = Constant.SOURCE_TYPE_PDD; List<Integer> types = new ArrayList<>(); @@ -262,13 +267,13 @@ types.add(HongBaoV2.TYPE_ERJI); types.add(HongBaoV2.TYPE_SHARE_YIJI); types.add(HongBaoV2.TYPE_SHARE_ERJI); - long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); List<HongBaoV2> hongBaoList = new ArrayList<>(); // 1000鏉℃暟鎹负1椤� int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); for (int i = 0; i < page; i++) { List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, - i * 1000, 1000); + maxPregetTime, i * 1000, 1000); if (tempHongBaoList != null && tempHongBaoList.size() > 0) hongBaoList.addAll(tempHongBaoList); } @@ -291,12 +296,15 @@ } } } + + if(hongBaoList.size()==0) + return; // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 - OrderMoneyRecievedMQMsg mqMsg = new OrderMoneyRecievedMQMsg(OrderMoneyRecievedMQMsg.TYPE_INVITE, uid, - sourceType, null, null, new Date(), 0); - Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg); String taskKey = getTaskKey(uid); + TeamRewardPreRecieveMQMsg mqMsg = new TeamRewardPreRecieveMQMsg(taskKey, uid, sourceType, maxPregetTime, + new Date()); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg); msg.setKey(taskKey); // 娣诲姞浜嬪姟娑堟伅 try { @@ -304,7 +312,7 @@ @Override public TransactionStatus execute(Message arg0, Object arg1) { try { - fanliInvite(hongBaoList, uid, sourceType, taskKey); + fanliInvite(hongBaoList, uid, sourceType, taskKey, maxPregetTime); } catch (Exception e) { return TransactionStatus.RollbackTransaction; } @@ -318,7 +326,74 @@ @Transactional(rollbackFor = Exception.class) @Override - public void shareSettleTB(Long uid) throws OrderMoneySettleException { + public void inviteSettleVipShop(Long uid, Date maxPregetTime) throws OrderMoneySettleException { + // 鏌ヨUID鐨勪竴浜岀骇閭�璇疯禋 + int sourceType = Constant.SOURCE_TYPE_VIP; + List<Integer> types = new ArrayList<>(); + types.add(HongBaoV2.TYPE_YIJI); + types.add(HongBaoV2.TYPE_ERJI); + types.add(HongBaoV2.TYPE_SHARE_YIJI); + types.add(HongBaoV2.TYPE_SHARE_ERJI); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); + List<HongBaoV2> hongBaoList = new ArrayList<>(); + // 1000鏉℃暟鎹负1椤� + int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); + for (int i = 0; i < page; i++) { + List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, + maxPregetTime, i * 1000, 1000); + if (tempHongBaoList != null && tempHongBaoList.size() > 0) + hongBaoList.addAll(tempHongBaoList); + } + + for (int i = 0; i < hongBaoList.size(); i++) { + HongBaoV2 item = hongBaoList.get(i); + if (item != null && item.getParent() != null) { + if (item != null) { + HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(item.getParent().getId()); + if (hongBaoOrder != null && hongBaoOrder.getCommonOrder() != null) { + CommonOrder co = hongBaoOrder.getCommonOrder(); + // 涓婄骇鐢ㄦ埛涓嶆槸姝e父鐢ㄦ埛锛岃鍗曞潎涓嶈兘鍒拌处 + UserInfo userInfo = userInfoMapper.selectAvailableByPrimaryKey(co.getUserInfo().getId()); + if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) { + invalidHongBaoForbidden(item.getId()); + hongBaoList.remove(i); + i--; + } + } + } + } + } + + if(hongBaoList.size()==0) + return; + + // 閭�璇疯禋鍒拌处浜嬪姟娑堟伅 + String taskKey = getTaskKey(uid); + TeamRewardPreRecieveMQMsg mqMsg = new TeamRewardPreRecieveMQMsg(taskKey, uid, sourceType, maxPregetTime, + new Date()); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.teamRewardPreRecieved, mqMsg); + msg.setKey(taskKey); + // 娣诲姞浜嬪姟娑堟伅 + try { + orderTransactionProducer.send(msg, new LocalTransactionExecuter() { + @Override + public TransactionStatus execute(Message arg0, Object arg1) { + try { + fanliInvite(hongBaoList, uid, sourceType, taskKey, maxPregetTime); + } catch (Exception e) { + return TransactionStatus.RollbackTransaction; + } + return TransactionStatus.CommitTransaction; + } + }, null); + } catch (Exception e) { + LogHelper.mqError(e.getMessage(), msg.getTopic(), msg.getTag(), new Gson().toJson(mqMsg)); + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void shareSettleTB(Long uid, Date maxPregetTime) throws OrderMoneySettleException { /** * 澶勭悊鍒嗕韩璧� */ @@ -327,13 +402,13 @@ // 鏌ヨUID鐨勫垎浜禋璁㈠崟 types.add(HongBaoV2.TYPE_SHARE_GOODS); - long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); List<HongBaoV2> hongBaoList = new ArrayList<>(); // 1000鏉℃暟鎹负1椤� int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); for (int i = 0; i < page; i++) { List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, - i * 1000, 1000); + maxPregetTime, i * 1000, 1000); if (tempHongBaoList != null && tempHongBaoList.size() > 0) hongBaoList.addAll(tempHongBaoList); } @@ -364,7 +439,7 @@ @Transactional(rollbackFor = Exception.class) @Override - public void shareSettleJD(Long uid) throws OrderMoneySettleException { + public void shareSettleJD(Long uid, Date maxPregetTime) throws OrderMoneySettleException { /** * 澶勭悊鍒嗕韩璧� */ @@ -373,13 +448,13 @@ // 鏌ヨUID鐨勫垎浜禋璁㈠崟 types.add(HongBaoV2.TYPE_SHARE_GOODS); - long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); List<HongBaoV2> hongBaoList = new ArrayList<>(); // 1000鏉℃暟鎹负1椤� int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); for (int i = 0; i < page; i++) { List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, - i * 1000, 1000); + maxPregetTime, i * 1000, 1000); if (tempHongBaoList != null && tempHongBaoList.size() > 0) hongBaoList.addAll(tempHongBaoList); } @@ -405,22 +480,31 @@ @Transactional(rollbackFor = Exception.class) @Override - public void shareSettlePDD(Long uid) throws OrderMoneySettleException { + public void shareSettlePDD(Long uid, Date maxPregetTime) throws OrderMoneySettleException { + shareSettleVipShop(Constant.SOURCE_TYPE_PDD, uid, maxPregetTime); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void shareSettleVipShop(Long uid, Date maxPregetTime) throws OrderMoneySettleException { + shareSettleVipShop(Constant.SOURCE_TYPE_VIP, uid, maxPregetTime); + } + + private void shareSettleVipShop(int sourceType, Long uid, Date maxPregetTime) throws OrderMoneySettleException { /** * 澶勭悊鍒嗕韩璧� */ - int sourceType = Constant.SOURCE_TYPE_PDD; List<Integer> types = new ArrayList<>(); // 鏌ヨUID鐨勫垎浜禋璁㈠崟 types.add(HongBaoV2.TYPE_SHARE_GOODS); - long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType); + long count = hongBaoV2Mapper.countCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, maxPregetTime); List<HongBaoV2> hongBaoList = new ArrayList<>(); // 1000鏉℃暟鎹负1椤� int page = (int) (count % 1000 == 0 ? count / 1000 : count / 1000 + 1); for (int i = 0; i < page; i++) { List<HongBaoV2> tempHongBaoList = hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(types, uid, sourceType, - i * 1000, 1000); + maxPregetTime, i * 1000, 1000); if (tempHongBaoList != null && tempHongBaoList.size() > 0) hongBaoList.addAll(tempHongBaoList); } @@ -592,7 +676,7 @@ } @Transactional - private void fanliInvite(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key) + private void fanliInvite(List<HongBaoV2> hongBaoList, Long uid, int sourceType, String key, Date maxPreGetTime) throws TeamEincomeRecordException, ParamsException, TeamRewardDebtException { List<Long> hbIdList = new ArrayList<>(); BigDecimal invitemoney = new BigDecimal(0); @@ -633,11 +717,8 @@ // 閭�璇疯禋鍒拌处 if (invitemoney.compareTo(new BigDecimal(0)) > 0) { - Calendar ca = Calendar.getInstance(); - Date date = new Date(TimeUtil.convertToTimeTemp( - ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1) + "-25", "yyyy-M-dd")); // 鑾峰彇褰撳墠鐨勬湀浠� - teamRewardManager.addToEincome(uid, date, invitemoney, sourceType); + teamRewardManager.addToEincome(uid, maxPreGetTime, invitemoney, sourceType); } hongBaoV2SettleTempService.addTemp(hbIdList, key); @@ -645,7 +726,8 @@ // 鎵�鏈夌殑杩斿埄鍒拌处绾㈠寘ID for (Long hongBaoId : hbIdList) { try { - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); + if (Constant.ENABLE_MQ) + HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -664,7 +746,6 @@ List<Long> hbIdList = new ArrayList<>(); Set<String> drawBackOrders = new HashSet<String>(); List<Long> recieveHongBaoIds = new ArrayList<>(); - int shareGoodsCount = 0; Set<String> shareOrders = new HashSet<>(); for (HongBaoV2 hongBao : hongBaoList) { @@ -688,7 +769,6 @@ HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getId()); if (hongBaoOrder != null) { balanceTime = hongBaoOrder.getCommonOrder().getSettleTime(); - shareGoodsCount += hongBaoOrder.getCommonOrder().getCount(); } shareOrders.add(hongBaoOrder.getCommonOrder().getOrderNo()); if (balanceTime != null @@ -705,22 +785,8 @@ if (sharemoney.compareTo(new BigDecimal(0)) > 0) { // 娣诲姞鏂扮増璇︽儏璁板綍 try { - // 璁$畻鏈湀鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗� - Calendar ca = Calendar.getInstance(); - - Date maxDate = new Date(TimeUtil - .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); - ca.add(Calendar.MONTH, -1); - - Date minDate = new Date(TimeUtil - .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); - long validCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, - minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO); - long weiQuanCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, - minDate, maxDate, Constant.SOURCE_TYPE_TAOBAO); - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, Constant.SOURCE_TYPE_TAOBAO, - (int) validCount, (int) weiQuanCount, sharemoney, new Date()); + sharemoney, new Date()); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -737,9 +803,8 @@ } // 鏂扮増閫氱煡 - userMoneyMsgNotificationService.shareOrderReceived(uid, Constant.SOURCE_TYPE_TAOBAO, shareOrders.size(), - shareGoodsCount, sharemoney, userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao(), null, - null); + userMoneyMsgNotificationService.shareOrderReceived(uid, Constant.SOURCE_TYPE_TAOBAO, sharemoney, + userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao(), new Date()); for (String orderId : drawBackOrders) taoBaoWeiQuanDrawBackService.doWeiQuanShare(orderId); @@ -750,7 +815,8 @@ // 鎵�鏈夌殑杩斿埄鍒拌处绾㈠寘ID for (Long hongBaoId : recieveHongBaoIds) { try { - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); + if (Constant.ENABLE_MQ) + HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -769,7 +835,6 @@ BigDecimal sharemoney = new BigDecimal(0); List<Long> hbIdList = new ArrayList<>(); List<Long> recieveHongBaoIds = new ArrayList<>(); - int shareGoodsCount = 0; Set<String> shareOrders = new HashSet<>(); for (HongBaoV2 hongBao : hongBaoList) { @@ -790,9 +855,6 @@ hbIdList.add(hongBao.getId()); // 2018-08-05 杩囧悗鐨勮鍗曟墠澶勭悊缁存潈 HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByHongBaoId(hongBao.getId()); - if (hongBaoOrder != null) { - shareGoodsCount += hongBaoOrder.getCommonOrder().getCount(); - } shareOrders.add(hongBaoOrder.getCommonOrder().getOrderNo()); } } @@ -804,22 +866,8 @@ if (sharemoney.compareTo(new BigDecimal(0)) > 0) { // 娣诲姞鏂扮増璇︽儏璁板綍 try { - // 璁$畻鏈湀鐨勬湁鏁堣鍗曪紝澶辨晥璁㈠崟锛岀淮鏉冭鍗� - Calendar ca = Calendar.getInstance(); - - Date maxDate = new Date(TimeUtil - .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); - ca.add(Calendar.MONTH, -1); - - Date minDate = new Date(TimeUtil - .convertToTimeTemp(ca.get(Calendar.YEAR) + "-" + (ca.get(Calendar.MONTH) + 1), "yyyy-M")); - long validCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_JS, - minDate, maxDate, sourceType); - long weiQuanCount = hongBaoV2Mapper.countShareOrderCountByUidAndSettleTime(uid, CommonOrder.STATE_WQ, - minDate, maxDate, sourceType); - - UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, (int) validCount, - (int) weiQuanCount, sharemoney, new Date()); + UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createShare(uid, sourceType, sharemoney, + new Date()); // 娣诲姞璧勯噾 userMoneyService.addUserMoney(uid, sharemoney, userMoneyDetail); @@ -835,10 +883,8 @@ } } - // 鏂扮増閫氱煡 - userMoneyMsgNotificationService.shareOrderReceived(uid, Constant.SOURCE_TYPE_TAOBAO, shareOrders.size(), - shareGoodsCount, sharemoney, userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao(), null, - null); + userMoneyMsgNotificationService.shareOrderReceived(uid, sourceType, sharemoney, + userInfoMapper.selectAvailableByPrimaryKey(uid).getMyHongBao(), new Date()); } hongBaoV2SettleTempService.addTemp(recieveHongBaoIds, key); @@ -846,26 +892,12 @@ // 鎵�鏈夌殑杩斿埄鍒拌处绾㈠寘ID for (Long hongBaoId : recieveHongBaoIds) { try { - HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); + if (Constant.ENABLE_MQ) + HongBaoRecieveCMQManager.getInstance().addHongBaoRecieveMsg(hongBaoId); } catch (Exception e) { LogHelper.errorDetailInfo(e); } } - } - - /** - * 閭�璇疯ˉ璐寸粨绠� - * - * @param orderId - * @param sourceType - * @throws ParamsException - * @throws TeamEincomeRecordException - */ - @Transactional(rollbackFor = Exception.class) - @Override - public void inviteSubsidySettle(Long uid, String taskKey) - throws OrderMoneySettleException, TeamEincomeRecordException, ParamsException { - teamSubsidyManager.addToTeamEincome(uid, taskKey); } private String getTaskKey(Long uid) { -- Gitblit v1.8.0