From a4e4101f3e68aaaeea3e280ad89b20818f40f534 Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期六, 14 三月 2020 15:15:26 +0800 Subject: [PATCH] 分享订单奖励 计算说明 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 37 +++++++++++++++++++++++++++++-------- 1 files changed, 29 insertions(+), 8 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..1d1cd7c 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; @@ -293,11 +294,15 @@ 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 +332,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 @@ -354,11 +368,19 @@ order.getListOrderGoods().add(commonGoodsVO); } } - + 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 +468,6 @@ // 璁㈠崟鏍囪瘑 List<String> signList = new ArrayList<String>(); /* 璁㈠崟杩斿埄绫诲瀷 杞崲 */ - Integer hongBaoType = order.getHongBaoType(); if (HongBaoV2.TYPE_ZIGOU == hongBaoType || 2 == hongBaoType) { // 鑷喘 hongbaoInfo = "杩斿埄"; -- Gitblit v1.8.0