From b2e526370aaed3e20ebabd7ca494e0fb2b2ca73e Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 01 七月 2020 11:22:51 +0800
Subject: [PATCH] 付款金额大于等于9.9
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java | 73 ++++++++++++++++++++++--------------
1 files changed, 45 insertions(+), 28 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java
index e50225f..55c0781 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/HongBaoV2ServiceImpl.java
@@ -26,6 +26,7 @@
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
import com.yeshi.fanli.dto.HongBao;
import com.yeshi.fanli.dto.HongBaoDTO;
+import com.yeshi.fanli.dto.order.HongBaoAddResult;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
@@ -150,11 +151,13 @@
@Transactional(rollbackFor = Exception.class)
@Override
- public int addHongBao(List<CommonOrder> commonOrderList, int type) throws HongBaoException, UserAccountException {
+ public HongBaoAddResult addHongBao(List<CommonOrder> commonOrderList, int type)
+ throws HongBaoException, UserAccountException {
Set<Integer> stateSet = new HashSet<>();// 璁㈠崟鐘舵�丼et
if (commonOrderList != null && commonOrderList.size() > 0) {
int orderType = commonOrderList.get(0).getSourceType();
+ boolean miandan = false;
Map<Integer, HongBaoOrder> notificationMap = new HashMap<>();
int goodsCount = 0;
boolean hasAdd = false;
@@ -166,7 +169,7 @@
throw new HongBaoException(1, "璁㈠崟淇℃伅涓嶅畬鏁�");
HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
if (hongBaoOrder == null) {
- saveHongBao(commonOrder, type, notificationMap);
+ miandan = saveHongBao(commonOrder, type, notificationMap);
hasAdd = true;
} else {
boolean update = updateHongBao(hongBaoOrder, commonOrder, type, notificationMap);
@@ -204,22 +207,24 @@
break;
case HongBaoV2.TYPE_YIJI:
userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
- commonOrder.getPayment(), money, goodsCount, commonOrder.getState(),
+ commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, commonOrder.getState(),
commonOrder.getThirdCreateTime());
break;
case HongBaoV2.TYPE_ERJI:
- userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType, commonOrder.getPayment(), money,
- goodsCount, commonOrder.getState(), commonOrder.getThirdCreateTime());
+ userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
+ commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, commonOrder.getState(),
+ commonOrder.getThirdCreateTime());
break;
case HongBaoV2.TYPE_SHARE_YIJI:
userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
- commonOrder.getPayment(), money, goodsCount, commonOrder.getState(),
+ commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, commonOrder.getState(),
commonOrder.getThirdCreateTime());
-
+
case HongBaoV2.TYPE_SHARE_ERJI:
- userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType, commonOrder.getPayment(), money,
- goodsCount, commonOrder.getState(), commonOrder.getThirdCreateTime());
+ userOrderMsgNotificationService.orderInviteStatistic(uid, orderId, orderType,
+ commonOrder.getPayment(), money, new BigDecimal(0), goodsCount, commonOrder.getState(),
+ commonOrder.getThirdCreateTime());
break;
}
}
@@ -227,14 +232,14 @@
int resultCode = 0;
if (hasAdd && hasUpdate)
- return 12;
+ return new HongBaoAddResult(HongBaoAddResult.CODE_ADD_AND_UPDATE, miandan);
else if (hasAdd)
- return 1;
+ return new HongBaoAddResult(HongBaoAddResult.CODE_ADD, miandan);
else if (hasUpdate)
- return 2;
- return resultCode;
+ return new HongBaoAddResult(HongBaoAddResult.CODE_UPDATE, miandan);
+ return new HongBaoAddResult(resultCode, miandan);
}
- return 0;
+ return new HongBaoAddResult(0, false);
}
private int getOrderState(Set<Integer> states) {
@@ -264,7 +269,8 @@
return false;
if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚�
- BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,commonOrder.getCreateTime().getTime());
+ BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
+ commonOrder.getCreateTime().getTime());
// 鍏嶅崟澶勭悊
boolean mianDan = false;
List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO,
@@ -314,7 +320,7 @@
if (hongBao.getState() == HongBaoV2.STATE_SHIXIAO) {
if (mianDan) {
try {
- userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo());
+ userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(),commonOrder.getSourceType());
} catch (Exception e) {
e.printStackTrace();
throw new HongBaoException(12, "鍏嶅崟鍒搁��娆惧嚭閿�");
@@ -518,7 +524,8 @@
&& commonOrder.getSourcePosition().equalsIgnoreCase(TaoBaoConstant.TAOBAO_TLJ_RELATION_PID_DEFAULT))
fanliRate = hongBaoManageService.getTLJShareRate(commonOrder.getCreateTime().getTime());
else
- fanliRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,commonOrder.getCreateTime().getTime());
+ fanliRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,
+ commonOrder.getCreateTime().getTime());
List<ShareGoodsActivityOrder> list = shareGoodsActivityOrderService
.listByOrderIdAndUid(commonOrder.getUserInfo().getId(), commonOrder.getOrderNo());
@@ -639,10 +646,11 @@
}
@Transactional(rollbackFor = Exception.class)
- private void saveHongBao(CommonOrder commonOrder, int type, Map<Integer, HongBaoOrder> notificationMap)
+ private boolean saveHongBao(CommonOrder commonOrder, int type, Map<Integer, HongBaoOrder> notificationMap)
throws HongBaoException, UserAccountException {
if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚�
- BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,commonOrder.getCreateTime().getTime());
+ BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
+ commonOrder.getCreateTime().getTime());
// 鏌ヨ鏄惁鏈夊厤鍗曡鍒�
BigDecimal mianDanMoney = null;
if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_FK) {
@@ -658,7 +666,7 @@
if (goods != null) {
try {
if (userSystemCouponService.updateCouponRecordUsed(commonOrder.getUserInfo().getId(),
- commonOrder.getOrderNo(), payMent, Long.parseLong(goods.getGoodsId())))
+ commonOrder.getOrderNo(), payMent, Long.parseLong(goods.getGoodsId()),commonOrder.getSourceType()))
mianDanMoney = payMent;
} catch (NumberFormatException e) {
throw new HongBaoException(10, "鍏嶅崟鍟嗗搧澶勭悊鍑洪敊");
@@ -671,7 +679,7 @@
} else if (commonOrder.getState() == CommonOrder.STATE_SX) {// 璁剧疆鍏嶅崟鍒稿け鏁�
commonOrder.setPayment(new BigDecimal(0));// 璁㈠崟澶辨晥鍚庣殑浠樻閲戦璁剧疆涓�0
try {
- userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo());
+ userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(),commonOrder.getSourceType());
} catch (Exception e) {
e.printStackTrace();
}
@@ -743,7 +751,7 @@
BigDecimal firstRate = hongBaoManageService
.getFirstInviteRate(boss.getRank() == null ? 0 : boss.getRank());
if (firstRate.compareTo(new BigDecimal(0)) <= 0)
- return;
+ return mianDanMoney != null;
HongBaoV2 firstHongbao = new HongBaoV2();
firstHongbao.setUserInfo(boss);
firstHongbao.setUrank(boss.getRank());
@@ -769,7 +777,7 @@
}
// 杩斿埄涓�0鐨勪笉閫氱煡
if (firstHongbao.getMoney() == null || firstHongbao.getMoney().compareTo(new BigDecimal(0)) <= 0)
- return;
+ return mianDanMoney != null;
hongBaoV2Mapper.insertSelective(firstHongbao);
// 鐢ㄦ埛閫氱煡
@@ -796,7 +804,7 @@
BigDecimal secondRate = hongBaoManageService
.getSecondInviteRate(boss.getRank() == null ? 0 : boss.getRank());
if (secondRate.compareTo(new BigDecimal(0)) <= 0)
- return;
+ return mianDanMoney != null;
HongBaoV2 secondHongbao = new HongBaoV2();
secondHongbao.setUserInfo(boss);
secondHongbao.setUrank(boss.getRank());
@@ -822,7 +830,7 @@
// 杩斿埄涓�0鐨勪笉缁熻
if (secondHongbao.getMoney() == null || secondHongbao.getMoney().compareTo(new BigDecimal(0)) <= 0)
- return;
+ return mianDanMoney != null;
hongBaoV2Mapper.insertSelective(secondHongbao);
@@ -846,18 +854,19 @@
}
}
-
+ return mianDanMoney != null;
} else if (type == HongBaoV2.TYPE_SHARE_GOODS) {
// 鍒嗕韩璧氫笉鍔犲叆澶辨晥鐨勮鍗�
if (commonOrder.getState() == CommonOrder.STATE_SX || commonOrder.getState() == CommonOrder.STATE_WQ)
- return;
+ return false;
// 鍒嗕韩璧�
BigDecimal shareRate = null;
if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_TAOBAO
&& commonOrder.getSourcePosition().equalsIgnoreCase(TaoBaoConstant.TAOBAO_TLJ_RELATION_PID_DEFAULT))// 鏉ヨ嚜浜庢窐绀奸噾鐨勫垎浜�
shareRate = hongBaoManageService.getTLJShareRate(commonOrder.getCreateTime().getTime());
else
- shareRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,commonOrder.getCreateTime().getTime());
+ shareRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,
+ commonOrder.getCreateTime().getTime());
// 鍒ゆ柇璁㈠崟鍒嗕韩娲诲姩鏄惁寮�鍚�
if ("1".equalsIgnoreCase(configService.get(ConfigKeyEnum.shareGoodsActivityOpen.getKey()))) {
@@ -1015,6 +1024,8 @@
}
} else
throw new HongBaoException(2, "type閿欒");
+
+ return false;
}
@Override
@@ -1157,4 +1168,10 @@
return hongBaoV2Mapper.listByOrderTradeId(tradeId);
}
+ @Override
+ public Integer getDirectBossUrankByPid(Long pid) {
+ return hongBaoV2Mapper.getDirectBossUrankByPid(pid);
+ }
+
+
}
--
Gitblit v1.8.0