소스 검색

陈练课用户IM聊天调整

Eric 2 년 전
부모
커밋
3ead2def6f

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

@@ -38,6 +38,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
+import java.text.MessageFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -180,6 +181,9 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
             throw  new BizException("未找到作业信息");
         }
 
+        // 设置用户IM聊天ID
+        courseHomeworkDetailVo.setImUserId(MessageFormat.format("{0}:{1}", String.valueOf(studentId), ClientEnum.STUDENT.name()));
+
         // 课程组的群聊
         ImGroup imGroup = imGroupService.getByCourseGroupId(courseHomeworkDetailVo.getCourseGroupId());
         if (imGroup != null) {

+ 32 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java

@@ -51,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
 import java.time.LocalDate;
@@ -769,7 +770,19 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      * @Date: 2022/4/13
      */
     public IPage<MyCourseVo> queryStudentPracticeCourse(IPage<MyCourseVo> page, MyCourseSearch search) {
-        return page.setRecords(baseMapper.queryStudentPracticeCourse(page, monthToDate(search)));
+
+        List<MyCourseVo> records = baseMapper.queryStudentPracticeCourse(page, monthToDate(search));
+
+        // 陪练课老师IM聊天ID
+        if (CollectionUtils.isNotEmpty(records)) {
+
+            for (MyCourseVo item : records) {
+
+                item.setImUserId(String.valueOf(item.getUserId()));
+            }
+        }
+
+        return page.setRecords(records);
     }
 
     @Override
@@ -813,6 +826,14 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
     public Map<String, Object> queryCourseUser(MyCourseSearch search) {
         List<CourseStudent> studentList = baseMapper.queryCourseUser(search);
 
+        if (CollectionUtils.isNotEmpty(studentList)) {
+
+            for (CourseStudent item : studentList) {
+
+                item.setImUserId(MessageFormat.format("{0}:{1}", item.getUserId(), ClientEnum.STUDENT.name()));
+            }
+        }
+
         Map<String, String> sysConfig = new HashMap<>();
         //提前XX分钟创建/进入陪练课房间时间
         sysConfig.put("practiceStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PRACTICE_ROOM_MINUTE));
@@ -860,6 +881,16 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      */
     public Map<String, Object> queryCourseTeacher(MyCourseSearch search) {
         List<CourseStudent> teacherList = baseMapper.queryCourseTeacher(search);
+
+        // 设置IM聊天用户ID
+        if (CollectionUtils.isNotEmpty(teacherList)) {
+
+            for (CourseStudent item : teacherList) {
+
+                item.setImUserId(item.getUserId());
+            }
+        }
+
         Map<String, String> sysConfig = new HashMap<>();
         //提前XX分钟创建/进入陪练课房间时间
         sysConfig.put("practiceStartTime", sysConfigService.findConfigValue(SysConfigConstant.PRE_CREATE_PRACTICE_ROOM_MINUTE));

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseHomeworkDetailVo.java

@@ -121,6 +121,8 @@ public class CourseHomeworkDetailVo {
     @ApiModelProperty("作业过期 1:已过期 0:未过期")
     private Integer homeworkExpire;
 
+    @ApiModelProperty(value = "IM聊天用户ID")
+    private String imUserId;
 
     public String getCourseGroupName() {
         return courseGroupName;
@@ -369,4 +371,12 @@ public class CourseHomeworkDetailVo {
     public void setDecorateTime(Date decorateTime) {
         this.decorateTime = decorateTime;
     }
+
+    public String getImUserId() {
+        return imUserId;
+    }
+
+    public void setImUserId(String imUserId) {
+        this.imUserId = imUserId;
+    }
 }

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

@@ -70,6 +70,9 @@ public class CourseStudent implements Serializable {
     @ApiModelProperty(value = "课程名称")
     private String courseName;
 
+    @ApiModelProperty(value = "IM聊天用户ID")
+    private String imUserId;
+
     public Integer getStudentReplied() {
         return studentReplied;
     }
@@ -222,5 +225,13 @@ public class CourseStudent implements Serializable {
     public void setCourseName(String courseName) {
         this.courseName = courseName;
     }
+
+    public String getImUserId() {
+        return imUserId;
+    }
+
+    public void setImUserId(String imUserId) {
+        this.imUserId = imUserId;
+    }
 }
 

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

@@ -59,6 +59,9 @@ public class MyCourseVo implements Serializable {
     @ApiModelProperty(value = "老师评价 0:未评价 1:已评价")
     private Integer teacherReplied;
 
+    @ApiModelProperty(value = "IM聊天用户ID")
+    private String imUserId;
+
     public Integer getStudentReplied() {
         return studentReplied;
     }
@@ -186,5 +189,13 @@ public class MyCourseVo implements Serializable {
     public void setSubjectName(String subjectName) {
         this.subjectName = subjectName;
     }
+
+    public String getImUserId() {
+        return imUserId;
+    }
+
+    public void setImUserId(String imUserId) {
+        this.imUserId = imUserId;
+    }
 }