From 033a7cd02b9799a0acf42290fdc84d74bdcee79c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 29 一月 2019 15:33:12 +0800 Subject: [PATCH] 热门搜素更改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java | 82 +++++++++++++++++++++++++++++++++++----- 1 files changed, 71 insertions(+), 11 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java index 8e64de9..b6e6e90 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/hongbao/HongBaoV2ServiceImpl.java @@ -31,26 +31,34 @@ import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail; import com.yeshi.fanli.entity.bus.user.HongBao; import com.yeshi.fanli.entity.bus.user.HongBaoV2; +import com.yeshi.fanli.entity.bus.user.Order; +import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.order.CommonOrder; import com.yeshi.fanli.entity.order.CommonOrderGoods; import com.yeshi.fanli.entity.order.HongBaoOrder; +import com.yeshi.fanli.entity.order.ShareGoodsActivityOrder; import com.yeshi.fanli.entity.taobao.PidOrder; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder; import com.yeshi.fanli.exception.HongBaoException; +import com.yeshi.fanli.exception.order.ShareGoodsActivityOrderException; import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.msg.UserOrderMsgNotificationService; import com.yeshi.fanli.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.order.ShareGoodsActivityOrderService; +import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserNotificationService; import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService; import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; +import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; @@ -107,6 +115,15 @@ @Resource private UserOrderMsgNotificationService userOrderMsgNotificationService; + + @Resource + private ConfigService configService; + + @Resource + private ShareGoodsActivityOrderService shareGoodsActivityOrderService; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; @Override public int insert(HongBaoV2 record) { @@ -508,8 +525,8 @@ // 鍔犲叆閫氱煡 if (notificationMap.get(type) == null) { - HongBaoV2 tempHongBao = new HongBaoV2(hongBao.getId()); - tempHongBao.setUserInfo(hongBao.getUserInfo()); + HongBaoV2 tempHongBao = new HongBaoV2(oldHongBao.getId()); + tempHongBao.setUserInfo(oldHongBao.getUserInfo()); tempHongBao.setMoney(hongBao.getMoney()); CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId()); tempCommonOrder.setPayment(commonOrder.getPayment()); @@ -577,7 +594,16 @@ } } else if (type == HongBaoV2.TYPE_SHARE_GOODS) { - BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime()); + BigDecimal fanliRate = hongBaoManageService.getShareRate(commonOrder.getCreateTime().getTime()); + Order order = orderMapper.selectOrderByOrderId(commonOrder.getOrderNo()); + if (order != null) { + List<ShareGoodsActivityOrder> list = shareGoodsActivityOrderService + .listByOrderIdAndUid(commonOrder.getUserInfo().getId(), order.getId()); + if (list != null && list.size() > 0) { + fanliRate = list.get(0).getShareRate(); + } + } + HongBaoV2 hongBao = new HongBaoV2(hongBaoOrder.getHongBaoV2().getId()); hongBao.setUpdateTime(new Date()); // 鏇存敼鐘舵�佷笌璧勯噾 @@ -741,21 +767,21 @@ } hongBaoV2Mapper.insertSelective(firstHongbao); // 鐢ㄦ埛閫氱煡 - if (notificationMap.get(type) == null) { + if (notificationMap.get(HongBaoV2.TYPE_YIJI) == null) { HongBaoV2 tempHongBao = new HongBaoV2(firstHongbao.getId()); tempHongBao.setUserInfo(firstHongbao.getUserInfo()); tempHongBao.setMoney(firstHongbao.getMoney()); CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId()); tempCommonOrder.setPayment(commonOrder.getPayment()); - notificationMap.put(type, new HongBaoOrder(tempCommonOrder, tempHongBao)); + notificationMap.put(HongBaoV2.TYPE_YIJI, new HongBaoOrder(tempCommonOrder, tempHongBao)); } else { // 澧炲姞浠樻閲戦涓庤祫閲� - HongBaoOrder tempHongBaoOrder = notificationMap.get(type); + HongBaoOrder tempHongBaoOrder = notificationMap.get(HongBaoV2.TYPE_YIJI); tempHongBaoOrder.getCommonOrder() .setPayment(tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment())); tempHongBaoOrder.getHongBaoV2() .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(firstHongbao.getMoney())); - notificationMap.put(type, tempHongBaoOrder); + notificationMap.put(HongBaoV2.TYPE_YIJI, tempHongBaoOrder); } // 鎻掑叆浜岀骇瀛愮孩鍖� @@ -789,21 +815,21 @@ hongBaoV2Mapper.insertSelective(secondHongbao); // 鐢ㄦ埛閫氱煡 - if (notificationMap.get(type) == null) { + if (notificationMap.get(HongBaoV2.TYPE_ERJI) == null) { HongBaoV2 tempHongBao = new HongBaoV2(secondHongbao.getId()); tempHongBao.setUserInfo(secondHongbao.getUserInfo()); tempHongBao.setMoney(secondHongbao.getMoney()); CommonOrder tempCommonOrder = new CommonOrder(commonOrder.getId()); tempCommonOrder.setPayment(commonOrder.getPayment()); - notificationMap.put(type, new HongBaoOrder(tempCommonOrder, tempHongBao)); + notificationMap.put(HongBaoV2.TYPE_ERJI, new HongBaoOrder(tempCommonOrder, tempHongBao)); } else { // 澧炲姞浠樻閲戦涓庤祫閲� - HongBaoOrder tempHongBaoOrder = notificationMap.get(type); + HongBaoOrder tempHongBaoOrder = notificationMap.get(HongBaoV2.TYPE_ERJI); tempHongBaoOrder.getCommonOrder().setPayment( tempHongBaoOrder.getCommonOrder().getPayment().add(commonOrder.getPayment())); tempHongBaoOrder.getHongBaoV2() .setMoney(tempHongBaoOrder.getHongBaoV2().getMoney().add(secondHongbao.getMoney())); - notificationMap.put(type, tempHongBaoOrder); + notificationMap.put(HongBaoV2.TYPE_ERJI, tempHongBaoOrder); } } @@ -815,6 +841,40 @@ return; // 鍒嗕韩璧� BigDecimal shareRate = hongBaoManageService.getShareRate(commonOrder.getCreateTime().getTime()); + + // 鍒ゆ柇璁㈠崟鍒嗕韩娲诲姩鏄惁寮�鍚� + if ("1".equalsIgnoreCase(configService.get("share_goods_activity_open"))) { + // 娌℃湁璁㈠崟锛屽苟涓旀槸娓犻亾ID鏉ョ殑锛屽苟涓� + UserExtraTaoBaoInfo taoBaoExtraInfo = userExtraTaoBaoInfoService + .getByUid(commonOrder.getUserInfo().getId()); + if (taoBaoExtraInfo != null && ((!StringUtil.isNullOrEmpty(taoBaoExtraInfo.getTaoBaoOrderEnd6Num()) + && !commonOrder.getOrderNo().endsWith(taoBaoExtraInfo.getTaoBaoOrderEnd6Num().trim())) + || StringUtil.isNullOrEmpty(taoBaoExtraInfo.getTaoBaoOrderEnd6Num()))) { + List<TaoBaoOrder> taoBaoOrderList = taoBaoOrderMapper + .selectTaoBaoOrderByOrderId(commonOrder.getOrderNo()); + if (taoBaoOrderList != null && taoBaoOrderList.size() > 0 + && !StringUtil.isNullOrEmpty(taoBaoOrderList.get(0).getRelationId())) { + if (shareGoodsActivityOrderService.listByUid(commonOrder.getUserInfo().getId()).size() < 1) { + Order order = orderMapper.selectOrderByOrderId(commonOrder.getOrderNo()); + if (order != null) { + shareRate = new BigDecimal(hongBaoManageService.get("share_activity_proportion")); + try { + shareGoodsActivityOrderService.addShareGoodsActivityOrder( + commonOrder.getUserInfo().getId(), shareRate, order); + } catch (ShareGoodsActivityOrderException e) { + try { + LogHelper.errorDetailInfo(e); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + } + } + } + + } + HongBaoV2 hongBao = new HongBaoV2(); hongBao.setCreateTime(new Date()); hongBao.setType(HongBaoV2.TYPE_SHARE_GOODS); -- Gitblit v1.8.0