From 47f034b4239ac0865560953e9f6edafa487b0fb9 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期三, 18 三月 2020 09:32:36 +0800 Subject: [PATCH] 会员等级 + 订单列表新增内容 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 132 +++++++++++++++++++++++++++++++++----------- 1 files changed, 99 insertions(+), 33 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java index 1d1cd7c..319b318 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java @@ -74,6 +74,7 @@ import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; +import com.yeshi.fanli.util.user.UserLevelUtil; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import com.yeshi.fanli.vo.order.CommonOrderGoodsVO; import com.yeshi.fanli.vo.order.CommonOrderVO; @@ -211,7 +212,11 @@ } // 鏁版嵁鍔犲伐閲嶆柊缁勭粐 - orderVOFactory(acceptData, listOrder, listGoods, uid); + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + orderVOFactoryNew(acceptData, listOrder, listGoods, uid); + } else { + orderVOFactory(acceptData, listOrder, listGoods, uid); + } return listOrder; } @@ -268,21 +273,38 @@ } Map<Long, Boolean> vipUserMap = userVIPInfoService.listByUids(needSelectVIPUidList); - // 璁剧疆鏄惁涓簐ip璁㈠崟 - for (CommonOrderVO order : listOrder) { - if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI - || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI - || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { - if (vipUserMap.get(Long.parseLong(order.getUserId())) != null - && vipUserMap.get(Long.parseLong(order.getUserId())) == true) - order.setVipOrder(true); - else + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + for (CommonOrderVO order : listOrder) { + + if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { + Integer urank = order.getUrank(); + if (urank != null) { + String levelName = UserLevelUtil.getLevelName(urank); + if (!StringUtil.isNullOrEmpty(levelName)) { + order.setOrderDesc(levelName); + } + } + } + } + } else { + // 璁剧疆鏄惁涓簐ip璁㈠崟 + for (CommonOrderVO order : listOrder) { + if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { + if (vipUserMap.get(Long.parseLong(order.getUserId())) != null + && vipUserMap.get(Long.parseLong(order.getUserId())) == true) + order.setVipOrder(true); + else + order.setVipOrder(false); + } else order.setVipOrder(false); - } else - order.setVipOrder(false); - if (order.isVipOrder()) - order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + if (order.isVipOrder()) + order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + } } SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); @@ -1694,7 +1716,7 @@ } @Override - public List<CommonOrderVO> searchOrderByUid(int page, int size, Long uid, List<ESOrder> list) throws Exception { + public List<CommonOrderVO> searchOrderByUid(AcceptData acceptData, int page, int size, Long uid, List<ESOrder> list) throws Exception { List<CommonOrderVO> listVO = commonOrderMapper.searchOrderByUid((page - 1) * size, size, uid, list); // 璁㈠崟淇℃伅涓虹┖ @@ -1711,7 +1733,7 @@ } // 鏁版嵁鍔犲伐閲嶆柊缁勭粐 - orderVOFactoryNew(listVO, listGoods, uid); + orderVOFactoryNew(acceptData, listVO, listGoods, uid); return listVO; } @@ -1724,7 +1746,7 @@ * @param listGoods * @param uid */ - private void orderVOFactoryNew(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) + private void orderVOFactoryNew(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) throws Exception { List<String> listTB = new ArrayList<String>(); List<String> listJD = new ArrayList<String>(); @@ -1768,22 +1790,40 @@ } Map<Long, Boolean> vipUserMap = userVIPInfoService.listByUids(needSelectVIPUidList); - // 璁剧疆鏄惁涓簐ip璁㈠崟 - for (CommonOrderVO order : listOrder) { - if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI - || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI - || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { - if (vipUserMap.get(Long.parseLong(order.getUserId())) != null - && vipUserMap.get(Long.parseLong(order.getUserId())) == true) - order.setVipOrder(true); - else + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + for (CommonOrderVO order : listOrder) { + if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { + Integer urank = order.getUrank(); + if (urank != null) { + String levelName = UserLevelUtil.getLevelName(urank); + if (!StringUtil.isNullOrEmpty(levelName)) { + order.setOrderDesc(levelName); + } + } + } + + } + } else { + // 璁剧疆鏄惁涓簐ip璁㈠崟 + for (CommonOrderVO order : listOrder) { + if (order.getHongBaoType() == HongBaoV2.TYPE_YIJI || order.getHongBaoType() == HongBaoV2.TYPE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI + || order.getHongBaoType() == HongBaoV2.TYPE_SHARE_ERJI) { + if (vipUserMap.get(Long.parseLong(order.getUserId())) != null + && vipUserMap.get(Long.parseLong(order.getUserId())) == true) + order.setVipOrder(true); + else + order.setVipOrder(false); + } else order.setVipOrder(false); - } else - order.setVipOrder(false); - if (order.isVipOrder()) - order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + if (order.isVipOrder()) + order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + } } + SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd"); @@ -1794,11 +1834,17 @@ boolean vip = userVIPInfoService.isVIP(uid); // 鏄惁瀛樺湪濂栧姳鍒� boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid); - + + long nowTime = java.lang.System.currentTimeMillis(); for (CommonOrderVO order : listOrder) { String orderNo = order.getOrderNo(); Integer sourceType = order.getSourceType(); + Integer hongBaoType = order.getHongBaoType(); + + BigDecimal totalPay = new BigDecimal(0); + BigDecimal totalActual = new BigDecimal(0); + // 鍟嗗搧淇℃伅缁勫悎 for (CommonOrderVO commonOrder : listGoods) { CommonOrderGoods goods = commonOrder.getCommonOrderGoods(); @@ -1827,8 +1873,19 @@ totalSettlement = commonOrder.getTotalPayment(); } commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement); + + totalPay = MoneyBigDecimalUtil.add(totalPay, totalSettlement); + - Integer hongBaoType = order.getHongBaoType(); + // 鍟嗗搧浠锋牸 + BigDecimal actualPrice = commonGoodsVO.getActualPrice(); + if (actualPrice != null) { + Integer totalCount = commonOrder.getTotalCount(); + totalActual = MoneyBigDecimalUtil.add(totalActual, + MoneyBigDecimalUtil.mul(new BigDecimal(totalCount), actualPrice)); + } + + // 閭�璇疯鍗曚俊鎭繚鎶� if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType @@ -1862,6 +1919,16 @@ order.setObtainTime(thirdCreateTime.getTime()); } + // 2.1鍒嗕韩璁㈠崟鍜岃繑鍒╄鍗曞疄浠橀噾棰濆ぇ浜庢垨鑰呭皬浜庡埜鍚庝环鐨勬椂鍊欙紝璁㈠崟椤甸潰 鍙樉绀�3澶� 涓嬪崟鏃堕棿寮�濮� + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + if (HongBaoV2.TYPE_SHARE_GOODS == hongBaoType + && DateUtil.plusDayDate(3, thirdCreateTime).getTime() > nowTime + && totalPay.compareTo(totalActual) != 0) { + order.setFanliDesc("鐢卞疄浠橀噾棰�*杩斿埄姣旇绠楄�屾潵"); + order.setFanliDescLink(configService.get(ConfigKeyEnum.shareOrderRebateDescLink.getKey())); + } + } + Date settleTime = order.getSettleTime(); if (settleTime != null) { order.setReceiveTime("鏀惰揣鏃堕棿锛�" + format.format(settleTime)); @@ -1936,7 +2003,6 @@ // 璁㈠崟鏍囪瘑 List<String> signList = new ArrayList<String>(); /* 璁㈠崟杩斿埄绫诲瀷 杞崲 */ - Integer hongBaoType = order.getHongBaoType(); if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) { // 鑷喘 hongbaoInfo = "杩斿埄"; -- Gitblit v1.8.0