From 7c74ee47c3f1ec69b9494d363621f43ad8b9c640 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期日, 26 四月 2020 12:14:59 +0800
Subject: [PATCH] 后台调整
---
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserOrderControllerV2.java | 457 ++++++++++++++++-----------------------------------------
1 files changed, 128 insertions(+), 329 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 03cbab1..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,9 +18,9 @@
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.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
@@ -28,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;
@@ -41,7 +40,8 @@
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;
import com.yeshi.fanli.service.inter.user.UserCustomSettingsService;
@@ -59,12 +59,10 @@
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;
import com.yeshi.fanli.vo.order.OrderRebateVO;
-import com.yeshi.fanli.vo.order.TeamBonusVO;
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
import com.yeshi.fanli.vo.user.UserSettingsVO;
@@ -102,8 +100,8 @@
private UserVIPInfoService userVIPInfoService;
@Resource
- private InviteOrderSubsidyService inviteOrderSubsidyServiceV2;
-
+ private HongBaoV2Service hongBaoV2Service;
+
@Resource
private HongBaoOrderService hongBaoOrderService;
@@ -127,6 +125,9 @@
@Resource
private ThreeSaleSerivce threeSaleSerivce;
+
+ @Resource
+ private OrderHongBaoMapService orderHongBaoMapService;
/**
* 璁㈠崟鍒楄〃
@@ -295,7 +296,6 @@
data.put("count", count);
data.put("result_list", JsonUtil.getApiCommonGson().toJson(list));
data.put("helpUrl", configService.get(ConfigKeyEnum.orderListHelp.getKey()));
- data.put("bonusLink", configService.get(ConfigKeyEnum.orderBonusLink.getKey()));
data.put("validMoney", "楼 " + validMoney);
data.put("invalidMoney", "楼 " + invalidMoney);
data.put("findOrderHelpUrl", orderFindUrl);
@@ -465,187 +465,19 @@
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);
-
- JSONObject paramsFanli = new JSONObject();
- paramsFanli.put("type", "1");
- data.put("paramsFanli", paramsFanli);
- data.put("jumpFanli", jumpDetailV2Service.getByTypeCache("fanli_share_statistics",
- Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
-
- JSONObject paramsShare = new JSONObject();
- paramsShare.put("type", "2");
- data.put("paramsShare", paramsShare);
- data.put("jumpShare", jumpDetailV2Service.getByTypeCache("fanli_share_statistics",
- Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
-
- JSONObject paramsTeam = new JSONObject();
- paramsTeam.put("type", "3");
- data.put("paramsTeam", paramsTeam);
- data.put("jumpTeam", jumpDetailV2Service.getByTypeCache("team_statistics",
- Constant.getPlatformCode(acceptData.getPlatform()), Integer.parseInt(acceptData.getVersion())));
+ teamMoney = bonus.add(dividend);
}
data.put("inviteMoney", teamMoney.setScale(2, BigDecimal.ROUND_DOWN).toString());
- out.print(JsonUtil.loadTrueResult(data));
- }
-
- /**
- * 鍥㈤槦鏀剁泭缁熻 缁熻宸插埌璐︽湭鍒拌处 锛� 绱鍙粺璁″凡鍒拌处
- * @param acceptData
- * @param uid
- * @param type 1-鍥㈤槦琛ヨ创 2-鍥㈤槦濂栧姳 3-瀵煎笀娲ヨ创
- */
- @RequestMapping(value = "getTeamBonus", method = RequestMethod.POST)
- public void getTeamBonus(AcceptData acceptData, Long uid, Integer type, PrintWriter out) {
- if (uid == null) {
- out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�"));
- return;
- }
-
- UserInfo user = userInfoService.selectByPKey(uid);
- if (user == null) {
- out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛涓嶅瓨鍦�"));
- return;
- }
-
- if (type == null || type < 1 || type > 3) {
- type = 1;
- }
-
- if (type == 1) {
- // 琛ヨ创
- sumTeamSubsidy(out, user);
- } else if (type == 2) {
- // 濂栧姳
- //TODO 鍥㈤槦濂栧姳宸茬粡鍒犻櫎
- } else {
- // 瀵煎笀娲ヨ创
- JSONObject data = new JSONObject();
- data.put("exist", false);
- data.put("link", configService.get(ConfigKeyEnum.tutorSubsidyLink.getKey()));
- out.print(JsonUtil.loadTrueResult(data));
- }
- }
-
- /**
- * 缁熻琛ヨ创
- * @param out
- * @param user
- */
- private void sumTeamSubsidy(PrintWriter out, UserInfo user) {
- Long uid = user.getId();
- // 鏄惁VIP
- boolean vip = userVIPInfoService.isVIP(uid);
-
- JSONObject data = new JSONObject();
- data.put("link", configService.get(ConfigKeyEnum.orderTeamSubsidyLink.getKey()));
- if (!vip) {
- data.put("exist", false);
- out.print(JsonUtil.loadTrueResult(data));
- return;
- }
-
- data.put("exist", true);
- data.put("portrait", user.getPortrait());
-
- // 浠婃棩缁熻
- BigDecimal todayDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 1,
- InviteOrderSubsidy.LEVEL_ONE);
- if (todayDirect == null) {
- todayDirect = new BigDecimal(0);
- }
- BigDecimal todayIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 1,
- InviteOrderSubsidy.LEVEL_TWO);
- if (todayIndirect == null) {
- todayIndirect = new BigDecimal(0);
- }
- TeamBonusVO today = new TeamBonusVO();
- today.setDirect(todayDirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- today.setIndirect(todayIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- today.setTotal(
- MoneyBigDecimalUtil.add(todayDirect, todayIndirect).setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- // 鏄ㄦ棩缁熻
- BigDecimal yesterdayDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2,
- InviteOrderSubsidy.LEVEL_ONE);
- if (yesterdayDirect == null) {
- yesterdayDirect = new BigDecimal(0);
- }
- BigDecimal yesterdayIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 2,
- InviteOrderSubsidy.LEVEL_TWO);
- if (yesterdayIndirect == null) {
- yesterdayIndirect = new BigDecimal(0);
- }
- TeamBonusVO yesterday = new TeamBonusVO();
- yesterday.setDirect(yesterdayDirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- yesterday.setIndirect(yesterdayIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- yesterday.setTotal(MoneyBigDecimalUtil.add(yesterdayDirect, yesterdayIndirect)
- .setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- // 鏈湀缁熻
- BigDecimal thisMonthDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 3,
- InviteOrderSubsidy.LEVEL_ONE);
- if (thisMonthDirect == null) {
- thisMonthDirect = new BigDecimal(0);
- }
- BigDecimal thisMonthIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 3,
- InviteOrderSubsidy.LEVEL_TWO);
- if (thisMonthIndirect == null) {
- thisMonthIndirect = new BigDecimal(0);
- }
- TeamBonusVO thisMonth = new TeamBonusVO();
- thisMonth.setDirect(thisMonthDirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- thisMonth.setIndirect(thisMonthIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- thisMonth.setTotal(MoneyBigDecimalUtil.add(thisMonthDirect, thisMonthIndirect)
- .setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- // 鏈湀缁熻
- BigDecimal lastMonthDirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4,
- InviteOrderSubsidy.LEVEL_ONE);
- if (lastMonthDirect == null) {
- lastMonthDirect = new BigDecimal(0);
- }
- BigDecimal lastMonthIndirect = inviteOrderSubsidyServiceV2.sumValidMoneyByUidAndDate(uid, 4,
- InviteOrderSubsidy.LEVEL_TWO);
- if (lastMonthIndirect == null) {
- lastMonthIndirect = new BigDecimal(0);
- }
- TeamBonusVO lastMonth = new TeamBonusVO();
- lastMonth.setDirect(lastMonthDirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- lastMonth.setIndirect(lastMonthIndirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
- lastMonth.setTotal(MoneyBigDecimalUtil.add(lastMonthDirect, lastMonthIndirect)
- .setScale(2, BigDecimal.ROUND_DOWN).toString());
-
- BigDecimal direct = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid, InviteOrderSubsidy.LEVEL_ONE);
- if (direct == null) {
- direct = new BigDecimal(0);
- }
- BigDecimal indirect = inviteOrderSubsidyServiceV2.sumRecievedMoneyByUid(uid, InviteOrderSubsidy.LEVEL_TWO);
- if (indirect == null) {
- indirect = new BigDecimal(0);
- }
- BigDecimal total = MoneyBigDecimalUtil.add(direct, indirect);
-
- data.put("today", today);
- data.put("yesterday", yesterday);
- data.put("thisMonth", thisMonth);
- data.put("lastMonth", lastMonth);
- data.put("total", total.setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("direct", direct.setScale(2, BigDecimal.ROUND_DOWN).toString());
- data.put("indirect", indirect.setScale(2, BigDecimal.ROUND_DOWN).toString());
out.print(JsonUtil.loadTrueResult(data));
}
@@ -727,7 +559,7 @@
BigDecimal weiQuanMoney = commonOrderService.getWeiQuanMoney(listWQ, sourceType, uid);
orderRebateVO.setWq(true);
- orderRebateVO.setWqMoney("-楼"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN));
+ orderRebateVO.setWqMoney("楼"+ weiQuanMoney.setScale(2, BigDecimal.ROUND_DOWN));
if (hongBao.compareTo(weiQuanMoney) > 0) {
orderRebateVO.setWqDesc("閮ㄥ垎鍞悗閫�鍥�");
} else {
@@ -737,15 +569,25 @@
hongBao = MoneyBigDecimalUtil.sub(hongBao, weiQuanMoney);
}
}
- orderRebateVO.setFanLiDesc(predictDesc + typeName);
- orderRebateVO.setFanLi("楼" + hongBao.setScale(2));
+ // 绾㈠寘鑾峰緱鑰�
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) {
@@ -767,82 +609,134 @@
payment = hongBaoOrder.getCommonOrder().getSettlement();
if (payment == null)
payment = new BigDecimal(0);
- goodsVO.setActualPay("楼" + payment.setScale(2));
-
+ 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) + "");
+ 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) + "");
+ goodsVO.setOriginSubsidy("楼" + darenFanli.subtract(commission).setScale(2, BigDecimal.ROUND_DOWN) + "");
+ }
+
+ if (type == 3) { // 濂栭噾
+ goodsVO.setBonus("楼" + fanli.setScale(2, BigDecimal.ROUND_DOWN) +"");
}
voList.add(goodsVO);
-
- upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel));
- }
- // 鍥㈤槦琛ヨ创
- if (type == 3) {
- BigDecimal teamSubsidy = null;
- BigDecimal lowerSubsidy = null;
- InviteOrderSubsidy inviteOrderSubsidy = inviteOrderSubsidyServiceV2.getByOrderNoAndType(uid, orderNo, sourceType);
- if (inviteOrderSubsidy != null) {
- teamSubsidy = inviteOrderSubsidy.getMoney();
- if (userLevel != UserLevelEnum.daRen) {
- CommonOrder commonOrder = hoList.get(0).getCommonOrder();
- Integer urank = commonOrder.getUrank();
- UserLevelEnum buyerUserLevel = UserLevelUtil.getByOrderRank(urank);
- boolean direct = false;
- if (hongBaoV2.getType() == HongBaoV2.TYPE_YIJI || hongBaoV2.getType() == HongBaoV2.TYPE_SHARE_YIJI) {
- direct = true;
+ if (type == 1 ) {
+ upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeFanliMoney(commonOrder, upperLevel));
+ } else if (type == 2) {
+ upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeShareMoney(commonOrder, upperLevel));
+ } else if (type == 3) {
+ 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;
}
- // 璁$畻涓婁竴绾цˉ璐�
- lowerSubsidy = getLowerSubsidy(inviteOrderSubsidy.getMoney(), commonOrder.getThirdCreateTime(), buyerUserLevel, userLevel, direct);
+ bossLevelList.add(new UserTeamLevel(null, directBoss));
+ bossLevelList.add(new UserTeamLevel(null, UserLevelEnum.superVIP));
+ upperTotalMoney = upperTotalMoney.add(orderHongBaoMoneyComputeService.computeSecondInviteMoney(commonOrder,
+ buyer, bossLevelList));
}
- } else {
- teamSubsidy = BigDecimal.valueOf(0.00);
- lowerSubsidy = BigDecimal.valueOf(0.00);
}
-
- if (userLevel != UserLevelEnum.daRen) {
- orderRebateVO.setOriginSubsidy("楼" + lowerSubsidy.setScale(2));
- }
- orderRebateVO.setSubsidyDesc("鍥㈤槦琛ヨ创");
- orderRebateVO.setSubsidy("楼" + teamSubsidy.setScale(2) +"");
}
+
+ orderRebateVO.setFanLiDesc(predictDesc + typeName);
+ orderRebateVO.setFanLi("楼" + hongBao.setScale(2, BigDecimal.ROUND_DOWN));
orderRebateVO.setType(type);
orderRebateVO.setStateDesc(stateDesc);
orderRebateVO.setListGoods(voList);
+ if (downTime.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) {
+ orderRebateVO.setUserLevel(UserLevelEnum.superVIP.name()); // 闅愯棌
+ } else {
+ orderRebateVO.setUserLevel(userLevel.name());
+ }
- // 涓婄骇杩斿埄
+ // 瓒呯骇浼氬憳杩斿埄
if (upperLevel != null) {
orderRebateVO.setUpperFanLi("楼" + upperTotalMoney);
- orderRebateVO.setUserLevel(upperLevel.name());
orderRebateVO.setJumpLink(upperLevel.getDetailLink());
}
- // 濂栧姳鍒镐娇鐢�
- Date accountTime = hongBaoCountVO.getAccountTime();
- if (accountTime != null) {
- 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)) {
- orderRebateVO.setCoupon(true);
+ int freeState = 0;
+ boolean rewardSuccess = false;
+ List<String> listNo = new ArrayList<String>();
+ listNo.add(orderNo);
+ List<UserSystemCouponRecord> useRecord = userSystemCouponRecordService.getRecordByOrderNoList(sourceType, listNo);
+ if (useRecord != null && useRecord.size() > 0) {
+ for (UserSystemCouponRecord couponRecord : useRecord) {
+ Integer state = couponRecord.getState();
+ String cType = couponRecord.getCouponType();
+ if (CouponTypeEnum.rebatePercentCoupon.name().equals(cType) && UserSystemCouponRecord.STATE_SUCCESS == state) {
+ rewardSuccess = true;
+ break;
+ } else if (CouponTypeEnum.freeCoupon.name().equals(cType) || CouponTypeEnum.welfareFreeCoupon.name().equals(cType)
+ || CouponTypeEnum.freeCouponBuy.name().equals(cType)) {
+ freeState = state;
+ break;
+ }
+ }
+ }
+
+ if (rewardSuccess) { // 宸蹭娇鐢ㄥ鍔卞埜
+ JSONObject params = new JSONObject();
+ params.put("orderNo", orderNo);
+ params.put("goodsType", sourceType + "");
+ BigDecimal couponMoney = orderHongBaoMapService.getCouponHongbaoByOrderNo(orderNo, uid);
+ if (couponMoney == null) {
+ couponMoney = new BigDecimal(0);
+ }
+ orderRebateVO.setCouponType(1);
+ orderRebateVO.setCouponUse(true);
+ orderRebateVO.setCouponText("濂栧姳鎴愬姛");
+ orderRebateVO.setCouponDesc("宸插啀杩斅�" +couponMoney.setScale(2, BigDecimal.ROUND_DOWN));
+ orderRebateVO.setCouponParams(params.toString());
+ orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+ } else if (freeState > 0) { // 宸蹭娇鐢ㄥ厤鍗曞埜
+ JSONObject params = new JSONObject();
+ params.put("orderNo", orderNo);
+ params.put("goodsType", sourceType + "");
+ orderRebateVO.setCouponType(2);
+ orderRebateVO.setCouponUse(true);
+ orderRebateVO.setCouponParams(params.toString());
+ orderRebateVO.setCouponJumpDetail(jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
+ if (UserSystemCouponRecord.STATE_FREE_ON == freeState) {
+ orderRebateVO.setCouponText("鍏嶅崟涓�");
+ } else if (UserSystemCouponRecord.STATE_SUCCESS == freeState) {
+ orderRebateVO.setCouponText("鍏嶅崟鎴愬姛");
+ } else if (UserSystemCouponRecord.STATE_FAIL_RULE == freeState
+ || UserSystemCouponRecord.STATE_FAIL_DRAWBACK == freeState) {
+ orderRebateVO.setCouponText("鍏嶅崟澶辫触");
+ }
+ } else {
+ Date accountTime = hongBaoV2.getGetTime();
+ // 鍒拌处鏃堕棿 -绾㈠寘閲戦闄愬埗
+ 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) {
+ orderRebateVO.setCoupon(true);
+ orderRebateVO.setCouponType(1);
+ orderRebateVO.setCouponText("绔嬪嵆浣跨敤");
+ orderRebateVO.setCouponDesc("杩斿埄鍐嶈繑");
+ }
}
}
}
@@ -852,99 +746,4 @@
JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
}
-
- private BigDecimal getLowerSubsidy(BigDecimal money, Date downTime, UserLevelEnum buyerUserLevel, UserLevelEnum userLevel, boolean direct) {
- // 鍘熷姣斾緥
- BigDecimal originRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime,
- buyerUserLevel, userLevel, direct);
-
- // 灏忎竴绾ф瘮渚�
- BigDecimal darenRate = orderHongBaoMoneyComputeService.getTeamSubsidyRate(downTime, buyerUserLevel, UserLevelEnum.daRen, direct);
-
- return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.div(money,originRate), darenRate);
- }
-
-
- /**
- * 鏁版嵁缁熻
- * @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