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/util/rocketmq/consumer/order/OrderDividentsMessageListener.java | 167 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 92 insertions(+), 75 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java index 09d35b4..7c8e3c2 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/rocketmq/consumer/order/OrderDividentsMessageListener.java @@ -5,6 +5,10 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemFunction; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import com.yeshi.fanli.util.SystemInfoUtil; import org.springframework.stereotype.Component; import com.aliyun.openservices.ons.api.Action; @@ -37,97 +41,110 @@ /** * 璁㈠崟鍒嗙孩娑堟伅 - * @author Administrator * + * @author Administrator */ @Component public class OrderDividentsMessageListener implements MessageListener { - @Resource - private CommonOrderService commonOrderService; + @Resource + private CommonOrderService commonOrderService; - @Resource - private TeamDividentsManager teamDividentsManager; + @Resource + private TeamDividentsManager teamDividentsManager; - @Resource - private TeamDividentsSourceManager teamDividentsSourceManager; + @Resource + private TeamDividentsSourceManager teamDividentsSourceManager; - @Resource - private ThreeSaleSerivce threeSaleSerivce; + @Resource + private ThreeSaleSerivce threeSaleSerivce; - @Resource - private UserLevelManager userLevelManager; + @Resource + private UserLevelManager userLevelManager; - public OrderDividentsMessageListener() { + @Resource + private UserInfoService userInfoService; - } + public OrderDividentsMessageListener() { - @Override - public Action consume(Message message, ConsumeContext context) { - LogHelper.mqInfo("consumer:OrderDividentsMessageListener", message.getMsgID(), message.getTopic(), - message.getTag(), new String(message.getBody())); - String tag = message.getTag(); + } - if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { - if (tag.equalsIgnoreCase(UserTopicTagEnum.forbiddenUser.name())) { - // 鏌ヨ涓婄骇绾㈠寘 - UserForbiddenMQMsg dto = new Gson().fromJson(new String(message.getBody()), UserForbiddenMQMsg.class); - if (dto != null) { - teamDividentsSourceManager.invalidBySourceUid(dto.getUid(), "鐢ㄦ埛琚皝绂�"); - return Action.CommitMessage; - } - } - } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { - if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) { + @Override + public Action consume(Message message, ConsumeContext context) { + LogHelper.mqInfo("consumer:OrderDividentsMessageListener", message.getMsgID(), message.getTopic(), + message.getTag(), new String(message.getBody())); + String tag = message.getTag(); - OrderMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); - if (dto == null || dto.getStaticticDate().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) - return Action.CommitMessage; + if (MQTopicName.TOPIC_USER.name().equalsIgnoreCase(message.getTopic())) { + if (tag.equalsIgnoreCase(UserTopicTagEnum.forbiddenUser.name())) { + // 鏌ヨ涓婄骇绾㈠寘 + UserForbiddenMQMsg dto = new Gson().fromJson(new String(message.getBody()), UserForbiddenMQMsg.class); + if (dto != null) { + teamDividentsSourceManager.invalidBySourceUid(dto.getUid(), "鐢ㄦ埛琚皝绂�"); + return Action.CommitMessage; + } + } + } else if (MQTopicName.TOPIC_ORDER.name().equalsIgnoreCase(message.getTopic())) { + if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderStatistic.name())) { - if (dto.isMiandan())// 鍏嶅崟鐨勫晢鍝佷笉鍙備笌鍒嗙孩 - return Action.CommitMessage; + OrderMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderMQMsg.class); + if (dto == null || dto.getStaticticDate().getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME) + return Action.CommitMessage; - if (dto.getHandleType() == OrderMQMsg.HANDLE_TYPE_ADD) { - List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(dto.getType(), - dto.getOrderId()); + //鏄惁鏈変笁绾у垎閿�鏉冮檺 + SystemEnum system = userInfoService.getUserSystem(dto.getUid()); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.threeSale)) + return Action.CommitMessage; - int state = CommonOrderUtil.getState(commonOrderList); - if (commonOrderList.size() > 0 && state != CommonOrder.STATE_SX) { - List<UserTeamLevel> bossList = new ArrayList<>(); - List<ThreeSale> threeSalesList = threeSaleSerivce.getMyBossDeepList(dto.getUid(), 100); - if (threeSalesList != null) - for (ThreeSale ts : threeSalesList) { - UserLevelEnum level = userLevelManager.getUserLevel(ts.getBoss().getId()); - bossList.add(new UserTeamLevel(ts.getBoss().getId(), level)); - } - try { - teamDividentsSourceManager.addSource(commonOrderList, bossList); - return Action.CommitMessage; - } catch (TeamDividentsSourceOrderException e) { - if (e.getCode() == TeamDividentsSourceOrderException.CODE_EXIST) { - return Action.CommitMessage; - } - } catch (ParamsException e) { - e.printStackTrace(); - } - } - } else { - teamDividentsSourceManager.updateOrderMoney(dto.getOrderId(), dto.getType()); - } + if (dto.isMiandan())// 鍏嶅崟鐨勫晢鍝佷笉鍙備笌鍒嗙孩 + return Action.CommitMessage; - } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) {// 璁㈠崟纭鏀惰揣 - OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); - teamDividentsSourceManager.orderSettle(dto.getOrderNo(), dto.getSourceType()); - } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.taoBaoOrderWeiQuan.name())) { - OrderWeiQuanMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderWeiQuanMQMsg.class); - try { - teamDividentsManager.weiQuan(dto.getOrderNo(), dto.getSourceType()); - return Action.CommitMessage; - } catch (TeamDividentsDebtException e) { - e.printStackTrace(); - } - } - } - return Action.CommitMessage; - } + + if (dto.getHandleType() == OrderMQMsg.HANDLE_TYPE_ADD) { + List<CommonOrder> commonOrderList = commonOrderService.listBySourceTypeAndOrderId(dto.getType(), + dto.getOrderId()); + + int state = CommonOrderUtil.getState(commonOrderList); + if (commonOrderList.size() > 0 && state != CommonOrder.STATE_SX) { + List<UserTeamLevel> bossList = new ArrayList<>(); + List<ThreeSale> threeSalesList = threeSaleSerivce.getMyBossDeepList(dto.getUid(), 100); + if (threeSalesList != null) + for (ThreeSale ts : threeSalesList) { + UserLevelEnum level = userLevelManager.getUserLevel(ts.getBoss().getId()); + bossList.add(new UserTeamLevel(ts.getBoss().getId(), level)); + } + try { + teamDividentsSourceManager.addSource(commonOrderList, bossList); + return Action.CommitMessage; + } catch (TeamDividentsSourceOrderException e) { + if (e.getCode() == TeamDividentsSourceOrderException.CODE_EXIST) { + return Action.CommitMessage; + } + } catch (ParamsException e) { + e.printStackTrace(); + } + } + } else { + teamDividentsSourceManager.updateOrderMoney(dto.getOrderId(), dto.getType()); + } + + } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.orderConfirm.name())) {// 璁㈠崟纭鏀惰揣 + OrderConfirmMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderConfirmMQMsg.class); + //鏄惁鏈変笁绾у垎閿�鏉冮檺 + SystemEnum system = userInfoService.getUserSystem(dto.getSourceUid()); + if (!SystemInfoUtil.hasFunctions(system, SystemFunction.threeSale)) + return Action.CommitMessage; + teamDividentsSourceManager.orderSettle(dto.getOrderNo(), dto.getSourceType()); + } else if (tag.equalsIgnoreCase(OrderTopicTagEnum.taoBaoOrderWeiQuan.name())) { + OrderWeiQuanMQMsg dto = new Gson().fromJson(new String(message.getBody()), OrderWeiQuanMQMsg.class); + try { + teamDividentsManager.weiQuan(dto.getOrderNo(), dto.getSourceType()); + return Action.CommitMessage; + } catch (TeamDividentsDebtException e) { + e.printStackTrace(); + } + } + } + return Action.CommitMessage; + } } -- Gitblit v1.8.0