From dcfd801ea435c1c87ed47f2ee24cdabaaf230d6f Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 31 三月 2020 12:15:56 +0800 Subject: [PATCH] 大淘客商品过滤修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 142 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 104 insertions(+), 38 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java index 951c95d..926553a 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java @@ -24,8 +24,6 @@ import com.aliyun.openservices.ons.api.transaction.TransactionProducer; import com.aliyun.openservices.ons.api.transaction.TransactionStatus; import com.google.gson.Gson; -import com.opensymphony.xwork2.util.Element; -import com.sun.org.apache.xml.internal.serializer.ElemDesc; import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper; import com.yeshi.fanli.dao.mybatis.UserInfoMapper; import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper; @@ -62,7 +60,9 @@ import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException; import com.yeshi.fanli.exception.user.UserAccountException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.log.OrderLogHelper; import com.yeshi.fanli.service.inter.elme.ElmeHongBaoOrderMapService; +import com.yeshi.fanli.service.inter.elme.ElmeOrderProcessService; import com.yeshi.fanli.service.inter.elme.ElmeOrderService; import com.yeshi.fanli.service.inter.hongbao.AccountDetailsHongBaoMapService; import com.yeshi.fanli.service.inter.money.UserMoneyService; @@ -73,6 +73,7 @@ import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderMoneySettleService; import com.yeshi.fanli.service.inter.order.OrderProcessService; +import com.yeshi.fanli.service.inter.order.OrderTeamRewardService; import com.yeshi.fanli.service.inter.order.jd.JDOrderService; import com.yeshi.fanli.service.inter.order.pdd.PDDOrderService; import com.yeshi.fanli.service.inter.order.tb.TaoBaoOrderService; @@ -80,7 +81,7 @@ import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService; -import com.yeshi.fanli.service.manger.HongBaoV2AddManager; +import com.yeshi.fanli.service.manger.order.HongBaoV2AddManager; import com.yeshi.fanli.util.CMQManager; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -166,6 +167,9 @@ @Resource private HongBaoV2AddManager hongBaoV2AddManager; + @Resource + private OrderTeamRewardService orderTeamRewardService; + /** * 鏄惁鏄垎浜鍗� * @@ -216,9 +220,14 @@ if ("楗夸簡涔�".equalsIgnoreCase(list.get(0).getOrderType())) { // 澶勭悊楗夸簡涔堣鍗� elmeOrderMap.put(orderId, list); - } - - else { + // TODO 澶勭悊楗夸簡涔堣鍗� + // if(list.get(0).getCreateTime()){ + // //涓嬪崟鏃堕棿澶т簬涓�涓畾鍊煎氨杩涘叆娣樺疂璁㈠崟 + // //鑾峰彇relationId + // + // + // } + } else { if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId()) || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D fanliOrderMap.put(orderId, list); @@ -264,6 +273,13 @@ elmeOrder.setIsSettle(true); else elmeOrder.setIsSettle(false); + + if (!taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟澶辨晥")) + elmeOrder.setState(1); + else { + elmeOrder.setState(0); + elmeOrder.setPayMoney(new BigDecimal(0)); + } elmeOrder.setTrackPid( String.format("mm_124933865_%s_%s", taoBaoOrder.getSourceMediaId(), taoBaoOrder.getAdPositionId())); if (!StringUtil.isNullOrEmpty(taoBaoOrder.getRelationId())) { @@ -281,10 +297,11 @@ for (TaoBaoOrder taoBaoOrder : orderList) { ElmeOrder elmeOrder = createElmeOrder(taoBaoOrder); try { - elmeOrderService.addOrder(elmeOrder); + elmeOrderProcessService.processOrder(elmeOrder); } catch (ElmeOrderException e) { e.printStackTrace(); } + } } } @@ -410,7 +427,7 @@ private HongBaoOrderMapper hongBaoOrderMapper; @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public void fanli(HongBaoV2 hb1) throws TaoBaoWeiQuanException { // 鏌ヨ鏈�鏂扮殑绾㈠寘鏁版嵁 hb1 = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hb1.getId()); @@ -477,18 +494,27 @@ String key = mainUser.getId() + "-" + UUID.randomUUID().toString(); msg.setKey(key); try { - orderTransactionProducer.send(msg, new LocalTransactionExecuter() { - @Override - public TransactionStatus execute(Message arg0, Object arg1) { - try { - orderMoneySettleService.ziGouSettle(hongBaoOrder.getCommonOrder().getOrderNo(), - hongBaoOrder.getCommonOrder().getSourceType(), key); - return TransactionStatus.CommitTransaction; - } catch (Exception e) { - return TransactionStatus.RollbackTransaction; + if (!Constant.IS_TEST) + orderTransactionProducer.send(msg, new LocalTransactionExecuter() { + @Override + public TransactionStatus execute(Message arg0, Object arg1) { + try { + orderMoneySettleService.ziGouSettle(hongBaoOrder.getCommonOrder().getOrderNo(), + hongBaoOrder.getCommonOrder().getSourceType(), key); + return TransactionStatus.CommitTransaction; + } catch (Exception e) { + e.printStackTrace(); + return TransactionStatus.RollbackTransaction; + } } + }, null); + else { + try { + orderMoneySettleService.ziGouSettle(hongBaoOrder.getCommonOrder().getOrderNo(), + hongBaoOrder.getCommonOrder().getSourceType(), key); + } catch (Exception e) { } - }, null); + } } catch (Exception e) { LogHelper.mqError(e.getMessage(), msg.getTopic(), msg.getTag(), new Gson().toJson(mqMsg)); } @@ -517,13 +543,8 @@ if (orderList != null && orderList.size() > 0 & !StringUtil.isNullOrEmpty(orderList.get(0).getSettlementTime())) order.setJieSuanTime( new Date(TimeUtil.convertToTimeTemp(orderList.get(0).getSettlementTime(), "yyyy-MM-dd HH:mm:ss"))); - // if (order.getJieSuanTime().getTime() >= - // TimeUtil.convertToTimeTemp("2018-08-05", "yyyy-MM-dd")) { - // return; - // } - // TODO 澶勭悊缁存潈鎴愬姛浣嗘槸宸插埌璐︾殑璁㈠崟 - + // 澶勭悊缁存潈鎴愬姛浣嗘槸宸插埌璐︾殑璁㈠崟 if (order.getJieSuanTime().getTime() > TimeUtil.convertToTimeTemp("2019-01-01", "yyyy-MM-dd")) {// 缁撶畻鏃堕棿鍦�2鏈�1鍙风殑寮�濮嬪鐞嗗凡鍒拌处浣嗘槸缁存潈鐨� CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, order.getOrderItemId()); @@ -534,15 +555,34 @@ TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService .selectByOrderItemId(order.getOrderItemId()); if (drawBack == null) {// 杩樻湭鎵f + OrderLogHelper.taoBaoWeiQuan("宸插埌璐︽湭鎵f澶勭悊:瀛愯鍗曞彿:" + order.getOrderItemId()); try { - taoBaoWeiQuanDrawBackService.doWeiQuanFanli(order.getOrderId()); + taoBaoWeiQuanDrawBackService.doWeiQuanFanli(order.getOrderId(), true); taoBaoWeiQuanDrawBackService.doWeiQuanShare(order.getOrderId()); taoBaoWeiQuanDrawBackService.doWeiQuanInvite(order.getOrderId()); } catch (TaoBaoWeiQuanException e) { try { - LogHelper.errorDetailInfo(e, null, "璁㈠崟鍙�:" + order.getOrderId()); + LogHelper.errorDetailInfo(e, "鍒拌处鍚庡鐞嗙淮鏉冩墸娆惧嚭閿�", "璁㈠崟鍙�:" + order.getOrderId()); } catch (Exception e1) { e1.printStackTrace(); + } + } + } else { + // 鏌ヨ瀛愮孩鍖呮槸鍚﹀凡鍒拌处 + List<HongBaoV2> children = hongBaoV2Service + .listChildrenById(hongBaoOrder.getHongBaoV2().getId()); + for (HongBaoV2 hongBaoV2 : children) { + if (hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU) { + try { + taoBaoWeiQuanDrawBackService.doWeiQuanInvite(order.getOrderId()); + } catch (TaoBaoWeiQuanException e) { + try { + LogHelper.errorDetailInfo(e, "鍒拌处鍚庡鐞嗙淮鏉冩墸娆惧嚭閿�", "璁㈠崟鍙�:" + order.getOrderId()); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + break; } } } @@ -583,9 +623,7 @@ } catch (OrderMoneySettleException e) { e.printStackTrace(); } - if (1 > 0) - return; - // + try { orderMoneySettleService.inviteSettleJD(uid); } catch (OrderMoneySettleException e) { @@ -710,7 +748,8 @@ order.setOrderType(Constant.SOURCE_TYPE_TAOBAO); order.setUserInfo(new UserInfo(uid)); try { - PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); + if (!Constant.IS_TEST) + PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); } catch (Exception e) { } } @@ -1196,6 +1235,9 @@ @Resource private ElmeOrderService elmeOrderService; + @Resource + private ElmeOrderProcessService elmeOrderProcessService; + /** * 鑾峰彇楗夸簡涔堝彲浠ヨ繑鍒╃殑绾㈠寘 * @@ -1261,13 +1303,12 @@ @Transactional private void addHongBaoWithMQ(List<CommonOrderAddResultDTO> commonOrderList, String orderId, Long uid, int sourceType, int hongBaoType) { - final List<CommonOrder> coList = convertCommonOrder(commonOrderList); int resultCode = 0; try { long time = TimeUtil.convertToTimeTemp("2019-12-06", "yyyy-MM-dd"); if (!Constant.IS_TEST) - time = TimeUtil.convertToTimeTemp("2020-01-01", "yyyy-MM-dd"); + time = TimeUtil.convertToTimeTemp("2019-12-20", "yyyy-MM-dd"); if (coList.get(0).getThirdCreateTime().getTime() < time) resultCode = hongBaoV2Service.addHongBao(coList, hongBaoType); @@ -1282,12 +1323,13 @@ } catch (UserAccountException e) { } - if (resultCode == 1) {// 鍙彂閫佹柊澧炴秷鎭� - OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD, - isCommonOrderValid(coList), 0, new Date()); - Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderStatistic, mqMsg); - producer.send(msg); - } + if (!Constant.IS_TEST) + if (resultCode == 1) {// 鍙彂閫佹柊澧炴秷鎭� + OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD, + isCommonOrderValid(coList), 0, new Date()); + Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderStatistic, mqMsg); + producer.send(msg); + } } /** @@ -1306,4 +1348,28 @@ return false; } + @Override + public void fanliOrderTeamReward() { + Date time = new Date(); + long count = orderTeamRewardService.countCanSettleUid(time); + int pageSize = 500; + int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + List<Long> uidList = new ArrayList<>(); + for (int i = 0; i < page; i++) { + List<Long> list = orderTeamRewardService.listCanSettleUid(time, i + 1, pageSize); + if (list != null && list.size() > 0) + uidList.addAll(list); + } + // 娣诲姞鍒伴槦鍒� + if (uidList != null) + for (Long uid : uidList) + if (!Constant.IS_TEST) + CMQManager.getInstance().addFanLiOrderTeamRewardMsg(uid); + } + + @Override + public void fanliOrderTeamReward(Long uid) throws OrderMoneySettleException { + orderMoneySettleService.orderTeamRewardSettle(uid); + } + } -- Gitblit v1.8.0