From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 27 五月 2020 09:59:29 +0800
Subject: [PATCH] merage

---
 src/main/java/com/highdatas/mdm/service/impl/MasterAuthorSubscribeServiceImpl.java |  108 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 67 insertions(+), 41 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/MasterAuthorSubscribeServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MasterAuthorSubscribeServiceImpl.java
index b53d282..597dca9 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/MasterAuthorSubscribeServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/MasterAuthorSubscribeServiceImpl.java
@@ -1,5 +1,6 @@
 package com.highdatas.mdm.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.highdatas.mdm.entity.*;
 import com.highdatas.mdm.mapper.MasterAuthorSubscribeMapper;
@@ -9,6 +10,7 @@
 import com.highdatas.mdm.util.DbUtils;
 import com.highdatas.mdm.util.pool.MqEntity;
 import com.highdatas.mdm.util.pool.MqMessage;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +28,7 @@
  * @since 2020-04-20
  */
 @Service
+@Slf4j
 public class MasterAuthorSubscribeServiceImpl extends ServiceImpl<MasterAuthorSubscribeMapper, MasterAuthorSubscribe> implements IMasterAuthorSubscribeService {
     @Autowired
     IMasterAuthorService masterAuthorService;
@@ -39,54 +42,77 @@
     IMaintainService maintainService;
     @Autowired
     DispenseService dispenseService;
-
+    @Autowired
+    IMasterAuthorSubscribeService masterAuthorSubscribeService;
+    /**
+     *
+     * @description:  鐢熸垚鐗堟湰鐨勯渶瑕佹娴嬪摢浜涢渶瑕佽嚜鍔ㄦ敞鍐�
+     * @param status 娴佺▼鐘舵��
+     * @param maintainId 鏁版嵁鐗堟湰id
+     * @return:
+     *
+     */
     @Override
     public void dealFlow(String maintainId, ActivitiStatus status) {
-        if (!ActivitiStatus.open.equals(status)) {
-            return;
-        }
-        Maintain maintain = maintainService.selectById(maintainId);
-
-        SysMenu menuByTableName = menuMappingService.getMenuByTableName(maintain.getTableName());
-
-        MaintainField maintainFieldByMaintain = fieldService.getMaintainFieldByMaintain(maintainId);
-        Set<String> userIdList = new HashSet<>();
-
-        Set<TUser> allUser = DbUtils.getAllUser();
-
-        for (TUser user : allUser) {
-            List<MasterAuthor> userAuthor = masterAuthorService.getUserAuthor(user.getUserId(), null);
-
-            List<MasterAuthor> authorMaintainFieldList = userAuthor.stream()
-                    .filter(masterAuthor -> menuByTableName.getId().equalsIgnoreCase(masterAuthor.getMenuId()))
-                    .collect(Collectors.toList());
-            int count = authorMaintainFieldList.size();
-            if (count == 0) {
-                continue;
+        try {
+            if (!ActivitiStatus.open.equals(status)) {
+                return;
             }
-            for (MasterAuthor masterAuthor : authorMaintainFieldList) {
-                String maintainFieldId = masterAuthor.getMaintainFieldId();
+            Maintain maintain = maintainService.selectById(maintainId);
 
-                if (maintainFieldId.equalsIgnoreCase(Constant.All) || maintainFieldId.equalsIgnoreCase(maintainFieldByMaintain.getId())) {
-                    userIdList.add(user.getUserId());
+            SysMenu menuByTableName = menuMappingService.getMenuByTableName(maintain.getTableName());
+
+            MaintainField maintainFieldByMaintain = fieldService.getMaintainFieldByMaintain(maintainId);
+            Set<String> userIdList = new HashSet<>();
+
+            Set<TUser> allUser = DbUtils.getAllUser();
+
+            for (TUser user : allUser) {
+                List<MasterAuthor> userAuthor = masterAuthorService.getUserAuthor(user.getUserId(), null);
+
+                List<MasterAuthor> authorMaintainFieldList = userAuthor.stream()
+                        .filter(masterAuthor -> menuByTableName.getId().equalsIgnoreCase(masterAuthor.getMenuId()))
+                        .collect(Collectors.toList());
+                int count = authorMaintainFieldList.size();
+                if (count == 0) {
+                    continue;
+                }
+                for (MasterAuthor masterAuthor : authorMaintainFieldList) {
+                    String maintainFieldId = masterAuthor.getMaintainFieldId();
+
+                    if (maintainFieldId.equalsIgnoreCase(Constant.All) || maintainFieldId.equalsIgnoreCase(maintainFieldByMaintain.getId())) {
+                        userIdList.add(user.getUserId());
+                    }
                 }
             }
+            log.info("宸茶闃呯敤鎴锋暟" + userIdList.size() + " 涓婚锛�" + menuByTableName.getName());
+            for (String userId : userIdList) {
+
+                int i = masterAuthorSubscribeService.selectCount(new EntityWrapper<MasterAuthorSubscribe>().eq("user_id", userId).eq("menu_id", menuByTableName.getId()));
+                if (i == 0) {
+                    continue;
+                }
+
+                log.info("宸茶闃呯敤鎴�" + userId + " 涓婚锛�" + menuByTableName.getName());
+
+                MqEntity mqEntity = new MqEntity();
+                mqEntity.setUserId(userId);
+                mqEntity.setIncrement(true);
+                mqEntity.setMsgTopicName(Constant.Master);
+                mqEntity.setType(Constant.Master);
+                mqEntity.setDataId(menuByTableName.getId());
+                mqEntity.setMaintainId(maintainId);
+                mqEntity.setMsgTagName(menuByTableName.getId());
+                MqEntity.MsgBodyBean msgBody = mqEntity.getMsgBody();
+                msgBody.setVersion(maintainId);
+                mqEntity.setMsgKey(DbUtils.getUUID(16));
+                MqMessage mqMessage = new MqMessage(mqEntity);
+                dispenseService.pushActiveMq(mqMessage);
+            }
+        }
+        catch (Exception e){
+            e.printStackTrace();
         }
 
-        for (String userId : userIdList) {
-            MqEntity mqEntity = new MqEntity();
-            mqEntity.setUserId(userId);
-            mqEntity.setIncrement(true);
-            mqEntity.setMsgTopicName(Constant.Master);
-            mqEntity.setType(Constant.Master);
-            mqEntity.setDataId(menuByTableName.getId());
-            mqEntity.setMaintainId(maintainId);
-            mqEntity.setMsgTagName(menuByTableName.getId());
-            MqEntity.MsgBodyBean msgBody = mqEntity.getMsgBody();
-            msgBody.setVersion(maintainId);
-            mqEntity.setMsgKey(DbUtils.getUUID(16));
-            MqMessage mqMessage = new MqMessage(mqEntity);
-            dispenseService.pushActiveMq(mqMessage);
-        }
     }
 }

--
Gitblit v1.8.0