From daead5f903bf26ee5f6747e0f81e067d138f46e2 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 14 五月 2020 18:16:01 +0800
Subject: [PATCH] 原有推荐记录不返回浏览数
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 218 ++++++++++++------------------------------------------
1 files changed, 49 insertions(+), 169 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
index 215087f..c0061fb 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java
@@ -18,6 +18,7 @@
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.NumberUtil;
+import com.yeshi.fanli.dto.order.UserTeamLevel;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.UserInfo;
@@ -27,7 +28,6 @@
import com.yeshi.fanli.entity.order.CommonOrderGoods;
import com.yeshi.fanli.entity.order.ESOrder;
import com.yeshi.fanli.entity.order.HongBaoOrder;
-import com.yeshi.fanli.entity.order.InviteOrderSubsidy;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
@@ -40,7 +40,7 @@
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.ESOrderService;
import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
-import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
+import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
import com.yeshi.fanli.service.inter.order.OrderHongBaoMapService;
import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService;
import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
@@ -59,7 +59,6 @@
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
import com.yeshi.fanli.vo.order.CommonOrderVO;
-import com.yeshi.fanli.vo.order.CurrentBonusVO;
import com.yeshi.fanli.vo.order.GoodsRebateVO;
import com.yeshi.fanli.vo.order.HongBaoCountVO;
import com.yeshi.fanli.vo.order.OrderCountVO;
@@ -101,8 +100,8 @@
private UserVIPInfoService userVIPInfoService;
@Resource
- private InviteOrderSubsidyService inviteOrderSubsidyServiceV2;
-
+ private HongBaoV2Service hongBaoV2Service;
+
@Resource
private HongBaoOrderService hongBaoOrderService;
@@ -460,27 +459,9 @@
data.put("selfMoney", selfMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
data.put("shareMoney", shareMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
-
BigDecimal teamMoney = new BigDecimal(0);
- if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
- teamMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3, null);
- } else {
- BigDecimal bonus = null;
- BigDecimal subsidy = null;
- BigDecimal dividend = null; // TODO 鍒嗙孩缁熻
- if (dateType == 4) { // 宸插埌璐�
- dividend = new BigDecimal(0);
- bonus = hongBaoV2CountService.geBonusByuid(uid, dateType, 3, 2);
- subsidy = inviteOrderSubsidyServiceV2.sumMoneyByUidAndDateAndState(uid,dateType,null,3);
- } else { // 鏈け鏁�
- bonus = hongBaoV2CountService.geBonusByuid(uid, dateType, 3, 4);
- subsidy = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,dateType,null);
- }
-
- dividend = new BigDecimal(0);
- // 鎬诲洟闃熷鍔�
- teamMoney = bonus.add(subsidy).add(dividend);
- }
+ teamMoney = hongBaoV2CountService.getRewardMoneyToCount(uid, dateType, 3, null);
+
data.put("inviteMoney", teamMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
out.print(JsonUtil.loadTrueResult(data));
}
@@ -574,13 +555,21 @@
}
}
-
+ // 绾㈠寘鑾峰緱鑰�
HongBaoV2 hongBaoV2 = hoList.get(0).getHongBaoV2();
UserLevelEnum userLevel = UserLevelUtil.getByOrderRank(hongBaoV2.getUrank());
if (userLevel == null)
userLevel = UserLevelEnum.daRen;
UserLevelEnum upperLevel = UserLevelEnum.superVIP;
+ // 璁㈠崟璐拱鑰�
+ CommonOrder commonOrder1 = hoList.get(0).getCommonOrder();
+ Date downTime = commonOrder1.getThirdCreateTime();
+ UserLevelEnum buyer = UserLevelUtil.getByOrderRank(commonOrder1.getUrank());
+ if (buyer == null) {
+ buyer = UserLevelEnum.daRen;
+ }
+
BigDecimal upperTotalMoney = new BigDecimal(0);
List<GoodsRebateVO> voList = new ArrayList<>();
for (HongBaoOrder hongBaoOrder : hoList) {
@@ -598,26 +587,30 @@
// 瀹炰粯娆�
BigDecimal payment = hongBaoOrder.getCommonOrder().getPayment();
- if (hongBaoOrder.getCommonOrder().getSettlement() != null)
+ // 鑻ュ凡缁撶畻 -鏄剧ず缁撶畻閲戦
+ Integer orderState = hongBaoOrder.getCommonOrder().getState();
+ if (hongBaoOrder.getCommonOrder().getSettlement() != null
+ && (orderState == CommonOrder.STATE_JS || orderState == CommonOrder.STATE_WQ))
payment = hongBaoOrder.getCommonOrder().getSettlement();
if (payment == null)
payment = new BigDecimal(0);
goodsVO.setActualPay("楼" + payment.setScale(2, BigDecimal.ROUND_DOWN));
+ BigDecimal fanli = hongBaoOrder.getHongBaoV2().getMoney();
+ // 鍩虹浣i噾
BigDecimal commission = orderHongBaoMoneyComputeService.computeBaseFanliMoney(commonOrder);
- if (type == 3) { // 濂栭噾
- goodsVO.setBonus("楼" + hongBaoOrder.getHongBaoV2().getMoney() +"");
- } else { // 浣i噾
- goodsVO.setCommision("楼" +commission);
- }
-
- // 骞冲彴琛ヨ创
- BigDecimal vipFanli = hongBaoOrder.getHongBaoV2().getMoney();
- goodsVO.setSubsidy("楼" + vipFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN));
+ goodsVO.setCommision("楼" +commission.setScale(2, BigDecimal.ROUND_DOWN));
+
+ // 骞冲彴琛ヨ创 = 杩斿埄 - 鍩虹浣i噾
+ goodsVO.setSubsidy("楼" + fanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN));
// 杈句汉琛ヨ创
if (userLevel != UserLevelEnum.daRen) {
BigDecimal darenFanli = orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, UserLevelEnum.daRen);
goodsVO.setOriginSubsidy("楼" + darenFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN) + "");
+ }
+
+ if (type == 3) { // 濂栭噾
+ goodsVO.setBonus("楼" + fanli.setScale(2, BigDecimal.ROUND_DOWN) +"");
}
voList.add(goodsVO);
@@ -626,58 +619,29 @@
upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel));
} else if (type == 2) {
upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, upperLevel));
- }
- }
-
- CommonOrder commonOrder = hoList.get(0).getCommonOrder();
- Date downTime = commonOrder.getThirdCreateTime();
-
- // 鍥㈤槦琛ヨ创
- if (type == 3) {
- BigDecimal teamSubsidy = null;
- BigDecimal lowerSubsidy = null;
- InviteOrderSubsidy inviteOrderSubsidy = inviteOrderSubsidyServiceV2.getByOrderNoAndType(uid, orderNo, sourceType);
- if (inviteOrderSubsidy != null) {
- teamSubsidy = inviteOrderSubsidy.getMoney();
- Integer urank = commonOrder.getUrank();
- UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
- boolean direct = false;
+ } else if (type == 3) {
+ List<UserTeamLevel> bossLevelList = new ArrayList<>();
if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
- direct = true;
+ bossLevelList.add(new UserTeamLevel(null, UserLevelEnum.superVIP));
+ upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFirstInviteMoney(commonOrder,
+ buyer, bossLevelList));
+ } else {
+ Integer bRank = hongBaoV2Service.getDirectBossUrankByPid(hongBaoOrder.getHongBaoV2().getParent().getId());
+ UserLevelEnum directBoss = UserLevelUtil.getByOrderRank(bRank);
+ if (directBoss == null) {
+ directBoss = UserLevelEnum.daRen;
+ }
+ bossLevelList.add(new UserTeamLevel(null, directBoss));
+ bossLevelList.add(new UserTeamLevel(null, UserLevelEnum.superVIP));
+ upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder,
+ buyer, bossLevelList));
}
-
- BigDecimal originRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,buyerUserLevel, userLevel, direct);
-
- // 璁$畻杈句汉琛ヨ创
- if (userLevel != UserLevelEnum.daRen) {
- BigDecimal daRenRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime, buyerUserLevel,
- UserLevelEnum.daRen, direct);
- lowerSubsidy = MoneyBigDecimalUtil.div(teamSubsidy.multiply(daRenRate), originRate);
- }
-
- if (userLevel != UserLevelEnum.superVIP && userLevel != UserLevelEnum.superVIP) {
- BigDecimal vipRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime, buyerUserLevel,
- UserLevelEnum.superVIP, direct);
- upperTotalMoney = upperTotalMoney.add(MoneyBigDecimalUtil.div(teamSubsidy.multiply(vipRate), originRate));
- System.out.println(upperTotalMoney);
- }
- } else {
- teamSubsidy = BigDecimal.valueOf(0.00);
- lowerSubsidy = BigDecimal.valueOf(0.00);
}
-
- if (userLevel != UserLevelEnum.daRen) {
- orderRebateVO.setOriginSubsidy("楼" + lowerSubsidy.setScale(2, BigDecimal.ROUND_DOWN));
- }
- orderRebateVO.setSubsidyDesc("鍥㈤槦琛ヨ创");
- orderRebateVO.setSubsidy("楼" + teamSubsidy.setScale(2, BigDecimal.ROUND_DOWN) +"");
-
- hongBao = hongBao.add(teamSubsidy);
}
+
orderRebateVO.setFanLiDesc(predictDesc + typeName);
orderRebateVO.setFanLi("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN));
-
orderRebateVO.setType(type);
orderRebateVO.setStateDesc(stateDesc);
orderRebateVO.setListGoods(voList);
@@ -687,9 +651,8 @@
orderRebateVO.setUserLevel(userLevel.name());
}
- // 涓婄骇杩斿埄
+ // 瓒呯骇浼氬憳杩斿埄
if (upperLevel != null) {
- upperTotalMoney = upperTotalMoney.add(hongBao);
orderRebateVO.setUpperFanLi("楼" + upperTotalMoney);
orderRebateVO.setJumpLink(upperLevel.getDetailLink());
}
@@ -746,14 +709,14 @@
}
} else {
Date accountTime = hongBaoV2.getGetTime();
- if (accountTime != null) {
+ // 鍒拌处鏃堕棿 -绾㈠寘閲戦闄愬埗
+ if (accountTime != null && hongBao.compareTo(Constant.REWARD_COUPON_LIMIT_MONEY) <= 0) {
boolean vip = userInviteService.verifyVIP(uid);
Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
long currentTime = java.lang.System.currentTimeMillis();
if (endDay.getTime() > currentTime && !vip) {
UserSystemCouponRecord couponRecord = userSystemCouponRecordService.getRecordByOrderNo(orderNo, null);
- if (couponRecord == null
- || (couponRecord.getCouponType() == CouponTypeEnum.rebatePercentCoupon.name() && couponRecord.getState() != UserSystemCouponRecord.STATE_SUCCESS)) {
+ if (couponRecord == null) {
orderRebateVO.setCoupon(true);
orderRebateVO.setCouponType(1);
orderRebateVO.setCouponText("绔嬪嵆浣跨敤");
@@ -768,87 +731,4 @@
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
-
- /**
- * 鏁版嵁缁熻
- * @param acceptData
- * @param uid
- * @param type 1鑷喘 2鍒嗕韩 3鍥㈤槦
- * @param out
- */
- @RequestMapping(value = "getCurrentBonus", method = RequestMethod.POST)
- public void getCurrentBonus(AcceptData acceptData, Long uid, Integer type, PrintWriter out) {
- if (uid == null) {
- out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
- return;
- }
-
- JSONObject data = new JSONObject();
- if (type == 1 || type == 2) {
- CurrentBonusVO bonus = new CurrentBonusVO();
- bonus.setToday(hongBaoV2CountService.geBonusByuid(uid, 1, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonus.setYesterday(hongBaoV2CountService.geBonusByuid(uid, 2, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonus.setThisMonth(hongBaoV2CountService.geBonusByuid(uid, 3, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonus.setLastMonth(hongBaoV2CountService.geBonusByuid(uid, 4, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- CurrentBonusVO bonusNot = new CurrentBonusVO();
- bonusNot.setToday(hongBaoV2CountService.geBonusByuid(uid, 1, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonusNot.setYesterday(hongBaoV2CountService.geBonusByuid(uid, 2, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonusNot.setThisMonth(hongBaoV2CountService.geBonusByuid(uid, 3, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonusNot.setLastMonth(hongBaoV2CountService.geBonusByuid(uid, 4, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString());
-
-
- data.put("bonus",bonus);
- data.put("bonusNot",bonusNot);
- data.put("total", hongBaoV2CountService.geBonusByuid(uid, null, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("totalNot", hongBaoV2CountService.geBonusByuid(uid, null, type, 1).setScale(2, BigDecimal.ROUND_DOWN).toString());
- } else {
- CurrentBonusVO bonus = new CurrentBonusVO();
- bonus.setToday(hongBaoV2CountService.geBonusByuid(uid, 1, type, 4).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonus.setYesterday(hongBaoV2CountService.geBonusByuid(uid, 2, type, 4).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonus.setThisMonth(hongBaoV2CountService.geBonusByuid(uid, 3, type, 4).setScale(2, BigDecimal.ROUND_DOWN).toString());
- bonus.setLastMonth(hongBaoV2CountService.geBonusByuid(uid, 4, type, 2).setScale(2, BigDecimal.ROUND_DOWN).toString());
-
-
- CurrentBonusVO subsidy = new CurrentBonusVO();
- subsidy.setToday(inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,1,null).setScale(2, BigDecimal.ROUND_DOWN).toString());
- subsidy.setYesterday(inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,2,null).setScale(2, BigDecimal.ROUND_DOWN).toString());
- subsidy.setThisMonth(inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid,3,null).setScale(2, BigDecimal.ROUND_DOWN).toString());
- subsidy.setLastMonth(inviteOrderSubsidyServiceV2.sumMoneyByUidAndDateAndState(uid,4,null,3).setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- // TODO 鍒嗙孩缁熻
- CurrentBonusVO dividend = new CurrentBonusVO();
- dividend.setThisMonth("0.00");
- dividend.setLastMonth("0.00");
-
- BigDecimal totalBonus = hongBaoV2CountService.geBonusByuid(uid, null, type, 2);
- BigDecimal totalubsidy = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid,null);
- BigDecimal totalDividend = new BigDecimal(0);
-
- BigDecimal total = totalDividend.add(totalBonus).add(totalubsidy);
-
-
- data.put("bonus",bonus);
- data.put("subsidy",subsidy);
- data.put("dividend",dividend);
- data.put("subsidy",subsidy);
- data.put("total", total.setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("totalBonus", totalBonus.setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("totalubsidy", totalubsidy.setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("totalDividend", totalDividend.setScale(2, BigDecimal.ROUND_DOWN).toString());
- }
-
- String key = null;
- if (type == 1) {
- key = ConfigKeyEnum.bonusCountLinkFanli.getKey();
- } else if (type == 2) {
- key = ConfigKeyEnum.bonusCountLinkShare.getKey();
- } else {
- key = ConfigKeyEnum.bonusCountLinkTeam.getKey();
- }
-
- data.put("link",configService.get(key));
- out.print(JsonUtil.loadTrueResult(data));
- }
-
}
--
Gitblit v1.8.0