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