Eric 2 anni fa
parent
commit
c4c71d9618

+ 19 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CustomerServiceBatchSendingServiceImpl.java

@@ -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("当前帐号未注册老师帐号");
+            }
         }
 
         // 推送消息

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/im/CustomerServiceBatchSendingWrapper.java

@@ -189,6 +189,11 @@ public class CustomerServiceBatchSendingWrapper {
             this.createUser = createUser;
             return this;
         }
+
+        public CustomerServiceBatchSending sender(String sender) {
+            this.sender = sender;
+            return this;
+        }
     }
 
 }