From dc5be7d38446f70e6ff86df311119c32b41fe7f8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 28 十一月 2020 16:37:05 +0800
Subject: [PATCH] 大淘客搜索接口升级

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderRepairServiceImpl.java |   75 +++++++++++++++++++++----------------
 1 files changed, 42 insertions(+), 33 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderRepairServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderRepairServiceImpl.java
index 7022998..2afb1ce 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderRepairServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderRepairServiceImpl.java
@@ -13,9 +13,8 @@
 
 import javax.annotation.Resource;
 
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import com.yeshi.fanli.entity.SystemEnum;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
@@ -27,6 +26,7 @@
 import com.yeshi.fanli.dao.mybatis.order.OrderRepairHistoryMapper;
 import com.yeshi.fanli.entity.bus.user.HongBaoV2;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.money.ExtractCheckCompensate;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
@@ -38,7 +38,7 @@
 import com.yeshi.fanli.entity.order.ShareGoodsActivityOrder;
 import com.yeshi.fanli.entity.push.PushInfo;
 import com.yeshi.fanli.entity.push.PushInfo.PushTypeEnum;
-import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
+import com.yeshi.goods.facade.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
 import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
 import com.yeshi.fanli.exception.money.UserMoneyDetailException;
@@ -64,9 +64,9 @@
 import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
 import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.MoneyBigDecimalUtil;
+import org.yeshi.utils.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.TimeUtil;
+import org.yeshi.utils.TimeUtil;
 import com.yeshi.fanli.util.factory.CommonOrderGoodsFactory;
 import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
 import com.yeshi.fanli.util.factory.goods.CommonOrderFactory;
@@ -130,9 +130,6 @@
 	private OrderRepairHistoryService orderRepairHistoryService;
 
 	@Resource
-	private DataSourceTransactionManager dataSourceTransactionManager;
-
-	@Resource
 	private TaoBaoWeiQuanOrderService taoBaoWeiQuanOrderService;
 
 	@Resource
@@ -147,7 +144,7 @@
 	@Resource
 	private ExtractCheckCompensateMapper extractCheckCompensateMapper;
 
-	@Transactional(rollbackFor=Exception.class)
+	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public void repairOrder(String orderId) throws Exception {
 		// 姣旇緝CommonOrder涓嶵aoBaoOrder鐨勯浼版敹鐩�
@@ -190,7 +187,6 @@
 
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
 	private void processLessFanOrder(String orderId) throws Exception {
 
 		List<CommonOrder> commonOrderList = commonOrderMapper.listBySourceTypeAndOrderNo(Constant.SOURCE_TYPE_TAOBAO,
@@ -391,10 +387,12 @@
 	}
 
 	// 淇敼璁㈠崟淇℃伅
-	@Transactional(rollbackFor=Exception.class)
 	private void updateOrderInfo(TaoBaoOrder taoBaoOrder, Long commonOrderId) throws Exception {
 		HongBaoOrder hongBaoOrder = hongBaoOrderService.selectDetailByCommonOrderId(commonOrderId);
-		CommonOrder newCommonOrder =  CommonOrderFactory.create(taoBaoOrder);
+		CommonOrder newCommonOrder = CommonOrderFactory.create(taoBaoOrder);
+
+		SystemEnum system=userInfoService.getUserSystem(newCommonOrder.getUserInfo().getId());
+
 		List<CommonOrderGoods> commonGoodsList = commonOrderGoodsMapper
 				.listByGoodsIdAndGoodsType(taoBaoOrder.getAuctionId() + "", newCommonOrder.getSourceType());
 		CommonOrderGoods cog = null;
@@ -432,7 +430,8 @@
 		CommonOrder commonOrder = commonOrderService.selectByPrimaryKey(newCommonOrder.getId());
 
 		if (hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_ZIGOU) {
-			BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime());
+			BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
+					commonOrder.getCreateTime().getTime(),system);
 			// 鍏嶅崟澶勭悊
 			boolean mianDan = false;
 			List<CommonOrder> orderList = commonOrderService.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO,
@@ -442,7 +441,8 @@
 				if (commonOrder.getState() == CommonOrder.STATE_JS)
 					payMent = commonOrder.getSettlement();
 				if (payMent.compareTo(new BigDecimal(10)) < 0) {
-					mianDan = userSystemCouponRecordService.isSuccessMianDan(commonOrder.getSourceType(),commonOrder.getOrderNo());
+					mianDan = userSystemCouponRecordService.isSuccessMianDan(commonOrder.getSourceType(),
+							commonOrder.getOrderNo());
 				}
 			}
 
@@ -469,7 +469,7 @@
 				hongBao.setMoney(new BigDecimal(0));
 				if (mianDan) {
 					try {
-						userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo());
+						userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(),commonOrder.getSourceType());
 					} catch (Exception e) {
 						e.printStackTrace();
 						throw new HongBaoException(12, "鍏嶅崟鍒搁��娆惧嚭閿�");
@@ -489,10 +489,10 @@
 					BigDecimal rate = null;
 					if (child.getType() == HongBaoV2.TYPE_YIJI) {// 涓�绾у垎浜禋
 						rate = hongBaoManageService.getFirstInviteRate(child.getUrank(),
-								commonOrder.getCreateTime().getTime());
+								commonOrder.getCreateTime().getTime(),system);
 					} else if (child.getType() == HongBaoV2.TYPE_ERJI) {// 浜岀骇鍒嗕韩璧�
 						rate = hongBaoManageService.getSecondInviteRate(child.getUrank(),
-								commonOrder.getCreateTime().getTime());
+								commonOrder.getCreateTime().getTime(),system);
 					}
 
 					// 浠ュ疄闄呮敹鍏ヤ负鍑嗚绠楅浼版敹鐩�
@@ -519,7 +519,8 @@
 				}
 		} else if (hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_SHARE_GOODS) {
 
-			BigDecimal fanliRate = hongBaoManageService.getShareRate(commonOrder.getCreateTime().getTime());
+			BigDecimal fanliRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,
+					commonOrder.getCreateTime().getTime(),system);
 			List<ShareGoodsActivityOrder> list = shareGoodsActivityOrderService
 					.listByOrderIdAndUid(commonOrder.getUserInfo().getId(), commonOrder.getOrderNo());
 			if (list != null && list.size() > 0) {
@@ -560,9 +561,9 @@
 					childUpdate.setUpdateTime(new Date());
 					BigDecimal rate = null;
 					if (child.getType() == HongBaoV2.TYPE_SHARE_YIJI) {// 涓�绾у垎浜禋
-						rate = hongBaoManageService.getFirstShareRate(1, commonOrder.getCreateTime().getTime());
+						rate = hongBaoManageService.getFirstShareRate(1, commonOrder.getCreateTime().getTime(),system);
 					} else if (child.getType() == HongBaoV2.TYPE_SHARE_ERJI) {// 浜岀骇鍒嗕韩璧�
-						rate = hongBaoManageService.getSecondShareRate(1, commonOrder.getCreateTime().getTime());
+						rate = hongBaoManageService.getSecondShareRate(1, commonOrder.getCreateTime().getTime(),system);
 					}
 
 					// 浠ュ疄闄呮敹鍏ヤ负鍑嗚绠楅浼版敹鐩�
@@ -598,7 +599,7 @@
 		}
 	}
 
-	@Transactional(rollbackFor=Exception.class)
+	@Transactional(rollbackFor = Exception.class)
 	public void addOrder(CommonOrder commonOrder, int type, Long firstUid, Long secondUid) throws Exception {
 		// 澧炲姞commonOrder
 		commonOrder.setCreateTime(commonOrder.getThirdCreateTime());
@@ -620,6 +621,8 @@
 			commonOrder.setCommonOrderGoods(goods);
 		}
 
+		SystemEnum system=userInfoService.getUserSystem(commonOrder.getUserInfo().getId());
+
 		CommonOrder oldCommonOrder = commonOrderMapper.selectBySourceTypeAndTradeId(commonOrder.getSourceType(),
 				commonOrder.getTradeId());
 		if (oldCommonOrder == null)// 鏂板
@@ -637,7 +640,8 @@
 
 		// 娣诲姞绾㈠寘
 		if (type == HongBaoV2.TYPE_ZIGOU) {// 鑾峰彇鑷喘鐨勮繑鍒╂瘮渚�
-			BigDecimal fanliRate = hongBaoManageService.getFanLiRate(commonOrder.getCreateTime().getTime());
+			BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
+					commonOrder.getCreateTime().getTime(),system);
 			// 鏌ヨ鏄惁鏈夊厤鍗曡鍒�
 			BigDecimal mianDanMoney = null;
 			if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_FK) {
@@ -653,7 +657,7 @@
 
 						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, "鍏嶅崟鍟嗗搧澶勭悊鍑洪敊");
@@ -665,7 +669,7 @@
 				}
 			} else if (commonOrder.getState() == CommonOrder.STATE_SX) {// 璁剧疆鍏嶅崟鍒稿け鏁�
 				try {
-					userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo());
+					userSystemCouponService.updateStateByDrawback(commonOrder.getOrderNo(),commonOrder.getSourceType());
 				} catch (Exception e) {
 					e.printStackTrace();
 				}
@@ -719,7 +723,7 @@
 
 				// 鎻掑叆涓�绾у瓙绾㈠寘
 				BigDecimal firstRate = hongBaoManageService
-						.getFirstInviteRate(boss.getRank() == null ? 0 : boss.getRank());
+						.getFirstInviteRate(boss.getRank() == null ? 0 : boss.getRank(),system);
 				if (firstRate.compareTo(new BigDecimal(0)) <= 0)
 					return;
 				HongBaoV2 firstHongbao = new HongBaoV2();
@@ -766,7 +770,7 @@
 
 				if (boss != null) {// 浜岀骇BOSS瀛樺湪
 					BigDecimal secondRate = hongBaoManageService
-							.getSecondInviteRate(boss.getRank() == null ? 0 : boss.getRank());
+							.getSecondInviteRate(boss.getRank() == null ? 0 : boss.getRank(),system);
 					if (secondRate.compareTo(new BigDecimal(0)) <= 0)
 						return;
 					HongBaoV2 secondHongbao = new HongBaoV2();
@@ -813,7 +817,8 @@
 			if (commonOrder.getState() == CommonOrder.STATE_SX || commonOrder.getState() == CommonOrder.STATE_WQ)
 				return;
 			// 鍒嗕韩璧�
-			BigDecimal shareRate = hongBaoManageService.getShareRate(commonOrder.getCreateTime().getTime());
+			BigDecimal shareRate = hongBaoManageService.getShareRate(UserLevelEnum.daRen,
+					commonOrder.getCreateTime().getTime(),system);
 
 			HongBaoV2 hongBao = new HongBaoV2();
 			hongBao.setBeizhu("2019骞�7鏈堟壒閲忎慨鏀�");
@@ -856,7 +861,7 @@
 					boss = userInfoService.selectByPKey(firstUid);
 				if (boss != null) {
 					BigDecimal firstLevelRate = hongBaoManageService.getFirstShareRate(1,
-							commonOrder.getThirdCreateTime().getTime());
+							commonOrder.getThirdCreateTime().getTime(),system);
 					HongBaoV2 child = new HongBaoV2();
 					child.setBeizhu("2019骞�7鏈堟壒閲忎慨鏀�");
 					child.setParent(hongBao);
@@ -897,7 +902,6 @@
 
 	}
 
-	@Transactional(propagation = Propagation.REQUIRED)
 	private void deleteByCommonOrderId(Long commonOrderId) {
 		commonOrderMapper.deleteByPrimaryKey(commonOrderId);
 		HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrderId);
@@ -960,7 +964,7 @@
 		return orderInfoMap.get(orderId);
 	}
 
-	@Transactional(rollbackFor=Exception.class)
+	@Transactional(rollbackFor = Exception.class)
 	@Override
 	public void repireFirstAndSecondLevel(String orderId) throws Exception {
 		repireFirstShare(orderId);
@@ -986,7 +990,10 @@
 					return;
 			}
 
+
+
 			for (CommonOrder commonOrder : list) {
+                SystemEnum system=userInfoService.getUserSystem(commonOrder.getUserInfo().getId());
 				HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId());
 				if (hongBaoOrder == null)
 					continue;
@@ -1001,7 +1008,7 @@
 				if (boss != null && hongBao.getState() != HongBaoV2.STATE_SHIXIAO) {// 1绾OSS瀛樺湪涓旂孩鍖呮湭澶辨晥,鍏嶅崟涓嶆敮鎸佸绾у垎閿�
 					// 鎻掑叆涓�绾у瓙绾㈠寘
 					BigDecimal firstRate = hongBaoManageService
-							.getFirstInviteRate(boss.getRank() == null ? 0 : boss.getRank());
+							.getFirstInviteRate(boss.getRank() == null ? 0 : boss.getRank(),system);
 					if (firstRate.compareTo(new BigDecimal(0)) <= 0)
 						return;
 					HongBaoV2 firstHongbao = new HongBaoV2();
@@ -1046,7 +1053,7 @@
 
 					if (boss != null) {// 浜岀骇BOSS瀛樺湪
 						BigDecimal secondRate = hongBaoManageService
-								.getSecondInviteRate(boss.getRank() == null ? 0 : boss.getRank());
+								.getSecondInviteRate(boss.getRank() == null ? 0 : boss.getRank(),system);
 						if (secondRate.compareTo(new BigDecimal(0)) <= 0)
 							return;
 						HongBaoV2 secondHongbao = new HongBaoV2();
@@ -1155,6 +1162,8 @@
 				if (hongBaoOrder == null)
 					continue;
 
+				SystemEnum system=userInfoService.getUserSystem(commonOrder.getUserInfo().getId());
+
 				HongBaoV2 hongBao = hongBaoOrder.getHongBaoV2();
 				// 4鏈�17鏃ュ悗鎵嶆湁涓�绾у垎浜禋
 				if (commonOrder.getThirdCreateTime().getTime() > TimeUtil.convertToTimeTemp("2019-04-17",
@@ -1164,7 +1173,7 @@
 						boss = userInfoService.selectByPKey(firstUid);
 					if (boss != null) {
 						BigDecimal firstLevelRate = hongBaoManageService.getFirstShareRate(1,
-								commonOrder.getThirdCreateTime().getTime());
+								commonOrder.getThirdCreateTime().getTime(),system);
 						HongBaoV2 child = new HongBaoV2();
 						child.setBeizhu("2019骞�7鏈堟壒閲忎慨鏀�");
 						child.setParent(hongBao);

--
Gitblit v1.8.0