From d5c2554ebae75afbff31c3c2966cc3a747ba941c Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期一, 27 四月 2020 15:00:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 174 +++++++++++-----------------------------------------------
1 files changed, 33 insertions(+), 141 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 da8b15f..2b7c83d 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;
@@ -466,20 +465,17 @@
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 = bonus.add(dividend);
}
data.put("inviteMoney", teamMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
out.print(JsonUtil.loadTrueResult(data));
@@ -574,21 +570,23 @@
}
}
-
+ // 绾㈠寘鑾峰緱鑰�
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();
- Integer urank = commonOrder1.getUrank();
- UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
- boolean direct = false;
- if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
- direct = true;
+ UserLevelEnum buyer = UserLevelUtil.getByOrderRank(commonOrder1.getUrank());
+ if (buyer == null) {
+ buyer = UserLevelEnum.daRen;
}
+
+
+
BigDecimal upperTotalMoney = new BigDecimal(0);
List<GoodsRebateVO> voList = new ArrayList<>();
@@ -617,6 +615,7 @@
// 鍩虹浣i噾
BigDecimal commission = orderHongBaoMoneyComputeService.computeBaseFanliMoney(commonOrder);
goodsVO.setCommision("楼" +commission.setScale(2, BigDecimal.ROUND_DOWN));
+
// 骞冲彴琛ヨ创 = 杩斿埄 - 鍩虹浣i噾
goodsVO.setSubsidy("楼" + fanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN));
// 杈句汉琛ヨ创
@@ -636,52 +635,28 @@
} else if (type == 2) {
upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, upperLevel));
} else if (type == 3) {
- upperTotalMoney = upperTotalMoney.add(hongBao);
+ List<UserTeamLevel> bossLevelList = new ArrayList<>();
+ if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
+ 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));
+ }
}
}
-
- // 鍥㈤槦琛ヨ创
- if (type == 3) {
- BigDecimal teamSubsidy = null;
- BigDecimal lowerSubsidy = null;
- InviteOrderSubsidy inviteOrderSubsidy = inviteOrderSubsidyServiceV2.getByOrderNoAndType(uid, orderNo, sourceType);
- if (inviteOrderSubsidy != null) {
- teamSubsidy = inviteOrderSubsidy.getMoney();
- // 璁$畻鍘熸瘮渚�
- 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.tearcher) {
- BigDecimal vipRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime, buyerUserLevel,
- UserLevelEnum.superVIP, direct);
- upperTotalMoney = upperTotalMoney.add(MoneyBigDecimalUtil.div(teamSubsidy.multiply(vipRate), originRate));
- }
-
- } 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);
@@ -749,14 +724,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("绔嬪嵆浣跨敤");
@@ -771,87 +746,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