From f15acf7f2d57db3a32c574b0dfc21f564dca6024 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期二, 24 三月 2020 12:01:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 182 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 136 insertions(+), 46 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 8520dd0..da7e0cb 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 @@ -38,6 +38,7 @@ import com.yeshi.fanli.entity.order.HongBaoOrder; import com.yeshi.fanli.entity.order.InviteOrderSubsidy; import com.yeshi.fanli.entity.pdd.PDDOrder; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoOrder; @@ -70,9 +71,9 @@ import com.yeshi.fanli.util.jd.JDApiUtil; import com.yeshi.fanli.util.jd.JDUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; -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; @@ -210,7 +211,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; } @@ -267,21 +272,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 - order.setVipOrder(false); - } else - order.setVipOrder(false); + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + for (CommonOrderVO order : listOrder) { - if (order.isVipOrder()) - order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + 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); + + if (order.isVipOrder()) + order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + } } SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); @@ -293,11 +315,14 @@ 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(); @@ -327,7 +352,16 @@ } commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement); - Integer hongBaoType = order.getHongBaoType(); + totalPay = MoneyBigDecimalUtil.add(totalPay, totalSettlement); + + // 鍟嗗搧浠锋牸 + 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 @@ -356,9 +390,17 @@ } Date thirdCreateTime = order.getThirdCreateTime(); - if (thirdCreateTime != null) { - order.setDownTime("涓嬪崟鏃堕棿锛�" + format.format(thirdCreateTime)); - order.setObtainTime(thirdCreateTime.getTime()); + order.setDownTime("涓嬪崟鏃堕棿锛�" + format.format(thirdCreateTime)); + order.setObtainTime(thirdCreateTime.getTime()); + + // 2.1鍒嗕韩璁㈠崟鍜岃繑鍒╄鍗曞疄浠橀噾棰濆ぇ浜庢垨鑰呭皬浜庡埜鍚庝环鐨勬椂鍊欙紝璁㈠崟椤甸潰 鍙樉绀�3澶� 涓嬪崟鏃堕棿寮�濮� + if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { + if (HongBaoV2.TYPE_SHARE_YIJI == hongBaoType + && DateUtil.plusDayDate(3, thirdCreateTime).getTime() > nowTime + && totalPay.compareTo(totalActual) != 0) { + order.setFanliDesc("鐢卞疄浠橀噾棰�*杩斿埄姣旇绠楄�屾潵"); + order.setFanliDescLink(configService.get(ConfigKeyEnum.shareOrderRebateDescLink.getKey())); + } } Date settleTime = order.getSettleTime(); @@ -446,7 +488,6 @@ // 璁㈠崟鏍囪瘑 List<String> signList = new ArrayList<String>(); /* 璁㈠崟杩斿埄绫诲瀷 杞崲 */ - Integer hongBaoType = order.getHongBaoType(); if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) { // 鑷喘 hongbaoInfo = "杩斿埄"; @@ -902,7 +943,7 @@ wholeOrderState = CommonOrder.STATE_WHOLE_ORDER_BUFENYOUXIAO; for (TaoBaoOrder taoBaoOrder : taoBaoOrders) { - CommonOrder newCommonOrder = TaoBaoOrderUtil.convert(taoBaoOrder); + CommonOrder newCommonOrder = CommonOrderFactory.create(taoBaoOrder); CommonOrderGoods cog = new CommonOrderGoods(); cog.setGoodsId(taoBaoOrder.getAuctionId() + ""); cog.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); @@ -1240,7 +1281,7 @@ @Override public List<CommonOrderVO> listQuery(long start, int count, Integer keyType, String key, Integer state, Integer type, Integer orderState, String startTime, String endTime, Integer source, List<Long> listShopId, - List<Long> listGoodsId, Date minTime, BigDecimal money,BigDecimal payment) throws CommonOrderException { + List<Long> listGoodsId, Date minTime, BigDecimal money, BigDecimal payment) throws CommonOrderException { List<CommonOrderVO> list = null; @@ -1249,7 +1290,7 @@ startTime, endTime, source, payment); } else { list = commonOrderMapper.listQuery(start, count, keyType, key, state, type, orderState, startTime, endTime, - source, listShopId, listGoodsId, minTime, money,payment); + source, listShopId, listGoodsId, minTime, money, payment); } if (list == null) { @@ -1436,7 +1477,7 @@ @Override public long countQuery(Integer keyType, String key, Integer state, Integer type, Integer orderState, String startTime, String endTime, Integer source, List<Long> listShopId, List<Long> listGoodsId, - Date minTime, BigDecimal money,BigDecimal payment) throws CommonOrderException { + Date minTime, BigDecimal money, BigDecimal payment) throws CommonOrderException { if (StringUtil.isNullOrEmpty(key) || keyType == 1) {// 鎼滅储妗嗘棤鍊兼垨鑰呮寜璁㈠崟鍙锋悳绱㈡椂閮藉彧鎼滅储涓昏鍗� return commonOrderMapper.countQueryWithNoChild(keyType, key, state, type, orderState, startTime, endTime, source, payment); @@ -1673,7 +1714,8 @@ } @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); // 璁㈠崟淇℃伅涓虹┖ @@ -1690,7 +1732,7 @@ } // 鏁版嵁鍔犲伐閲嶆柊缁勭粐 - orderVOFactoryNew(listVO, listGoods, uid); + orderVOFactoryNew(acceptData, listVO, listGoods, uid); return listVO; } @@ -1703,8 +1745,8 @@ * @param listGoods * @param uid */ - private void orderVOFactoryNew(List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) - throws Exception { + 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>(); List<String> listPDD = new ArrayList<String>(); @@ -1747,21 +1789,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 - order.setVipOrder(false); - } else - order.setVipOrder(false); + 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); + } + } + } - if (order.isVipOrder()) - order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + } + } 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); + + if (order.isVipOrder()) + order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�"); + } } SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm"); @@ -1774,9 +1833,14 @@ // 鏄惁瀛樺湪濂栧姳鍒� 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) { @@ -1807,7 +1871,16 @@ } commonGoodsVO.setActualPay("浠樻閲戦锛毬�" + totalSettlement); - Integer hongBaoType = order.getHongBaoType(); + totalPay = MoneyBigDecimalUtil.add(totalPay, totalSettlement); + + // 鍟嗗搧浠锋牸 + 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 @@ -1839,6 +1912,16 @@ if (thirdCreateTime != null) { order.setDownTime("涓嬪崟鏃堕棿锛�" + format.format(thirdCreateTime)); 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(); @@ -1915,7 +1998,6 @@ // 璁㈠崟鏍囪瘑 List<String> signList = new ArrayList<String>(); /* 璁㈠崟杩斿埄绫诲瀷 杞崲 */ - Integer hongBaoType = order.getHongBaoType(); if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) { // 鑷喘 hongbaoInfo = "杩斿埄"; @@ -2184,4 +2266,12 @@ } } + @Override + public Date getThirdCreateTime(String orderId, int sourceType) { + List<CommonOrder> list = listBySourceTypeAndOrderId(sourceType, orderId); + if (list == null || list.size() == 0) + return null; + return list.get(0).getThirdCreateTime(); + } + } -- Gitblit v1.8.0