From c3b33f84b6ce927b4be681a4f1e4080706d390a9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 29 八月 2019 18:17:52 +0800 Subject: [PATCH] 维权订单修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java | 90 +++++++++++++++++++++++++------------------- 1 files changed, 51 insertions(+), 39 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 d17a644..ed542b2 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 @@ -221,6 +221,30 @@ return commonOrderMapper.countByUidAndOrderState(uid, type, startTime, endTime, day, source); } + private BigDecimal getWeiQuanMoney(List<TaoBaoWeiQuanOrder> listWQ, int sourceType, Long uid) { + BigDecimal weiQuanMoney = new BigDecimal(0); + if (listWQ != null && listWQ.size() > 0) { + for (TaoBaoWeiQuanOrder weiQuanOrder : listWQ) { + String tradeId = weiQuanOrder.getOrderItemId(); + // 鏌ヨ绾㈠寘 + List<String> tradeList = new ArrayList<>(); + tradeList.add(tradeId); + List<HongBaoV2> hongBaoList = hongBaoV2Service.listBySourceTypeAndTradeIdListAndUid(sourceType, uid, + tradeList); + if (hongBaoList != null && hongBaoList.size() > 0) { + CommonOrder commonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(sourceType, tradeId); + if (commonOrder != null && commonOrder.getSettlement().compareTo(new BigDecimal(0)) > 0) { + BigDecimal wqMoney = + MoneyBigDecimalUtil.mul(hongBaoList.get(0).getMoney(), weiQuanOrder.getMoney()) + .divide(commonOrder.getSettlement(), 2, BigDecimal.ROUND_UP); + weiQuanMoney = weiQuanMoney.add(wqMoney); + } + } + } + } + return weiQuanMoney; + } + public void listDataFactory(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods, Long uid) { @@ -329,7 +353,8 @@ SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd"); // 鏄惁瀛樺湪濂栧姳鍒� - //boolean hasRewardCoupon = userSystemCouponService.hasRewardCoupon(uid); + // boolean hasRewardCoupon = + // userSystemCouponService.hasRewardCoupon(uid); boolean hasRewardCoupon = userSystemCouponService.getIncludeNotExchange(uid); boolean exchangeCoupon = userSystemCouponService.getIncludeExchange(uid); @@ -409,21 +434,7 @@ .selectListByOrderIdAndState(order.getOrderNo(), "缁存潈鎴愬姛"); boolean isPart = false;// 榛樿澶辨晥 - BigDecimal weiQuanMoney = new BigDecimal(0); - if (listWQ != null && listWQ.size() > 0) { - BigDecimal fanTotalMoney = new BigDecimal(0); - for (TaoBaoWeiQuanOrder weiQuanOrder : listWQ) { - BigDecimal fanMoney = weiQuanOrder.getFanMoney(); - if (fanMoney != null) { - fanTotalMoney = MoneyBigDecimalUtil.add(fanTotalMoney, fanMoney); - } - weiQuanMoney = MoneyBigDecimalUtil.add(weiQuanOrder.getMoney(), weiQuanMoney); - } - - if (fanTotalMoney.compareTo(hongBao) < 0) { - isPart = true; - } - } + BigDecimal weiQuanMoney = getWeiQuanMoney(listWQ, sourceType, uid); if (!VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) { if (isPart) { @@ -437,19 +448,15 @@ orderStateContent = "缁存潈鎴愬姛"; WeiQuanInfo weiQuanInfo = new WeiQuanInfo(); weiQuanInfo.setOldHongBao("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); - if (isPart) { - // 缁存潈澶辨晥閲戦=缁存潈鐨勯噾棰�*鑾峰緱鐨勭孩鍖�/缁撶畻閲戦 - BigDecimal settlement = order.getSettlement(); - BigDecimal wqHongbao = MoneyBigDecimalUtil - .div(MoneyBigDecimalUtil.mul(hongBao, settlement), settlement); +// if (isPart) { weiQuanInfo.setWqHongBao( - "缁存潈锛�-楼" + wqHongbao.setScale(2, BigDecimal.ROUND_DOWN).toString()); - hongBao = MoneyBigDecimalUtil.sub(hongBao, wqHongbao); - } else { - weiQuanInfo - .setWqHongBao("缁存潈锛�-楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN).toString()); - hongBao = new BigDecimal(0); - } + "缁存潈锛�-楼" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); + hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); +// } else { +// weiQuanInfo +// .setWqHongBao("缁存潈锛�-楼" + weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN).toString()); +// hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney); +// } order.setWeiQuanInfo(weiQuanInfo); } } @@ -550,13 +557,17 @@ } else { // 濂栧姳璁㈠崟銆佸厤鍗� 浣跨敤璁板綍 if (sourceType == null) { - setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, null, signList, acceptData); + setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, null, + signList, acceptData); } else if (sourceType == Constant.SOURCE_TYPE_TAOBAO) { - setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, listRecordTB, signList, acceptData); + setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, + listRecordTB, signList, acceptData); } else if (sourceType == Constant.SOURCE_TYPE_JD) { - setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, listRecordJD, signList, acceptData); + setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, + listRecordJD, signList, acceptData); } else if (sourceType == Constant.SOURCE_TYPE_PDD) { - setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, listRecordPDD, signList, acceptData); + setSystemCouponRecord(order, hasRewardCoupon, exchangeCoupon, hongBaoState, hongBaoType, + listRecordPDD, signList, acceptData); } } @@ -578,8 +589,9 @@ * @param list * @param signList */ - public void setSystemCouponRecord(CommonOrderVO order, boolean hasRewardCoupon, boolean exchangeCoupon, Integer hongBaoState, - Integer hongBaoType, List<UserSystemCouponRecord> list, List<String> signList, AcceptData acceptData) { + public void setSystemCouponRecord(CommonOrderVO order, boolean hasRewardCoupon, boolean exchangeCoupon, + Integer hongBaoState, Integer hongBaoType, List<UserSystemCouponRecord> list, List<String> signList, + AcceptData acceptData) { // 鏄惁鍏嶅崟鍟嗗搧 boolean freeOrder = false; @@ -632,15 +644,15 @@ String downTime = order.getDownTime(); if (!StringUtil.isNullOrEmpty(downTime)) { long downOrderTime = TimeUtil.convertDateToTemp2(downTime); - long limitDate = TimeUtil.convertDateToTemp("2019-09-01"); - if (downOrderTime > limitDate ) + long limitDate = TimeUtil.convertDateToTemp("2019-09-05"); + if (downOrderTime > limitDate) hasRewardCoupon = true; } } catch (Exception e) { e.printStackTrace(); } } - + boolean rewardOrder = false; int type = 1; // 1 甯歌璺宠浆椤甸潰 2寮瑰嚭閫夐」锛堝鍔卞埜锛� @@ -652,7 +664,7 @@ // 鏈夊彲鐢ㄧ殑濂栧姳鍒� 銆侀潪鍏嶅崟璁㈠崟 銆佷笖宸插埌璐︾殑 銆佽繑鍒╄鍗� type = 2; rewardOrder = true; - } + } if (rewardOrder) { ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO(); @@ -1429,7 +1441,7 @@ return commonOrderMapper.listBySourceTypeAndStateAndThirdCrateTime(sourceType, state, minTime, maxTime, (page - 1) * pageSize, pageSize); } - + @Override public List<CommonOrder> getByOrderNo(Long uid, String orderNO) { return commonOrderMapper.getByOrderNo(uid, orderNO); -- Gitblit v1.8.0