Ver Fonte

Merge branch 'feature/0803-im' of http://git.dayaedu.com/yonge/cooleshow into feature/0803-im

liujc há 1 ano atrás
pai
commit
e1bcd846c6

+ 17 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/StudentServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.api.feign.dto.ImUserInfo;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dao.StudentDao;
 import com.yonge.cooleshow.biz.dal.dao.SubjectDao;
@@ -21,14 +22,17 @@ import com.yonge.cooleshow.biz.dal.service.ImGroupService;
 import com.yonge.cooleshow.biz.dal.service.ImUserFriendService;
 import com.yonge.cooleshow.biz.dal.service.StudentService;
 import com.yonge.cooleshow.biz.dal.service.StudentTotalService;
+import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
 import com.yonge.cooleshow.biz.dal.vo.MyFollow;
 import com.yonge.cooleshow.biz.dal.vo.StudentHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.StudentVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.biz.dal.wrapper.StudentWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
 import com.yonge.cooleshow.common.enums.UserLockFlag;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.util.StringUtil;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.string.ValueUtil;
@@ -74,6 +78,9 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
     @Autowired
     private ImGroupService imGroupService;
 
+    @Autowired
+    private ImGroupCoreService imGroupCoreService;
+
     @Override
     public StudentVo detail(Long userId) {
         return baseMapper.detail(userId);
@@ -95,6 +102,16 @@ public class StudentServiceImpl extends ServiceImpl<StudentDao, Student> impleme
         StudentHomeVo studentHomeVo = new StudentHomeVo();
         BeanUtils.copyProperties(detail, studentHomeVo);
 
+        try {
+            ImGroupWrapper.ImUserInfo register = imGroupCoreService.register(user.getId().toString(),
+                    ClientEnum.STUDENT.getCode(),
+                    user.getUsername(),
+                    user.getAvatar());
+            studentHomeVo.setImToken(register.getImToken());
+        } catch (Exception e) {
+            throw new BizException("获取IMToken失败");
+        }
+
         //身份证号、手机号脱敏
         studentHomeVo.setIdCardNo(ValueUtil.fuzzyIdCard(studentHomeVo.getIdCardNo()));
         studentHomeVo.setPhone(ValueUtil.fuzzyMobile(studentHomeVo.getPhone()));

+ 54 - 23
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -1,32 +1,10 @@
 package com.yonge.cooleshow.biz.dal.service.impl;
 
-import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
-
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import javax.annotation.Resource;
-
-import com.google.common.collect.Lists;
-import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
-import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
-import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
-import org.redisson.api.RMap;
-import org.redisson.api.RedissonClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
@@ -49,12 +27,30 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTagEnum;
 import com.yonge.cooleshow.biz.dal.enums.TeacherTypeEnum;
+import com.yonge.cooleshow.biz.dal.queryInfo.TeacherQueryInfo;
+import com.yonge.cooleshow.biz.dal.service.ImGroupService;
+import com.yonge.cooleshow.biz.dal.service.StudentService;
+import com.yonge.cooleshow.biz.dal.service.StudentStarService;
+import com.yonge.cooleshow.biz.dal.service.SubjectService;
+import com.yonge.cooleshow.biz.dal.service.SysConfigService;
+import com.yonge.cooleshow.biz.dal.service.SysMessageService;
+import com.yonge.cooleshow.biz.dal.service.TeacherAuthEntryRecordService;
+import com.yonge.cooleshow.biz.dal.service.TeacherAuthMusicianRecordService;
+import com.yonge.cooleshow.biz.dal.service.TeacherService;
+import com.yonge.cooleshow.biz.dal.service.TeacherStyleVideoService;
+import com.yonge.cooleshow.biz.dal.service.TeacherTotalService;
+import com.yonge.cooleshow.biz.dal.service.UserAccountService;
+import com.yonge.cooleshow.biz.dal.service.UserFirstTimeService;
+import com.yonge.cooleshow.biz.dal.service.im.ImGroupCoreService;
 import com.yonge.cooleshow.biz.dal.vo.HotTeacherVo;
 import com.yonge.cooleshow.biz.dal.vo.MyFens;
 import com.yonge.cooleshow.biz.dal.vo.TeacherAuthEntryRecordVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherHomeVo;
 import com.yonge.cooleshow.biz.dal.vo.TeacherVo;
 import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
+import com.yonge.cooleshow.biz.dal.wrapper.StatGroupWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.im.ImGroupWrapper;
+import com.yonge.cooleshow.biz.dal.wrapper.teacher.TeacherWrapper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
@@ -66,6 +62,28 @@ import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import com.yonge.toolset.utils.date.DateUtil;
 import com.yonge.toolset.utils.idcard.IdcardInfoExtractor;
 import com.yonge.toolset.utils.string.ValueUtil;
+import org.redisson.api.RMap;
+import org.redisson.api.RedissonClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
+
+import static com.yonge.cooleshow.biz.dal.constant.LiveRoomConstant.TEACHER_TEMP_LIVE_ROOM;
 
 @Service
 public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> implements TeacherService {
@@ -112,6 +130,9 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     @Autowired
     private ImGroupService imGroupService;
 
+    @Autowired
+    private ImGroupCoreService imGroupCoreService;
+
     @Override
     public TeacherVo detail(Long userId) {
         TeacherVo detail = baseMapper.detail(userId);
@@ -183,6 +204,16 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
         TeacherHomeVo teacherHomeVo = new TeacherHomeVo();
         BeanUtils.copyProperties(teacher, teacherHomeVo);
 
+        try {
+            ImGroupWrapper.ImUserInfo register = imGroupCoreService.register(teacher.getUserId().toString(),
+                    ClientEnum.TEACHER.getCode(),
+                    teacher.getUsername(),
+                    teacher.getAvatar());
+            teacherHomeVo.setImToken(register.getImToken());
+        } catch (Exception e) {
+            throw new BizException("获取IMToken失败");
+        }
+
         // 设置IM用户ID
         teacherHomeVo.setImUserId(imGroupService.getImUserId(userId.toString(),ClientEnum.TEACHER.getCode()));
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentHomeVo.java

@@ -59,6 +59,9 @@ public class StudentHomeVo extends Student {
     @ApiModelProperty(value = "IM用户ID")
     private String imUserId;
 
+    @ApiModelProperty(value = "imToken")
+    private String imToken;
+
     public String getHeardUrl() {
         return heardUrl;
     }
@@ -232,4 +235,12 @@ public class StudentHomeVo extends Student {
     public void setImUserId(String imUserId) {
         this.imUserId = imUserId;
     }
+
+    public String getImToken() {
+        return imToken;
+    }
+
+    public void setImToken(String imToken) {
+        this.imToken = imToken;
+    }
 }

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/TeacherHomeVo.java

@@ -85,6 +85,9 @@ public class TeacherHomeVo extends Teacher implements Serializable {
     @ApiModelProperty(value = "IM用户ID")
     private String imUserId;
 
+    @ApiModelProperty(value = "imToken")
+    private String imToken;
+
 
     public String getDefaultSubjectName() {
         return defaultSubjectName;
@@ -330,4 +333,12 @@ public class TeacherHomeVo extends Teacher implements Serializable {
     public void setImUserId(String imUserId) {
         this.imUserId = imUserId;
     }
+
+    public String getImToken() {
+        return imToken;
+    }
+
+    public void setImToken(String imToken) {
+        this.imToken = imToken;
+    }
 }

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseGroupMapper.xml

@@ -792,7 +792,7 @@
         FROM course_schedule_student_payment p
         LEFT JOIN sys_user u ON p.user_id_=u.id_
         LEFT JOIN course_schedule c ON p.course_id_=c.id_
-        LEFT JOIN student_attendance a ON p.user_id_=a.student_id_  and a.course_group_type_ = c.id_
+        LEFT JOIN student_attendance a ON p.user_id_=a.student_id_  and a.course_group_type_ = c.type_
         <where>
             <if test="courseId !=null">
                 AND p.course_id_=#{courseId}