From 6bed83e92f67954cd2135071133329f2205efe4f Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 02 四月 2024 16:58:41 +0800
Subject: [PATCH] notify错误修改

---
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/notify/service/impl/NotifyTaskServiceImpl.java |  123 +++++++++++++---------------------------
 1 files changed, 41 insertions(+), 82 deletions(-)

diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/notify/service/impl/NotifyTaskServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/notify/service/impl/NotifyTaskServiceImpl.java
index cf95048..be04f90 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/notify/service/impl/NotifyTaskServiceImpl.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/notify/service/impl/NotifyTaskServiceImpl.java
@@ -1,19 +1,18 @@
 package com.qianwen.smartman.modules.notify.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import java.lang.invoke.SerializedLambda;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.stream.Collectors;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.qianwen.core.context.task.TaskExecutionContext;
 import com.qianwen.core.context.task.TaskExecutorTypeEnum;
 import com.qianwen.core.notify.DefaultNotifyType;
@@ -27,11 +26,11 @@
 import com.qianwen.smartman.modules.notify.convert.BusinessNotifyConvert;
 import com.qianwen.smartman.modules.notify.dto.BusinessNotifyDTO;
 import com.qianwen.smartman.modules.notify.dto.NotifyUserDTO;
+import com.qianwen.smartman.modules.notify.entity.BusinessNotify;
 import com.qianwen.smartman.modules.notify.mapper.BusinessNotifyMapper;
 import com.qianwen.smartman.modules.notify.service.IBusinessNotifyService;
 import com.qianwen.smartman.modules.system.service.IUserOauthService;
 import com.qianwen.smartman.modules.system.service.IUserService;
-import org.springframework.stereotype.Service;
 
 @Service
 /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/notify/service/impl/NotifyTaskServiceImpl.class */
@@ -43,41 +42,6 @@
     private final IUserOauthService userOauthService;
     private final IEmployeeService employeeService;
 
-    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
-        String implMethodName = lambda.getImplMethodName();
-        boolean z = true;
-        switch (implMethodName.hashCode()) {
-            case 584947017:
-                if (implMethodName.equals("getBusinessKey")) {
-                    z = false;
-                    break;
-                }
-                break;
-            case 771206363:
-                if (implMethodName.equals("getTenantId")) {
-                    z = true;
-                    break;
-                }
-                break;
-        }
-        switch (z) {
-            case false:
-                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/notify/entity/BusinessNotify") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
-                    return (v0) -> {
-                        return v0.getBusinessKey();
-                    };
-                }
-                break;
-            case true:
-                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
-                    return (v0) -> {
-                        return v0.getTenantId();
-                    };
-                }
-                break;
-        }
-        throw new IllegalArgumentException("Invalid lambda deserialization");
-    }
 
     public NotifyTaskServiceImpl(final IBusinessNotifyService businessNotifyService, final BusinessNotifyMapper businessNotifyMapper, final IUserService userService, final IUserOauthService userOauthService, final IEmployeeService employeeService) {
         this.businessNotifyService = businessNotifyService;
@@ -89,6 +53,16 @@
 
     private List<NotifyUserDTO> getNotifySubscriberList(List<String> notifySubscriberList, TaskExecutorTypeEnum taskExecutorTypeEnum) {
         List<NotifyUserDTO> result;
+        //娌¢棶棰樹簡锛屾牴鎹娇鐢ㄧ殑service鍒ゆ柇
+        switch (taskExecutorTypeEnum) {
+        case EMPLOYEE://gui: email
+          result = this.employeeService.getNotifySubscriberList(notifySubscriberList);
+          break;
+        default:
+        	result = this.userService.getNotifySubscriberList(notifySubscriberList);
+      } 
+      
+        /*
         switch (AnonymousClass1.$SwitchMap$org$springblade$core$context$task$TaskExecutorTypeEnum[taskExecutorTypeEnum.ordinal()]) {
             case 1:
                 result = this.employeeService.getNotifySubscriberList(notifySubscriberList);
@@ -97,7 +71,7 @@
             default:
                 result = this.userService.getNotifySubscriberList(notifySubscriberList);
                 break;
-        }
+        }*/
         return result;
     }
 
@@ -105,6 +79,21 @@
         List<String> result = new ArrayList<>();
         if (Func.isNotEmpty(notifySubscriberList)) {
             List<NotifyUserDTO> notifyUserDTOS = getNotifySubscriberList(notifySubscriberList, taskExecutorTypeEnum);
+            switch (DefaultNotifyType.of(defaultNotifyType)) {
+            case email:
+              result.addAll(notifyUserDTOS.stream().map(NotifyUserDTO::getEmail).filter(Func::isNotEmpty).collect(Collectors.toList()));
+              break;
+            case sms:
+              result.addAll(notifyUserDTOS.stream().map(NotifyUserDTO::getPhone).filter(Func::isNotEmpty).collect(Collectors.toList()));
+              break;
+            case weiXinMini:
+              result.addAll(notifyUserDTOS.stream().map(NotifyUserDTO::getWeiXinMiniUserId).filter(Func::isNotEmpty).collect(Collectors.toList()));
+            case internalMessage:
+            default:
+              result.addAll(notifyUserDTOS.stream().map(NotifyUserDTO::getUserId).map(Func::toStr).collect(Collectors.toList()));
+              break;
+          } 
+            /*
             switch (AnonymousClass1.$SwitchMap$org$springblade$core$notify$DefaultNotifyType[DefaultNotifyType.of(defaultNotifyType).ordinal()]) {
                 case 1:
                     result.addAll((Collection) notifyUserDTOS.stream().map((v0) -> {
@@ -133,68 +122,38 @@
                         return Func.toStr(v0);
                     }).collect(Collectors.toList()));
                     break;
-            }
+            }*/
         }
         result.removeAll(Collections.singleton(null));
         return result;
     }
 
-    /* JADX INFO: Access modifiers changed from: package-private */
-    /* renamed from: org.springblade.modules.notify.service.impl.NotifyTaskServiceImpl$1  reason: invalid class name */
-    /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/notify/service/impl/NotifyTaskServiceImpl$1.class */
-    public static /* synthetic */ class AnonymousClass1 {
-        static final /* synthetic */ int[] $SwitchMap$org$springblade$core$context$task$TaskExecutorTypeEnum;
-        static final /* synthetic */ int[] $SwitchMap$org$springblade$core$notify$DefaultNotifyType = new int[DefaultNotifyType.values().length];
-
-        static {
-            try {
-                $SwitchMap$org$springblade$core$notify$DefaultNotifyType[DefaultNotifyType.email.ordinal()] = 1;
-            } catch (NoSuchFieldError e) {
-            }
-            try {
-                $SwitchMap$org$springblade$core$notify$DefaultNotifyType[DefaultNotifyType.sms.ordinal()] = 2;
-            } catch (NoSuchFieldError e2) {
-            }
-            try {
-                $SwitchMap$org$springblade$core$notify$DefaultNotifyType[DefaultNotifyType.weiXinMini.ordinal()] = 3;
-            } catch (NoSuchFieldError e3) {
-            }
-            try {
-                $SwitchMap$org$springblade$core$notify$DefaultNotifyType[DefaultNotifyType.internalMessage.ordinal()] = 4;
-            } catch (NoSuchFieldError e4) {
-            }
-            $SwitchMap$org$springblade$core$context$task$TaskExecutorTypeEnum = new int[TaskExecutorTypeEnum.values().length];
-            try {
-                $SwitchMap$org$springblade$core$context$task$TaskExecutorTypeEnum[TaskExecutorTypeEnum.EMPLOYEE.ordinal()] = 1;
-            } catch (NoSuchFieldError e5) {
-            }
-            try {
-                $SwitchMap$org$springblade$core$context$task$TaskExecutorTypeEnum[TaskExecutorTypeEnum.USER.ordinal()] = 2;
-            } catch (NoSuchFieldError e6) {
-            }
-        }
-    }
-
     public List<NotifyExecutionContext> createNotifyExecutionContext(TaskExecutionContext taskExecutionContext) {
         List<NotifyExecutionContext> result = new CopyOnWriteArrayList<>();
+        List<BusinessNotifyDTO> finallyBusiness = BusinessNotifyConvert.INSTANCE.convertToDTOList(this.businessNotifyService
+                .list(Wrappers.<BusinessNotify>query().lambda()
+                  .eq(BusinessNotify::getBusinessKey, taskExecutionContext.getBusiness())
+                  .eq(BusinessNotify::getTenantId, taskExecutionContext.getTenantId())));
+        /*
         List<BusinessNotifyDTO> finallyBusiness = BusinessNotifyConvert.INSTANCE.convertToDTOList(this.businessNotifyService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
             return v0.getBusinessKey();
         }, taskExecutionContext.getBusiness())).eq((v0) -> {
             return v0.getTenantId();
-        }, taskExecutionContext.getTenantId())));
+        }, taskExecutionContext.getTenantId())));*/
         if (Func.isNotEmpty(finallyBusiness)) {
             finallyBusiness.forEach(notify -> {
                 List<String> notifiedPartys = getNotifiedPartyList(taskExecutionContext.getTenantId(), taskExecutionContext.getBusiness(), notify.getNotifyType(), taskExecutionContext.getRelatedPersonals(), taskExecutionContext.getTaskExecutorTypeEnum());
                 Object sendInfo = taskExecutionContext.getExtendInfo().get("notify_direct_address");
                 if (Func.isNotEmpty(sendInfo)) {
                     List<NotifyDirectSendInfo> sendInfoList = new ArrayList<>();
-                    List<Map<String, Object>> data = (List) sendInfo;
+                    List<Map<String, Object>> data = (List<Map<String, Object>>)sendInfo;
+                    //List<Map<String, Object>> data = sendInfo;
                     data.forEach(x -> {
                         NotifyDirectSendInfo notifyDirectSendInfo = (NotifyDirectSendInfo) BeanUtil.toBean(x, NotifyDirectSendInfo.class);
                         notifyDirectSendInfo.setNotifyType(DefaultNotifyType.of(x.get("notifyType").toString()));
                         sendInfoList.add(notifyDirectSendInfo);
                     });
-                    ((List) sendInfoList.stream().filter(x2 -> {
+                    (sendInfoList.stream().filter(x2 -> {
                         return notify.getNotifyType().equals(x2.getNotifyType().getId());
                     }).collect(Collectors.toList())).forEach(x3 -> {
                         notifiedPartys.addAll(x3.getDirectSendAddress());

--
Gitblit v1.9.3