| 
					
				 | 
			
			
				@@ -12,6 +12,7 @@ import com.yonge.cooleshow.biz.dal.entity.CustomerServiceBatchSending; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.CustomerServiceReceive; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.Subject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.entity.Teacher; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.ClientEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.MK; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.enums.im.EImReceiveType; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22,6 +23,7 @@ import com.yonge.cooleshow.biz.dal.mapper.SysUserMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.CustomerServiceBatchSendingService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.CustomerServiceReceiveService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.service.SubjectService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.yonge.cooleshow.biz.dal.service.TeacherService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.wrapper.im.CustomerService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.wrapper.im.CustomerServiceBatchSendingWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.yonge.cooleshow.biz.dal.wrapper.im.CustomerServiceReceiveWrapper; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -74,6 +76,8 @@ public class CustomerServiceBatchSendingServiceImpl extends ServiceImpl<Customer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private SysUserMapper sysUserMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private RedissonClient redissonClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private TeacherService teacherService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 查询详情 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,17 +152,23 @@ public class CustomerServiceBatchSendingServiceImpl extends ServiceImpl<Customer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 创建用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Long> userIds = sendings.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .map(CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending::getCreateBy) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .flatMap(x -> Lists.newArrayList(x.getCreateBy(), x.getSenderId()).stream()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .filter(Objects::nonNull).distinct().collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Map<Long, String> usernameMap = sysUserMapper.selectBatchIds(userIds).stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<SysUser> sysUsers = sysUserMapper.selectBatchIds(userIds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, String> usernameMap = sysUsers.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 .collect(Collectors.toMap(SysUser::getId, SysUser::getUsername, (o, n) -> n)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<Long, String> mobileMap = sysUsers.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toMap(SysUser::getId, SysUser::getPhone, (o, n) -> n)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 发送群体,发送声部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (CustomerServiceBatchSendingWrapper.CustomerServiceBatchSending item : sendings) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 创建用户 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            item.setCreateUser(usernameMap.getOrDefault(item.getCreateBy(), "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.sender(mobileMap.getOrDefault(item.getSenderId(), "")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .setCreateUser(usernameMap.getOrDefault(item.getCreateBy(), "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Long> collect = Arrays.stream(Optional.ofNullable(item.getSendSubject()).orElse("").split(",")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     .map(Long::parseLong).distinct().collect(Collectors.toList()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,6 +218,12 @@ public class CustomerServiceBatchSendingServiceImpl extends ServiceImpl<Customer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 throw new BizException("未匹配到客服人员"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             info.setSenderId(senderUser.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Teacher teacher = teacherService.getOne(Wrappers.<Teacher>lambdaQuery() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    .eq(Teacher::getUserId, info.getSenderId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (Objects.isNull(teacher)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                throw new BizException("当前帐号未注册老师帐号"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 推送消息 
			 |