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