From c9cbad5f5d18c6b2ac5a063e41007933d7028329 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 07 七月 2020 15:24:17 +0800 Subject: [PATCH] 返利配置文件加入系统区分 --- fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java | 298 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 150 insertions(+), 148 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java index 56693e6..eae7ade 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/manger/order/TeamDividentsSourceManager.java @@ -6,6 +6,8 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.service.inter.user.UserInfoService; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -30,180 +32,180 @@ /** * 鍥㈤槦鍒嗙孩鏉ユ簮绠$悊 - * @author Administrator * + * @author Administrator */ @Component public class TeamDividentsSourceManager { - @Resource - private TeamDividentsSourceOrderService teamDividentsSourceOrderService; + @Resource + private TeamDividentsSourceOrderService teamDividentsSourceOrderService; - @Resource - private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService; + @Resource + private TeamDividentsSourceOrderUserMapService teamDividentsSourceOrderUserMapService; - @Resource - private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; + @Resource + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; - @Resource - private CommonOrderService commonOrderService; + @Resource + private CommonOrderService commonOrderService; - /** - * @throws ParamsException - * 娣诲姞鍒嗙孩婧� - * @Title: addSource - * @Description: - * @param commonOrderList - * @param bossList - * void 杩斿洖绫诲瀷 - * @throws - */ - @Transactional(rollbackFor = Exception.class) - public void addSource(List<CommonOrder> commonOrderList, List<UserTeamLevel> bossList) - throws TeamDividentsSourceOrderException, ParamsException { - if (commonOrderList.get(0).getThirdCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) - return; + @Resource + private UserInfoService userInfoService; - Date placeOrderTime = commonOrderList.get(0).getThirdCreateTime(); + /** + * @param commonOrderList + * @param bossList void 杩斿洖绫诲瀷 + * @throws ParamsException 娣诲姞鍒嗙孩婧� + * @throws + * @Title: addSource + * @Description: + */ + @Transactional(rollbackFor = Exception.class) + public void addSource(List<CommonOrder> commonOrderList, List<UserTeamLevel> bossList) + throws TeamDividentsSourceOrderException, ParamsException { + if (commonOrderList.get(0).getThirdCreateTime().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) + return; - UserLevelEnum level = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank()); - if (level == null) - level = UserLevelEnum.daRen; - TeamDividentsSourceOrder order = TeamDividentsSourceOrderFactory.create(commonOrderList); - if (order == null) - return; - try { - order = teamDividentsSourceOrderService.addTeamDividentsSourceOrder(order); - } catch (ParamsException e) { - throw new TeamDividentsSourceOrderException(101, "鍙傛暟涓嶅畬鏁�"); - } + Date placeOrderTime = commonOrderList.get(0).getThirdCreateTime(); - if (order == null || order.getId() == null) { - throw new TeamDividentsSourceOrderException(2, "娣诲姞婧愯鍗曞け璐�"); - } + UserLevelEnum level = UserLevelUtil.getByOrderRank(commonOrderList.get(0).getUrank()); + if (level == null) + level = UserLevelEnum.daRen; + TeamDividentsSourceOrder order = TeamDividentsSourceOrderFactory.create(commonOrderList); + if (order == null) + return; + try { + order = teamDividentsSourceOrderService.addTeamDividentsSourceOrder(order); + } catch (ParamsException e) { + throw new TeamDividentsSourceOrderException(101, "鍙傛暟涓嶅畬鏁�"); + } - // 鑾峰彇婧愯鍗曞垎閰嶇殑鍒嗙孩鐢ㄦ埛ID鏁伴噺 - long count = teamDividentsSourceOrderUserMapService.countBySourceOrderId(order.getId()); - if (count > 0)// 宸插瓨鍦� - return; + if (order == null || order.getId() == null) { + throw new TeamDividentsSourceOrderException(2, "娣诲姞婧愯鍗曞け璐�"); + } - // 璁$畻鍥㈤槦鍒嗙孩姣斾緥 - List<UserTeamRate> rateList = orderHongBaoMoneyComputeService.getTeamDividentsRates(level, bossList, - placeOrderTime); - if (rateList != null) - for (UserTeamRate rate : rateList) { - BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()), - new BigDecimal(100), 4); + // 鑾峰彇婧愯鍗曞垎閰嶇殑鍒嗙孩鐢ㄦ埛ID鏁伴噺 + long count = teamDividentsSourceOrderUserMapService.countBySourceOrderId(order.getId()); + if (count > 0)// 宸插瓨鍦� + return; - TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order, - rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_TEAM_DIVIDENTS); - try { - teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map); - } catch (ParamsException e) { - throw new TeamDividentsSourceOrderException(201, "鍙傛暟涓嶅畬鏁�"); - } - } - // 璁$畻浜岀骇澶栧垎绾㈡瘮渚� - rateList = orderHongBaoMoneyComputeService.getTeamRewardMoreThan2LevelRates(level, bossList, placeOrderTime); - if (rateList != null) - for (UserTeamRate rate : rateList) { - BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()), - new BigDecimal(100), 4); + SystemEnum system = userInfoService.getUserSystem(order.getUid()); - TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order, - rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_MORE_THAN_2); - try { - teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map); - } catch (ParamsException e) { - throw new TeamDividentsSourceOrderException(301, "鍙傛暟涓嶅畬鏁�"); - } - } - } + // 璁$畻鍥㈤槦鍒嗙孩姣斾緥 + List<UserTeamRate> rateList = orderHongBaoMoneyComputeService.getTeamDividentsRates(level, bossList, + placeOrderTime, system); + if (rateList != null) + for (UserTeamRate rate : rateList) { + BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()), + new BigDecimal(100), 4); - /** - * 璁㈠崟澶辨晥 - * @Title: invalidBySourceOrderId - * @Description: - * @param sourceOrderId - * void 杩斿洖绫诲瀷 - * @throws - */ - @Transactional(rollbackFor = Exception.class) - public void invalidByOrder(String orderNo, int sourceType, String beiZhu) { - teamDividentsSourceOrderService.invalidOrder(orderNo, sourceType, beiZhu); - TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType); - if (order != null) { - teamDividentsSourceOrderUserMapService.invalidBySourceOrderId(order.getId()); - } - } + TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order, + rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_TEAM_DIVIDENTS); + try { + teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map); + } catch (ParamsException e) { + throw new TeamDividentsSourceOrderException(201, "鍙傛暟涓嶅畬鏁�"); + } + } + // 璁$畻浜岀骇澶栧垎绾㈡瘮渚� + rateList = orderHongBaoMoneyComputeService.getTeamRewardMoreThan2LevelRates(level, bossList, placeOrderTime, system); + if (rateList != null) + for (UserTeamRate rate : rateList) { + BigDecimal money = MoneyBigDecimalUtil.div(rate.getRate().multiply(order.getMoney()), + new BigDecimal(100), 4); - @Transactional(rollbackFor = Exception.class) - public void invalidBySourceUid(Long sourceUid, String beiZhu) { - // teamDividentsSourceOrderService.invalidOrderByUid(sourceUid, beiZhu); - teamDividentsSourceOrderUserMapService.invalidOrderBySourceUid(sourceUid, beiZhu); - } + TeamDividentsSourceOrderUserMap map = TeamDividentsSourceOrderUserMapFactory.create(order, + rate.getUid(), rate.getRate(), money, TeamDividentsSourceOrderUserMap.TYPE_MORE_THAN_2); + try { + teamDividentsSourceOrderUserMapService.addDividentsSourceOrderUserMap(map); + } catch (ParamsException e) { + throw new TeamDividentsSourceOrderException(301, "鍙傛暟涓嶅畬鏁�"); + } + } + } - /** - * 璁㈠崟缁撶畻 - * @Title: orderSettle - * @Description: - * @param sourceOrderId - * @param income - * void 杩斿洖绫诲瀷 - * @throws - */ - @Transactional(rollbackFor = Exception.class) - public void orderSettle(String orderNo, int sourceType) { - TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType); - if (order != null) { - List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo); - if (commonOrderList == null) - return; + /** + * 璁㈠崟澶辨晥 + * + * @throws + * @Title: invalidBySourceOrderId + * @Description: void 杩斿洖绫诲瀷 + */ + @Transactional(rollbackFor = Exception.class) + public void invalidByOrder(String orderNo, int sourceType, String beiZhu) { + teamDividentsSourceOrderService.invalidOrder(orderNo, sourceType, beiZhu); + TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType); + if (order != null) { + teamDividentsSourceOrderUserMapService.invalidBySourceOrderId(order.getId()); + } + } - TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList); + @Transactional(rollbackFor = Exception.class) + public void invalidBySourceUid(Long sourceUid, String beiZhu) { + // teamDividentsSourceOrderService.invalidOrderByUid(sourceUid, beiZhu); + teamDividentsSourceOrderUserMapService.invalidOrderBySourceUid(sourceUid, beiZhu); + } - if (newOrder == null || newOrder.getPreSendTime() == null) - return; + /** + * 璁㈠崟缁撶畻 + * + * @throws + * @Title: orderSettle + * @Description: void 杩斿洖绫诲瀷 + */ + @Transactional(rollbackFor = Exception.class) + public void orderSettle(String orderNo, int sourceType) { + TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType); + if (order != null) { + List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo); + if (commonOrderList == null) + return; - BigDecimal money = CommonOrderUtil.computeIncome(commonOrderList); - teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money); - teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money); - } - } + TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList); - @Transactional(rollbackFor = Exception.class) - public void updateOrderMoney(String orderNo, int sourceType) { - TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType); - if (order != null) { - List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo); - if (commonOrderList == null) - return; + if (newOrder == null || newOrder.getPreSendTime() == null) + return; - Integer state = CommonOrderUtil.getState(commonOrderList); - BigDecimal money = null; - switch (state) { - case CommonOrder.STATE_FK: - money = CommonOrderUtil.computeEstimate(commonOrderList); - teamDividentsSourceOrderService.updateMoney(orderNo, sourceType, money); - teamDividentsSourceOrderUserMapService.updateMoney(order.getId(), money); - break; - case CommonOrder.STATE_WQ: - case CommonOrder.STATE_JS: - TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList); + BigDecimal money = CommonOrderUtil.computeIncome(commonOrderList); + teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money); + teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money); + } + } - if (newOrder == null || newOrder.getPreSendTime() == null) - return; + @Transactional(rollbackFor = Exception.class) + public void updateOrderMoney(String orderNo, int sourceType) { + TeamDividentsSourceOrder order = teamDividentsSourceOrderService.selectByOrderNoSourceType(orderNo, sourceType); + if (order != null) { + List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(sourceType, orderNo); + if (commonOrderList == null) + return; - money = CommonOrderUtil.computeIncome(commonOrderList); - teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money); - teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money); - break; - case CommonOrder.STATE_SX: - invalidByOrder(orderNo, sourceType, "璁㈠崟澶辨晥"); - break; - } + Integer state = CommonOrderUtil.getState(commonOrderList); + BigDecimal money = null; + switch (state) { + case CommonOrder.STATE_FK: + money = CommonOrderUtil.computeEstimate(commonOrderList); + teamDividentsSourceOrderService.updateMoney(orderNo, sourceType, money); + teamDividentsSourceOrderUserMapService.updateMoney(order.getId(), money); + break; + case CommonOrder.STATE_WQ: + case CommonOrder.STATE_JS: + TeamDividentsSourceOrder newOrder = TeamDividentsSourceOrderFactory.create(commonOrderList); - } - } + if (newOrder == null || newOrder.getPreSendTime() == null) + return; + + money = CommonOrderUtil.computeIncome(commonOrderList); + teamDividentsSourceOrderService.orderSettle(orderNo, sourceType, newOrder.getPreSendTime(), money); + teamDividentsSourceOrderUserMapService.orderSettle(order.getId(), newOrder.getPreSendTime(), money); + break; + case CommonOrder.STATE_SX: + invalidByOrder(orderNo, sourceType, "璁㈠崟澶辨晥"); + break; + } + + } + } } -- Gitblit v1.8.0